{"_id":"@preply/video","_rev":"3061-f8206a931fe3432616466b5142e970a0","name":"@preply/video","dist-tags":{"client-video-3.0.4":"3.0.4","alfa.5":"8.0.0-alfa.5","alfa.6":"8.0.0-alfa.6","alfa.7":"8.0.0-alfa.7","alfa.8":"8.0.0-alfa.8","alfa.9":"8.0.0-alfa.9","beta.0":"10.1.12-alfa.1","beta.1":"10.1.12-beta.1","beta.2":"10.1.12-beta.2","alpha.3":"10.1.24-alpha.3","alpha.4":"10.1.24-alpha.4","alfa.4":"11.0.0-alfa.4","button.less.2":"0.0.0-button.less.2","button.less.3":"0.0.0-button.less.3","pr17429":"11.0.25-pr17429","pr17455":"11.0.26-pr17455","pr17455-2":"11.0.26-pr17455-2","pr17455-3":"11.0.26-pr17455-3","pr17455-4":"11.0.27","pr17455-5":"11.0.26-pr17455-5","pr17455-6":"11.0.26-pr17455-6","beta":"11.0.36-beta","PR116":"11.0.60-PR1162","PR1162-2":"11.0.60-PR1162-2","PR1162":"11.0.61-PR1162","beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec":"0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec","beta-94d061c7300fff19abe5601835f84fd9ecc96bd4":"0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4","beta-09225da0130289a8b0a047cf81c6d7edcdf5a425":"0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425","beta-4ab9e89f87b5746cc9a6a6962493858df017302a":"0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a","alpha.0":"11.0.78-alpha.0","beta-8f85039cf0b72686cf1e69925c639893c413ce41":"0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41","PR-18851":"11.0.79-PR-18851","PR-18851-2":"11.0.79-PR-18851-2","alpha.1":"11.0.81-alpha.1","alpha.2":"11.0.81-alpha.2","beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e":"0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e","beta-db7f57034f27b7e988047e47ae271b91413f38de":"0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de","beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93":"0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93","beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a":"0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a","beta-2ffb812620c85aec0b852aacf3b2938a58d67f17":"0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17","beta-1d54b50d62d973869eb137a08fdfb14319c28b54":"0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54","beta-a4922a8abc8672db25e247e724899b3614b5e590":"0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590","beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f":"0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f","beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016":"0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016","beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee":"0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee","beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b":"0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b","alfa.3":"13.0.0-alfa.3","beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04":"0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04","beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4":"0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4","alfa.2":"13.1.0-alfa.2","beta-2f5b5fd3abed04e039631170a7832fd7092df6f8":"0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8","beta-4936b03205075ae2b665ce6e65d39c69aa0c7623":"0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623","beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd":"0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd","beta-735c969b3d81db2b6bb2da3362094a97081e6361":"0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361","beta-78f262de957e650004545f8262b3637908f51964":"0.0.0-beta-78f262de957e650004545f8262b3637908f51964","beta-d187ddac829b76cc5c38a16ac0beed2607698796":"0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796","beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79":"0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79","beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1":"0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1","beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427":"0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427","beta-5312b7935013544a88b644868465657895fd3518":"0.0.0-beta-5312b7935013544a88b644868465657895fd3518","beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4":"0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4","beta-9b73715220890d00098da42c0e106b49df7cc95c":"0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c","beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e":"0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e","beta-f298f2e026429872029c04c6f5932464ba9c2b33":"0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33","beta-69181f439a06c78281f1dbdb6faf71ec426adb2c":"0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c","beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e":"0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e","beta-34787de4e8107b882968cdee3428d0b3693a7cd3":"0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3","beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735":"0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735","beta-d4339b42f8569ffe026a95b7e69dbcf753606650":"0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650","beta-ce68b004fe5d29633ed754f81e25a546c8555d3b":"0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b","beta-a2779b6701761cca02b0690bcd021b5aeacde1c8":"0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8","beta-113d06cef9eafdce85eec873edd5406a899143a6":"0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6","beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb":"0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb","beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d":"0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d","beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8":"0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8","beta-cd5bf79b28602865d9d9fdd0fd1816b251579923":"0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923","beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d":"0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d","beta-ad9e040e2f046e383605533a9a456d65db58b98f":"0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f","beta-ad26c33069163ee205b8b5853b47a02fd8c9b409":"0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409","beta-eb9ca545fc041266b83a5d28661f463217f9bbf8":"0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8","beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67":"0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67","beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce":"0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce","beta-abfcf7378b2747cd561b9e691e236b58059f96f8":"0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8","beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f":"0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f","beta-fe0a519744826539abd8160eab0d2d03393f39a1":"0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1","beta-bb8e631cb907de9794e113908b5fe678a24460d6":"0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6","beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99":"0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99","beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7":"0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7","beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b":"0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b","beta-833b1b5a1cb9046acab52712bf6c2738ed12009b":"0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b","beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf":"0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf","beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7":"0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7","beta-fca79d972f833e92321de593220ff53a9cd77176":"0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176","beta-8527788ac0f4672862b282fee8aed9cb175eb5c6":"0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6","beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f":"0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f","beta-62eabfd7f93319525020211b550dcbd308ff7aae":"0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae","beta-777cf4b490159233d24ac47338c909a04b2ac264":"0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264","beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695":"0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695","beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8":"0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8","beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92":"0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92","beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa":"0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa","beta-851563ff71aa2580d8f30083ff2347d9e595f67c":"0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c","beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022":"0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022","beta-30550afc352bf8fd3055fa77d83dfd89ade09af5":"0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5","beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519":"0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519","beta-b201262fbf23f3527cb820b10a38ed38afe4031f":"0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f","beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100":"0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100","beta-f8941b783d06b0c8c762807d1c0835745370926d":"0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d","beta-d13f999d9a455ee4e839414ca48fe982bea3f444":"0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444","beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721":"0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721","beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b":"0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b","beta-f47e01138d068f85ff3705a7122f9a8d4325f990":"0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990","beta-10101d478615c8a32e1ecccccfdccf7a26d70581":"0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581","beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e":"0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e","beta-ff2a2bb98129d9726323d9f847378c2949827716":"0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716","beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc":"0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc","beta-7bf17db93156382c09bf5990d3981440145c3ea5":"0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5","beta-6902c405911aedc61c91de92cfcbab4034c9a323":"0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323","beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053":"0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053","beta-73a9a724bb89489593d6cd5034812741afea419b":"0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b","beta-f28bcf178a861a3867117882e9f3714c915b9271":"0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271","beta-58e3429543c9795e724d50119110215b476b997a":"0.0.0-beta-58e3429543c9795e724d50119110215b476b997a","beta-aea108bf6e3a94f04a1a6885825e7602c7279abc":"0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc","beta-87714e31feee9e92fb0bd99ad419db111f575d66":"0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66","beta-d6ddd79418189accb5e74c15590382a4c0eac58a":"0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a","beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b":"0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b","beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe":"0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe","beta-5070bd556d424ccdcddd2279b47d868b3d063e40":"0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40","beta-72ccb306dee045b592b36e313cccb516b790f66f":"0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f","beta-c849a54c60be586be4ffbc047aa35e868cee3cf2":"0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2","beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f":"0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f","beta-4d817d1504343f12b46e9a94541e47abb1479686":"0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686","beta-7736db120333f6af663eb7c4148cbf9ebb658321":"0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321","beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221":"0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221","beta-9193654223ac367eb246b88ae206a7cb8f19a5a5":"0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5","beta-f904a2ef4c8c602b893668093054ddbb805a6318":"0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318","beta-4cd9671357efeca33e594dd9cec7983bee2ed924":"0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924","beta-95e9301b0097c82cb8e68583fe30232957d2067f":"0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f","beta-0765b2f626d63016d88ca56ea633a43826924e85":"0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85","beta-34902e954646814922e7acb0addcbbd45911b5ed":"0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed","beta-90c7bbb446b926e8db64e14b1ae8041f80407316":"0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316","beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d":"0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d","beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b":"0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b","beta-31d42cc4593d5741a7375d90a864ccbaabacab38":"0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38","beta-07c0d38e011d557171886ee9bffd997c2c9f430f":"0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f","beta-649533ae01f3587c76086620f4e524dfaf136c0f":"0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f","beta-564010f4b678c6d175d3fd69ffa269c636b6d61e":"0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e","beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac":"0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac","beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69":"0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69","beta-e747f87ed89f8c78f3db004a3df43a05faedb32d":"0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d","beta-57216126f270f831801365882c3211bb62a1a01f":"0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f","beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5":"0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5","beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9":"0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9","beta-b678e8b974eb51df326cbbee4599009c81183107":"0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107","beta-36e0c370342bf71d898229fb4b3be973a3a3e182":"0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182","beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf":"0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf","beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14":"0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14","beta-57da74dae89f4b0bc339738955d0e6b1919bf07b":"0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b","beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd":"0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd","beta-f797aa6a2a616558e80c6456017577c7880f6f2e":"0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e","beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee":"0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee","beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1":"0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1","beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7":"0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7","beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66":"0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66","beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa":"0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa","beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374":"0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374","beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338":"0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338","beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265":"0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265","beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b":"0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b","beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46":"0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46","beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a":"0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a","beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e":"0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e","beta-095b490b3776e1d9089b6a253cc2a0324e347ba8":"0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8","beta-caf1956de7cd8bffffccd8b897091ecdc4542510":"0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510","beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35":"0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35","beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d":"0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d","beta-53cd9ed419d5063253e04731cb15f296c6c1da82":"0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82","beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b":"0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b","beta-649d29db5418cce9844a6e70d9f519a6d38b26af":"0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af","beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34":"0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34","beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7":"0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7","beta-d59f07b2b55b3cad4e1115cf063348a589c8f111":"0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111","beta-2ccadc99cdcdda1606384073293c0794ade948fc":"0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc","beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13":"0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13","beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf":"0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf","beta-7664b68efc46345f930de8ff209a968328131122":"0.0.0-beta-7664b68efc46345f930de8ff209a968328131122","beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9":"0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9","beta-83dfae974ef3a3f5e39482666e77dc5d94429580":"0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580","beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8":"0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8","beta-cdf4c34be5c210986083474a18667f522a3b5a77":"0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77","beta-dd3c639e6957df75980970f76b95e8d1c1952ec8":"0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8","beta-99ce198fce6f06e206618993d7d7a9dea419cc0e":"0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e","beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2":"0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2","beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d":"0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d","beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0":"0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0","beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e":"0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e","beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf":"0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf","beta-4724bb6ae01f6c46bb18cc974433969e718d7471":"0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471","beta-64f998845c160448596b410ff4f52213b5fb4ee8":"0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8","beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c":"0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c","beta-e8681321e9735172e4ef91d288fce45816718a36":"0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36","beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5":"0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5","beta-470c99e1851f413ed9403547d4f2112c05a7592c":"0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c","beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac":"0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac","beta-17e42e562864c14f8e865e01d7e5b311ed64db5e":"0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e","beta-f88dc759a924cd6deca9f6bfc31916329d4a6770":"0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770","beta-5768e414641d6397e934be4d3b8031600d7d0015":"0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015","beta-cb688bc560dabdb339dff912a81e58b5768af1e1":"0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1","beta-e8604f98601f34a309376c911cc45ed621a75ecd":"0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd","beta-af7a01530a3ec7967b69365d54f9591940196f60":"0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60","beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638":"0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638","beta-a0dce149a99efd2a768392e9599b9eea5712e97c":"0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c","beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef":"0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef","beta-bc80dff477779064e3d5712e149d625eb019f2b2":"0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2","beta-2e96350ccce4eb63795a35de979164a12ba0078d":"0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d","beta-24a53172809739dbdcd69e873daca50687c78076":"0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076","beta-f4e4597095725aaebfa6b571f931d7a7986ea70c":"0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c","beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b":"0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b","beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409":"0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409","beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb":"0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb","beta-6e802f5c9b21404d7b7097dc43969f96775743b7":"0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7","beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622":"0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622","beta-07af643ab854a91be11772ab96e76f2aa31faa13":"0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13","beta-695345cd04f8462a4ea5f9f8532be433c3f59247":"0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247","beta-5a7aec673c133615674bb15e677adfd07e08b816":"0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816","beta-77b3bd5e317bf46e27411290631b836813d16a29":"0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29","beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4":"0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4","beta-4ff6d2f465bbabc9deb529139710811de8a9df21":"0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21","beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358":"0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358","beta-245946b0ac7435606b6481f687da3a25705a648a":"0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a","beta-68f04f634114fa438469b5a5bdc6384ddabfea90":"0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90","beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5":"0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5","beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1":"0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1","beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a":"0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a","beta-1e7d844143ee9ffd32241e965d8882c7df7f382e":"0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e","beta-951e6e0acf1c11bacf06ade4698617847ef6f217":"0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217","beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e":"0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e","beta-0c1b3423266856a24a3467172db59f8b51939788":"0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788","beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf":"0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf","beta-5bde49f13841f94309b01bada813fc71971c2fac":"0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac","beta-63fb3663dd95bb32740cc876224672c3b82d33af":"0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af","beta-fbde83309e9470be02703155ea5f49cdfb6776e6":"0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6","beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35":"0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35","beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27":"0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27","beta-495c53816f81e3557891f56ad27aea8062e4a4db":"0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db","beta-daca6233bec1f537b5e065c8cefa34f1304692c3":"0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3","beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5":"0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5","beta-e28973fb20fd69174220161d509184c4ab8e2a5d":"0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d","beta-2cae58ab88f0173461f557501e61c65c34c45d6d":"0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d","beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716":"0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716","beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba":"0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba","beta-8d849eb0e6f70d77b05d91d53e9298f459557f96":"0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96","beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192":"0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192","beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2":"0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2","beta-bec46b07220f6382fe939c238ccf8cf7da453285":"0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285","beta-9427bd0f630d800721d9094811c08aaf8b54c072":"0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072","beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2":"0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2","beta-e4a007be00da079142cc069ba6a37842c90b14ea":"0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea","beta-cae96c899a36830c9896b6410763f8bab99e7776":"0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776","beta-672d876d0c0e8c91613411eb16edac031742d5c4":"0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4","beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481":"0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481","beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1":"0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1","beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81":"0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81","beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a":"0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a","beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070":"0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070","beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78":"0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78","beta-c5448ae325aff45f5de75b7265e559a31bc1ba53":"0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53","beta-32544443a3e04a973728026627e73a80dfeee99f":"0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f","beta-3a3dcf666880b6810a806b54c783001d22bb937c":"0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c","beta-819368742df0a33525c74bb728bde70e5f727962":"0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962","beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10":"0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10","beta-d33345bef258a183f659bbc689d76bebf86b892e":"0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e","beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f":"0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f","beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4":"0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4","beta-6ee6562ba4971865620fc3e5ff550c8698942a9a":"0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a","beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6":"0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6","beta-239d6254020a5b01601f7f9da3949d270fd4a445":"0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445","beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25":"0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25","beta-1c155c687a07b8b67411f428e204bf09742d17a8":"0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8","beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077":"0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077","beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7":"0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7","beta-8179027f3401c87dd6bdcb9e57727423a7631182":"0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182","beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98":"0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98","beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89":"0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89","beta-2645951ddece3421ee877a2d541eece943b7d9d5":"0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5","beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f":"0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f","beta-3a748ce23928583f8031ddfd288c69f91fc2937e":"0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e","beta-aae3d65623cffa0f34937b442e947e49f56d7d49":"0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49","beta-a74b032d3c20a4b06f10695e548109a5584cf368":"0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368","beta-94c163810ca19eeee865f8de2a75d5bb49811dca":"0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca","beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4":"0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4","beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc":"0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc","beta-28364b2220fad3cc2d52bb2f51a1eff36142654b":"0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b","beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271":"0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271","beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831":"0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831","beta-381aef91782c314a5a4753684494fe247651bd7c":"0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c","beta-0758153dd5951d0a0c188fd04007c8c8271afdb8":"0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8","beta-7e873e6e7b454310d3ff88611dc0f0483702f84d":"0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d","beta-8299655d2df674313ae0f76223c70cad4206fa2b":"0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b","beta-d42c40d121b141078f42d30bf11c935efc6d5e3d":"0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d","beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d":"0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d","beta-3c38e89a3b05c8f18a4c41c295da39556c952177":"0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177","beta-521ab2af3246719af2aa1c3891aa691f7765b4a8":"0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8","beta-62efc7a4ebc43825480895787c844216456a18a0":"0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0","beta-4a11bc585ce6095361f510d839f8d99aee66def6":"0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6","beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b":"0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b","beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c":"0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c","beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000":"0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000","beta-a26d62a353a1d41285b4b22515a5da288d629a96":"0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96","beta-be82e857a0d7479576a20efd1c491f7b1836bb1f":"0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f","beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62":"0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62","beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf":"0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf","beta-dff9fe55aca2da02f0123412a19a761e58583a76":"0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76","beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e":"0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e","beta-1be89441fad70334c1002e393beeba4465e744f9":"0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9","beta-b7570576d2315be79581f0e1a16b1822de457115":"0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115","beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57":"0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57","beta-bc6295e019f8dab8e4f997536eaa30f33e744499":"0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499","beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767":"0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767","beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68":"0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68","beta-a264c95cfecba2d62fdef227e05a964769068be7":"0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7","beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846":"0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846","beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df":"0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df","beta-9415ff46057640878e472610f3720b2766e313d8":"0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8","beta-d0d05e643aebef226879a6630e8e1fad01cb7c08":"0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08","beta-b463d5972ddc659a3232da8eba69f4df226f6983":"0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983","beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9":"0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9","beta-ae0797a0fd80ba868ae39161370a987359215a8e":"0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e","beta-7e8e3e42111df7cec4da19e6f9289540470771fb":"0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb","beta-bcbb9ce89ce12157944230e22c5b2b069af20a01":"0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01","beta-0746d7d333caebbb01bc3520e95ff319092c4a66":"0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66","beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb":"0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb","beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01":"0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01","beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22":"0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22","beta-6f9e55d371afba80087554017477c85741ef2bd7":"0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7","beta-1c64d191c044e2008a88451fe3007c686051d1ef":"0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef","beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0":"0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0","beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6":"0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6","beta-7400a4a9be306100345f9b792869dad68ad13d73":"0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73","beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b":"0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b","beta-4e97552cac2472799829ae489242ba09afd73f7b":"0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b","beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4":"0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4","beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859":"0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859","beta-287cca88730f1ed5220063cc2a52772bd7319524":"0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524","beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd":"0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd","beta-ea9b5691515e8b3729cec29c7842639add69484f":"0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f","beta-7148e8fcf53f072b22753f88650eb056d83a52ae":"0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae","beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea":"0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea","beta-e816253f6ed42885b665a15bb372dbc594fc57ba":"0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba","beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7":"0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7","beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7":"0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7","beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd":"0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd","beta-a44796e5074774d290a57be0409c8fb7d2742726":"0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726","beta-ede452aea817546d211083d60a9cca3077195dc4":"0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4","beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c":"0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c","beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601":"0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601","beta-dc38c363718f8549b41896eafeec20463e08901b":"0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b","beta-05ed6005459f860707eb5055787a5dbe223fdfb3":"0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3","beta-67acdee927b08062591b0d2fa32e8c50a17073b5":"0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5","beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a":"0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a","beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641":"0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641","beta-a87609772eec40a1da596fc7e7490b936fdec8ea":"0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea","beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5":"0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5","beta-d00136f09c1066e0212e978331b88fe7c4833787":"0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787","beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b":"0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b","beta-7920bc6436bca81839340337532f7dc193e40858":"0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858","beta-9a2dc201b23e1d01946479def427b35539f416fb":"0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb","beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451":"0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451","beta-8423161b46cb2f0918510147b2b617113272f674":"0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674","beta-8f270e4899cf402272d7f262c810c1dfa0aa6656":"0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656","beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38":"0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38","beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5":"0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5","beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65":"0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65","beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d":"0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d","beta-f34e157bf69aadbaef57a63bb7ca7664043d395e":"0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e","beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b":"0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b","beta-f4956deea736c102a9f0931d4882309f45c4b748":"0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748","beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4":"0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4","beta-2ded93dda8bc9792128221c756406c68c330ee6d":"0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d","beta-0b77811e197eb0443e31ae4a9a10812654383a04":"0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04","beta-872303924473f5477fa5e8b5facd7de56c8cb88f":"0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f","beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141":"0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141","beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9":"0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9","beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28":"0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28","beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3":"0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3","beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b":"0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b","beta-a386b71095976b7564519d49e703ecb7ec648f62":"0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62","beta-2d8bbd2084003eef5655674fff9d594c64b10115":"0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115","beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91":"0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91","beta-75b31dade96732616e7fc2c1ab668933b331816d":"0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d","beta-aabdfc02097ed8e96923e22540cf8104f0410848":"0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848","beta-4a80bbedda44403992c956c681c67ccc4dff6c17":"0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17","beta-296a7693a13698ec3521c276233aef11224889a0":"0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0","beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e":"0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e","beta-c28e585963c09b8208e0b989219ce0442d8c8630":"0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630","beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5":"0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5","beta-1a383feb31fc351176b7b81095b46e2d9708e1a1":"0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1","beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53":"0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53","beta-ba59176711597e6bef2d72f6c8e98bf5ff021937":"0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937","beta-4f892321dee2011ed8e00c34d903f454237b1315":"0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315","beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58":"0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58","beta-638b35c3e8726442108900e3dafc021ddfb4c7a8":"0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8","beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531":"0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531","beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40":"0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40","beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f":"0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f","beta-365c67f85f899f775ef48ae36dc118208d528132":"0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132","beta-6ac7e03417c137fa997976d85d28d3ca10a1943c":"0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c","beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c":"0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c","beta-af1f88339c172650c8076f4dd3aff88f0468b716":"0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716","beta-0082e848505ea7f326034e90656b5afc38f36552":"0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552","beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06":"0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06","beta-b4d46a059c180bef39da1c9650367558014ff9c3":"0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3","beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9":"0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9","beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668":"0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668","beta-4889c76c207944f70ec389b627c0fdb898d78cae":"0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae","beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5":"0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5","beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519":"0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519","beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d":"0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d","beta-5e3d3377af584c37ca04f372edcf542be4bc0d11":"0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11","beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b":"0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b","beta-785cf739234632772cc6139b48ca448a83574a5a":"0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a","beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2":"0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2","beta-3c415e4803175028838b5f769b6906bc745f6628":"0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628","beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb":"0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb","beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee":"0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee","beta-3d27733357f72213f78df5bda97b0916529812b3":"0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3","beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5":"0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5","beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281":"0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281","beta-f55ac01d034522835ec5c3d91319b9defeea94d7":"0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7","beta-0bbca507384feaa0a75c45aae54622dcd22addf6":"0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6","beta-d72eff43f0cddb7840bfca8313a800e68894fa48":"0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48","beta-dfe23157794548fc981d3e4699e73094e791b028":"0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028","beta-01967a6a4c878e44b3fb9c01204c495c39d8e700":"0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700","beta-2f0d8d1bb209ebe22732689741fadd975a33f82f":"0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f","beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873":"0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873","beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b":"0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b","beta-5905e1190b5360fbb52686e8567ce877cd610ded":"0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded","beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4":"0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4","beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea":"0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea","beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7":"0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7","beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7":"0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7","beta-c429e8aca60c612047586b81be9cddb27e69e56a":"0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a","beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b":"0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b","beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d":"0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d","beta-01e067b0f9030d5ff01f697f0236e0034264e0a7":"0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7","beta-044ed37061c0e16683b79e298eb16aca5fc4700c":"0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c","beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a":"0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a","beta-374f286729ef95ea3f2b1adf553876da88845b2c":"0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c","beta-09fcf6e361a5ffab50f09b720b422427fddb9146":"0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146","beta-3b10a364a3e054243a1d1846abb36e62eaebbff6":"0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6","beta-7aa6d65ff977926bf5aa02aba9672433754d516e":"0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e","beta-60253b2018cd6d5f972feeeb9d42489562cc6873":"0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873","beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00":"0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00","beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172":"0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172","beta-9687484289ce81804666995008d8191f17e11bef":"0.0.0-beta-9687484289ce81804666995008d8191f17e11bef","beta-cdbd15e5f962d4baad796c056b30c28495da0549":"0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549","beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977":"0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977","beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b":"0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b","beta-37b0ba5c69135f09bd50041f54add702a1a53950":"0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950","beta-4274f49abc8e02c7731d71780aa324f66ed9a48c":"0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c","beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023":"0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023","beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196":"0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196","beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c":"0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c","beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752":"0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752","beta-1d253d7fce098988081dbc94878e34a22e8885c6":"0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6","beta-67a60c7773df85ce58e3f4ee335363e817b015a8":"0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8","beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2":"0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2","beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc":"0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc","beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7":"0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7","beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6":"0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6","beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc":"0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc","beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268":"0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268","beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea":"0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea","beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d":"0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d","beta-d030f181fe9f076b2963a0fe98881e1d776b80e6":"0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6","beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b":"0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b","beta-1b3a521e34718a5e28d9c104962e8675314d824e":"0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e","beta-f75e986757a75abc689fde7c491edf578063e2b1":"0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1","beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9":"0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9","beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5":"0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5","beta-0ae16dd248b4f34accc7339cf6a71f45b28110be":"0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be","beta-98914c48ae47a9673501fd7841d8507bc846603d":"0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d","beta-6e86c85093c15174f731c0d339070769db671757":"0.0.0-beta-6e86c85093c15174f731c0d339070769db671757","beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b":"0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b","beta-d0486bce5f94a4f10968f7e062463b10aff49ca8":"0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8","beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac":"0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac","beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a":"0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a","beta-c79bb1740224e2845a4127cda81a4d4a759e45d4":"0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4","beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719":"0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719","beta-c55d6e55f2011ff89332e636758e34f0ef897dd6":"0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6","beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de":"0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de","beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4":"0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4","beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f":"0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f","beta-f720b0d74a68411c861372059d1034fec518826a":"0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a","beta-361290dadbb21d4fc685224f225b65091858cf16":"0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16","beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f":"0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f","beta-13f1dfe19859ae837fc60c943034158da720e5b9":"0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9","beta-5a18e9b3efc895f79b0d1b2288e875944c345e73":"0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73","beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8":"0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8","beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f":"0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f","beta-de9eb3546a2e624e5919a3543020f95d6028620b":"0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b","beta-bb87cb182870f88ace780dc6fd182c0da916379a":"0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a","beta-4620ae4b4e471e825a0918c359679bb04f1d36dd":"0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd","beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79":"0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79","beta-cc6f70f911826502091a857f4c6a962df9b9fc20":"0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20","beta-24292247173fbab679061cc52c62b506dd2ae01e":"0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e","beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5":"0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5","beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818":"0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818","beta-1cbfba5d1febe5664d572fa5a17a7246057079b9":"0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9","beta-85c0f8228190fcd05fb48381d1719ad0235bda51":"0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51","beta-b152e8685123b82c4874ca4b37145ed78a457a75":"0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75","beta-1b47609207a6f442af584d46d1c789d206bf10ee":"0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee","beta-46c251c598ef980b4e767262dcceb43034f6759a":"0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a","beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214":"0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214","beta-6c40bf985796fe56db241a7f7143a9d2666d66a4":"0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4","beta-8e536904fb9db46121454b31b01d7be1faac7820":"0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820","beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed":"0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed","beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840":"0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840","beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b":"0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b","beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82":"0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82","beta-6f91aa378b25c3c43a545bb34f89c339a583e916":"0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916","beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860":"0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860","beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b":"0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b","beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c":"0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c","beta-f02cb41ec8102b19e502d391e4d500979a2cf918":"0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918","beta-2b2c51f667466d429ef3bb4f416d193f73a77d75":"0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75","beta-2b819d126c242d0cefac6716da402db13a42e7a9":"0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9","beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12":"0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12","beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3":"0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3","beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a":"0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a","beta-ac149b7bedc31fce024b5cd8b61352f6f104160d":"0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d","beta-529e7b303e7087a741798e3c2667db0e81666001":"0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001","beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6":"0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6","beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73":"0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73","beta-6be8088569502dffbcdaf566e6da566fc124eef2":"0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2","beta-8256ae3df42601d946006175591074e9e23a1cfa":"0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa","beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6":"0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6","beta-2e39cc3f7fed713737e485917c380d2711ba0b21":"0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21","beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3":"0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3","beta-719d9134da498abe1c0f4a536b747c07d6cc7db3":"0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3","beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d":"0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d","beta-7a98c0868e247723b90884936a140b29f030a17a":"0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a","beta-8033c36e2614c434f275d5a28ac6f2205d018554":"0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554","beta-483fca1178419f034ef7da9d8b5fc5074663725d":"0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d","beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a":"0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a","beta-ddfc022aac4b06b7e071058d8e46144edd912eb9":"0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9","beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f":"0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f","beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6":"0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6","beta-52badda0a2014e34323d9803d1807a7b130544bd":"0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd","beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3":"0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3","beta-e9eee93a00de271b815be42806d1caaf6db3084b":"0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b","beta-3d89c048889d2d85a9b17d05803711324273de1d":"0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d","beta-7d5b042155f5241cfbb1dc79541b0265ace604da":"0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da","beta-f6e88779eb73080530c98dc7fd2980d677bbb768":"0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768","beta-dc29680703216655e5727eb051b47f5249153c5c":"0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c","beta-fcad9306df46bd98872abdad1b11951074d9b90f":"0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f","beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864":"0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864","beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c":"0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c","beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55":"0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55","beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50":"0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50","beta-9683a5260fc04755e2ec51832a01b9f525272a2b":"0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b","beta-f392b791465082258b0abde64df319adc7d16b6c":"0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c","beta-c51b86dcf527eb416e3e598abca70bb7a4887544":"0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544","beta-8f1946c29e11f168f8171ceb192dd1cd97417f31":"0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31","beta-22d7554cf0844f9649e276f7a9295ebc096f2f03":"0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03","beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c":"0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c","beta-8125e89cadb521d3532bc8062234701303bba83d":"0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d","beta-ddd739e87e093c662969c59514e510d04781728c":"0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c","beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4":"0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4","beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823":"0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823","beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd":"0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd","beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7":"0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7","beta-99c1405f4b1e02ec32fd842826253b31176f68be":"0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be","beta-b31aa985cd14e674c62048caf4d4562491dc5047":"0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047","beta-cac84f6e28086ab1031584020791c7a0fbf943fa":"0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa","beta-9db39999128377b393efe269bc6a2e7fcfb2e74a":"0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a","beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736":"0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736","alfa.1":"16.28.0-alfa.1","beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e":"0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e","alfa-0":"18.0.2","beta-91dd58a6b043806d002026798f36947fb224dc4c":"0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c","alfa-1":"18.0.2-alfa.1","beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe":"0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe","alfa-2":"18.0.2-alfa.2","beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197":"0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197","alfa-4":"18.0.2-alfa.4","beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6":"0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6","beta-ab747259a989efdcb06bccf00b295fe34d7b7876":"0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876","beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477":"0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477","beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276":"0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276","beta-6c2950ab2a377ff3cd715a0ea160072d690522b9":"0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9","beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1":"0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1","beta-7390c48662847022922641fb5929265015b9a047":"0.0.0-beta-7390c48662847022922641fb5929265015b9a047","beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58":"0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58","beta-daeabe669c7c136d7368cb07cc719099f243a082":"0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082","beta-1c544f629af60d54f7b7964921349a6ffbd913a6":"0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6","beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe":"0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe","beta-f39d7c8de89a47482e119a5c9793b6c61826e33c":"0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c","beta-092caef8bdff5e58abfaea3355956b2d1b75a596":"0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596","beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859":"0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859","beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1":"0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1","beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd":"0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd","beta-a9d3f257f94679f4fb852d9cd045a3371792a85b":"0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b","beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e":"0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e","beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272":"0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272","beta-9ff2201319924731785e84832e50d26837caae9c":"0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c","beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075":"0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075","beta-dac62abca4b27de4f473fa664da1580e7a80a1e3":"0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3","beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967":"0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967","beta-73412b4d79275a96f079f173bc6d0b825aa82d18":"0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18","beta-15f2dcdd2446409d52e9bba7c17891f54379e19a":"0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a","beta-7e2d7f361a98254483441a8fdd1d6c8d12523548":"0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548","beta-9235f9ef9990e5ed3297eba62854d7cab946f337":"0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337","beta-69619865ff93b490a5798a713be1eb9c5319a690":"0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690","beta-75950d7f66cd1dd34a8a897da6613944131ffd0e":"0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e","beta-bfde50fe5e75f032606cc74565814e1f729138f1":"0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1","beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62":"0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62","beta-7bafbd038c367b671f3d5cc66d97159057347f0c":"0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c","beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890":"0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890","beta-1a9de05313dd6913b262a5a071d9928c4447b688":"0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688","beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4":"0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4","beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576":"0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576","beta-5986532b5e9f6d392c911a30566402783e43c7a8":"0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8","beta-429053e320d0d835a1cc5657c33542c6d6d1a3af":"0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af","beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e":"0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e","beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551":"0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551","beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f":"0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f","beta-7187d7f858133c0883cf670661790b1206e567aa":"0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa","beta-15b2b76fbf428b007d38f8b7db7934864d2e619d":"0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d","beta-0fe0f5550712e6e586f4d65eb262d16b561301b6":"0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6","beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29":"0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29","beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167":"0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167","beta-967a41175157ae2fa10b2cbf9e2095701016043b":"0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b","beta-8c00b1047dc674d7baeafc348633fe152b79bac5":"0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5","beta-b49d808eb7b57a5524423f69bc969dbe68775386":"0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386","beta-581772026981b544df4f1f294564eae5264ff90b":"0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b","beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e":"0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e","beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed":"0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed","beta-839963da21cea34917b3bc51d5a722673a196439":"0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439","beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b":"0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b","beta-9a709384029df047aefb69004f514f29d42cca7f":"0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f","beta-7dad2643b78964153a2a521cf70faae0caa82e68":"0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68","beta-c2077932e025b2529e6291f65b17c17c0ec1969b":"0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b","beta-8e0f00617c25ebb78fdfc9163fc73f357669a857":"0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857","beta-063a4b2fb56672614dc922a532355b9c87711e36":"0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36","beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c":"0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c","beta-31230453289fde403b40ac49556bc3bb9a9a4c2f":"0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f","beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d":"0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d","beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089":"0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089","beta-acfe9d55e7f629f9156d211d0613069fb408b954":"0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954","beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9":"0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9","beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8":"0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8","beta-c8a0b7733490e87cd6b14d5224d31a0e25929375":"0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375","beta-35489608b07414c4fb592ae2871c3a69197b1920":"0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920","beta-1ac38ff75cdff5a732736ca682a3f5467255140a":"0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a","beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1":"0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1","beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6":"0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6","beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a":"0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a","beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e":"0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e","beta-2dbb473db276aeac685741a9bf30d45c90d2c30a":"0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a","beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f":"0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f","beta-eb46af9bc28a506d2a09a355a28c192883759ee9":"0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9","beta-eb074ff2628396643c82139ddc3db11d2909c789":"0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789","beta-d405037b8f53bad4fe48df001bcfe4660b64762b":"0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b","beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc":"0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc","beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a":"0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a","beta-775fd52e51f414d5b4083b867001b1f69cbd90e7":"0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7","beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5":"0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5","beta-8cde20afefff54172cabbb4991ba6330b0b90544":"0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544","beta-47398f019cb6af32b6ae555a12383bbe04571bcc":"0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc","beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f":"0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f","beta-34aa210ae4441b119e669843b19a34ee30cc4355":"0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355","beta-e17f8416fb5299fdca949f13d6e4535506d15df3":"0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3","beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75":"0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75","beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3":"0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3","beta-0846348b974a6c625f0730ffb714164e77674cf1":"0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1","beta-106103fff966426829b5748759f0b60897569d4f":"0.0.0-beta-106103fff966426829b5748759f0b60897569d4f","beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b":"0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b","beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f":"0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f","beta-fc487e6350dd2f10ce3fda06d433e27920befb78":"0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78","beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2":"0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2","beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5":"0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5","beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6":"0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6","beta-da4683a6571c95b881eb444fd32b438414de39ef":"0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef","beta-f168687ce46464adeef12c6fd738607682a94d68":"0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68","beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc":"0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc","beta-5b07660622d5eb9502aeb2668917f7e864b4ede3":"0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3","beta-4c7af59582434325609acbe8db54a0590948f3b6":"0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6","beta-82b5096007348bb5459f513ef96d32ab65ab29c7":"0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7","beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56":"0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56","beta-4ec8a392ca875495bc46703dd47d193c768d3693":"0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693","beta-ea07774198bdabd643b893da08588eda408a1865":"0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865","beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d":"0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d","beta-134330c2f173fe018a4e888a27a7087b045a879c":"0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c","beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f":"0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f","beta-c159d23c4bbbf069b88e512c816b2e51d6390c21":"0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21","beta-85fd702e43a1d62384408b1e692a978ac72d3741":"0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741","beta-6f6bca169f961a21018a233922259a3cf343025b":"0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b","beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033":"0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033","beta-bb6482d667e83f96787ab76a08d16bfef484b454":"0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454","beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36":"0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36","beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2":"0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2","beta-4108335d6ced8b43e3c577795e041e5715647eca":"0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca","beta-34b0b3cfc15431471ef967365680a30001148e4c":"0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c","beta-5ce174b160e4adffaed70e12d5b663e621884dfd":"0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd","beta-c6a38f2e1e9531c6b9b258967954e90b35858229":"0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229","beta-1678110cbf3123bce96d0dd322603da7e6b16af9":"0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9","beta-4adea2682259781e3df125a741a5119b890faa2d":"0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d","beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81":"0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81","beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d":"0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d","beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c":"0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c","beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32":"0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32","beta-0d36da9758a55732cbf29d33e4105a56bc860add":"0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add","beta-a000d05222e950f5874a22613278648bd87b00b9":"0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9","beta-e6eceed82d4b2b39bb143230e2704ad85834e749":"0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749","beta-4a91fef254fc34c33c687363b2c5487b452289b8":"0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8","beta-24e4b31e1755c957aa3732dfab4896ac767679d2":"0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2","beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2":"0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2","beta-57db9a094eed378f5fd6d595961e979b14106421":"0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421","beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8":"0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8","beta-020e716e1d4b3b94e0628ff43a651dbe131a663a":"0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a","alfa.0":"19.10.16-alfa.0","beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4":"0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4","beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671":"0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671","beta-b5c46be70463e2d6484e4e97f5ac92e828139e47":"0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47","beta-2408c8ac3fffc22b771afc13618c1503f591fb30":"0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30","beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402":"0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402","beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20":"0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20","beta-73b1df12c710ae0a329c382f03678e9d8c998adb":"0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb","beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b":"0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b","beta-7bdeb7460a22240dec0dda4f86609baf29410836":"0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836","beta-40e5e9255786ca2a60dae02d52a10350bbc122fb":"0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb","beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6":"0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6","beta-f5934172b8595c46f966c5f2572b9dfc504f6456":"0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456","beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b":"0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b","beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd":"0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd","beta-b49d3180e84e6215006ac8c20f72a8641d0d029b":"0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b","beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c":"0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c","beta-88578d02c02130c1fa485cfb5e8da440df7db036":"0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036","beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d":"0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d","beta-84dea723195adcce58940ff68b5fb58e29a787c3":"0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3","beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178":"0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178","beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b":"0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b","beta-bd75ed36061d810bfd5d181c24004f883e203bf4":"0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4","beta-26cbfc6a86559caec4ad7bf54798824856b6139b":"0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b","beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1":"0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1","beta-c38e32539ca60791e28c11c3ea628a67fe68ced0":"0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0","beta-f9ad19d07717be61644089e1e35fd0329d76fd91":"0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91","beta-462d768176499ee176d39c860b4dc384eadb6e42":"0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42","beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892":"0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892","beta-59572dba571aebcc5ae9336a695f68a4ce226d81":"0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81","beta-b974c8f9274c8043d70fee83844c090a89a06aba":"0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba","beta-562a7af18a314ff9df004a8f0938faf9093a5324":"0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324","beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5":"0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5","beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c":"0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c","beta-865898a6497796c117bf62aa6ebcba7b562dfff0":"0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0","beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4":"0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4","beta-75a364ba13c475df8d5171dfc0f56128ee61795f":"0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f","beta-abf23eff20dbca15d6915895016b25260e883e73":"0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73","beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3":"0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3","beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc":"0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc","beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf":"0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf","beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f":"0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f","beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48":"0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48","beta-9592d82df97bfbe41b4b800989659ecfe96bce06":"0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06","beta-14341f2c7b980fb97a0d18b1a996f997c56c894c":"0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c","beta-e0557ee411d43c1154f9641e2bd4702f3c14c567":"0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567","beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb":"0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb","beta-1815f556d759ba440999968564cdf51c23845ccd":"0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd","beta-e4eec20dfa6acb25fc0e892680401a97420f800e":"0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e","beta-d0d1652959b7adbff657d4fc989e21e8ea08c461":"0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461","beta-a043db5fc8c4baecd4db6397386819fc92bf2d65":"0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65","beta-29741560c3f28b3a73f919b6c861dd611cb114ff":"0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff","beta-c75c17ca88bdbd4959a9685010a6e52f718d237f":"0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f","beta-2086cd128a52cd1ba92e1962399da2f739277f58":"0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58","beta-53684863f1de7fcb26122d03b90c948ace3c306c":"0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c","beta-efa20403f522529e712d8b44af62de45eac5222e":"0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e","beta-f486a17df1e6a1d2f8509772ba479df65da9423e":"0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e","beta-a1ed9e242b3204f1e8f604034027cd247547af51":"0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51","beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34":"0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34","beta-2ad6170ed4eeacd87b2f967d73e0281c72989300":"0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300","beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe":"0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe","beta-579727f6ec4484963f163c252bd68a24b16c3e3d":"0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d","beta-a134832fae4a9eb1ec324098041e49ad1ef2e680":"0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680","beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48":"0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48","beta-bf92050b0025ca1fece8bbaf19984b753c492edb":"0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb","beta-2e37471f849c49f68b26e8a45880a529db1d5c75":"0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75","beta-bfc276d33793056c126c8443a24e9dadf248fd68":"0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68","beta-fcd3850bb21c1f843947c4f599327f355730fa6c":"0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c","beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97":"0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97","beta-502bd6d0b60d72dcd4459f264d8977e2931e2181":"0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181","beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4":"0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4","beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a":"0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a","beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21":"0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21","beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e":"0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e","beta-1683104d75f9f926cbd119fbc3583c789d921b3b":"0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b","beta-d719e55068aee276528f9293ac9d4dfb60de65dc":"0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc","beta-ce7ae7460dff28d470f9ffb4c5973390356efb24":"0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24","beta-033a1ba7352ab180dfb6f333e34252a405bd5d78":"0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78","beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63":"0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63","beta-9c96412c324a2e942b539e58b6ac99900455fc00":"0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00","beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847":"0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847","beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b":"0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b","beta-40e3f2f9d459965847144b29e031a25fa7ee1aad":"0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad","beta-fd6faf8fc4be40f2682dece442333cc155d191e2":"0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2","beta-9129c51a851c1e673dfea0f5d40326b1b5642a71":"0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71","beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94":"0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94","beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b":"0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b","beta-0e6db4f04e54403bf853dd11cf15f717bea3461f":"0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f","beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c":"0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c","beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689":"0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689","beta-8a5765197798bd2b3802a8c77beb92ae5b88c290":"0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290","beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242":"0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242","beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0":"0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0","beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d":"0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d","beta-efe0f43bd0c882f43589129447dfae2b97ff440b":"0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b","beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e":"0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e","beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2":"0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2","beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168":"0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168","beta-58aac447d31b0590db1d78a2dca017df02aa7f5f":"0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f","beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce":"0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce","beta-b28dce376ce3dd381145e636daa2669f0b6af83a":"0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a","beta-c745b570e81fa1c66ceab211b728b0ecb915687e":"0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e","beta-10a108c48103aa45676abb775f1915d51ced52c0":"0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0","beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42":"0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42","beta-5d20f44665494901a7ecd9281af4c71b56f30176":"0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176","beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b":"0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b","beta-e387914630300db6fa09e86c0aa4d67435a598d8":"0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8","beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f":"0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f","beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91":"0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91","beta-7b24389f07d1b0397169f80672c05b25375e3619":"0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619","beta-130d60ee80200aa5822a8c76a9761ccf2b600668":"0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668","beta-db66df64545026f0974f4935f396cdc11e9a1789":"0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789","beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462":"0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462","beta-2925119171eedfeda545cec50023cb80cbf3d103":"0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103","beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234":"0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234","beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e":"0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e","beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9":"0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9","beta-6a5443285567e14b8166ec8d4053d238cf777eaf":"0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf","beta-3d4214f943ed446a74f807f2d6e34baca7270d75":"0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75","beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2":"0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2","beta-a4d60ae90a5c76835d9870f050d4ea01dd282073":"0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073","beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6":"0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6","beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10":"0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10","beta-4802961607acb195cff60064b4203078dc03e4e5":"0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5","beta-d5420a468fd77357b08b981d746920c2e472ac88":"0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88","beta-280c816e7efb149f150eb3fb23ce62c78a020e40":"0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40","beta-8a0f9d952e5818e852d7a739cf00842763073cfc":"0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc","beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8":"0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8","beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47":"0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47","beta-0c429a593c4eab8280883768a291ae5f2dce061f":"0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f","beta-72f22ac81fc27f41f2d10c887d928da3989ada53":"0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53","beta-7a1720b84eb5166d07876fc005c3a788213b2d3d":"0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d","beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32":"0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32","beta-3c95d50800312991286f0ab031d7dcf7cf14a412":"0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412","beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d":"0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d","beta-6b66a1c108ae00823e370baf47ad99165061f685":"0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685","beta-11d56759dcd34a701dde70bb56f92c8f19192577":"0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577","beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88":"0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88","beta-f606dd2b0f946c8e91e278deded543ab90766317":"0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317","beta-30c62b8f921062625e82d9a806a74f41449ee38e":"0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e","beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9":"0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9","beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0":"0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0","beta-cb08f016aa988121278091eedc3f4dc9b9661a74":"0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74","beta-916c189d1e7a142ce8ce675050c4f85713d71100":"0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100","beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e":"0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e","beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7":"0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7","beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea":"0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea","beta-416f9867f2068c91e966e818dc7f107518b2ff0f":"0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f","beta-678581bf9d177961d50a347d66afc587b87e9470":"0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470","beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c":"0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c","beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d":"0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d","beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0":"0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0","beta-b2e311576081c5e78b292a423222c6f92f048bb4":"0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4","beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a":"0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a","beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd":"0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd","beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d":"0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d","beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec":"0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec","beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9":"0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9","beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4":"0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4","beta-228f840d5d7b663669dca5133f2a498aecad9e91":"0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91","beta-1caf3f2110e47648004a254f2abf1d8d8539e609":"0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609","beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc":"0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc","beta-cee527b11cb7e701baf72935859b8a7e73230df4":"0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4","beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb":"0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb","beta-614e9a685fa87b64affa6bb0db47800119d02d4f":"0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f","beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202":"0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202","beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32":"0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32","beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af":"0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af","beta-735885da5527437fe0be3dfb57ec6b9c7aa14478":"0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478","beta-152c8d0ef557a6adef9cd607fc611925e54bcb90":"0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90","beta-70b23510ea08a26eaa9f56d32425a9cf54867b51":"0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51","beta-8d7730608720cb2e2fc81f3e807cdeb86488b374":"0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374","beta-c7870629c951a759fa29e664207463275f355454":"0.0.0-beta-c7870629c951a759fa29e664207463275f355454","beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf":"0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf","beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843":"0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843","beta-ba811cd11a8a479d878f19945845dcc8c5969271":"0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271","beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90":"0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90","beta-38433b18f08a89eb8485b09d9b7e584b309697bd":"0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd","beta-548cac930ab65d76255297ae2ebc0f489014bbbf":"0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf","beta-9e35b085591213b2b15f30054975b262eb937753":"0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753","beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf":"0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf","beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82":"0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82","beta-ad3f4a259b430f99688a76a3f6f3b653903070f1":"0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1","beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a":"0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a","beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611":"0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611","beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5":"0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5","beta-568d9e1efc7c48bb50c00154b63163ecee3e8807":"0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807","beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027":"0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027","beta-aa2672a71da0743e607ee078dc63050dcffa30c9":"0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9","beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7":"0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7","beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710":"0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710","beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4":"0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4","beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3":"0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3","beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6":"0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6","beta-ca915958285cfb4109aa392bddf0012e9c3efe6e":"0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e","beta-d3738ab36de7639bfdbd4286423150dcc52cb145":"0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145","beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790":"0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790","beta-9844c1eaa82933d39fc8532999453c1fb743d501":"0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501","beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4":"0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4","beta-4a768aafe090d6752171060e58f74fedf4ee6819":"0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819","beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4":"0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4","beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f":"0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f","beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70":"0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70","beta-5eae611aed1b1d0e6166b2aceadd45861637c01c":"0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c","beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83":"0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83","beta-e3faea85cfce829b67f1b462e17c6a5b20eba173":"0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173","beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971":"0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971","beta-c886ca5232bca5fa0682592e804dd60617ce0c7a":"0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a","beta-232fd1321aaaaf719529579da6583129206e6082":"0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082","beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f":"0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f","beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e":"0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e","beta-574b2af62779b91dcda57c926427f469155a4312":"0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312","beta-262fc23509553e4bbe333f4eaa9a793054abcd2d":"0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d","beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b":"0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b","beta-19243545514904fa2eed61efff9f383c24e3b678":"0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678","beta-42957c0877da8e9d7107b01e908947e5770b9746":"0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746","beta-25b9476d435218265c947a6fceabefa07241a741":"0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741","beta-7afb28d8184b8b367ff006aea8460cb28978f500":"0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500","beta-f8019b360967089ee51af73fa19956da75e01a50":"0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50","beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce":"0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce","beta-b969f8f487c330da7e75cfb6430789e505ac0e46":"0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46","beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751":"0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751","beta-cfb65e136a59113e907c95a3db270fc85decabb1":"0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1","beta-b043691814f8c76442d70ffcbe9b723541436d21":"0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21","beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e":"0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e","beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4":"0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4","beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd":"0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd","beta-452c632cbce217e3d8ebb5fbd00f97f191648def":"0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def","beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73":"0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73","beta-ec1692502f981b917fcfc1041e5e634a3517bb26":"0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26","beta-195d9f58973846c24f045b198015b11aa2b92114":"0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114","beta-5f4ec362bd6466ae5d51b86ead86c70caae21985":"0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985","beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3":"0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3","beta-37be578a30c99c1f1548685d26e722a4b64c729f":"0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f","beta-021eddf397744b9c880c935073642b9e8e6f97da":"0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da","beta-dd9238f77b359d9762178380d75cfb5297d5b5c6":"0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6","beta-932b33a77cbcddd3aea19ca8752b0757bcc76658":"0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658","beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15":"0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15","beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0":"0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0","beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191":"0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191","beta-2215e70d1bad6e31c0be2421d11762b5ee999057":"0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057","beta-01f5579d367e627c488a5414eb3449ef0d9adc52":"0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52","beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b":"0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b","beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590":"0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590","beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e":"0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e","beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d":"0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d","beta-7be6f8fc96d36fcbd76f583005465341f4025666":"0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666","beta-1148959b4f71cef17e5514f3c8330b814dee18e2":"0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2","beta-76bc147a150960a0d435bf51ad264e38dea3a884":"0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884","beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859":"0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859","beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3":"0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3","beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2":"0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2","beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2":"0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2","beta-b1811cdea89d8320492bebae741bef82c64a642c":"0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c","beta-9de8c39d810ab889d80c550ec7240a84371d9c16":"0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16","beta-b9d1e5850f7680958f0cb710edbabc935ffbae25":"0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25","beta-99c1824709271a19b64dd54cdc7d275061fb94e2":"0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2","beta-029b800e04daec2c044bf54484e5ace8e811e0db":"0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db","beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab":"0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab","beta-182905be212b7ccb9a000c9fb1e11b49d20088b8":"0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8","beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375":"0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375","beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57":"0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57","beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea":"0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea","beta-bf0531e01e5da007a09700d127581958e0901b77":"0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77","beta-3e898c39e1c65cbee144efc7fd67299c61bda29b":"0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b","beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1":"0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1","beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac":"0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac","beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf":"0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf","beta-769fd135e8734d2c03e8bff1290122c785c51f86":"0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86","beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde":"0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde","beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c":"0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c","beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836":"0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836","beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9":"0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9","beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a":"0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a","beta-e94111dc9fe533391aa924c4108326176c3878c6":"0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6","beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e":"0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e","beta-8c2621ecea32d038398ab20bc1311cf144818944":"0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944","beta-84664b17ccbb88af1344fb98395c1e5a939f8974":"0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974","beta-6e1b376f6ffca908feee16569a936b8ca47164ab":"0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab","beta-0576a02241be72a8c82df008f1c839f1b64ad470":"0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470","beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c":"0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c","beta-85137db45a889425f5ca41f872635d62ba6d58b2":"0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2","beta-a266d73df976fd45bfeeae91bdeecf390b594089":"0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089","beta-a73e2a74e0debb3767274dbbd526e8907abd8d43":"0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43","beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e":"0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e","beta-77842a69286e53eaf3f9590949e93b3895217233":"0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233","beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f":"0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f","beta-acae79249ae82add84f3eabd3d09d480a90c9933":"0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933","beta-36537bf20d464bc73d01992de114a728fc143f87":"0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87","beta-3410faa82d0db68e0e8b15338c229c98c0555463":"0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463","beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba":"0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba","beta-fb311353991a175908cdd10f8c62fd73de6acc01":"0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01","beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654":"0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654","beta-21ba181dea86cabe396d00582fc1ebe46ab7099f":"0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f","beta-3bef51157e57546b8385e11274e995ba9f2188b6":"0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6","beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff":"0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff","beta-4bd9d49e6310262f38d32bfe230fbb0b400608de":"0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de","beta-77d80f5d6cec02596fbef377fac37ce0898a3759":"0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759","beta-69572556383486c2e3809f5be4ed9fc004becd41":"0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41","beta-9f9d5d8df2cd777f804e29e7d516061001176c65":"0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65","beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff":"0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff","beta-1ea281609f835240c979700d5bbca5630e4e1466":"0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466","beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba":"0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba","beta-94ddc2bd45be27658a727e20479b93565b57b849":"0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849","beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3":"0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3","beta-bc5a76a8445ab2ddd6547e20276f80f643119b28":"0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28","beta-7161516a4f35408867c9e52817c935c2618aac56":"0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56","beta-e5a5d0a3e18ef9a00177394515123ca2238a1540":"0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540","beta-274431f31b9bffe4e1c1b4a264b618e5869ec168":"0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168","beta-d3e31a9475139688a6abd07db4fee75632c11821":"0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821","beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc":"0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc","beta-1ccb5346bcb442d973dd3f679366355b11285d86":"0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86","beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97":"0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97","beta-26fc745b4aa144de0df627d6f2785938fca93124":"0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124","beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43":"0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43","beta-5a4f5f8534684665421e339a3db90e08e6c6744d":"0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d","beta-49ebd12327d15ff7485531726d801f361681c305":"0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305","beta-7ff518acf5cd9c321c1775a4a86f878b1d386927":"0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927","beta-a889d956469f486755b9052429d266db201daccd":"0.0.0-beta-a889d956469f486755b9052429d266db201daccd","beta-4cb54b45190f592fdb6fb8071c012527c23a8d27":"0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27","beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423":"0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423","beta-a596d8da3abd398af83ee07310eea7cd5a1e8569":"0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569","beta-4fda76767d476bad92cde833fc3a5b021fe504d4":"0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4","beta-8f5fd4dd74635968e96bbace64a051519c81db21":"0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21","beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f":"0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f","beta-28eb07f05de669c1b7658939d08443c27879c57c":"0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c","beta-45d72613b7fe4818a23036479f95d649d66d4214":"0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214","beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81":"0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81","beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d":"0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d","beta-efa05498d589eeed151f4b3453d43236e66a5dbc":"0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc","beta-9df51209c7d12e433631581a6518b59acbccc7af":"0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af","beta-b1f9267a038369221a7d4a617b2096cac3997012":"0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012","beta-616104b70e1e6db33b00ac92c3f04abd544e838d":"0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d","beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce":"0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce","beta-b9884f3cdd9454ce1ef089da8123375f0970df0c":"0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c","beta-3117992639fc9d48008e65e1f06527f3c0b4dac5":"0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5","beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32":"0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32","beta-7e0a94d28069262a0861d19985b1af47ff92e02a":"0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a","beta-44b7b20ec1920164383985834595310b56c6bd14":"0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14","beta-ab1967c521db8a8194f494ce78468ca66a9e0840":"0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840","beta-bab241dafa3d2af8b65b7daeedae07982d4f916c":"0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c","beta-f3bcb695e238d0793264a589f21002a0f4558ea4":"0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4","beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d":"0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d","beta-297c696db3bc0316e9f19713536cf23282a041cf":"0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf","beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7":"0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7","beta-54fe071b047f3b53983d8894ec7260d3b68bd561":"0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561","beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9":"0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9","beta-f228ab83f1a1500be52543cdb83de8903e44f56e":"0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e","beta-c6990299b528c10db104a4191f38531b22bd489a":"0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a","beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4":"0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4","beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8":"0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8","beta-99ded89299668e5863a20005ae266d8b862e05cc":"0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc","beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6":"0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6","beta-6b9eaa4743f54ae932e6b4082161227f18697fd1":"0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1","beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f":"0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f","beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85":"0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85","beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f":"0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f","beta-789fd5523e8274fd024f99282ca66079e923979e":"0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e","beta-6ccd5ef5e0533d878898a061921417c8cef516a4":"0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4","beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e":"0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e","beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63":"0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63","beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358":"0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358","beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649":"0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649","beta-b72a9c54df425857c41d10742607ae68d3fd0cf1":"0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1","beta-3b974d147d545ea73c2f8910f7911a1d2b497115":"0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115","beta-d68207fbb68bb5010db580a6e573a0c7383b1899":"0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899","beta-55cd83f6df1827ef5772476ec6af8a17baff98f2":"0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2","beta-203196077cb0ef4608804cec17b975f4a6a34a83":"0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83","beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8":"0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8","beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d":"0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d","beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e":"0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e","beta-3a70e8a02352ad3de91b993cd577b00545847367":"0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367","beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba":"0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba","beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6":"0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6","beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd":"0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd","beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f":"0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f","beta-04ed86c5ef09843129b1f2bac6da93104bb979e5":"0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5","beta-77c1c425e9bd9f8fae9f8df231176d9454513947":"0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947","beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7":"0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7","beta-a6a509b60c0cc628f754589886cddb09666c7550":"0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550","beta-f9de69c5d5cf1380ab105205ecd34399926ae38f":"0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f","beta-abf5e305daafdf77c7cec291702cc98a703a5dbb":"0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb","beta-ebfaf3cc040609eb75da1789185b55f90c44620d":"0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d","beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd":"0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd","beta-ecec84254d9ea35239e620689072dca2d9232d25":"0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25","beta-2f1facc58758229a16de7731efb4ea7a66c20b66":"0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66","beta-03de7b7d5501dc0e8674b76d638a21623d6f9464":"0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464","beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce":"0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce","beta-434c3e9a80733ccfa76036c0e774045d0ced3387":"0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387","beta-f89631462771c5be638accf8aa74eaaae253a09a":"0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a","beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168":"0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168","beta-076c8774bee99a62be14013493b5e6e3dceaee6b":"0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b","beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887":"0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887","beta-8545494ee2390ccc48597e6e39ecd7825db3b66c":"0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c","beta-873c8d77290aa941479a2e6736737b6dec70548e":"0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e","beta-a152033d0971c9859222c40d356f4dc91d5ddf58":"0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58","beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e":"0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e","beta-c595e248c9cc48451a6692943e5a078b3d2b9951":"0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951","beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac":"0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac","beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261":"0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261","beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0":"0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0","beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13":"0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13","beta-dc90062904f07267bbac5b9797caa36095b1e68a":"0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a","beta-2650166b12b75665031aebb9558f46150344275a":"0.0.0-beta-2650166b12b75665031aebb9558f46150344275a","beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f":"0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f","beta-c1fcd2d728238a537682ca24e67c9429802883e4":"0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4","beta-5e07092b93f2f60451b1b9d98159ae8115ab388e":"0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e","beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e":"0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e","beta-0367715e80658da79db36359246b426872b47ebf":"0.0.0-beta-0367715e80658da79db36359246b426872b47ebf","beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9":"0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9","beta-7d6914bd171b721537e84b825f37764f79c7a800":"0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800","beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081":"0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081","beta-56702233848ef4f2b2a1455850dc78ad09e57d36":"0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36","beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b":"0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b","beta-658938397d272c6aa99e347c0485348ddaeebada":"0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada","beta-931bf9ad3c3c18d29174f6542a4376416e19ce84":"0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84","beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f":"0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f","beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0":"0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0","beta-44c815addb42e98a833c9fdd0d75c333cf040d1e":"0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e","beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76":"0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76","beta-97bc06314f4e24d115211201ce666cbe6203dde5":"0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5","beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b":"0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b","beta-f0ea090239cb41f779df11a1dadff9c754d41690":"0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690","beta-0c73921a1265297fb06839db7d27eeb01467a1ba":"0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba","beta-281d1c28ea913967246983a62512bb697ca6ef2a":"0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a","beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e":"0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e","beta-715eb05e6d8660380823d3f12efc8168639f2494":"0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494","beta-d9854a64528f85c1b416111bf2cfe141c770bb41":"0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41","beta-31e63dabd96ca5d127d205f74c994127203c47fa":"0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa","beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc":"0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc","beta-ac59fa3272047a852d5d11e6e46184a9fac59325":"0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325","beta-c77567d02307eebd8be2e392a96fee09c666b00d":"0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d","beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601":"0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601","beta-e40e67ad256929d27eef6b642a59c02da18d4903":"0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903","beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f":"0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f","beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac":"0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac","beta-7af943ec9b38bfb85706803c9d51978b70260246":"0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246","beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d":"0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d","beta-2d8592fa7e14e581a2961bfe477ee017e42386fb":"0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb","beta-f17842b974e51fd35c45c20a29fe802bbca35416":"0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416","beta-8dc4214caff0ed9098bbee629b3d75a517991f05":"0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05","beta-06062304aba8ff1b8e3cf97aecf851442534f8cb":"0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb","beta-cbe4be5042acad48d68f28d36e60ec62fb405099":"0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099","beta-33e2cc98122b5df020c59f74174b55ac36475d94":"0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94","beta-0c74d521d31570f3a7f88cb8ac56830f557cee82":"0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82","beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b":"0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b","beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2":"0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2","beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2":"0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2","beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939":"0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939","beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41":"0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41","beta-86c243e236dd765d32f61177d7731518362e4df6":"0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6","beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902":"0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902","beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e":"0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e","beta-9c84389211de5416aa27fe125facdc7c57101eb7":"0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7","beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af":"0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af","beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a":"0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a","beta-1c6842a7f330cda59f652567dce42fff079c1f83":"0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83","beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff":"0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff","beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76":"0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76","beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d":"0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d","beta-8f59fbbd94a4360f83282aefc20b791304f606a0":"0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0","beta-578c023816d49ba2a71282ed7462e22178a96b33":"0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33","beta-09896837c18a5024ef071968ff421ef916a90c3a":"0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a","beta-7f70894411881780c95cf3977bada606ae83f8cc":"0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc","beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb":"0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb","beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b":"0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b","beta-bc651ef198a23433fdeda1a445d504baf3b13777":"0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777","beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0":"0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0","beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010":"0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010","beta-0c7c48f486ee8182df83a260c40147f7d58b60af":"0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af","beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219":"0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219","beta-c968da3047241b0ee64c800c0c2daa408342693d":"0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d","beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392":"0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392","beta-9a00c4159786e3c3d401b25035ae3ff0912f543b":"0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b","beta-da544f584e233f2d83ce98e0094dcaf04c55b299":"0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299","beta-fe5eb98960e851366ea84de1764d777d50afdd90":"0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90","beta-7c0742a83043726ce8cda42feaf7a8f05abedc75":"0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75","beta-bd6da40032c853185a0729eadb1b053cd220e809":"0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809","beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec":"0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec","beta-2b0699ae336c89c498b79107898f0a58afa7c84e":"0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e","beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4":"0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4","beta-b45b12198f6c14b3485c1eb6de18581003f1c19b":"0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b","beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39":"0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39","beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d":"0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d","beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177":"0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177","beta-4313c1604723f2bab5db87f80253131fcf6e5fa8":"0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8","beta-d8bfb1e7ed643be119f5344b4d0826f985655699":"0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699","beta-e8f72cb6784b2632b19240fb4a117713feb780b8":"0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8","beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f":"0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f","beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6":"0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6","beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16":"0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16","beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3":"0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3","beta-f888f91540b3f4b74d0b45b014d074156346727b":"0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b","beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489":"0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489","beta-f49c74949773700a6ce1188c54c6e5c59d850c4a":"0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a","beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1":"0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1","beta-44b490883938ea7f90680e903e638fbb1b0e8298":"0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298","beta-e71104643af99e6d6a3efd7523ad8eef25e9162c":"0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c","beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f":"0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f","beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb":"0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb","beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3":"0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3","beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd":"0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd","beta-9ad6da3c5565a828e7584dcb02542904bead123e":"0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e","beta-da5795f39e97cc3ef5e0348469009db555c874f6":"0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6","beta-2bfdec673c00a3cc7c25735a9110181170415fbe":"0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe","beta-c941802f3e5575f69965a477a611fe44780dc6c4":"0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4","beta-8d266e054788b8c0143057fe13796c21d0fd725a":"0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a","beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65":"0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65","beta-9ebd67187e1479e2517416992ab50615e4b39c8f":"0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f","beta-6807386b2ac0247307fa38fb09a50b8a75bb4285":"0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285","beta-6c020f0834384c11178453eb1209c2db5798fba5":"0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5","beta-87858564d35466b03c917da94e32bc0f9bf31427":"0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427","beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f":"0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f","beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a":"0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a","beta-51bb62c919a344574e3e1151cc7f92590224f141":"0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141","beta-015f9d564a29c71733e034cd6eaf72a3baabacfc":"0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc","beta-176975f714e95f8cebb9a364d1beb787de20ec98":"0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98","beta-e56b833eab17b42e4825f9035397b1061228596a":"0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a","beta-746eda022f7ea1830af25bb3d09437876e8db8e0":"0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0","beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81":"0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81","beta-5dfef2186cfd70848687c805945764bfb2aade8a":"0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a","beta-1bd98f5679317eaa585e84931c831332847a210a":"0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a","beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d":"0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d","beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373":"0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373","beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f":"0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f","beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51":"0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51","beta-d501c598833805508d1d5f076ecded07b0d96287":"0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287","beta-44460ea2326b73c11d065965791a407503d0dcd7":"0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7","beta-941f64ed422eda37f171ac93accb3f7b7bc272cc":"0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc","beta-25d56c08bf5d53b11467cfb833abe571078926b7":"0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7","beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e":"0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e","beta-15b5c4efaef8c6579dc293dc27a95fa58520301d":"0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d","beta-c50793a134c4dcf7a169b992bfebefba3263c18b":"0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b","beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9":"0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9","beta-731b47c3b948fb003f357159aae34fcc505ea133":"0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133","beta-f2c82648fd6a6c5835c971116de68b8c884433b6":"0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6","beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63":"0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63","beta-5f38d083568996e1c7f88b320730066900656760":"0.0.0-beta-5f38d083568996e1c7f88b320730066900656760","beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3":"0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3","beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad":"0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad","beta-9a1e47a18af3f01c62de78420f059b126bd33eb0":"0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0","beta-366fd499c72a3944e46475d5590dc18c95f39c43":"0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43","beta-65c27f19f209bf06e04eae8a739e069cb358de87":"0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87","beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308":"0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308","beta-05e2f10c22444a66ac2088104df328189f3728ca":"0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca","beta-80c8235681c149545073fbd5a52cb1ec5579010a":"0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a","beta-711360181cbe797a68dc82623167308089f3e3b3":"0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3","beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9":"0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9","beta-472a29f9d76af2383863658d4076c08cdc20d1dc":"0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc","beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83":"0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83","beta-4205638c34d7a39d7dfa617b404cabaafbdc2241":"0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241","beta-f660afc2c30c13f6c5ae7765654090211c221cdf":"0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf","beta-83361121503395f52a098304abe69a52bf047cbd":"0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd","beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3":"0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3","beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4":"0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4","beta-e9324fef743580c252eb09889d24bca3815431d9":"0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9","beta-a76fada6d385cd940efafff00a9204b9c0e35033":"0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033","beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a":"0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a","beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a":"0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a","beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2":"0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2","beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f":"0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f","beta-83224466469ad15ffd32aad9edce54a022ef3f01":"0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01","beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676":"0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676","beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134":"0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134","beta-255c273d3e031c82969005b4298abd8309af4d3c":"0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c","beta-f1bd51309536441d613a8d99b83a7b340d7bc70d":"0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d","beta-d69637598579241270e12f2b4e3f277faa6d876e":"0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e","beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929":"0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929","beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c":"0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c","beta-f56172d25cc41a7468ae7928854648df76b9ce0c":"0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c","beta-09778ae59af17e5701c394cdf494e09ea5707416":"0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416","beta-a48f3055916e6beed78f852fb95c997573c3442f":"0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f","beta-6f01c73e8455290097eddf8061da435b5057f2f3":"0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3","beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d":"0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d","beta-734239f18a560a28a891222a06660fcc7bfe7c3e":"0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e","beta-b99f246e61d69ed7dfdca66deda9ac41805482fc":"0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc","beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31":"0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31","beta-45a78e43016924e82713c3a9417ead00396ba0dd":"0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd","beta-705442e8669711c5b09f3016bc50476adc72cb4b":"0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b","beta-69fae977ef75b67fe9b38717af22755cc7c41c8a":"0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a","beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2":"0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2","beta-58f279189af08aa5521db1abbf59de16a55d12e9":"0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9","beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951":"0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951","beta-c15929839290bea8ad2752bdec64e90d9709bbbd":"0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd","beta-5a1d88c681d704cd22616deed9aa2624313577ef":"0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef","beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72":"0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72","beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d":"0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d","beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0":"0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0","beta-cf33af09492a444c2f93fa53960b51ccb2b0428d":"0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d","beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719":"0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719","beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911":"0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911","beta-8a469e41af993184839457fae880894ccb11ecbd":"0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd","beta-af59de691db6e0d3acd9846fee95ea8fce975ab0":"0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0","beta-d46ec629d928d880e31b06b2e9afa259cd2598e0":"0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0","beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e":"0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e","beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff":"0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff","beta-c771427a5a8224f2cf16ece7e9d331c43f20d097":"0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097","beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9":"0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9","beta-725e0f5a09c17e67896ec1d9c24090cb63d50780":"0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780","beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9":"0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9","beta-250992075225052b9613046972ffce8475df2d55":"0.0.0-beta-250992075225052b9613046972ffce8475df2d55","beta-25c0d384f0d0a014cfaddebed264303ca323b996":"0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996","beta-3259bd2c9c121369aeba9138e487ce3636666083":"0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083","beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d":"0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d","beta-8a10defbcb6379e1afef19c509dc92334ce5e58c":"0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c","beta-9996cfeef1b14f91872c6ae14c6055676075190c":"0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c","beta-92f9aa8a5690a82dffb469538250e585d504e9c6":"0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6","beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb":"0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb","beta-f490e725313470487e0660eb27a2fb7c26c91a62":"0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62","beta-063774fbd73633628c5909cd97cb87de0fe5e76f":"0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f","beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d":"0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d","beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522":"0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522","beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1":"0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1","beta-457fa768d00f21fab58941dce776daf2c17fb0a1":"0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1","beta-0306b7ab08600d56040908c7ea7a335a39e001bf":"0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf","beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2":"0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2","beta-04137d014a02b6b28a76061871213fdf3665b8e8":"0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8","beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c":"0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c","beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac":"0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac","beta-db77913d6b5532d2400cb0d8e94fd586187bdec7":"0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7","beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2":"0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2","beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b":"0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b","beta-5652bbe9e029e12926552342fd67ff5a21a2dbac":"0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac","beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23":"0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23","beta-92725cc5b75d0645b3160cf5e1b12f990c77a498":"0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498","beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58":"0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58","beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818":"0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818","beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c":"0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c","beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d":"0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d","beta-9216bd39505888a5bc64a59cd68ff56b4bc71162":"0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162","beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8":"0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8","beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5":"0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5","beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de":"0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de","beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28":"0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28","beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513":"0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513","beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991":"0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991","beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38":"0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38","beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0":"0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0","beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6":"0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6","beta-d749ceab3a57b2abf429dcb233eaa980a126c14c":"0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c","beta-e0dcce97c29e9832599f5c40ed97721105556876":"0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876","beta-be7184bc7344bf589823d98e244c64154718243f":"0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f","beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44":"0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44","beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d":"0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d","beta-b26f48705bf50b3a820f55778ec6762b1e771688":"0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688","beta-c23e63260abe725ebfa3ba5413e528037fadfb0b":"0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b","beta-7ba62bea1715b83fee7f10825390ea0481a06c67":"0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67","beta-564fc13e791eb95d38466270960a94c3f44c4ec8":"0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8","beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086":"0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086","beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16":"0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16","beta-2368b8b71fa7a1ad36acde7720278adf32d997d6":"0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6","beta-066fe13c96f8411cf22fe424cb9d4423f15259e0":"0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0","beta-38f3b1814274cdc2d13f374a48f5c785da8fc436":"0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436","beta-4266cf0d446f8fd1826520b3d0d5925465d621b8":"0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8","beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2":"0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2","beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f":"0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f","beta-2520826002c97a67c5e3bad8f80f69717cf30801":"0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801","beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e":"0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e","beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6":"0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6","beta-1512b894101898c4b0918f763bebd40c9286832c":"0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c","beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93":"0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93","beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3":"0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3","beta-095cd918550b079ef9870091d657c909657d37f0":"0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0","beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12":"0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12","beta-342bab330473bd4cd51a6cf67b60b437fee4065f":"0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f","beta-abeb7b24b1233329cc297d6ca5d935da69ebe545":"0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545","beta-5dc641d983773e6615b5d78da4aa763e84fcfca0":"0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0","beta-37432af730b746f94eacf326a85950ce79a6f770":"0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770","beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6":"0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6","beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b":"0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b","beta-8ea4c3181b53513035a0220de56072d57283856a":"0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a","beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400":"0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400","beta-df5d7823523a706077803feb1a43ade6403dfeae":"0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae","beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30":"0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30","beta-ac09695271613e7e891e8fbad3867b8cefaae1b4":"0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4","beta-675dffd4c352ea2c6ef9621436cb146aea179506":"0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506","beta-24ca691e5884a08bf3b409b9df0198de1260999b":"0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b","beta-96b07de0100042190930a41ec99b9eebc1f485c2":"0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2","beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c":"0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c","beta-3aeaab352197bf660fdc603b99e7f3935d5e5365":"0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365","beta-8897f8df279410c127dd724a311b636fd38d4228":"0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228","beta-8a034e87a40612c00d197597da4ba4411cf87fe2":"0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2","beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78":"0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78","beta-cd6352a7c153e9174f9fad926ed41a743136555c":"0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c","beta-53b5d043e5554a15523f369ffef1732924329c33":"0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33","beta-bf6dd0e93088dbae3016792415d215764de4af89":"0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89","beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1":"0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1","beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35":"0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35","beta-11f574aac4f8921cb57b6d4777e9395625fc60e7":"0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7","beta-6e4809b47c685503179c5704316fcaa2a8aca3a6":"0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6","beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f":"0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f","beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11":"0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11","beta-540b0cba1dfc7f5ce6145653f021892bcd61e241":"0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241","beta-53882526d8f186fc0096f8fe87a6ef0c872883fa":"0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa","beta-e42373eb2bda91b207850ce1e78dab5532dd0add":"0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add","beta-5730220451b07e99a1dc5ca4485efd11c0297a3e":"0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e","beta-290169577493f9d3a9ce3af7f6923a14999e6fc7":"0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7","beta-ac2e9008614fcc272991358d51dbf3c94933860b":"0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b","beta-62328a20aa74cb2be24317a141daf501292b8c9a":"0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a","beta-c1e19e008f3662ab51e19f9f872d2eca3f990761":"0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761","beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7":"0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7","beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1":"0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1","beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1":"0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1","beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb":"0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb","beta-579114d71dc9e7de5e17f1a307091c2d22d54c91":"0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91","beta-6e8be0b127ffe73be93d03fda40a90340b8bad58":"0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58","beta-f6b044745de975dd928dfbf720183a7f0e678120":"0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120","beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d":"0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d","beta-6bac7cb120036e635dc56151a23a43e95788f7f5":"0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5","beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14":"0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14","beta-7c34d030567cf7476e7264cdb8c7d469f042d89a":"0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a","beta-31ca12625f67a516a54436261a11b462a3cca4c1":"0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1","beta-73eabe131ecfd082d99c361da1dd1700c990f778":"0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778","beta-fec89e294937fbe017d0b664da60e910f836cd4f":"0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f","beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226":"0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226","beta-53094b0c289a464056f916c58340c96cd7ab0f48":"0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48","beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd":"0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd","beta-4d19499d1a7a969cf6bd216558a663345dde2d94":"0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94","beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44":"0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44","beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5":"0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5","beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601":"0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601","beta-0adb808319a27e9797d9fb607afd56b7a0a7df77":"0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77","beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22":"0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22","beta-79d325f511285031025a978f600f20cbe1db54a9":"0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9","beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54":"0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54","beta-e0f45200db83fd192c91e8b3478e58320933857a":"0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a","beta-95b5fd9877f9f9a02d502a97f8be01569980e34c":"0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c","beta-afa1cb8a38880be74f1b4043cd5de0477f96b720":"0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720","beta-75fd9cbabac69994db0136bc14aac45df7189256":"0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256","beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6":"0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6","beta-6988e810835cb150287869daeae312cb2f129c36":"0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36","beta-66455d64550c6cc5a64d629f4e649e6c112f8589":"0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589","beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae":"0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae","beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4":"0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4","beta-e09410e6cdbca382d00230c32d12c63a8675891e":"0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e","beta-9812600990a420ba271b88dd9cb5a7ac295b40ac":"0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac","beta-9dec358c1055e13c50774a5cfce445d609d98a9b":"0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b","beta-72ff1968bf02a9825d81a622cfd0006687350577":"0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577","beta-c79df32eb367e39c05d950427171b526dba8c262":"0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262","beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517":"0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517","beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99":"0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99","beta-36662da1b8e6b1cb8d425cfc244b0685bffca198":"0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198","beta-48f8f61a1d861b9df881b9f33495f296884ac45f":"0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f","beta-a8010eb362cc044e47043fba0decafeac56c120d":"0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d","beta-02a949b0d0ddc46a13986a512fd12abeb6909378":"0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378","beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab":"0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab","beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a":"0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a","beta-18e5d496ce99041492b40546f1c5cbc0036c6c73":"0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73","beta-a5f7d7b0ff11f68f5012370d07559a69de0746db":"0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db","beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6":"0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6","beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3":"0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3","beta-3beefee47fefcc09a7d7a1c29f46412571f153d2":"0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2","beta-5f876e9dd362e25f69391d8dc673d813392106fe":"0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe","beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5":"0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5","beta-09ccf3b26417073b7fdba2541918940a5a79dd5e":"0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e","beta-a5d13ceb311f62efaffff2af2f205eaf206b3944":"0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944","beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8":"0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8","beta-e87a853aae2b749382e190c1cda8fea0b206a0af":"0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af","beta-a00410e7d5433864211d353e0f0952daa3d9f170":"0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170","beta-7910b8e6406eb973c5df2ec09a00db52250b135e":"0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e","beta-c23083ed9cd62d091acc67276ac60647926e6ed3":"0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3","beta-fe58001bded59aa5102e5e32278c39a1a625f55b":"0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b","beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249":"0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249","beta-5f71b5151130e3dee0c61877bf056f55f96d5324":"0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324","beta-e72c80e4e15c7db21912bf79606a9deddd68a37a":"0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a","beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7":"0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7","beta-7a8405a71e13f1e500534cc1f98474588e251b40":"0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40","beta-5e735928d94ae603afb0ca228353da2e5683ddd7":"0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7","beta-81920e670d1e913417c3adc85ba30ac2ff2885a3":"0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3","beta-98c9f444a9e6218935bc9c2c54b5def8349a3929":"0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929","beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31":"0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31","latest":"27.39.1"},"versions":{"1.0.0":{"name":"@preply/video","version":"1.0.0","author":"","license":"ISC","_id":"@preply/video@1.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d78ab83dd59d6ee84a6deb9c62c97ebfba232746","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.0.tgz","fileCount":77,"integrity":"sha512-e9oOM00H2fgAZI+2ilDv1sdQekQopjM291AMOj7v+t2TnLLmhgtzzk6515zB8ob+gjR+3JdSU9rz+l8/Tc8Y0g==","signatures":[{"sig":"MEUCIGZ0k19t3qZ8Sr5ZbUrtACAEe5MJdBT9bFauY45mqWneAiEAublqlhKbl37qQwbwRc1fuKe3Jddraqi+gQxLTAlgIog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10805708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcG46TCRA9TVsSAnZWagAAZ7oP/j+lhrAK0idYN3CtDEt0\nKdnWh+yw4ulNSDOH4WIMN5SlImvgk7KPjtpcmueTT9VbB3AA2x0WxSjg8X9V\nvrk08fePBAcG9NZgu7hW4+/TUi5i5xKCJyRGaeCI4Ry2DNWtnRf31mxBxJAK\nBEjpLt/204CnAqVrZtV2pEW1i/H+fB5lpQFW9nrfkrpMKAjCrBcZq4GCfrzM\n2xOpMoc/7urVTuvbE3mj/y8veRYCM79L1NdJv5IbkGjosEah9es+zusJbKng\nveEMO66daa04evozvE+XgxVQkrcddSONQ0j0Fs7AZMTYLOYGOcCrFySWzMoH\nnwtRXRprjGG+r3+wQ3Duf6CY3yi9PtOKnQi2sYkasXz2pAsX7d53bcskHBvx\nQ5mLYi++bw2LmEp6ioST9EUzpTBH+pMJ0nVWco1OMuxuqMCoWkBBhcSmLkz3\naeA9CmI1fJhoNzJRzp6I1m9i7rh3pbzuzJFkoElV5nQmpW1gkHCjhrLCKlSf\nms/QkpE/BqZSwnNaD8Y7EKbtBXCF4KLGOLw8PVj3a0TAkhfxL5aF3gUimcog\nMrTuO/gwnb7cGa1GThuDAd8X+t79NU4HvZAMb26jS62TCWvSLamoCXywSqwJ\nMNTEUqBES6ETbdkZREAvS62AHryHXLrTQ7n0qyq+pXNs2ipn83zQS8JXSzBb\n1WAW\r\n=PQoM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm update @preply/ui && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.0.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.7.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.0_1545309843163_0.9182512491617765","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@preply/video","version":"1.0.1","author":"","license":"ISC","_id":"@preply/video@1.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8f6709c0ecf89b3df67d2f0d15a6b9cca4f9f481","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.1.tgz","fileCount":152,"integrity":"sha512-hgWhUb03iRxRO6wHwlneZzO0WuhYP/NAMGdLByWfzP47L0XDE7ojiVL/PgAwDFgo9ndNZ/slmMZ/Bx+F/kntYQ==","signatures":[{"sig":"MEUCIE3CODseaxYlEa3EagphyR7iml5s41s/9HvWBPmEibGIAiEA4ui01dYf/Amga6sBIHOolQ21mo8jFQdlxwVFxBm1xTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8732311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHMOfCRA9TVsSAnZWagAAgfsP/0PdVKla8v0HIGeIJ51B\nuUBaYp7v7aEVd3Z0OmpBX+7ZWrYAFz2XQKub9UgFlg6DGj/SGYSR6aXNC17Z\nBmLVxSFUuqcd8dr88k2TZ/PwUzmLP7dCGLzipyNRrP3V6CwRe8m1YeqDLH9u\noZL2wMR8z1gDNMRO0Rgr8CX2M4R0BEuXuK5sf06LSbBmS3ntVIwKJ1sJTzUY\nUAwVWAZ38hspteYAkd3yPkzONWHczntgy/lGACzwwPnexKHdXiK5DAgu6Fp1\nTtoC1yQ9mXV+YUvk91BDJQlQGArpyCbeCoX3CGrfb3Jmr1+hpxnMVVGzOXYF\n3K2nzH/83zchFK+kBARj9hIbyWggVuy6yb0pd61azEAI3Ppp1X0dJzNrirXc\nTR7+bwHitb2CipmnBy0zpatdA3wZPTo7SHDHAdHQmoOANZwrA9EAkPhGlDTP\nwRbj3ORgo67i3NTuH9MSk2Kx5DTorrapABXS48lAXuxoR4enh4uDOnj2UNVj\nwgcKXVA5Hvvjs0Cy+atnC6uTP4IhcCdmTxXxkAn+7xBqS5ZFXE1d0dRjq7H3\nJ69WEs132VhkbQp34ETntgKMROmYPpOIIquiIbfqOFuutVWY3T/enBvFf/Fn\nvBP1fnbgaLUjJEBAHGs8347PHarV9oQhXoIVJ6jzd4s3XAjMPRM1/nfpj2hX\nSDRK\r\n=jdV1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm update @preply/ui && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.1_1545388958285_0.7006309059692806","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@preply/video","version":"1.0.2","author":"","license":"ISC","_id":"@preply/video@1.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b4232dbd6fa97aff3585e33f8a51d3a0a39f5518","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.2.tgz","fileCount":152,"integrity":"sha512-YU9IP3oJZrnrjpPigwvCLtRnQJwUgtRJfCiwTIjbmfA2pIS0NZwoaa/l0lCC6lsaNUDYhqO7ZWUcUgtC5Gszzw==","signatures":[{"sig":"MEYCIQC4eRZ0AgI7o7wYY1mf5msWmCKdZSM78dxGiLZZmlaoKwIhAN1b0LN4WrP0oLmdTITdufzqQWRCGJ9bJVSadEFuDQs+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8732056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcHN15CRA9TVsSAnZWagAAa4oP/A81pX/iVudUXL3Oc7Qe\nUBdwNVacGXdeB/BoBEcOa9Q3J1GKnhTAo89Q79HetlMie7U6B0F64HCpBXoG\njuI1zy75bTaAx/nvFsXDqsitYcpITLRULF0rK07TsRfqv8z1+NOsIGQIGHOd\nJ4BT+BDuPIJxFkKuocKhflirFbF0m8RRnBtUdKsdL4o1FbvOSxd6vDKNm3cC\nZ0B988yYdDIYayRqPoMDbxAL8PZBBBoq1zhX/IYetTzFWh2DJmrKsUzb208H\nIrLIee/tBKNAYuMdquSfIo090MtmDchtQS5Ak830/7IPqKu09MsYgcB1EIqb\noEsyJlcaD+t6jxId72PSK7DMoPlYHipPcZgcLkhLHXGl7SzslMz2iUKWgA1w\ng9pakr15Dup8K+VSZe0MV3AsHBl/Ne8LPRKXY63D6HVSWwAgZffsPQDYZZYe\n7k9hFhGXqaYA/1gUV53UvT4jrAgG9iP0nC17OiykwEkr6Gj1PLvGvDKBeUM8\nfpx+aOdXdR4keZCnyT9do3AegkkEwTghdMawNlAv9QP7f4TaUKt/av0iGJ7K\nUA0HGyiu7u3m8MHyPkrXq256ZkhRvIKLkczKxdTjVy9tNbd7LNnltRJmWGp2\n2tuRLcvmNzmSaFilbUIF3vWyTn3yA6sl5vWfgGbkzqmmanvrC70rjk5WtNQx\nQXSC\r\n=XmUF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm update @preply/ui && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.2_1545395576634_0.6969039234372838","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@preply/video","version":"1.0.3","author":"","license":"ISC","_id":"@preply/video@1.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dce77ef4ef14327d5886a1c390bf91f74d34e549","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.3.tgz","fileCount":152,"integrity":"sha512-X/m9vQX46d60Pt2xaTCKRNVrXZPuZkD8igyE0MjA7lW+e15Za+CTucU/99D7Jm5+Q6BLdg9hpril86lkDOyyrQ==","signatures":[{"sig":"MEQCIGniJxjvNWKZ5iZmxb8zbQxDO72pdHP4VLc22FiS5zEOAiAaK/+KoJ9g7ei4nimBD0T6ElKtGLTvLYKv7Pt1Zbyrxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8904561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIb7sCRA9TVsSAnZWagAA8GYQAITBfoxNhQNLkQ74yGs2\nmRKICeJPMuK+i+VYhQMdlRUyzI2Sfghd4hSmoGr1goK7bqFlVCZvj+Ykt7w1\n0jV+nkTBLXE0hS1SH6FYhO0iQKlyLpJrnQEJTrpJkO173XpuImrpkA4/WIJj\nbw9G0HwQ6snCw1WEprY4mA2irBTMOfjuS/I3ihP0u3BZAfq+c9HLrmw2+d4O\nRa4UylnktzPcUhCa9kpLRmFUwC3tnKZCzgFqgkS+DswZVmGlI0XAZy4kHcwQ\nsg1/4fxDir7t+nizo5pOzsGk8ViQ8ZqTTuOa4CLm+2FYMu+oH24LItSiTrz0\nJZ1+daVKWZaEEdKcRrIvPQL1AK8tL2W6kYIba0lFOlLw6vhOiT71dCT8jGR4\naufoUEwSPbLVjZGXrKjV//qWbdOw0weko/Bn0KaV2SFcPgHq8Cb4RdZINlqQ\ngSA0sf6bojhufgwFT8f+hfv42R1eeeooVrkaUOs7W/thGyGY00O0qsdEu6LV\nOUkg15bsDe6MbrI+4gbd4e1FGGqOaq2rNJDeAcRMerfo5wHF7JUxN+9y2cYF\n/w+8uJ2jSP3v7WFXdPxGf2GVWPlSpi/veEjg9j4MD2ItomWNoMYpaay254zY\nxs7Gr9WzYVxhtI8DDLzBJP5h58yubJ/5pYmdl0mEnzSNiQPQ1yqZ0BCNmLRc\nYxSW\r\n=3UGk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.3_1545715435510_0.5139440564364963","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@preply/video","version":"1.0.4","author":"","license":"ISC","_id":"@preply/video@1.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"102c0998f65f85c09dc555140ea2be9c1e5fcec7","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.4.tgz","fileCount":152,"integrity":"sha512-Gk72gBk7KNRT+uEq2fMen+70pLJKK9IJBGzNC0Jcd915mQBMlIyYQ4DMYlY4T9Mxl+tk1P7QCL79FqW8qRgKBg==","signatures":[{"sig":"MEUCIQCNgOAL15PhUWP5q9o8ZU1P3G0AEPrzJmII1yf3UJStmAIgA18pI0g+mdKEHTr3TjeT8U6YliFfiEXfN7Eb9ozm4y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8903760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIcRRCRA9TVsSAnZWagAAxJAP/ilCIF6JwPVmEiRxrA4p\nMtbjeQ88kd3h2xqPM9rwTY3TNc2u0pxaILO2BH+i8yBu9oWPTGRbzFgA+awk\nFsn8bpWMP3Ugbb1iAKEvDzHU5wTEhfxLe0WNzqb8kLh11AXLnfo6u7qUnQVZ\nAqyMCpZud+4yRokRcr6fC6OaUl8gBNRTvWiKP3N3/FgWc/jBS3RJHKsi0Ovx\nS6chJNhxY2txLlQN/loNFdnh8b+wYz+p4JJ3h4ncWQmpGF/xV0DygErZkLew\nqdI9W2e4bhUdfl1t87dDtHLLRziKHyqZem1R4UZC7P7fLOnpUZ/anM2dFQJC\n4DcQHqUEwFkZSyHSIc0ncvRkL/WJTUCdEogFJcMRvI8wzrHqk1fsXL+O8sIh\nBKwUSvoJZpcbUFCPhZYlS8ZO7y0rweSvDTQSCdlkDUeJ59iH/fvEmEGbJXAQ\nr4lJWN2Me/C7sIKiBVSUxfYl0EEG4kiGNAuqhcCDj+AKOgSbTulQK+83F0YB\nwonKXbo2kJWU3mB+nQOfS2eGYkDn26JVEaYrSaDLQ+b4aUIkacdMRsnruZ13\n5iDO4pgT8TmKaxNwwtWH4tysn+oNoOtWWpOxECG+o1s+Zrwd4KB1DSpxXjNi\nZS6R9OBU1bfFeQ8PBIfJcLEfaLmsDgXp7Wm+yPrZHlyoe8WhHkRS79gRPJrV\nILS/\r\n=eLuq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.4_1545716816808_0.0695684747444496","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@preply/video","version":"1.0.5","author":"","license":"ISC","_id":"@preply/video@1.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f5f4b85f44a9411461a6d6b28288206e9ccfc106","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.5.tgz","fileCount":152,"integrity":"sha512-2t8jk2KQHwu2cdIdQIaAsxu5SnVc1EVzLLsaYMBUlLhP9fgaLBJDCBMvKBSUrTlABhlG56dTa0MgDfclTj2RiA==","signatures":[{"sig":"MEYCIQDqejWXEaJ0DDFej2cgrH9pAILYOzjQ60F1tAMt7UQcWgIhANkF9XR8N0GI/waKHD/5iJMhAEtk/6/aJR+LHKBYknpz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8905185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcIyUCCRA9TVsSAnZWagAAIsQQAIs4/E9Z9QG4Sg7S4s3e\nQHTGy7TG6gydZJvIU3JDTHbCWeNq4DA0U8b4eH/Dy193JC0Bn0skPp30e2xt\nbfio7WhIzlzI/GVFJpydUreLiwU61JM+1TMcIeNrNWY6qowmQj9ynM5yMuNi\nOkuQx6fYQGrADW2QArT8Xguns2S4W43pckKLzebHmk6SfIWgpg2AkeJxiB4F\nX0Fyi/Imm0Jf/nPMoaD6/DHv5dsrsedgf6AoM8Fr/OWCqSB+n/r7d8Gc28/J\n5wh5hLHF5e4qD4IUGKanoNoTXrhBejIGxs71LzG7edWjDT8d3xl3f5Wm1l8j\nu20uwoWzFQciODSny7vjXe66DMhwIeHdmvmQ70gUb8hoYRT2hDHWpcxh+dar\n97rkPIFmiJA8RkPqJJe9viFKH7fR+0zfSGlLmsgGiygnmQ96jO24WyklazMN\nAhZni9tohfkP2jvRdEmsuucbIQKRLqmUk1sb+FiVkUqA9dvY1UJd9x4sku6P\n5BOeLEwg8/8dsUVkkYmd/fCslUndk+veZIxgiSXeaZdNSDIT50xytDcoehYK\nh1a1GB8LPk8lrx58O2vkwwotvz+w7Pfk94nsoGkd/IvLP1wi1zpFOTOFrVvJ\nFmU2jqA0CnVBeoJnCkJJD7rgJ1XUhC0vz63BLilM4WH5cPkJehbC6EI/1QE3\nB2YT\r\n=h7nV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.5_1545807105739_0.2517571419601905","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@preply/video","version":"1.0.6","author":"","license":"ISC","_id":"@preply/video@1.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e1049055d86b2e3d120b12515a7cbd0a2a767f66","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.6.tgz","fileCount":152,"integrity":"sha512-oqnRUrkHlQHQ9vCrpi5M7Oule3kORDBD7W9Kh/C2lYTCnq7y6wip7ENYcfQWaB00klLoj5P078hEroTgpwpUJQ==","signatures":[{"sig":"MEYCIQDvDYe3PTthCUvVMQXRX1QhTOV/GdoUr35/GASYCndsRQIhAOUc7mQx93b7BYnQ734SMdzP+eVGydIlbkwQTeMqbGIw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8914590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJJQcCRA9TVsSAnZWagAAb9MP/3QyOBaHikvZz82yN1jp\n0KRXmI8O4iqCa9UMSKWLMF9j+lG1gY+2cpJd/fNYhjX+wDfVYdVThWWwfNss\n2dQ2URGO0rFqyP5C/dqHdFQXpUX0UxeSMRzdiPs4wuw2JcPOjjj+wcEI1Xxi\nBkkQFOKmVN/cTBkJsuQvSO0xfkocr+hAqhgxAhKExba2tBZnTn7fQaWkLPeV\nCzt6EAHXr8IbubpbEcG4hfUDz5HKjuJvl0btiYIY0meX8QhWMScvABbrnbO0\n8n38ly4Wc2QPKcljPEka7nO8RJ5vGfBjS8uBFlXdQ9fq8OAsHthNFO6Pdqdy\npEiNHjpP9p8eCM477S1ySaMOfZdyHhDlh+8GdRt3u0vN8yO/QJD6WG4/5n9e\nS2nDSWuqbF2qKBQa26YmgZ1nE/6jetqKsTp2pQpW1A30UJZeS650m5skgvBs\nhFs7qOI25xWPXalJPFkBqBjyayn4491XXDUyTd7lQjzD0IKl140/i5xpxbft\ngmAbOZJZ7TQWc/CpNAgxPrX2kKhPygqoLCYrN/CtL4Z7M7zvAsgdaiQX2SnZ\nixmic+ciqnXN4ky+BoRiePh19zc+LYtD1WzPTwXVe2Tt64gwe5ZxnmWygrRE\n9B+dXTbkMBovxie2Q0t6fL5q8vzNgkuY4qBnK+esiHZniNLLtQEgSb235uB5\nbCsr\r\n=rVBA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.6_1545901083782_0.6154826790698917","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@preply/video","version":"1.0.7","author":"","license":"ISC","_id":"@preply/video@1.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5331c9c211a5381cbcfb18389b3d1eebce003902","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.7.tgz","fileCount":152,"integrity":"sha512-VOuFMTR6IyjIPmqcUDX2YbUEEY+Jgy6/WWfQNLaTnJMdjSgqrWNqxyC9lGZ6cPwz/k1DE3+xwFcYO1hiKLimrA==","signatures":[{"sig":"MEYCIQCVumQFR7Bk5V+m8jF6VK0BrX9NM13UbSIwQZX/g/OxvQIhAKjGA899CYVaydLk35hUzGrNVdJo7W7s8BODSTdL69Oz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8911155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJKZdCRA9TVsSAnZWagAA6nAQAI9V2hVbU3rvX0Eh+pFn\nQthBn0/V4ZaMSAOGYgZjQ7FypBQBZ71CDwFbuBHlsoERwzhik4tg8Z7DQ3bp\nYxcwkJ27R0gbsEKynLn01QnOeU6wv1Sjc80oQ7Dl9NGkLJZumNlMDN1ph/W2\nyRzv5MJDMXBuzIQisPvTHi3Y3So6Oyi6SJBv8O0j/rZwCIbwGvAKStUVRk+k\nfyzrDH6IlCry2j8IjZFaugVbR+KxuwmZPYdHEjumjADrl3EBX/cQyP+Vmjao\nbNe2skUbUOjFMv6ARq0VMzepYL6t89FWf+OPqzzllV6fzrgiLK7wZa148oI0\n+bNyHMF7iO7SDqx2uDxb3A8gdJ7JzxM1HHvGAo8DX/cVkUTGk4O7pJ8CBrBD\njU0zXG42GYPt76fn9/AjNexP1out+pIl7DvM2kEYt2Z6i7L3CmuchUZP3Q9W\njS9tR+AdQl38m2fGXzX5VY3/W5CqIksKFN0xy/N/74Q0blnn/YON0KLkhc4d\nfeK0GvCfYKd7+UbLPs/+ixWV0mQFIBeeDiovbOcYVw48mysJOoI/jN/kbL8a\n0CxtSvdO9j4QVf0weXWxuJ1LKfWzclrqj4yOG0RCp++jjsF98ZmIU4spltlu\nDlrOkeobBKlOIIUlvLWnoyXMEouFzhoVMjkX+rDmHp2CdZJAsJtY9UHONfNJ\n42cn\r\n=cPVC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"1.2.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.7_1545905756922_0.8144885517836071","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@preply/video","version":"1.0.8","author":"","license":"ISC","_id":"@preply/video@1.0.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a9b7f457b9b507053e22f5b72280895b5a20d2e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.8.tgz","fileCount":152,"integrity":"sha512-RyAGmyZklxkJpXzEzjcw9DuF52ecGfN2oxxfuelpaovo7xPfLLRyl1cB9XzqOZUcVxFih37dkNlohFqhI6MakQ==","signatures":[{"sig":"MEQCIC5HtvMizgYUf1J4vJrzohmURM3OKgMrKg1ew8aIG2YcAiA3kn+4O6Jvi4epHzXnVdUJc6YRN+fZcmWP0+1dRc109Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8911912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJLkPCRA9TVsSAnZWagAAS0gQAJ99eU8gUL6kPHm1/2AK\nMVAK2zn1PZF+Idn35Tu0RR6vuRJC75TUqNP9xC7hFEtSsqAKpxiaeolOR79N\nX6hjQbH4t6UVASrIFwcCuaVAQ/63dZttaOjhWBUcipuJaKd2zMSSPHEsv5VN\nlStKTW9u992UIk7oRhFP28AMWNXw1qZuOQD2wxj10ZKkPQJv28Mgc8dba3lu\nh3VvUULXIfSGlRNfbwWRF0UpbpyiqXibeke2zXbhicoqkzP11UqwNiDKbJXh\nXuceuxZJaxxi13O6+i+YVMfwMvr+UuMM/AclN/wYa/kC8fBg2oeGvk6KPUPf\nFvuEhZrw/sY3ffowvnVeL3TxSEfGeHTgp7WyUrnD6sBEI9mMmfYWtxNPMBzd\nRq0pum3lGkK3PX/snbECX33Yy/oXFRt9/JfElZ9PeLezm4fHhRZB5BAy4Lei\niOxCxH9q9MLVGWmFP6j6oFjkKtkBliDOvpPn1++MjyktH7QNO56PGi7w133T\nCtvd1ii5/7jrCUjGfeprT69G1ftPmVqsRN9chR1Kv0Z+PeLjKevQE3MQnkvx\ncWvYHUru1Vy12fm7LJEG1bdbAOJHyS09ecZACRySonLogFqWhboDUT4avt2R\nFGbIu1ZLBRLLuJf+ZMOYpK2PcVN8zBnZEkNGzkchBzFl8Z81NIW4Do2CJDgX\nFmgY\r\n=4qlh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.8_1545910542450_0.5025367410122297","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@preply/video","version":"1.0.9","author":"","license":"ISC","_id":"@preply/video@1.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"995f20e16736b757aeba80fc4f3e6fff02b9ea37","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.9.tgz","fileCount":152,"integrity":"sha512-ZKpxLfJMRhv4jtPUwdqKtoca/D7Z9d+jsoncExkNmEmvUwKoGGwxlWH13YAF2Wtc/h3LaIpnBpWPcclLIXgU9w==","signatures":[{"sig":"MEUCIQDgvdqqniX9UehJpcwQiFNOi8kdCO8D5d0tMFSUw5aY8QIgJu8waWEj6bzG+zMqVgRpqVNauQERNowkBRlqToXTMV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8913952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcJMWQCRA9TVsSAnZWagAAKc0P/iZDB6uoSg2vKCDPIY0s\nIU01NQJ72rxPYDndV4JGLaEXN4OrrMMxfHq/35X3uS9O0x/VgMOD/KPQr7iD\nHiUKP3pZy7eyeAfxO0wT/kF7y9AFaavy8GXeNnGgEqPIto2Xagg81Uux6Hxk\nh0LjWMwre7heKKJW3HgzKmebmMVzrItx0hT0YcBtQbSKqjW8dOcshN22+C7y\nJegk+ZzInzg+yevQxnm9NHqGrlVKeHtRJnpUanmBHpJrwEV2ZVGYckKzGVo0\n61R0cQq8iRCLb1b0mvrA7TdjqujVwMAwqzXKAnuy21VSnUpaZA102RgjdZ2Q\n37RzoBcy+wkIs8QoyKZynfCXdHz157gGiAhJBD/WTBZ8ruhU0Q/gO3U06mp7\n85x7Qr3NSECEAP59I3wgau9NWmhIOPppvmPeRarg8tK9o2SwMhwoDf5f7fGg\nz1ZyGlayBcXD0oZIfbYROD8odnNMd3QKEtaZKVoFdX7roIRllqD6zoVUK5Jb\ngO5yZWL76xZS+ApBPr+nO+Ufeeq+Dz6lk1YYYtdMprHtaH0rE5Y1q0TFLz5F\nhbtSdRBn4HwnbyWfK1rfcuZXgjt34V2Eb5FMvRx8VyHcwmY64uOf1rubl8zC\njWzCT3x2BQt2vgjSH3+zy8AkH4lYChUDS9nh6VXe7HCOtnLYZ+SJIeei4KmE\ndQ+I\r\n=U3tq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.9_1545913743777_0.4179060625492159","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@preply/video","version":"1.1.0","author":"","license":"ISC","_id":"@preply/video@1.1.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"94cb930520f775864e5d8d5736568ee3fd69710d","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.0.tgz","fileCount":152,"integrity":"sha512-cLFXZwRbwbrarDwHsbK6ErG4yo+fnqhcUjIiuObx516sog8ZQTAb02kNK2o1tOe6vpk2GgksYaA/dmdXbEf/FA==","signatures":[{"sig":"MEUCIBohp5stgS1tRe6yYeSeyVMtlzfjW3lSbdtEdAfnTRQaAiEA/AACO4umRK9gUFbE6ulnfgZnUNeISeWZHG6k/clsdhs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8913622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLE3mCRA9TVsSAnZWagAAEnsP/3aV76jFXk1alj6SUsnX\nNW3mrvIYEq2Gei3lMyeSZSX5tHbvzKVa3Kg7ETxkxSu8EiLamSLpOwkwYTha\nlogqXHGmpwuspZXL+12zdXbqpjVmZA9UUWjMIAiRF/GtfnJrSGm/7JycCbVQ\nrjWjN7GoCgEDy64Owly/XwQZ+KRoPHyXZERfwup9722SLCB5rxhbyGGFsIRg\n6aLTA00U+dVQSA8cG4ZxQt3mn2pJnzkdPNwk1lFCAoIz/GeyQ/WFLbErXOKY\nu4PxuqQm3g3Q9vdzVjG/nDSQ+jfzhZOpdU2BeMXo6ZJCzOJtAeiHOP0YGwu9\n9egK3MHbrwDm3P/XKl4hJHg29R+klzqmQYaPjeUtTRN696tRa2D6pLYmXmF1\n7LzvoSXdZ1y0KAIcSdLNBMwfKSAeHRiudbyLxJFZ4NBxKRqqsW9eo7Q5lSdb\nakrNwY++h9hDn6NQhvRR7MhnwFkQWrbR/rn2G/YwBp7sTmRT7bj5fFIC/jFW\n3U085PDSf9CPxTEMYzvALNRY+Cv9SlWt25liIAPr8eFHwp2dFeJmnzoV3YAN\nJtG4/o42s1KUxiqkoxr/kGvHaf38cX2YlEmcTf8iUnnXmE69XFzBVcCEru1l\nTSuv2KrRI20YoUhnI2MzqTULzb/Si50VkE13dwX8zWSJgqxHt0iN6wHbuUNC\n1ax3\r\n=7sXY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.0_1546407397484_0.36603021978838757","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@preply/video","version":"1.1.1","author":"","license":"ISC","_id":"@preply/video@1.1.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7e6054fe04c83510890d74cc84bc53db90b07a3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.1.tgz","fileCount":152,"integrity":"sha512-P8S2Xsz1cUAKcuOVopjUEanFHv3trxfENwc6JDsh5dmkeh8RsFQUwB4IDaguSZ47wPXPGUocK6uf9i2+u2Yc1g==","signatures":[{"sig":"MEQCIF2KQGjEWcIyfZoKWZEpGXNMALqeBCv2JRqPmLR6KIh9AiAEsZ6KgR8djT3lwGrcYR+v6w1cJzY20xCepApPXQf8TQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8916052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLGdDCRA9TVsSAnZWagAA/MAP/ir5aLQ92y2rMXHetu+U\nE195ttG96WLAGUiYgFaCjnauP2jMhU+7cY6Ka4m2MVFH0+pljC/7AsK60F/6\nV79RRY+QHVr8mcmr82i2qbzNxyZbWhXch6OpT/+EToqZ01qXFir8h/phwBz7\nV17wbLp8cVeFHt2TaWlft+K3V6lthKo7roFZlfGcdf/xMS7J8Cg8u+it2GJ1\nSNDvxxpkbiTUt0GHCz6Oj5owgWF6+4Fr2Tk0p5zLfl4+sDDXvCFsF121vsLQ\nWLPLRUtMezMb5iJ39nZTL8IGaSh8HRcLIR5yQItWQVJIdy3DzUOcqcBoUhmZ\n/22i2k1SYJ7nVlJMRWdZpRhXW2XrORL0jXJ7Px5fQ6e4h0TKWQLsNKXhIghx\nDflZ4/qpoSIC8dqQLGglIwrEXxEdl8Mps2iOiJ1x+cuYWJ6ZGXNYQC0nGpEW\n3I2hGkN4g/IIOD+yuMtP4DDo7J7DSa5RK4y6FFlxpF+giP8pJdElVe/k4WDA\nUUemIpy7EpP+J/SE1vzZW7cyzSeIX8u3hP1+n4sLGAr36apqGbIoDAq6bL9r\nTKbiOeOIEvLrf2XKA4GtBtG+lkQBs3JJMvZWH34uYP/BJbf3gTidkNIo4l4E\n809qDPBkSsuyC0M/xzxP0ezsOM4QlK1Nidn9qXzFqnWfUS7g03qHxF9B3c2y\nJiMb\r\n=bC97\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.1_1546413890297_0.4288452923319761","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@preply/video","version":"1.1.2","author":"","license":"ISC","_id":"@preply/video@1.1.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"662a780860534fc971972f65d1813a18a76a5c39","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.2.tgz","fileCount":152,"integrity":"sha512-oTCadQsfc5cafvm4scVzSUcYN06eCN2zswzJw3SlIoV+xpXxrr0cEu7+5B4A9tYY++z2vZS4u7NMWDCe0XjZPQ==","signatures":[{"sig":"MEUCICL6ShBh9dgKQOACYk3/f6mslDP7qtVXRwY/dkS1wEUuAiEA67Kgl/mnx3dDgUWw+47ANylDLyuO4vIsx9WYkNggwKs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8908214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLHJGCRA9TVsSAnZWagAAHGEP/2HyvJwLbkN0t9LSTxaJ\nWLd50bUmqw/4A1bOqWx9pjg/MBnBkbihN0Ml9dguIma+Y+rVJ42/54z6PNQH\npYOJKw8/kpq/KI5zKRy7BJSIlwZ1UwkOoBxA6kghWrOHvoEKO2d4Ixsojdya\nBupMnvhu9Z2k0lNU64K3qMGKExyrCaZDGBjApCBOMxAF+elcReol8bFeBMoa\nhB5BZCyXeBRl0DBmET3epa/eLl1XemEPbUQI5KVtXQRo9AKoNaGbk88xoV9E\n8r2zRCmdmhrKaWnMu5LV6GUT39xzflxgmCXI+bRIbWA1fq8g2azcI+YmPBa0\nSsFl0tYxYJNbZsqz56i0j5LUFslkyi17cPDxrOg97BUcvR+/e+GIITp4+7Ig\nh89wbaRdwWi2MMPB4Adc5Ayydc1cjfdT9ya8fQio/hBuOWPulf3KmnCPahhG\nvh/MhYxu7QuNB8oDFex5TuVKkO26DFkaHUck6AIkLWFUoOG9vjTnasBY59RW\nWOOssftopD1BK6HFXKIRRzqYS3tZqxYrZ5Hg4lDLZOtFGOIxmvFNaPOaH7Lb\nyyyEsyFALLw1czg192PlumOEjuTY0dDFtoboAaj6Ad8XVcILo3+KF+7kg5Qd\n/9Sr2LU4tuEH+ppRHRONYIV6IXzQIyAqh+RzJOVvLhECiq+1la12LkROw05O\nFOaE\r\n=evKh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.2_1546416709859_0.5370875738400323","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@preply/video","version":"1.1.3","author":"","license":"ISC","_id":"@preply/video@1.1.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0060cd5c15a33b6c77f194f7ce933001e150da64","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.3.tgz","fileCount":152,"integrity":"sha512-j/mmiuDES+Evg1nSku9/e9TtvnrUuweDTpSspJbRk9I0PjaCXuPxFH+FrreOYism8+Z+cEvQcTwM/dlDI81bWg==","signatures":[{"sig":"MEUCIQCMhNVofKR06M+vu9wCkg//cJUb6BVGbLiU7VX58+QHOwIgWJLsof+GjTBmRO9FjBLmZixXFkUQnHMMTCCNM6G99N0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8915217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLJk1CRA9TVsSAnZWagAAELMP/1Mv2ZtN1wuYWJE9CPlH\naHHo0ZqpqmMZUt+AZItR/vnZiG4qD7aPxfRd2TDtrjdrCY5ENC5rvQ3ySnqZ\nuwxbDqjqTmuxTzn4/YfRMlori5N6V1civEW6u8ZVgWbgue7ruqxag96zMABS\niukOPYRGVCs9GKztVIcmBk02XBA6Z6KUBdPMyG2GpYFD7wKVtR7FHzt0z5ta\nlln/nNT8cXkpkmyLR2SuoMsynevylPTggJi49FVm/J2WArODrmZkTXFBkgLS\n6OPjMsigfId8OfGmkK0px9joms9anz9N5D90LUKAfxB6K3+LEh39poZ1jL3n\nPV+kRNYLHXsCk8n8OAgHeQCV2NXe1uM7daJ+Doue5GCMToLkFwO9UNFh9BrT\n8v0kdG//6HrAi71L+9WI+SN0vSBZ5W3Xj/RVeaZHzQDdHbCi2HJnOhwrpXG0\nFxh3msE5urHAdy/hhZkMzSxk1h4XXnqEuQLdYo1080gudegi3VmDM5T/N664\nL3ilv1T37iSjJP1A2BxrXql3UjsLp1Lip7A3wdqImIyEBYFkFc2uYyEDKHOW\n83sxCQQdGfGvzyoJMwCaPuuO0Kz9wuCqb0V3cV8WFSn63ZtyXJ3mTh6wbL5n\nikUAvf9hVDYGiC4jkRHENHRsB7m4ceOhspblYEQkbrJlUm0gObzF+1+Ru8Ad\ntHWr\r\n=Z0gk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.3_1546426676771_0.1278391453505352","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@preply/video","version":"1.1.4","author":"","license":"ISC","_id":"@preply/video@1.1.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"967088cd8cf4f724818f5302a6af490b878e347a","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.4.tgz","fileCount":152,"integrity":"sha512-n4ZsA4ZszvVQj+WodvJapJ8JMqIIaJl9Hdd0l08FSag5hwrQTtg0q/N8vNLX5kwsGD8BD09YLreL3UWp4JbbvA==","signatures":[{"sig":"MEUCIDsdvhUSsDCdmWHW/PxT+pP4npwjuUVE7kz6urlotyuEAiEA24fwXEtu925m88Q2l1//aiggTwYTHA1pGOZuzwRPAWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8908214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLaidCRA9TVsSAnZWagAAO38P/3+0W1tzFEyhGH0VR5C9\nmkuXhqRiDlSCjanMj0qbz47sotyp4OhOz5YiNuNThBSc99SoKH6T9F/0jHDy\n0E2L1KBNL5Q4gKQ5F0HijyCrbAnPwiAESGE9f6jkTasnTXOavjvz0+BLF5Wm\nT8PcdqDFH/0CHVORrVM97Pz6cvtZ4CohctSrLE7PMatq4UhTSTEiRdNVmfyC\nsk22gOQqbYJJm2uB1aDmvLK0WKL0NW70E9Eanprnd60AASC7eUKkSfIBr6xv\nI5NEPxZVQfLf0Qa6vqD4IVaa+t/gdBpS4rJi5EbPrWXQvwMI5D19yz3u7Eea\njqqs+91rujqHaQLnPmUfP1tQeFgHog4gHb3ogw+QSMCghheCcmYOsNrqez5o\n1RmSBppMKgAPkEv70ghARAffvStH97l8dw8Nk/xpdy1oVWYZiqQQKK3IhkqT\n0hTMqyUA3tLTArCpRd4XUZPiNVdWrcIFy+KYR0LH+EWZI93rh4nYffybsKBs\nJOmHt1FNnl/IobbjKllGQ+ffEi8d+TFcE+AGVz+2fi4sAdBokxvBxKS1dr99\nZGQ6GAGBC48mZIccCMka90H53KDYSIdo3K73v2mjFTrPGY/E+1f6i+AmSOAl\nnPmEAWnvs6b9x/Af/Pj0hPZiJAaelZz9Su+kjxlVll7kQ4qqrD2bMFTtd6U8\njHiX\r\n=jasJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.4_1546496156386_0.41607593112939023","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@preply/video","version":"1.1.5","author":"","license":"ISC","_id":"@preply/video@1.1.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e94d55f728d7b9b30bea0bf68f33288675175015","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.5.tgz","fileCount":152,"integrity":"sha512-AAFoQ3yk5Qfn5j6iOi0a5qDmAY4w0K9Q8kCdL4q68mvUtOtmRkp+2beUJDEOoGgPtellyv/RtWBb7F+GQZUhfw==","signatures":[{"sig":"MEQCICXrDdwP/FMva6dnmJUBBRvobmyabZ1skUwR4itcLzd9AiBg2QXbRIDe0Vk5qV9KsvIFLLAa1NjG46M/XnFHWDRdIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8900564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLdOyCRA9TVsSAnZWagAA0+kP/RauQiE+QSW3eUUzIXXn\nBAZ8rkeUvmdweHNeBLCPasdFwILiXrub+cye0sgYtCywjY/Kjmdt3gG2aJ9I\njAefD+JEEbvC3piXBgps6biCG4qySxm8jFc+KOw4mTJbA0xJ3Wi8lkhD0sT4\nvaT5Jfr/L5RfTyI7pv+TqmBlREC1B5BnrvQRpCQLvKogQnh+LAotz+K3p0MD\ngs3eDPloh1FyC+nswHjy8qq1UuCuTeDclmyLVl3aZY8NxIpEVJBK4uRUalXB\nyA2TmEXbKPzKKvH3z9RFl2X1fNa12+Ff02uGmrc8YNGLVk+T9eJq+1PFnsHL\nAG6lrM+6GbIcP2mVHvSiRkwNM3Tfv2ZkBrDhNRYUqVK8357me564pWFD4sfK\nZpneLP4W2YVoTByUVtVPHfPwaxlcWWrl0NXvUwAjYUgSF/05qNVEC/Vd1qFq\neM6/zEHI90qD4IH7Iv8vI+L6e67iFOnkjBbEApFgCRiFRDjaEWFPh0hhfoi+\nfd5QKvwWKCBqsyTc64PHbblGKhXLGAtkfX8QaIg7ApL23vBlw7e2uK7TcAaU\nRn9H+m6eae/TPHlx/QjPJ1RrvawWTVld5c6QDxI/54s9goaFw+/nx/yO1FoA\nZBM3UIG8quTcgm+MO/885zAxLyVp4wLGlncgdBxmirGWePsfx4rqtDzAqxAa\njpjs\r\n=Xw93\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.5.2","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.5_1546507185311_0.1419158966212304","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@preply/video","version":"1.1.6","author":"","license":"ISC","_id":"@preply/video@1.1.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8df9f406e62af8d8967038eaafbedf54fc8a2afb","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.6.tgz","fileCount":152,"integrity":"sha512-lhs7tFINfXZCFWsA0exuhA8HeievTuh95rbYO5/Hxz1rKAolM3IciNfp8gHWWimqIMouf9EsHurOQRsBChlHlQ==","signatures":[{"sig":"MEUCIA/1p0ShKH+mLXhMLS7H0gjtDsEnXpcuc0O5H2m08xI3AiEAsh/N7SDtga5KJHw16inOS6pTzDdMeSwtrEj2VxX1ezw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLetqCRA9TVsSAnZWagAAbUYP+wfvpmjANubQgP0ptMXK\n6IHI+auSO0D/TpeOeH1zP0nSiGL9RVGLQJWGbfTsaVNQSANsGQ0OINWzuWfk\nA17CSlhWFQseDLwf8DxH72M6f5jFyrDhyPxyRPzODiBZtJQ578E40xL2sAIx\n+qET+ypYtEVe6Nxbv5jOjkbkjYADiB5Ya/7XTSlZ01BwAlRMSnMPz5qeVWpO\norAcWm+XXZYuMwAPLGWd8bQGWIFt8hYT698Byt6lTubUJms3KvE6CXnnahh8\nz4Uk4TK1C00g9emTjDEgftJKr2kqS345VoMKX4Zu0549p4/zmAd8fjzYkz4d\nNNRCX6tKfrq3Xh7MAD858dAvKkKbQtVDXBLpg6666kcGY/jq4PYT5k+y6i8U\npsoNtRlbJ83yNn52WPUz7GihuTOZ/8+rb73OoFet4IrS62ZZgew2uF6ndvZ2\nybMR09XmGxIas2M8QplwcW0OBDDfl8lqjAiGnZGYPqHvqBH/4F5XTTbZePgV\nnbyh493gC0Z+Kp7A5Df6//4F4hg1tGQWB0gFHzhhY9XWBWof6Xf07lflGbhF\nSRpivqR1e2Aw7achmnDo6OAxj5dlqtp6T051QOJ31XHPkxV8NnI7OCg2Nnff\nrcgMtwj3FKaUz86jmtxsu/zX8AYLZwXlUg/hkLvFW3RjqUX/NXB+4KgSyrKc\n9CSl\r\n=YTQb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.6_1546513257912_0.29053180803719525","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@preply/video","version":"1.1.7","author":"","license":"ISC","_id":"@preply/video@1.1.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"72423afdde32e4443817f1bd2838dea3059f626e","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.7.tgz","fileCount":152,"integrity":"sha512-xyUjebsZaUxwi/Ws/5WstmcBvUEmHSSozTwSgA6QqJOKs3jJYzqCbWs0/JXmvO86eyw2+vAbDZRrPoNMuJr6Vw==","signatures":[{"sig":"MEQCID7Dm3fyKwJGwrJCbSTmMAZQ2cIoqALH8ykaDvgu/6PQAiBS56MSDmbQ/NLHemH94qm8KMhgg6RHgKuV1FpRsEU+4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8906059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLgSICRA9TVsSAnZWagAAugAP/2MW11IgWDugXOxv2vmG\nE857U3GD5Vvi0ZJ7d9dKwkB/PD4dhwjGOXTX2mkzFs7oPzYJCaKXssBhfPwu\nUVGjK2Cqsq5ajneWUAxRRNOC/LsZKUe6qw2jIz6rlwteevDeUlWW6g7WKtVR\nSWNdPPIjd0EO4ml8XFdK5BZ9RjWm7mUTW5jVWtJTV2T31VOlkQHEYyDm9rnl\ny1n3x9uIbquLj5ZExkChaUDRtLJ/TtS9MkOjBmDrXFRNJOp5ciqHL2X00hJF\n1IR2xbpO1Twrjq3jFt7VPaJnD1IE/K5LJ8gJfyqWCJS5vTZIcT++urCeT08Z\nfTwAemgSabvMSbXBIseVoutCXBTAhV81zJD/dbp3MP0Q9cK+1c+OfHIY2Oij\nS+F1bln6WHCaMolXph7qKrIJjZ4c1XsJHqPI/5/tFhquhSEzmyVAzYj+7F6P\nECe+vglOxlC8s/pjlEZgKeecLz0HEijKGyYFfRCijJtIYi3AK9OiyvOd2nyJ\nSEBlK3SJbbmXVDIu6g8c3BI/xjuL+5JiymCaRyK6rWjoP01kbZ8l8I72csdk\nvZCNHB6l0L0kpGNgMiIc8ppSGoV9lOrlIboylbffGtP/QT7vIbz6AN4LGbVK\nW22gimakOwSv5dZC620GW1Pzbv5rFhz69g2Vb9hGBI8hPuUlkw0WviG/UGKG\ntJJp\r\n=L78J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.7_1546519687693_0.43232866097201184","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"@preply/video","version":"1.1.8","author":"","license":"ISC","_id":"@preply/video@1.1.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2eeeb49b84d5979c81b9bdc85d31e3ea75418146","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.8.tgz","fileCount":152,"integrity":"sha512-uDB0s6Ie7WAkk5nprpPNIb5lAdIbdmG1eetN0Uv9MMCb8x3+jTojoKyTElmMlwRaWSFLVauT5WWOTyCnaZuV3Q==","signatures":[{"sig":"MEQCIEq532j1vkPCl9z5qljxDub/dIJ89BuYV46Ig4Ae6adKAiBnV7KA8s9DVKHp0E3Zl82/l9elqCiPvbsx3wG+KNh+CQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8906058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLgtnCRA9TVsSAnZWagAArGEQAJtY9ElxbXxHsp3SUNxt\n5MrOquNGDM+Xhb6S2UoWGmd87D21iNwftibGV94g8m6eaN2exQF6GhFLA+hF\nFIMyOVFoycgi3UQ9CM9oGVmjWNaDM66qv0oeH65hai4JcS73cCSh2Qi4ceD+\nz1x1L+IqAyCxxvlnLR4xmBeg87paGSuRIXtf17M7HpcfN64yQP51Bc2CEF0B\n9TJrPl6OD4kFZWe5n8Ex974MdBxS7t8Qj9go5711QOW7MUuqgHc4xhK60Eu+\nj/iTubp71wY0QLgJmfVUOQruLcHiddpvHaOochelX+vU/xza0Bn0i+Ko86hH\npQ23TK56uPJXdfoadaC3vdoLH+LM73H5M6vSZwycjcadx+ggZug6yAyorhVH\nyN9rTkpyN3DX4LTdzYEFZ5o+448iWdMDeT9d7ge+WzEcspR1vw9YwdcbRGBF\ntd1We7ztTnKPFV5/S/2qSY5w5bPzOsdqnHQRsxXn1jU2anVSReTqxHjwWbWX\nUpu++KHdathp+yuNHyhNnUL4KFBzJ9GFPZLnlU4RYfcVc7JaV0stoNBhfPsk\niuqKXEF6thSyYL2oHy3Oa0Pzly2jWhUGBjauGBw+fC0WSoqx7V7kGzJYRbUL\nLdXeUVsbq4/r0sTXwfAZRH+DP/74DljdFuqlG4CnJdjMvJCTZ6iY56WZ/JMT\npbwX\r\n=sSfi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.8_1546521447168_0.7212589931681492","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"@preply/video","version":"1.1.9","author":"","license":"ISC","_id":"@preply/video@1.1.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"566d8d949314b353f0ae180eca27266cec91e7c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.9.tgz","fileCount":152,"integrity":"sha512-zdS7CtepYzC8fr6qkbfvXXiT487DAptdLVn98V4QE/s8FT3VL3d+CfP0QD/QWL1hbi6caM24DSwO01XAnLbBeg==","signatures":[{"sig":"MEUCICf6k2QqXUyhY913UV1P4NNQoJ3tZMGJjR5wpObdfk/+AiEAiCsBVAHw82ekBIP3z3Kcgbp1YWOJLDr+yK9mNdmmva4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8906024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLhGxCRA9TVsSAnZWagAAjbgP/3UMHKbYbJB/e57DvQco\naDoTqLYobfEaOXD4XJqhZ1LB2zgTJkcITyiFU+jEUYic9oXNSdIPPZhqm4gs\n9MxHKBsyeeLx4BZE5pQmd8ysVft3Fw/oyovKalAiNeSkNfS3Lq0+78k8tS/J\njYsk96sskrbUkWgLQQ0iIqIUd7lxyZLQ7fYx0m6KUfPW/GwWsNUei3iy0xyV\nM7sj9mMDxbl/9lqP3gQpLGyGOruTyWI47eHuhplAZUXu97H2/6yTY9seQqFw\nCQOzWUJHAi1bojV4/T0TFZonWu5tXM2b87MNZE3Lksql0OIzoW/1TWHhVpCB\nd3hRBgwTRER/yseTrMfqq5U2bRGADuUalCw+5LiM8BdOs+nsRaeYDaabcDUr\nMld3dgSUeCRvVZhp79R2s6d+m6BWyvLGXuw/7dX5kaJ/HalFsN8RtNnKJFkM\n9qBCjShH8IYlaN/u6QyW5PIxjQV7opXKQwtKXII52DRyBCa82PUlg35NfbGl\nnCuQ3910Xpf3lrDzMWHe5DkcFfsaR8r9hCEjJgZnSkrLC7K/VRf0I4v4DGi0\nAjcKoNAPFjjo1VKm+72BvERRADcW4aIo4fasGIzKJCt1IA7kZE/FvoEJntqU\nN19piAnaMJ2tAEiz/gg11D1558W69jbNA9a1bwNyOhGYRjYLlIX1YMO+KDNM\nf8/K\r\n=VZjz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16"},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.9_1546523056334_0.2680814061646901","host":"s3://npm-registry-packages"}},"1.1.10":{"name":"@preply/video","version":"1.1.10","author":"","license":"ISC","_id":"@preply/video@1.1.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b0175561599116bfda72334ae1b0b9e4f1d24889","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.10.tgz","fileCount":152,"integrity":"sha512-Y1ybcEbusfZUVnGbZ/o5No+qVz3oSMsyNALs1DA4aP86lqMobP1ldvG9BU1B/Y78yWTkUcjJ6+aCYHnG4DiEDQ==","signatures":[{"sig":"MEUCIQDgiNNkogpbDQz0+iL4z2/GyWNz6yETtYkfusAuoqw+igIgbMiyZ2OWMPBmV3m65g0kGzFDplaU3/eF0g/1h9Cg388=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8906068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLhZtCRA9TVsSAnZWagAAat0QAJTSArQM+ebta7J2Z48p\nWK2VC5gChd4AFLFAC6E4PGtOoUbUT0UHp/8T78qHiwY+whEqAcqQpABnV8Ti\nAy550N3xGAiYoqJwLfqctw7L/d9y0ZTo9WpamaKyeTIzszzNPA6a1yVm2gJX\n1H7/TtLCuX/d5WJFKZJyVty6+gwhqXceIUB8RFzOBZ8ES6td1n4kKlwt0KIC\nlIYg67L3Xaee0ibtcDKdMTfk5J42QcI/qVbQqza79b6n0qcXNszPV3kK1FHC\nrKDElzstXE9dX2D9Kf9JArbegyJy8R7rRzZ4zl/NiF+LL9l2pNUzi/qJRvyZ\nj8dDEp4eu3NXTDcgIYhcf63WRK40uhxbEiaLWZePMBva33Bh1n1L4PtGLRZT\nyt3U1poV76ebbiG7yerJq9uoC/LBN+wo322qFAGYRlFLkCCe6DL6zlMyX6jR\nNJj8SK8+WXKu+5Egj/rJxqwDYTsnSpb7dRhue9gk1XLb/u2NRklObDYwFKx7\n0gnspX6Xh+n/yBwd6CdTG+ar0aTcRh5fRZhU1ED7PFD1cqPZlhfGiGHnHbyX\nlqR3bApI1Jct9n1rLM0L9ZCADzpWc2v7aXRR6jVu/BwrzjW5HC81MpBO3zqQ\n/N6FSUc9lq/byyKMXKlx6YyfuCOSvLfhJH37+ixSAdm8IKuRUpzJM/kIcB2n\nf26x\r\n=sc9c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16"},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.10_1546524268898_0.5586334478711135","host":"s3://npm-registry-packages"}},"1.1.11":{"name":"@preply/video","version":"1.1.11","author":"","license":"ISC","_id":"@preply/video@1.1.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c57eff7cde850848db2acb828278a59012ef049f","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.1.11.tgz","fileCount":152,"integrity":"sha512-cxjdHSfEAgjgqhJMqAj2aHU448Ie5tWLsShM17K3cBVES9gyl5gbhB4xlbAU/PWXLrJwey0LuWe0r9aUOAr6xw==","signatures":[{"sig":"MEYCIQCZY3nDKtZEj8sIHXCh+L3eAjjmIIDcbBNxtlVgY9XlCAIhAIlAfodBSMNdAyqU5kMp5mwlgUA7zkYKld3ufcgC6cgU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8906112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLsIKCRA9TVsSAnZWagAAejcP/1mXRyC/f/ezidYPP9WJ\n4Xd/b6XrpCg1X+ArvkMhkLQLZ67d24o+Zfxcj6EkbuW+QlbZk4DaWILAj7Ff\nD4RQWxarTbyhNNwN/J9b/3A0E3SaIpDfHqB9lITig4E6ANcldDELcgK0YAW8\nzycIujVqV2Kj8//nOhriiwYlfyvbhq+uAI9vCVyCVaj7xRLnX8PaolIrIglc\n5GnvQQ1BdHoQHIV3kroqvscyx3Hp9+3ZatDy4p0f24syCy79RMu7H1oxy/W0\nCnHfwY4SkrXhreb86cEXfX/8Vy2xZbiB+j5gYChRMJmzCn+rXr0f05cvKWPc\nbWpGhxrAOpQ5EW07/q/hMsxnP22qO0OUPYox4Jvg3qpPzb9BanXh/IGvwmCz\nwN1NWzrgvR4RPT7ZAkDjiRRzvYYbSROmmTXEwKd6kvIhqqn5DhVPNxJWXmHW\n+KWYdC/RG3Ep6PHt2X/1RIPqFIGLsEngWE8MfqsRCCfYC/BAtmnnEmaidBHu\nw4HKiWBrLlnVrwdJYhAko5em/Q38+YRFQz9ulZdDOGokeoh3tqrFXZrYn23O\nYkYMxXMPgRokOrkJZ+m/IN+z/z3N7ovrP2A6Kz4M+og7TTnUvaZlFzLg6/nx\nwDLw9imFRUxOHamZoAgH6IOnf/eXLJ9jNyaZKmp0lLZhtWkT0O919oBt4c3E\nmN3h\r\n=Hvdj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.1.11_1546568201333_0.2176061626337713","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@preply/video","version":"1.2.0","author":"","license":"ISC","_id":"@preply/video@1.2.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8a906db793bb2d2d84c1d328ef91993df4ae961b","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.0.tgz","fileCount":152,"integrity":"sha512-E1bjTIwdDMvcHi71z7e3L7/gQJuUJBj2DQYMyQxfmc4ubDaZnaHFjqRt9veWRqIUXwDA45kHhbih/qmN0LuOdQ==","signatures":[{"sig":"MEUCIQDby3+LXKUTwe5u+QHDhGvo1yvEidcGO4A0CivKfasyjgIgVtM11rxQ7Ic/lZ8mTpacOEo2aqzY/HU8hYLwGMF2XJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8927581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLtbHCRA9TVsSAnZWagAAnkQP/1ETAQHDaj0gcLIvRaOS\np/0/Hv5yRSjEVwmGl2zDZDbeqeOMsQMMCBi1IHGCMn0CgPHqS2QuxNPTFdAn\nzbiQpL2SlzW+BriBxS3H/YuiEMh9SDthJgb5GFfabzasNbWJ0xJo9I15R3WW\nJjZfAbImwt9SuD7+EVbNiSvFA3KdrFaIKaOsonQG5WvjJFjqWbivtNin4Qak\nf15KwKgq5LOWfXHWGaUZb5OCbsgpEsYpyaid7jq0D2G4CeReo/isNOf5oygY\n28LVEhmEQs2VepXIlcCGkEUy+5Nz6Ji+OtB+mZ93eJ1Okv/Hvo0NyfjokK8r\nwHp4Us9LvJeRlNVC+hEw80B9n6u8o7GTKRAd2/62zEJAEAAdoKdoKnedn5HJ\ncvJNODA3zOw4E3gRN2aqujJWV/q+A5OTZfQs47ixkQT1OZHChjuZSlryhctx\npfYFicgn4GegenQ3baEqkSCFEJnwu1OVy/yrhxU5EN2LBd0+rUsIKw6Z32nE\nwKsYF7Y+IRLcuICL7Ha1Bpy7t9tkFOI1RG/Lx6UmQsFB/Clzhk+XQJ4HqtUD\nVvrfWm0ZDDWy9ARq/CkZgXvtRmYTy+k9lJ3vlEr95ep2pL4qmyhonh0+6gJN\nvznwvHGQTHrgf3vt5oXqb9WnWptMtX4vJEfJvATcuXnqjAdHeuxikQvXkno7\nN9yV\r\n=Fjl5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.0_1546573510571_0.887219158247045","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@preply/video","version":"1.2.1","author":"","license":"ISC","_id":"@preply/video@1.2.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5f256028f5829aa0af68f83e7354816e1a2e7d97","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.1.tgz","fileCount":152,"integrity":"sha512-KP7hwR2eQ5/y+sp2cw1fJwV2R8xsnmBjMXLW4vqqa522DzqNv1SQJ5f3/K284A7zdT5rAZiMRgN9SThiHKcEdQ==","signatures":[{"sig":"MEUCIQCcUAZ8WU0WK/W8aqvWwK/XGzPNuSxUIq5lAS1ojiHmZQIge8jc3UwofniHM42sye04m56lKumFgZdHVoXWZknmVJU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLudUCRA9TVsSAnZWagAAWtkP/1pTDbO7xHOIUIfyx6ya\nqrlb2QG9jXIBJn7jie7rveI/JQN1e1wMSY72QpoUZMF2UNTpPGk7WsRdDP+Y\ngnkNTCPttN96nVtdzi9Er/RkXwtZ+xCa2RRwlNsvCqze/m2pSHrlfzzuZD3N\n+86FMOJkMXThwtQQDUuclL429VOOmYEMJ0wut8BtBxx4M7iUIEkfs8UXgFJZ\nnvzr1h58sqJXVeKVXbkdpc49L/oZSqRk/92+HcboUhw9xH9O7cLAa/zDAEH3\nqX07YtOMwa0+O87Ev9ARRQ6iMVsLT2ztDd9b045NxlHt3PZnaTNt2hX1QiFL\nNH0Z5fbz9qP4IWKMp3W1C13H3/WO3r1ly3xEo6Ws9zVIUDTwdIfcEBwBaxoQ\nCoU+3qn1xmEJofXao3RM0aJEOZntAIzFIpNKK31767eL5bmCPnRjfUFMwGPo\n8OB8JxLJNO0bwOJLYjtyWeB+vJlwvfqlNObMtDVFC9ODgD1kt/ou9Sl5fHL6\ns9W5kT1+TJg39G7kDxzoy4HVkYiEZqUdaQmeJi8ms5Ok78X90ZEI/Xj7Kpl4\nCvfoi3pXmkJhpHBrSTUSxXCWhCtKjiah3KonDGRyEtUco8uPv3uwgNbTqWc8\nQjloy26ynoh6mzc6jEQMVrMbfsQ4lRy/9klblfEXU/NqquqB4BQ8pgCGh+D1\n0tXJ\r\n=0JQS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.1_1546577747483_0.5713187218190605","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@preply/video","version":"1.2.2","author":"","license":"ISC","_id":"@preply/video@1.2.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e838e2ac0803329be5a835ca023ef7aaaf017b99","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.2.tgz","fileCount":152,"integrity":"sha512-yUYGwzR5b0PhjmcwUu5MdpH37q85kVDBCnfLRXviOWG5aUgnR/eOqoaKLnjosaPMPJUmRg4GMdnV6ZIdwOtfMQ==","signatures":[{"sig":"MEUCIB9t7QVikmkZ+KyVwLrfUKSnoNdmt4GVqtzM+exZSRpwAiEAkuPDad7PpRBAy3kAWG5punkh38/IQhYFwr9TldT5PdU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLwo8CRA9TVsSAnZWagAA3hMP+wfz0FJD4JNULfUe5dL1\nD5up5sVTvmMM9IO+KJ7Z51hvCa26MX10dwxqjtWCaqyA+SszU76zJhYAnyCF\nMIrFI1opwAKqwEFmjlubvqR7TDfOuT9lsB7k0d3IxsVIwVl/AOhrufJ9/Yit\n9o2ZJt9uyyHlNHF66H3rE78ng7/dpNMWzxqUzA9MbWqfOIXk7B9CvPqToqAa\nVO0iR2vhCVvAZ2uSfjkiuEt7bFTSdSl32RiCWfHMY+FMoJjd49COp+zXKIQD\ndNAxFyH6SThosu+MLIHrIQEElS4E3Yb5R3mvd/OPeclurgLc+lCsO00QHdfW\ni4Pmehx2dChUn+Z9EH9w72WNMWAI8y6y/BQqrtufifUs1HdV8P6GHKc/Sgxg\nXFHlFbG6R9n/r/ZPuXxFGY4Ql04v4jvzaentcuHc5OnDmC/AAlnBDnJODHYx\nWeQ10FUyLRYN3TClQdyJJJa91WzLByapnwuPZwx5qKCxtYSW2EgNMwe6a7DG\nEj51YY1tFyc3ZcNxzezcd/exckBUaEZGTmRCt/cyPg7foYvaYxN5KWh0b9+m\naKpqVULcaur4c89pS7eA9p917pqU3ilyydRrTwNn6vnqfqmEK8HBnzTwtlpi\nkUThSpmGWMlWLmtoTUHDMoiO8Sk8yOE+23SdWdAmp4lvRvaFpk6PLQKHlv1x\nSUSo\r\n=hbwR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"3.3.2","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.2_1546586683516_0.567423808983365","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@preply/video","version":"1.2.3","author":"","license":"ISC","_id":"@preply/video@1.2.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7fc1551565dbcc0875a4cbc1adaf92c0cffc8463","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.3.tgz","fileCount":152,"integrity":"sha512-sJO8X5IEk+ip8Um+tWyxVwf7kXS4LHXh7rGe79OAMtMZ5y6Km2iEnbz2Q7f+BJsfn5QbAGCf6Q1xRpfshugS/Q==","signatures":[{"sig":"MEQCIBhNgJe2R424zxOFE/tn3DeOzi4Bhm67sVMDS4u+nVi8AiBvVk2ebkywpRnarcTdCrzG5tIHQNpyw8l9FrL4jOGjEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLw5lCRA9TVsSAnZWagAAa00P/1kKvIKoBC4nJb3QLbW+\nmPakYsPWWDW34I1sFT1qD35XXGHyXAMefQ/iTuaIU2HWJ/sDMwMzmMMyTegN\nmJLeSSSldLXya4dOshiM9Bjpg7AnM4JVkKrrPb8CMsZKYEUBj6+zdpcaVrlc\njOeqN0v1aJI/VABU+wO2oS9PHd1LBHmtTQJxXJ12aY4OfdwI6qQ3J6GIslGO\npz0w7cPRe2CIJZjAyCr1mTSS1njPS/M44+LzZlDM3WbxsS2N1ARTVQ6N30k6\nEUsL6V2G9M1HGGGckOAYG6WaLw9XEuYikfxFyGTNqAK88eyiFPZermDCQzqu\n0XaSBUmKt2z0gWe+DDnuCPrbedRNlj5fdzGPsgeFN+PMbSqXpGcoPeYR9dVm\nJ9auGFpjVXuFHCaeEAWWU0l92DFaB28kcMPURLnPoAJFY3HvvRilwexeVXLV\nevDBBqKIpBh/UR43NgsY2eDQyaos2QrVN/dGIsHjFnyYj0brogf0VkikHXx+\nKtV/EgL7b+sIsEftG3vt6v7ZWC4U/eEqRauqRGUtog5d2k/8c7ejYSpq8Syg\nm3m8uLUtEKArVOFrehwdMQ3eVbugM7UiwftZkovdfhnEjrmtAF9V1Z3lmd5d\nelxP/mBRoitI04+0B8gUtWcV19P5Raaqk2Hb4IkvBlh0D02btIRyNly48p8L\n65iS\r\n=V8we\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^3.3.2"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.3_1546587748670_0.9188394965995432","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@preply/video","version":"1.2.4","author":"","license":"ISC","_id":"@preply/video@1.2.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0f97f002c4601749ab409acf0cae88907b58c5cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.4.tgz","fileCount":152,"integrity":"sha512-O2xA6T/vhNMREyU8D5g7PJoKB/dTg7QR2yKMBS4fUvgixhyA6dvSW6et0gdNeDUmDLl8rji6MphdSMKpXaao+Q==","signatures":[{"sig":"MEUCIQCA55ubrwIvla+GgDFy6vUU657LFjr4xBlAE0FUTAooTAIgAmZZmtvdgqoIEg2crjNCoECuJhBDgISrdhwGt0xx6Xc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcLyZSCRA9TVsSAnZWagAAd/oP/3moKJbjgbBzfCToTWll\nZ642ohteVSVmWfTXv16gBMTp2x8kG9M0+VQxZ6lgshX7Jq+l29F/8eBQPvPF\nHFc8LxMIOTKuf9mG458eocSTsQQOehB6HJ9Tg+Pu6tFws4TKWpQcTIdmFjPS\nC9ufmdE/6IAsPmxd7TWRJRqfZEIP2WhatPfQK2YBuSw75QdEISFFBYvIXOfd\nBOXfyEqbUtnWBiLdzfbf1Bt7GkQsLPKIfOTEAYeH6tmEwx/+UwE4gRSTUKpS\nY3leV9q6d/XJiWRD+ETpX45XJDLD0daT+yFjCjJ856zh1Ns0RgLlfNvRGODE\nnlSpWI/tF3i7ufWdg4xZCUUaET3xULkW4kgSBc+O6jWAjc5hkCqOYib2CJIE\ncXaQZT2zC3eRElwVCkiikACpQRkohsthS6mTaAtTaqjQO2YkCZ2PYGknKEQi\nNGYvPWbb9eD2DsEawV/iZbF98IOclIJBqlLJiEZrTW3aEnYQPQ6u1Td4DUU/\nT2ncgy+KoHFriSCpf5RgFbR+q11iHr5QncFlDEit7At5hjxx9CCSWZ1P/25/\n7eZ5PKehaMVQTQbNVddg0RqYyQBedVKyV6sOpe+rZ4/WUQSwrEDY0s2RX+OA\nMCwBCGsaFvvJN3v6DEmCw8RdEyExeF6IdRRWHk+OBOEZ5RATrWJy88x/HzgD\nvZPE\r\n=HjDN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"winnerRefebpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^1.2.5","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","styled-components":"^4.1.3","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.4_1546593874159_0.8335620466466938","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"@preply/video","version":"1.2.5","author":"","license":"ISC","_id":"@preply/video@1.2.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cbc3b68bb9c77ef6e505e0a336557c895ae30e04","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.5.tgz","fileCount":152,"integrity":"sha512-iiprIVOaf18DZQD4qVdkdcwAG8F1RAnimJTBs750HDE1iMz4+Rl+xJAnZTI/Pd9byYIKce6QdpDZFoHr1PHSBA==","signatures":[{"sig":"MEUCIQDqWOu9kp3FzS8gWSBsDdNlSEvbAVqU5o4bO/Yg18+ujQIgYCBSbHV1ZNHI5lWe6iuQxM8hQQt5PdMIcO44gSs7vE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcL0tfCRA9TVsSAnZWagAAGeYQAJkdibLopJmzVtyyadSk\nBV2KOmAWPyaCWKGSaIIDKah/IN+hj31a7E1PX5R2ihdSwLG87bm4SNn+FmxQ\nf0UkKkKGEww+eZ0ydiu6Y5QhJO98B534kPLCMO6p86p3HZ93MxvqY0i+RFPc\nV+FPu+oSzbDNxppcqJE3DltnPIgIh3C13Qy582jXJOG7SgICl3gMXPIZolgd\nNfvUpfsyfCn4mCO3gjI2EGtPVOLPryp679uB/mehwVdeq7MhOTRAWSyat8nr\nPbQ8Fvf3FEap0Rqpof0Qx8ux96ORD4fts2B5WiR5HxizMQ3O0f2e2edzIngn\n5LXHjl1itk7pgsfCJr0p3nwFiSrQLBeoUMVMXkGnIWp4QHDbbK1GLrMBtyx6\nu7mA2nh9iDHf7hBZJyO+ho02sWI1EmXKWsWEnCEJ1maJqnQQ5mH8jZG/JAzu\nJE/8HGlHP6bhAVx7pRuHz41AZQ11yRFaw3/P1dBuXK2oXiSP4ZCy2UzeqaAj\nSVaRWQjdIKQrMAY/b62pA53cgpuuV9cXYwJtWEg38tajTWr3g3HAXKZtBrYC\nlFYx/KsDMB9/fuhW4KyjPKGd0FUvBUH/gfvVlAxBuRxj3zEpbUi2ape0Nhei\nr/PibNI2i+Lga6J8Oeh5T0nnqSt7IFoHU5IipWlHEmnsbfYrqOMotR5Z+HkF\nn2+f\r\n=ZTO1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"winnerRefebpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^2.0.2","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","raven-js":"^3.20.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","styled-components":"^4.1.3","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.5_1546603358723_0.9953124241654481","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"@preply/video","version":"1.2.6","author":"","license":"ISC","_id":"@preply/video@1.2.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2fabe76c85c49e2c971bbbdd0aa90dc4b5187ef8","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.6.tgz","fileCount":152,"integrity":"sha512-TZR8kPqhDYLEYOvqcubFwbYbFeg5ECb7NoYiuvLgaDfJEm5WtF+cKZNsZF0mxwsBLsV0YyZnay40k6pv6fjj4Q==","signatures":[{"sig":"MEUCIQC1wMGYCPktpTb56p2nB2fKYwy5JzE2n8/q6G+Ixpza6AIgLVFtZoInLZYqML0Whe+Zo5UlIyPKhUkoDZYoQZhEsrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNHdVCRA9TVsSAnZWagAASgkP/0XoqnX+RI+JXf0ruQ/+\nSdZ2PV9A/VdYsV+fTbwqVdITa18y3NgTQO9o259B/ZNgCC1WZku9pey0ibjs\n/vyv0CzVu3k3zZkWBveCVl4Zx9VV0hpbeklEjTd4zDMj+oMYVHoKp28p8Rnm\nPTUp1i0ZC3fQ1gN5TeVv9tUGVOtxN7t+PXFqBHt2a2gUGABIo0cYf7sKHDQN\n1ljR7oEjCstl5UEPQ6jEkm5YCYK+mbrwBadZjax6D0xOBENlPpIfV2xcziv6\nAm/bFec4nrVqyydeWMUKbqHHgy4Xp66D6b7N9yPLZ53u2D6Yo/4qK+9UhrG7\nuVL1r5fHxFBd+k4Be2IQ4TpVXtn2IFLRVNnXSFZ7YtsqcMjf7qVKfC0Hc/an\nKGv5WFeNuEk6zHcfUtd4LrFKlhSKWjZB58qrvJEsrfBeBGifN3i/k4uKDNff\nKEGupTtGAeZm19FKdmUXi/5m5cCSUeqynJf59Yi8q8dtGBJ5P8HDgD0N+muv\n1D0FPnVTHo5c3K8jNGOHxUauQpcVZIv4DYyzg26SGha/SzrAfIly478jK4dM\nqnNScwI1i/YJo4vrmqpRrS0Us6jXBiIgRFiHqMd9C6KqFGrv6BmJ2HmKa83k\nso82+Ij4Z0bYEKCNHx0wBhEyvlf533J+go0UK86nuyPFqyKAMLCaz5NKeHCO\noEeH\r\n=BU+1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"winnerRefebpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^2.0.2","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.6_1546942293052_0.9272131334356031","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"@preply/video","version":"1.2.7","author":"","license":"ISC","_id":"@preply/video@1.2.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a79b67cd8806f11f509903736d2eda023bb88a88","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.2.7.tgz","fileCount":152,"integrity":"sha512-rYcvVCrbiAFII/ib4X+0AG1+4hEYuug8rP8SbOEpu6nhb2atFWTvt0ZAhdU0PH1533Xc+LgSVOalRE6u77yjBg==","signatures":[{"sig":"MEUCIBhkzABuW7Yvqs5vftic4gsM68piKFhv4BwNsne5ibTjAiEA6PfSJwqKl0D0w+XSZtvYIJoEprZ+uehOdSgNuIO71LA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNa6oCRA9TVsSAnZWagAAxVAP/jxHIB3BcLr1wblxO15N\nBg+AMC3JmoLSIdHup5SErAayyBPryUFc8iQXN89+zn9aF3YmYBGyYlwVqBL0\n/B/es8cezrQ6OPxCzVXOYpvEE2iIsdk1B/FRlHgLnPyJBLLF+HQk1gWjfX4L\nf+UntNS8uNk4dQttE6D2+qRo3iSxyXXWXGGjRwAJ7kpgFq0YvpfINQTS26tU\n7M+UJaUxVIhWzBrOGA3KPVE11oWI1g6Q78fw/u3fJ4lL3J3QXGmPJAGl6yuB\n8Lp144sz06xfMOM00M6BQYiX53fMmE6LKgGiEhb2fk/N8T6LeieP/4ysCY3s\nI7yx7H8UH4vhWR26PKF2ibPcJqG7LuHbDsL3XGDNa3/fXtfRQ9Di5NAUg49J\nsIog/SVOXiua7S8uayWPFmKYeWIfY4BQEa/tfvun1jwQrzX0iMWYYLm8iDdm\nWcxVmtucmYQEVgpbE8oJoIcFMbuZAsV8zQoD6vhgfoLf8DHQyBfq4/vIkUlz\nDvU4QuL3PVSyg+KeM+Pj6Pm1VZnZ1sWtavFbyUs0XAop5vbE9jP32Ivsd+5W\n45VpbzbKTiqt4MeZg4kwdvaQvNp/f1mAMeMwbEEUAdgHsFGmsd+3BiFSTGu7\nc3vmXUKauRMyKYyl2PLXEYAL6Ukr+HWrEqPMaoe/S8tMd5JjFa0DfpjUQS62\ngp0C\r\n=IF5K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^2.0.2","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^2.0.2","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_1.2.7_1547021991819_0.5472230148768733","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@preply/video","version":"2.0.0","author":"","license":"ISC","_id":"@preply/video@2.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48b843376b94b8fb5260f3e0202ec8cd84ebd807","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.0.tgz","fileCount":152,"integrity":"sha512-D1CBeByaeD+KliTE61duq7e0D0KtrIvBzevMIrcuq/7L5h5WVKhgwPws+GN4EG/PUfFpfbz9JzBoHOb/zgME3w==","signatures":[{"sig":"MEYCIQDN38S6PUUDFvtL5T9Ru3L4MRtSJYpzlh1WDqEwaKVKqAIhAPp8gMff9LZ6eYx+/ew8uOCtpnuFBNSGHUHNpkLqUGJK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8907044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNpj+CRA9TVsSAnZWagAAs+0P/RqmRhVVKr99BXiSn8H2\nnrgjb3/G++0yuzv/bw+vxgyDTb8BUAVZspjnWuj2uqDUWXcuZq87YYlIHEwu\nCNbFAPqOfDsJVtoGdtUKpnipykzr0XISjLlW+CjqDj4eAwBdA125Xc+IBrKr\ne42kR7Oy469odMA+TG4CAArQELDV69bDC2y316tyhZIjkhBwgNxN8HlXczrM\nCxt3CwW2KSSICPi1g6gDUtyxBfWfvxvIPHIsHmYIHkjVa8ZjxvISNGVz2HB+\n3kCwuLzIIdLjIi9lEF9HHGEOVYAcjc8CLsObhlSy97ntdoo0hRIGFSMERX+v\nawMNjGqnuGeiDTf2Y2rToCtIAUXYSIOWt0xdqJVXPOd/IPT1096UXfErEqTm\nBlN/mPFKfX79hAYpNjOYvud12k8P1Bh9LtG8ZIHDG2h0Bp//7z+zP+Kr1GZX\nR5EDsXKiulArDiPPEw3G25OTZSbP5WRUybSnd/Plon75F+oRKO0WBjGtv4Js\n8//vX/UMn9PtKuxRGY2UEcMbAatExgMHbfWW4rm2bld78JDwfutgUkiSu163\ngaBQl8oYrhocxxMXTmPkSJiXu8dBs1grBQJ33EKvOLS7ZMzLBOBhCED+qs6W\nEkIg1TO2UHmRRzKjY/ymOn/zaycopI/0s/S+xBnv4y+4NAW02UEaT5s5tCnM\neObG\r\n=q7hU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^2.0.3","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^2.0.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.0_1547081981825_0.13643924242824657","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@preply/video","version":"2.0.1","author":"","license":"ISC","_id":"@preply/video@2.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"75fea7550a414112884f647e298e3d277ee3ad42","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.1.tgz","fileCount":152,"integrity":"sha512-ldC2UDLigryzpuNp5Go3MuYMxYnVm4AuKiXlb8G4Si34BLCbXZtac2darvLCqhPvTYR+dUqhD5Lc4R9Ptmi8VQ==","signatures":[{"sig":"MEQCIDOOraOhKEHHYlP/SBQ89AieOrXJIRmEM2fbsy2OS9WBAiALd+rx0coyLDSJc4MvO3ak08W8TuB44LkzL/NTLagSIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8948015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNqw7CRA9TVsSAnZWagAAci4P/jLFk1gjv3BW799F1ZjF\n3TCIStLfFNDGjp4aaaDmlOyCVwWM3TxYnIkwkVVs64MSBjw3Ojuzkjn4Z5+e\nbJ+6XnG8PpTNaHFKytDAkz91b1YI5j9e+zRJ3EnZOHJGJff9OAaSa0r3Jw7p\niJGFE2/iv2lCAmnGjVCHlZ/We3fNw3ukiMsgDcCvj1CrDBf+W3Tkgj/wJVGk\nS4eY2bQaoxbTkoiIUQLaL0x+P703bpCXfRb3RregUvmgaZBrfyBo9Vx/Z968\n6NkjAefTBkaWLKU67wrCYUiR0m19TX2LrG6aA63To2wEyqpDgBm5CKhOnNz6\nbB7PPBpKkd8W+XQkhOPHlB+CZVX81MWptqL4H6PbEK7ZUvw7e79rNfhkaKns\nUtJP2paAJM0e8veyAs4GKTkoPEy0R1ytaCtLm4s9+fyHkpTkbUrmd0Geayoi\nSvlJAgCjK7rtTKqlvIqas+rA5/n8NUW+vThNeUAm9ngGAF/Rs8Jo/gCpVnfm\nrkKNHdXwWPaxfLzrTqMJEkHgWdsjmvMpb3urym7ib57qqbsB2vJaGCc8zSNQ\nkMtYF51rnOKC8goLc8ZWrLqlA+CNoH5MoVtZTXioTExT6xxLaSZo8thIXVAi\nCASTU26t6NAK5Vqsc+wp5EcSkBOX8AQ0m/2V6L/Rd0QPx8oGBScpgeOAs5vN\nCJ2y\r\n=hDhb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","color":"^3.0.0","react":"^16.5.2","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","react-dom":"^16.5.2","recompose":"^0.30.0","@preply/ui":"^3.0.0","classnames":"^2.2.5","prop-types":"^15.5.10","rc-tooltip":"3.7.2","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-modal":"^3.3.2","react-redux":"^5.0.4","redux-thunk":"^2.2.0","@types/react":"^16.4.18","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","@types/recompose":"^0.27.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^3.0.0","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.1_1547086906477_0.26462957304513535","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@preply/video","version":"2.0.2","author":"","license":"ISC","_id":"@preply/video@2.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"72bdf7402452b2dd13a24c5f267f2245a41bc73e","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.2.tgz","fileCount":152,"integrity":"sha512-NjAP9sxee3w96Cv74pCRmuduZQSvTEvttn1Z4UM/zaj9XVKfDShpnJpWsJjEUnXcSeW5Q1ak37+yKDO33jm1Ow==","signatures":[{"sig":"MEQCICJzdb7wBv9tXAQKotMHbGdQYChQmiuX/kpxmdtOmeMrAiAt7JQAoAXmXAhUdTIl1/w0ByCuNsEon1W2qKcrcyveEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8951069,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNzl5CRA9TVsSAnZWagAAiioQAJ+/8X/xN30zVM7JJ6dU\nxC73bUqUN3zjkSiIey1Wd6KQlsaoDNC8LzzegG6UAYOCYmVVnba2+Lh3Zzra\npBve2Q/KrWrhWtGVzwMDRROorZmYznx4Nqh8uxFC5WUwBcLtZwxzTA/JhKOA\nbfPA76gPYuivegXi2rdwiN7Ap5Ht32LBgTZgfWqG164mAwWOQFHQBRIYOiTk\n9e4h85gUUxhKLei0YSh2HKah62zLXWlkqZULpJZyqgAIsdwSgtEEJh/3pnCI\nfoLjmCSRgjt2nkGsAalDuHoNAU9yGUJPi7kELuOCF+7jzmNkpOBgnVhqB4Oq\nrq0V75i3TZbbVP3TmWDGglYBlFsHwvTU/fOQAEacODIAxRJRDjothBqhH5GM\nU5KxqTZOSApKW8qWhmJ3PVwnahQlsv3iPorokn5iiYVpI217D85bkUE8Cq0Y\nSTrDwvvFITyQX1j8hBd2xDpx2QVgK1PPXzAdevH9M7CPtF+TuR8zwvS+yzcS\n2UOaFFSdt2tdgcrjY4dj0ioEh+jQ13ZqjVjhhhdyEVh74DQWRSjl/12Q7vXW\nXc89DqQSo3741DAhiNGddVOcy5I/Ol/WyQvgvEy1AEsFFPxFFbVt8aQ3zyKN\n+cjtK18S/yaOjd8dMdWcg1kq84CsyVYu+WS+r/4haHn29/fDI0uNv9bfwzL7\nTpv/\r\n=mUUL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"8.12.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.4.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.2_1547123065003_0.10851142425366245","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"@preply/video","version":"2.0.3","author":"","license":"ISC","_id":"@preply/video@2.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3d880508af8804e176a92c9f7ccbcd1d436e21de","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.3.tgz","fileCount":152,"integrity":"sha512-jVdSDGc69XvPDaFZdWWEmD5MeXT5isB3Kiyo9LRceWe1bBVcnV6duVv76bt4N9c+m/j3vDCLpPC594Oz+6XULw==","signatures":[{"sig":"MEUCIQCG61IAFpozdnlGbf/oVTE7ntmu4eTD3xmZcpCvYqT41AIgGVjfj2+w2627zeslBtFQmnYea7iSl7AINBB/G0r7TSk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8974102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOFc+CRA9TVsSAnZWagAAiYoP/j1oHjUsuFloWa0gOdHF\nrGtxwlMI3jLvVhKjPWzEUyTtrxH9YnL6yaL5e4R4C/d/sNW/biEPdRgONc+l\n1NhBRuu288sHifzMqTAcB467aJW5+PDdatJB2yAhiGU82jgkwZ5FG2FECmQo\nGJCA5gYni+KNTXEnYIAY1oY+2bCcxbonSDy29JZDcf0Ycnn9jD5aZE/UpQbP\nZA6FFzXxscpguuOY1G72kxy8VXzHK7sQeSjUdsoOYsxNqQdGt9Tsj5zcs2Mi\nN48T6etRy4nMV18gJvPAtvDu0L/aXMFHFhgVYcBxXx1Z91qqHJ3M3c17jnHM\njS8krsA7CDyKKKSNhc+W1hUZVeT+A9IPGNgSDt+5MzLe1bn0rED2ZtI9ew7e\nHmdmARiNysuxIXo1mUdYfi5Ap4BOlAONYYl+WDuWRFsevt74UTJgNE5fuASO\ns74Wr+aOxRQWEpuywTAwnLWB+Jfc8Uuf1jMjXHOjUk2kNdOh1B/AI6ZCmGu/\nw+mhzCGixMcFHAq3hQEdxfUAAJzyVtIElq2FY8ib2g/IIuowH7hRmWNOQOiw\np+WllqhrGux3min2WIFm1Cy+cV1wI6ZBCSF6bb9zhLeecASTaunqCHc5IgNt\nAPYSLnd4JvInr9eEgP5svcu+lNQ4is8xyA1l9GrbDvZoEj6tbBMHUfT/wC+D\nBMss\r\n=uWh3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.3_1547196221604_0.30471866790947044","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"@preply/video","version":"2.0.4","author":"","license":"ISC","_id":"@preply/video@2.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"30b2f80a72147c7b23252dfd9291e9642757740c","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.4.tgz","fileCount":152,"integrity":"sha512-Y8W28fLqeMvhBDaXegbVxfNsGDmESCIfsr8W8Xarr6e1bnT6du7+7SL+OExTjHrhm08oJiMjC3o2ZP9YiIdl6g==","signatures":[{"sig":"MEQCIEc57LmKFyOpJU0/kXzXn7T23DbzV2p2ifhafVA2IePHAiB5MZDGTa9arYF5UrQmXJsWhAG6R12K10HmvxLR1tPaZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8989109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOIojCRA9TVsSAnZWagAAV1kP/jWx/POP9gUTUKBfO5WA\nsyeeqMGlhV8ZFUp3VG0ugGOFLum/dEP+ZX4T5P77+rVt6dT8Obd9XFrekkx3\nuvRDT7NUDsU98GpCDZhoWsCM/G5zTd02q8PKsUbyaSZIWmLMnAYe4ZsZmray\nOEEJOu/WqZ1wMsBV2e85DYTi6QB7U5+hNYy81rAuwXWZYCOpigmV4mPXxSXP\nnflHr3eLc2zQ5lwMto7Jr4ZUAS94Rv75W9K3Ld7VZMdpSYbxQk79Dg3eC5pC\nqma7QgxmNmAZLozwZ7NNf4Ud+AoR1S3VATrdZg/wciUAjdwR5Q3fcZcYfkCj\nsUVc62wzDqD1uNijIhs6XYMgM7W4Og85nwA6qowlmsHMbxgELR/w+C/SPsXz\n4WtCB6RDfHX/wMO5Uk+oaBxwVLBBbxiixysSIZChaj1jynQCr60QTUbdc/Lb\n0IUuU9igIEIasmhSfB7IR2U05iA8MI0qAoEdcMUrSjiHqsRwbIjw7+H7E9fs\nRIw7/US8UQ05wjTzVXEKHtqlCTALemkM2sXEwKeSk7YKB4WyZdc15+juJe5o\niDuZN2vo38DXrAXLjampWCF8GaOxuaDmyDJoKmWNYmKEZjQ0T5ALidNnyDQC\nw3XuBSjDRZycXwz8ncjtbwkkBAuFLohlgR3KK0q15upmQ0tRaw2t1zwZIxRz\ndAe6\r\n=HqFZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.4_1547209250380_0.5272928012406495","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"@preply/video","version":"2.0.5","author":"","license":"ISC","_id":"@preply/video@2.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"80bac744ce6df032dd9fd220525427b5003c5a3b","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.0.5.tgz","fileCount":152,"integrity":"sha512-jnnXQoXvCfGpVFVzmIAnCQqxR72YN7ioxR0sUjmP85VMrn+hIrVRIpwHEhWisV+F5Ev7PDohVXFVl7coGetNcA==","signatures":[{"sig":"MEYCIQD3+QMR6RxU73NZmWXc2kjCDognI/Ee292xgGIUqfJkdQIhAJlrCp7oD47zcDjpF1TcnbxYqc0rOjfwmOBK7n7rQICa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8988089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPJI8CRA9TVsSAnZWagAAoJoP/2X6scVCL9RF0Grwmtx8\nON0zQN31QwCTEi+VtvXt0g6/IqozvXwtm4388jZBBvE48N4ZVGeftowpPt/t\nzr6XbhjKSV+4AdOFx011q2glbEwvUT0N+o+I4UP0bSEJnIZLVDK71773djEY\nRQjKf2ZuL9UVA77s5YN7LTrWEcVbgdhCcGK0WSRWQon56PKv/YnhtOSAmojl\n1r2oGsyd6/dlPmRK9Ly2ybMYmXB+eMdpZKPT25cuIBFgsUg4+vkuClBwgkm6\nNaIdftkBW3edW5GEt7O6IasmW8TyTFhmz5b8yvxflgJDJljkz2UHkUw9wU+5\n3oMf/lZChZej4rGjG5eJlxNwCAb9njwg5M16hA9FxCec2Dh0luKL1M5WIoDR\nlLCTA4qAzquuGEMv2u0Af0LqSraRhjXceo5VYaT2+H11RykboKOPH3iO32hk\nTw4DS/BgGblg+1+5xbGBE1U/UNdon3941+hBV8cCVYCApF1CKUr04EnkJQwt\nDOTp8ko7dF700K9XrvOjPi0gZ6yH5BFZojlBAESEQDitzwiLm83KE7SAKl5M\nCzx/s8n6H1wgZMAqiygcw4ArSybSYaRdvvMpRDXDajg1DiiKzgJpVf9QswqS\nVFrlaWr5ABZwea/QS+KRcmjYQMrXnK1dNFyY35zVZgXpXe2SMdTIEH5Z0U8V\n1m+h\r\n=RBKs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.0.5_1547473467563_0.36810056169489624","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@preply/video","version":"2.1.0","author":"","license":"ISC","_id":"@preply/video@2.1.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0ac15ee7246e96b4a81a17d0fff03cfa15e1bf64","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.1.0.tgz","fileCount":152,"integrity":"sha512-0Ntl69Wksk7zH1iEBGet/FCuw9tbMDYkamcU2uOlbry8d0dZcC4TavLZyS3llQu1UCZltHPHB0J9Ja1PyJ9NTA==","signatures":[{"sig":"MEUCIGHkJLmRfO9NNq7BxglS8+f0h7h7iOLY1rntpvtaKjY5AiEAvKLb8FIX+zQFRiQ5jsvJPTLobjwMo8N1s4CktRK6f7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9032084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPSIXCRA9TVsSAnZWagAAQ/gP/At1cIk/um2+QC6hjHSU\n8h3OvUhxzIvbA1CWAlaSgmSxigcQJ9ta0FFq/5MYrKmnXaeG7m+PDcTAbWud\nYkr0Pcdi3W3O7FvBevsIeidbslPE+U2dOtHmvjMOe243/LYlIjfRDbV0ZD6P\ng6x1Zb1EJoDEonl3kczmWod9wj73rdjsLbND4MfmkQk8QnmrXhreufCzfmxv\nDKU6UpYiVXxJHufy0P9adhaRbd0Gm1OxABg0I2X5SzTyF7wrrngnh6Fz2a+u\nBWzoSF+2lowooAQd3YJRt1A/SPPYtCEovEIH6Dd8F2rvvV+bFqjqr/GpZZ6/\nURi+DqdnzD7q1Bo8gJIdFMiWAKxQIP4iqkvv8HJsyFa3RUe2tItEzx1cP2ll\nq7jrvbLxYnUuHZtxYuIZX/1OCv1C6+zMR11MtIjbtZR73YxBBFW4+8YfAAFj\nQJuUfM7m4Umf+2J7VnSi8Wl3zcNPz4XUrN3S7aQikArjhxrsXQNGeecf+cT5\nJIlJyNP3/wwutKBeikz2wvZDN76Ik5eQ+Yzo7GuzWdHU2U1bQvKEzO2k3+l0\nJKqKHyBTjDro5kxCmD8Z55s9eYoCcyzZwVRYL2li62gLthD2t7J0b+D9p8G6\n9AOqlF4cdlh2DbXOp72X9HLvWOthPq4z42mZGf4vi9qDPQ7EcnHaeaOZlhby\ney85\r\n=g2T1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.1.0_1547510294333_0.33144238699884254","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@preply/video","version":"2.1.1","author":"","license":"ISC","_id":"@preply/video@2.1.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5383aa06fc0cacf69666240f294b444d91c7679b","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.1.1.tgz","fileCount":152,"integrity":"sha512-OQtQpSvtn8ZxFBgkLDax5qjU6f8Av9y64mik7wZyYnhhUcMrtmpDRsfFRdA1nB/Xa80wVWbPS5H+thVLAzcd7w==","signatures":[{"sig":"MEUCIBxp1uRDgF1qDMWP7cBOlHXMRRhBkUvvQPa0sCe2E+7XAiEAyMbsNwMk+mu6oMtmO3ivm5quM+yEB9f1TK7I0AmmpTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9041258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcPWAoCRA9TVsSAnZWagAAUjwP+QCQeQJ/WzDxBEv36yjT\n5Y4wAAZA84TwWBSJk0ixx+nFLMAizO/D+r1wT2Cm8gImm7/DzXZdXhGYFadY\nOBnoekvs1zNGJWHAq09osov4YVcXbuwYR7M32xs3DvVl1Bh3v6rEPY0r1vTP\nubvlbCL3K6MwHUwmFIrTvM8LgDLu+hzavwTZnwkXPKKFo1XxPv+IC0/iTwKi\n9DBBs5/e4808FP/0yUrseKTgPF4T//Pog1ZoSCYEsaluxE9tj93gMBZzSMjD\nkC8Sf/DTWqeKmQYIDlXdQh+BAYIIunb3Te2/HByB80eubfc8ywXs7jlRLD1w\nmqIn08shcxCtIloo9VrO61EoJq2n4sIlm6eAuTReT9NEMrerjMtHL2wMxPLl\ngsvohFvKzgInE1H/MpsBOUvtXFEtyQvDUM388G/Szg/DyQt4n00rk8jtJYat\nz3ZgPw9Q2N9zRKZs1bPltssxBDRc5utFFYIjcJ3+aha8XCOAz6LRaEWQPfsw\nuKI3QcVA5VLAdrd1NKB4KuhAm6aMeO1cNuW77r971Xb/umQ3VFzUSK3e0az2\nd3vl5yzeepthmVqXyQFPuUJwtbrm9wHyZFQyNTJggNR4gzfKqTKv9y3DQ6n1\nlQr0KQ5AT2RSreI8nxcefsvRLizr8nKTNa/+jp42a8zZUo8beHHUwYUgeMpS\n1C/K\r\n=+cHz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.1.1_1547526183478_0.5208235051971772","host":"s3://npm-registry-packages"}},"2.1.2":{"name":"@preply/video","version":"2.1.2","author":"","license":"ISC","_id":"@preply/video@2.1.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"13ee92f8570322a812331c409ab0d69d5e76ad0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.1.2.tgz","fileCount":152,"integrity":"sha512-dnleHA0MLg4FpKeK2a0S2FtCTelZ+E5KunqaHI8U080ikEYipj451+MLEVEB33pVYfIJytJKk16MuyzkjH3CyQ==","signatures":[{"sig":"MEUCIDUWJw/yuVNiF3ceNJdOronZn2Fwyi0mhIt9KWKaTmalAiEA3kiEa4/qrEv30PRvicXQ1TAAoB1BVXVLmxPZEmeD1lo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9041258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQFA6CRA9TVsSAnZWagAAdigP/RX4Z9mGdO70t7GUQGMT\nMsHk52CSDtgIuTVEfh4wb1cw94nEvGb6DDldLi6ODnicejqOsv2BR5we38bf\nFl7t1VkQOqogTPkouhCkDHLnQx8nQyOuV1sfzRCEAUyVyYVlZx1kTpgSPUGw\nWnK8qjmHuDeQ1qfbysLqhGBizSH9MqPDcZPJxYvUNYCGcWoCYZ+l8ejoRP6I\nVZs/uweMttJ37tb/qwJeagsg789thLuk1ZyCAG1fs9Rp+HbEDfXIBzlgNQBR\ne2uIsl0v5iXG4pcyNA7e2Yj1hEQYw3v2QqFY44VYcPwzQevGUsoMkqaxCzz1\nmxhutlphn21ndjOYpsXSzlfQ3kQnSxZWjtlI/Bj9fqdAhTdbl85M4mO72/Vv\nasS2nnl7rueb6WscWPc1+gcp7wbBoYX+QHbPgHjjeufKgYrKCYL+GY4XEU8I\ntvJFVHm8GMBS4wIZixQEHEXtws8HFLZ2OiEkfLOErvJ4Q4xbEooLZwiM6jBw\ndsRn4zyNQD89IGKRM9gDp+22Sbu+/p9lZ+TKVVpKi/sti5/m8XtE1MmsBCOE\niIwo26KUGZwz1FgwNM9P/EVhz2BnAIOmb5zikeOqdhsgrSPa83XYvUCPQ1UU\nFp4CpXx0jVfMPxGX0QqNDjtHbUwdV1uT3W70nOABUjki5LrT3Bi3aKUgtpLE\nHxpf\r\n=bTnA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.1.2_1547718714053_0.8678356939832319","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@preply/video","version":"2.2.0","author":"","license":"ISC","_id":"@preply/video@2.2.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"07064b01fca37e04f5610a37ea269eb6ba328a9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.0.tgz","fileCount":152,"integrity":"sha512-8uEWsRn2r9zAK6F/AA931tWKvAxCay4pKr7bUOCf2IkL6jme6OjooJanyO4fsqwAS3gJ41hipLsy9HHSG1xmjA==","signatures":[{"sig":"MEUCIQCLmHgufvxp9vo239akavW36lG33+QUbfadTpiTHQs6gAIgdC+HcBZ992SZyHIELORqIDCNyU7B457MBdXURjY4C5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9041258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRlu0CRA9TVsSAnZWagAApb8P/3J9cHYUYRkIyRJVmwn4\nHQv84xAhxbBAK073KYk6pCBPiOq/K5TInCxOEXHlUhClRYefs3nXmkvi8iHi\n7zbcmdycHD+Z0yKdIAQbTWjpWsV9ZYpAvcd8eUrjq+Gk2ymIffvhXrOjZtJm\ngWP4CI9WcHwaOma+BpOtqat+gbIqlzXl+fhp3rvtEaVnL70hNXSLs9+JU5UE\nINJdubP9yKJclLDd9r0S5Lr2zZOhux4FMDYaii0ILjV2vyNVSA6YVa2YDte0\nvPznElT1XZiw6ukdZlEkoJwl3uZaahCaTkKYp2AOC3e2amxEFgEjuFmD09Fq\nq/fMBAj8bIOWHzGT/HRpn++TgwdzHVR1uNEBNGVVWYZeGBzq0oEuwsUSlieS\nUga/I6Z1IlO393UaEXKhCO4eRqIEY80RH64Bu1zYax2DqWYK/SPBLSllF7zL\n/jSTRJi6VvsrDphfeajER2XCfhdpHFjEXPZhiYpTBtWhPvUIKFdIG0MxWVJT\n6y+iOG47KJ2+/BpefXqi93v902KQ+QfT6NOeDyj6TcFnhFQW2Tuuuvycr4x6\n0NlpU3G7t+UooPkA8JGCZJbDy5fCMyt42cy6+w2XoigSzcYwTvd8Qz+m1/dk\n4lT3kyhEbbbWGqdGHa67dnVG44DykCYr2BZk/EVHo/Rt4O0nkhori4nBkEpb\nCRh3\r\n=rb4K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.0_1548114867896_0.23973834251186044","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@preply/video","version":"2.2.1","author":"","license":"ISC","_id":"@preply/video@2.2.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5f2ceb60d285fc17c6fd7a68f8dca946bfe06198","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.1.tgz","fileCount":152,"integrity":"sha512-EdKN7ieCnh/nM7MTAOjAWtbCFZNd/t7QQ1lG0FIsF/0ySG+vvyM9nm/wIlsB+ZHrSrABZ2ma7xOzOhpMBsi+TA==","signatures":[{"sig":"MEUCIQDsfhpdn/OVbwUre0j0PEKfWp2/SFlGalyQUXHjTr23lgIgB9wGitYoNtPOUA5+xod9ZBRQ0vPoQd4GjfTVDu6yfj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9050963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcRwQGCRA9TVsSAnZWagAAmN4P/iJVb0p8OhQ/XdJzuVXi\n78ol/wO1u5S1TGdkUIPsJqbVkjWozUjCdARzxkv4i4UexVGnK0U8j87t7OW/\n5o1IujSsEct/JYK/gS53eg+MUX9/EtSFmaVXj6i2H53tGj7j9lidnEeONYet\nq4Id8fAdVFT4h/5z1SRX1bypyjsZA9kVNpL46nmQIW281Z1wmWiI3IzSkTl/\nZ2jK5U8GyhQoBMjdj8gcA9hasVrMTnqpMV4IFoMHQd7peG/3unZk0+DmasTt\nIQMHAE3cmPG5CbkBemviXbDgeAWQGJGjB9hz3Jco2TXSAjFb3oDHLHNeH8pp\n3NS9pmMxINx8+pi+lZ2hKcz/CATehtNQY6efjPhCfEjU1ugJdEL7HcDVOlKB\nwOEoOzo69INB6Pi10qIOTuyONEk+kGQbASm2KHs6YqOJSaOHJEXw+iYjb/YX\nhORjaw5avhma5y93xeaDTxhqSsYSNsi+B19mGdjFlgyaRss4h5raAMEd8xEn\n3jY10kqerGuO2onF825vkDX2QYfEFnDv+K43gFJqlTiBE9fkSuQxQC7Gfsof\nfxflk2Oqv46mPFuZrVhL821b1WpLL/k2bXW0nLJo+Z2tmOpZTObK2v4zjlgW\nz6apdLycea5cUQu7v3tFqORN/YizqZM5/nttYrghGsZkLc8ZGo/UfUubiPLW\nTdbs\r\n=kem+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.1_1548157958197_0.9269989529286227","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@preply/video","version":"2.2.2","author":"","license":"ISC","_id":"@preply/video@2.2.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"218163fc572cd9ecb09a5fd3ffea24a3fad57877","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.2.tgz","fileCount":152,"integrity":"sha512-WaN6WEXOVm3bLHNlYJSoDZyANOKLa10TsKe6HUG68zXcAl+eRQO9sYWuwok18PusrmttNQ7cOY5T0v09P/Kcfg==","signatures":[{"sig":"MEUCIQCs5tI70/brsSrwt2Fcz3iWGJ+lA1XlXldARI6neU3ZzwIgVGJWJ5SVAjxykHmEBjI9ntRhJ+9Oq8q22idLTbU/SYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9050963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUYD9CRA9TVsSAnZWagAAGG0QAI5Vm8LSh24PSSmr8v8Y\nkUaDC1sdQuSgpepBp3QFh4g9UqkKK3xXRZGQ3J0hr+zweGVZ4+J1Wpy8esYw\ndk93cLE28SH91ZTZ8WmjZPx1CE00hGaHtcTPbHiE31z7Cq8ooSlBNL4cmoY5\nn5CVBAE3kXcS7mld2D9K7WyPt726ed51nJFMpO1JjvMtHzK6Y0ZTzBzQcZjf\nQWQC9oZ5H7NkC47O3AP8GS7T+KwptteU9NVC6cd5zkMF5bsG6DpTnEQDO33S\nHEMNARsa5cC/jFf3n/Nk6qau7mhHhDCHNKM2rmeuzmRoNvDXQco/hwemYzuQ\nuixlp6MvP4xvPTnR9X5gSq8TNR/y2iARRwGUXf7Lzhu0ZiD1Zwxsnqx71cAU\nQgPaK25e2jm7oPRxztn2XGtptRKhAHR4v1t1JscBCcP9qbHwIKm0KJr2PnGP\niJU1FvXwJ3Ol2nXX4PMneQ94bzPsj+HeZDZ1yIE3FV7QtwjUIInozI2Zb9ru\n6NfxLCMJOe3uiBYNGyDr5rIMMYHbUGrHKoxp0CP6GoWLRJcE4VzOCzQPFyIn\nbTdLyOfTbCx/7eiGIfOyRH1LBXsdfpmovJt4fLz7W38MsDNbbBJkgyzt2Ucw\n7mSxcTFAWIkVH3xam/JdAX8oXq+WgA29wxwZzTtdZR15EDj5ABiFVKxPyhfA\n5xvS\r\n=EIfj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.2_1548845307703_0.8420039345605954","host":"s3://npm-registry-packages"}},"2.2.3":{"name":"@preply/video","version":"2.2.3","author":"","license":"ISC","_id":"@preply/video@2.2.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"14a667b9d44e36ce0703e0235085fa941f02c72b","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.3.tgz","fileCount":152,"integrity":"sha512-zCEtHHHZ8rkOSFQeIqsJhlbB5Wpti/u+A8xrJoHg6I40wCIYGxkK3dFnLAqvKw408ygeFmdRrvk1y3AVvCbrHw==","signatures":[{"sig":"MEUCIQChR84mRO9xJbQBTUQYHk+7ossGYb9Ds8uwtWLD7A43UQIgH2/haNqQOSN7Mj4l4u9emYK7ja5Z7UHOiHtCoAxdiiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8976053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcU46KCRA9TVsSAnZWagAAJoYP/RyRVjPjwI7Lybn62leI\nA0cn+uZOYgmVkuGKUW5WLP5o7tHXaa8BuBoxRlJ53FYvhaflI+Y2FVJbgRz7\nK/yo7OmQi0kIfXQsaNZjFNErtmNL1Sb9ydfJCox6z0d3J14/Y45q1m1+wUt6\ngeeD+1NAXGm7TN0lrpdtv7BIFVcrNBqAnE+FdKmFmG6/J1qcWkMOp4t4jCrK\nCXfPayh+JuiVGB5Uxp31PK7SrnkEAeRGmFPwQ98jWTI0fcTgh7GUdhLoWqKL\nQF0QOto5XuYABYSPVkXkhQQpZ7YlqPlF2KbpO6j1S4fhDXInidWf0rhQulx3\nkjHM5k2izvLag6m6F7fyp+ucwt1JbN23QGrIDBLqrgPAka/jq+fIh0wdfA9t\nOraMlctu23ARiw22Qwoe5nm0rDAT34d5mlMLn2w7W6WXCcXVSaf3xLRhOriZ\nNb59gs7y5BsWRKdzJZywqJ9W944zur3vRDr2/L4in7a4fiwnGXWOFxQI8oGD\nyO5Hzkd32gR/ClX17X+R2C25osuN9D04ldJ9T6gMm47jSoTPyRUxi+rXv1OR\nXDaOJ6WnVZQFwPjak/5KRVHOHOCO13h+Cy+NPaHmORV198Ug76QkdKcS/yFX\ncLANYiJbbmIpsGPAgpvSKfCowJ2rpQngMaycyeDsfsq8aEEjXBKTYiT53X7N\npSg6\r\n=fFgs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.3_1548979849733_0.9590131802306261","host":"s3://npm-registry-packages"}},"2.2.4":{"name":"@preply/video","version":"2.2.4","author":"","license":"ISC","_id":"@preply/video@2.2.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d59e81d803e38665a59bbd694902fc2203cd5d8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.4.tgz","fileCount":152,"integrity":"sha512-N9F7wghXr/LXeYHIz3YHIhhMeuJdG0D+7pdTcnsC+xp9A8Rh7T9HMKE2I1zOQZ71CyCqVNiw9S4nqIZCGF2lyg==","signatures":[{"sig":"MEUCIDmccKXFoIPOxIobZ5NsyNi53V8kFmls9dLsxMA+GMJIAiEApaaan3wwxryePhwi4/en5cyViqk/QECxpr/+yQ648XI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8966384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcV6RbCRA9TVsSAnZWagAAKwQP/0bmWt3LRlEoIAtog8CA\nGqD5dLiX6FnHJkx0ZnQ8XBWaPyn1lhD2fx+1KFgoZ++QGD6jQQHhlKxHlm2b\nlUjEOXef8WcMCbBFWSyLh/QcznEdueI1AaXwKqJpYG7N/o9x9/yap9DmPWKw\n/+qnsOObmRwKQgypFQmbQAxY6OmNQZKtcsIPWcdq2DGOebAqAit8tdHq9z7C\nzfjjhL1EPZbsD/AXbPeud3DVlVLWSka2GXfr1fEQLpY1ZOlw05L6NW4pWCpx\n2AVVv4i4mP2FfJ+CTtUFX+nTvB1JJO15K37ynKazlFhKiLKxqQsVmisGvyTC\nN5xAgsrhMLb63EMLVAnqsXgaukklToO17TE303jPdiZZpDH2WpKmN/KS6azs\n8dtrFuXp3hwd2yRJXRuozanmxMmZ+TaLXD5jUz623HgLvIYyvqLcnxg93/PV\n61YkUsZmdchtGkWwb+o0vg7UbOfhw5SSLqwAuTcZMl6BhYj8nVymQ07ZofvR\nQYyB2OlVYnXrBqQlzDBdtwJTZFbRaXCVGdShYz5CNWDUPY1MGsl8KUwtZ1Z4\nxPCIYMK0o4ooUQCt3FEBR0OrNvbD9B3sXsAV+p3VG83rRWmGIlEZIgM99xQZ\naX5clD0exL0jkdY/OlIsix3VhgmbYckCa3JqfYst7pj2QWvRWlXqKdveJCvH\nlJK3\r\n=yr4O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.4_1549247578546_0.9672432673296618","host":"s3://npm-registry-packages"}},"2.2.5":{"name":"@preply/video","version":"2.2.5","author":"","license":"ISC","_id":"@preply/video@2.2.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e4bbb307816d3efad32a7774eef329a4eff1ba9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.5.tgz","fileCount":152,"integrity":"sha512-WZRS73ZsoBWe4hIb5rxl1W0POOP8Hevov7I7zLEp4J92jTPlHo8DWNBQ8T2kC3QuTpEUT40027ZQ01Vbowg06Q==","signatures":[{"sig":"MEUCIAjaRvTigwjvaE9FCFStuY9eLOP+gJ/gXT7v6Gwx0EjQAiEAt2a2o2n2afZpwi5U0y/PjulLqW8wNG4C00tn3R2LVjo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8963054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWC+hCRA9TVsSAnZWagAA+F8P/3rTqKaCIGQNRv7sav27\nFe1Ud/vhzLAc99CF9cHvi9QqWOi4ckExTxx+RR7ZZvAH/vBRUkyE1W5TNRa1\ndgL5h6P3HU9wcxiT1XUOh9dWWKxaqWgzD26koSmLal9uoidZNqyzqfBYhaok\n4JuMQRQpWGZX0m+j4lnBgxCRHavqV6rvVz+NjTdlGJefFSdfl6SEVKX6gw01\ng2OjCVHYE/oEzm5MotXHqZB/GOZzervPF6dMRiYRYXFrcI/atJKpWn1xKkGF\n/hIhz27buxOuOpBYpwJx/MmQNoL3djuUaLUOov4yae8Un49q2vJ7SV1a6xPS\nCXn20gOhnorXdQsDFDq2VwDXF7uaAlJ1xCEQHBUK926k6TuMgJvQfAgychrJ\nZn/FaxqxfURTt0p7Nskora4LZalknu5/jp68TSR4hEYJD3BDF3NHIR10NiDS\nSOhpP/Y5PqhqyE4oStlMxhRGU+jRKYIqSd5AI5bpOvuYVf2+OoKpUtKR7PcW\nLZhnsU3d4pLyos2JE8hLYJL47DFwRMBooFxL/lm/tO4i/dPTkuQhlMl+FUUp\nFqbRTZjRepQMeM2r8P7MAN7ucM7W+pLpWRkRXmdWEeh0ooVXfHn7zrLicd4j\nosm1HmnSLDITiRq7m2VPHpWKzrArUdsG7zPsN5yCmdwZIapNyOGy9eODNjBA\nrl+W\r\n=xryW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.5_1549283232309_0.012109429774033842","host":"s3://npm-registry-packages"}},"2.2.6":{"name":"@preply/video","version":"2.2.6","author":"","license":"ISC","_id":"@preply/video@2.2.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48687fc9cfcd119634b48133c6ff843e9c7b4400","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.6.tgz","fileCount":152,"integrity":"sha512-JGt/Z5kxny1Ru9/TNPK9W0U4AVHChbZgPVZfhzDl5cno9a10HMbmG6cvzk8vYj4YoCMsiMc7B+cOwLs9XdzHbw==","signatures":[{"sig":"MEUCIC+BBRWvDMAaLgGWULsB/38bIAlNu9nbNZKIVlOMlAGiAiEA3/sv4e9ptONJyTk1ZVWlMZZ+jcPH1IuoMH9upqfgIAE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8970239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWm9xCRA9TVsSAnZWagAAxNIQAIWUAt8c4EdwviX6bDpW\nKoYgqnoSCc377ZBCTF80LQCoHdZzlp+ck7+9guguaxT6rmrZg/F1CtJjLDv1\nYXrFEs0jarxfbQlKnQqRp50dhIMzDES/iN6X+sZbZPRoliZyPPBIIvnAeya+\nPfmw/ba6ZOAJPzQzmr118HLsltsHtR7Q+4bmOQxiDWrcEh3r2BHHKt8KICYJ\nocUSD5xH2GNxy8DQFkbPpjXjmYRTYJXaN1PBUeWnS3C0B9qBXyTokskgjkI5\nf+fgi6K2vNNzNUkBeh4JPL0mbiUEpkBM6xqZuBaJE26wzqUAfrhRTGR1tvFZ\nIVuHgj9q2EjdteSFflmJDYSoECxTd9qTVWAzctxpVL6RoRZ39636pg/gkrKh\nQ5/l+NYbqT2cEy1qcz+EKyMJqdyKBOKk94S8nr2FwSoEaFHyMndJfAenvM+e\nxtoDYiK3smIT09diZyeEl+EAXvaapmRy9NSpO8h5+dbtemmtEj0lMAxWzT/b\n7NG3QIwU/P831h5T02rBE+dfTIibMJTUD460LsueKHkN92HIwv8A2bE0jXS0\nk2Un48HHlOPnm4StOPv6tnTzeHS8MyblF828h+ygGZRH7nJtvQS6ZWizHcrV\nYZwMTFBoNMcTubq3+DdZI4lOySsZqmMV8JMYJid4sceAGFF0BrXv2FgVMBBt\nvHQ3\r\n=2182\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.4.1","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"11.1.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.6_1549430640744_0.6204728518559717","host":"s3://npm-registry-packages"}},"2.2.7":{"name":"@preply/video","version":"2.2.7","author":"","license":"ISC","_id":"@preply/video@2.2.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6bffb1c9cd15a140f535fe36cc25f2b01b4b1c6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.7.tgz","fileCount":152,"integrity":"sha512-dJC5cdUpxd+dZIBrHKLYoNXUqdybeGG9N2s8jddYuks1vj6iQNpUKG/rc3xQgTwnMMJ7EeBUmeUQbfvHSaPZaQ==","signatures":[{"sig":"MEYCIQD/sWK19DnBkQquygbSCttz4XsrFIgiVA0FHo2u7dBS3wIhAISAByZI7CHDLdw7Uq71bIjMDj0MadIBj7Sesk7OC9LA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8970239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWtrKCRA9TVsSAnZWagAATg8QAIlw1bPSnk8zWpYEJKxF\nKiTslF9jGPtQCM5XX+YbLD4Bwjjck5E+tooiCQxseKqK3U+zmxOBZ49xKgXx\nEjji20eaUH6oecrRLZl9C5ZINI+QbUHJmzq1bWD3QoYB4Ajp7wHYnSAAB8ga\nds1ZoQUhqaHEIeo/g09a4rwumc5Lue/9d5bJoT7a+83a4/8oOWnDp/oVUFsP\nSDajmmzsYejtqkUpUY9b0ntJVDV3D7jkdlmiq25vmrmvW/MX1brwDQG4Wq1W\nou9ASMazuA41K5l0ecVv/y9fLKbRlXESlbpRPFu8KE3/gISY+onmNfipTeVP\nLuhv43Ox3lPjSHn0TWvL8nlhJfHCFvubknINvON19nJE1xrAWt3N44evT3nb\nFP5NYhyd7sUWy1wr+FZUzE/YuryhoSxuSe7k8HpokXnIXLBIAvD45QDzHan0\nazkz87dutq+aIxDNsrfpqvlxxr4GNRmOuOmsAQbav3dQpYRqqi4zVhKm8vDm\nohijudOT12rzGm8qjVGJCz8XaDtJfqdxVeD2gWTmOyQdsJGSW4UUPnVnfgIf\nyCZQMG/OJmgprMqMvhWOzf7FzXVuqXAoemZTC59Pi4mbw5J+0WaiT+KnG23x\nhGagw/WPOLXc/c+1zkPPe2/+3oHgBkdzD55yGmgq4VEJZjw2FPMs4JQQK3oH\nGu81\r\n=fYKy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.7_1549458121948_0.8684670702076671","host":"s3://npm-registry-packages"}},"2.2.8":{"name":"@preply/video","version":"2.2.8","author":"","license":"ISC","_id":"@preply/video@2.2.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"12041e48e5645ee630ca28b24bc03651297e2c6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.8.tgz","fileCount":152,"integrity":"sha512-wJqLqirKmvNBx3iHPYX79wM3sWdDKCZI4QrG7mhTM2eg71od4jJfL9o/vLjAmMGDkm215RdVUYSn+bQB+GBeDg==","signatures":[{"sig":"MEUCIHOmw/7ULBcNrpPMWhXEtiCDRBer8FebN/XH7vdpR4d6AiEAovAz2FSBqEzdfoTm4LEuGcPyotepiihEjmmeto9WgpI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8978639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXZSnCRA9TVsSAnZWagAAi+wP/iFodK5Ndk0b9SOvmCuB\nMyislm5Omq4vhwyje4y6JqDAMhyOy6ASR4RltEi3I3J4BOzcxeEGdiOiR+st\n2GPm8g4XGhSQsixUU2UA5F6lqZjde2PuDI+tYNoDNH7djCc2SYcyG6FkhS+v\n3yzYrj0Qg/TVpl4G17PVkr/bMshCbRqAZbYcPslFzRq133w0vXAXuUKpu8Kr\n6HKKy3tdAKbFGlucjkDViJ9agsTw/N5cN62qfS8/FrKMR65eY3rHkQ+PZO+a\nJPnDqtvMUTqG8D1ZEWgvuhAQxe3HTTI5GT4ZDzCoprODNsfdWwq/J5GNS5XI\nSehpK/1/j7m8a2VwA0v2PVbPH23dCCdIJRif660BVtMLv2znaR97nOVQtpuL\nu/G5P3KSQzp4gYaaCQ5Naw1E4RcBvyuYNPw7NsBqRo7ucsFnu/6mb3eau7a9\nPQkRKLvNo86DW5vXdY4G6IYsIHwiaMd1OwOipMBx7v0uuvCnWRMdjPhokKGJ\n7wdY74w+2TFdXFbZ0y6/NsXS6ql86PcC8EYmzPJjNJ97///wVgFw61tXbygf\nmnYY7fxdnlPolB1xq+k+Rhr6YKlyZXV2z8jS5CYrF8Arvzr0DpPg/mZi/NBr\nkfzVzbIRsvXjg0sil6OPfpZpunqC2O035c3m75S907pbVoyifJYU8OTdBVFq\npld7\r\n=Oape\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.8_1549636774281_0.14090585698311275","host":"s3://npm-registry-packages"}},"2.2.9":{"name":"@preply/video","version":"2.2.9","author":"","license":"ISC","_id":"@preply/video@2.2.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"acb20b46b50d9255b0b7db1291e00ad305edfe6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.9.tgz","fileCount":152,"integrity":"sha512-rw9Mz8ASjR5kKfbsitEmUx86fN/DHw2k53SqChz+8tvqQLCsjZ527CfJYyxJPOrR0qTLSHNuSBPuM0DpCiEfsw==","signatures":[{"sig":"MEYCIQDcijhM8kfsCt8kmy+feKItZtdfBsOC/laUCwtSSiNJ7QIhANoq5BAeM3ZAiByukO6IygN+Csq+6A5HXX60eTKpS3VV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8977169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYVpNCRA9TVsSAnZWagAAOrcQAJMHK35iFMfvdF87ZkJ9\n4W5mKfc2s/nTPkp3NIUecZch7anvol6LCS6tXLcdyE7M8UJvegZ8RM5OH6Hg\nK0j91IwOXCt/6m7CQnVhZ0U6gyuplZyXZsTbawFXy0Kcnun/8OEt4ZQluiw9\nRJeOjY5JxHtFjkxNPZC4uoEQpBNRaKEe8U9APxXuo5+u2NJsmTWuFW2OADYI\nW1SYHeedrVCopWfQ8oPF3XHvFsCdTA8/g1qRdMA56g6Bq8aDlsCbrWfzTOy3\nQQOW7VwTDkfJeI9GIu/vnQl/dKGz0BocTTOwPLU+GGjdUDus+tcDWvcq2XKO\nylpzTZ2+Jmtu+ko8ZuTzXY+j549bIjKWs7FnZTHcp7p8RXzxcdOxnqCd+386\nEF60NRuphGzstAUIowiOlYXXMA7lcIC1WZZskUNI1Lby9kVIYFpbDwFlVW6j\necxBnM2EVEx4mPW5nL3W2M3AR3CIaow3N8z4eX7QczjQrjftnOhqgdCMZYWy\njg3nkOdk6vpGSh8cza9ekKG1iv1atAqIIGpWdwUdEpeWO5nAhioA6/SlKt24\nA0HmH2IJAwcORxMg7wrc+N3L9AsaLtzvBU3HMjh+6AIyZ5pGAu6BHxo/HvtA\n4wSg7HIQdFCnpvOuBLccpnCHgs4m97g3FcjgGZ/l6HPWFH/dz3Ma5Mmoh3Rr\ns9mU\r\n=oN7q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.9_1549883981020_0.9188788044327769","host":"s3://npm-registry-packages"}},"2.2.10":{"name":"@preply/video","version":"2.2.10","author":"","license":"ISC","_id":"@preply/video@2.2.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"35d52c7f9b99adbb0effec35205f3daa64923639","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.10.tgz","fileCount":152,"integrity":"sha512-YS5D7MUKLfP3YInxF1HVIlPhQQoXwG3L7JB7SidpSBoEoK7PUL/l+TpB3SvL/J4otUr30MyiDGLYWO8Ej0I72Q==","signatures":[{"sig":"MEUCIDXdaq/e3W8bwshBFpBd8ZT7Imp6/FRd3pDOcHT1P7WhAiEA+wdIMhb+GyR+k2feixe+N2wn0z7qoUfLZeIOOAT91bw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8976000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZq+yCRA9TVsSAnZWagAAcI4P/Am5hpVH00Y9kYyGwyfU\n0ewJ5uXJ7nfalx5PBzfxzafl6RvIvRs6ppI0NKt/y2zn++1FF2alyMpCyeds\nLRarsihuRj0uXLYZaHd+O3jFiMzcv+fDFnV+B4JeM8vvZIxLuJk9NegV3R9V\nOA2+HKiOId6l++rijYuw8rkWKrwpjA3lfR3RZuB4JR6IWB3B9+nTY5EqXmU+\n63chbDKf/+YIROgaErej9VEHJs1hOPKm0vdj3GDu61B7LvFWV6PwFVhCT1A2\ncuKwVpb0v1lT/z9MIvqb0Dr1SssbwLEU9o7p/0Gc0Soma0ESmSfjM8YPc/TB\nTB7/2g8f9ATQTA/slae4wFU9XmF3cDlHSnO9DWKTJJJ0mwb1H/09OkGWS7Jo\n+7FZxvp69SEzjIap91w7kddK3lPvbLPesv59s23AKJlLMLIoxutmHN4CJDaj\niWCWIdo5kIkQMC36tXqnPhTDhAgbX++so4na/cIrXBE6pFL78smpalznS+0h\nWbM/ICJ8vkL4zMzbkRHJSB6SWmOddPbExXeK0O2Au2qmlyLXCwOm71g2Ev+2\nB0g7lY6K5dN+wWe/ANP5GnzTAhkfkiQwoeUigSfiIoQ+cyZVfzwC2zNU/YIV\nBxt+KchXwa2SUKtCF9ICHY4Ry3iJ9FLf6x03HhZuSlWZ89rmCmPGmQpb/Pad\nDWrO\r\n=Y9Li\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.32","opentok-accelerator-core":"^2.0.14","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.10_1550233521446_0.19656137659001427","host":"s3://npm-registry-packages"}},"2.2.10-alpha.1":{"name":"@preply/video","version":"2.2.10-alpha.1","author":"","license":"ISC","_id":"@preply/video@2.2.10-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9cbab8ff2b88bc6ef395b4484a2029dbd02ef6a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.2.10-alpha.1.tgz","fileCount":152,"integrity":"sha512-lnq0ajHAvDqVVH/9Eb/JOUNp1hUXIcbW8ag9JuuG20pkrHLb99dDnuMrVEXreBfkFKFQdSeWOu31kTGlCHVqDw==","signatures":[{"sig":"MEUCIQDO8NUehdYz1nI+45muRt3mNPbWYgaYsbGf7jCw1FmlvQIgDLDkaX2Na8qMeI0qf9CQr1AxQfBusxqsTGJF3LyYizY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8967390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc28BpCRA9TVsSAnZWagAA8RQQAKNtQbtFdJ9MHqZ7frCA\n2NYnyj+khJmx3gKREUB0mRGyk2v0tpxfFK87/zHmvdOH4vf7+onhSqhrBA2W\n04zSYKhN52hWPPsJrY1+697Y4T43eAQ4jegf5sqIdiItZkmvU8EYIKb6YPIx\nBd2sesqRBPSeeMtcrbDqaKEDxCh6b5ycsflx0aKj/g/b3csTkzoHMZOyHgSn\ndSzwYtLClthV5VoTplAOR4ATZ3YCUQh4p1QeVtRPLOErHwv2o+qQ9jALqhk9\nmj/L5uoTeb/kZmBDhM4jxY71zC2OjRvhn0nBPmGyYNsvvMPcg9/3xVD5mdyr\nMcAtFNL5USHQS21pXfFU9IjenXguEzhCl9Oqo4T+59g1QGKLEylAnbQYm3pA\nnK74Y5rADT/p9Wl8jIs9UMjWK2xiDHOEValP8XVnBJj67ZGB1oT9lik54mjQ\n+bJEpaL5VYWokuXmThEv7erZAw5XHD3GFteUZ5DkuT6UJOZk2/7wFbNG/5Tv\nE0Qer1rv+JlkuKADyOe7QJVO3TWrhmTOqtVuBtJy0f4Jpp9BzJoeFPSwQZM0\nIgZoWKuE0UXci5Ke42DtoEE1BFcoGK9qe7ggFnNFc9Dop8XrHN7g2BgYs0tG\n3zKbDGO25/f8TsEX2hzy3+sQtzkuqITaZejkR3OTeAOlHajxXwgJH5pyWztt\nvFNe\r\n=HztA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"^3.1.10","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.2.10-alpha.1_1557905512514_0.2257670751468166","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@preply/video","version":"2.3.0","author":"","license":"ISC","_id":"@preply/video@2.3.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"560281c95143373b29fe6e1b7d5a424ce66f3f35","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.3.0.tgz","fileCount":152,"integrity":"sha512-RfeKRsVqA/xlDGs963OwNJZ3vHEc/BFGCWSEzNEArJkQhF8zh2k/ru35IcO4WWy1CpEDdiGs7s7oKg/PzNFkmQ==","signatures":[{"sig":"MEYCIQDtfOz5pWbhRE+SPwjd02zVR66aHHUcDTDVMPyYC8wL0wIhAMbRwTxjmZbFvzLyZZ5yOAH8DWiOg+TEWNly50NkW8iI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8967379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc4rGtCRA9TVsSAnZWagAAI40P/jtQHLMN49ZFfTEWrvvK\nxnpIprz0onQlX4/03mtWn8qmLb3KIr2VmrxyCwwfW//MZGvj/ZlWCi9rvAxs\n/hJgqBLEEWmei/qhtiFt4FxjlHwaJ+/58Kr2jQoKqJJoO7Cqvhh3ge3sPET7\nVEdiZgRf4icOSzU9rihUk0rjFcDOoqWTDzUJ2USy7i0qpxFihnmZrCOS3x47\ncgSJZk9LJNeSyey6SyslDypQ1lOe0jQ8OHRjkobVjtQVWhfhYj3wia3QDNBA\nGPOzPnRoWrcJZ25wznyq1JGUpL9nBEvbYN+tpHN4i8FNP4QVee1CGb3LBlUU\nhrtwBN0wK1xEpfU7jCEpgWBuNROrR+MlJBtDfU95B5S4+fCv/HUBc5kH3+dW\n6RQ7EintxEItT+qXdmcev8lECueQ0Bror2cIykWQPqrrIf/8vq0yOo04npoO\nvBGYw1fv6Ozcs4Ig1dkTqqfmLW+fB8zMmz2ax0R738L7vYwAEm/wtDBzK7gm\nu57FJp/JGR/FMaiHEKRGvxC8UpNJv3n/2h6bnE2t1Mp8cTjGCTjOpcOQ3SUI\nAVdgc33dO2CRknWdildrtVQN7D+T5Lp6qQzMELpPRFoD83KdSVhij+OJ5eOm\nnqtdHSd91E/fwQFjK3muGjllfRuPXqNWZxYcdyKqAZpqzdrtNWiGKUKhDf1E\nZW2z\r\n=gPu3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.3.0_1558360492073_0.050864643475051485","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@preply/video","version":"2.4.0","author":"","license":"ISC","_id":"@preply/video@2.4.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ac91fa390677593c89b82c9257829d0df77727d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.4.0.tgz","fileCount":167,"integrity":"sha512-KyqrFd7FktYgaMEiPHnif6Eadcla3eZx47sbwH6M43lTU3RwbRzUTlRndVtlIin/5MuGWWPzT1uWrYCmjdfdnw==","signatures":[{"sig":"MEUCIQCYAVBgVcd+1h+LINkJfkgF5dFDBYgWK9BabK9/o13g8AIgU4FFKPGzpkCMogFaXytZPJSEgXORE5KAglYuOBENmv0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9918991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc489XCRA9TVsSAnZWagAAvQEP/0wQQeyV636X4nCRmonP\nNXRskCtQe5e+4C053keQbPb6mUZ+8DiHtJtpXpT+EuO/GDHcsKNYjful1YB9\nGru9FzKxpRMHH8Loq6vBWKm0ta6qD572fKkLQmfEEG2cQyS5eu4771Z623N/\njbTbl7aOSWJ/+HChmL5ydNZfEPX4rlqv1t822GarCzeadGTYYyYr5NCwwkRR\nzDoEOOn6AO9spbDvTs05cjRN2sHHk6pqooMXnCH3e6W2fzN3sIxUe7hLSYwz\nuc940RzBmXMF7CA7CGZQcLFd4KysID6QY+1DyEYu+Q0t9ZJReasOOGuNPw1I\nUjCv5GDR8nfbL6WGBjZfqquOufW59+XvvddV1FhxXrnVM1X/QR1fKi5kOWzL\nzzy4mRzcQe/PqSBkQ3PYdIgIfPhyh1sijJarfIXwItjAaeReg5xRLzOVaMyu\nTHMYiKrkVcN4330N22Q7DQT9YwIpQi8jYdmcSnHNDiJGGBLMAhjDAplR6xk9\nYjdt1bcsvCAscA9K9QUsUPL7dwME/GeALBGvkUjqeZTkufgru7km4JBIT6y2\nmaGNFhju39fkfIOfFW0wjHY1Toq4nHNz907Myuka0i8zZQTe/tK6NAr7/dvz\n5ubgUornZYpynJUgYi5+NbWYWPGQ2bgjtGXdtB6c9J/baH5uDOB+TITAVUPc\nFa2R\r\n=dNHN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.4.0_1558433622951_0.2932285682236271","host":"s3://npm-registry-packages"}},"2.4.1":{"name":"@preply/video","version":"2.4.1","author":"","license":"ISC","_id":"@preply/video@2.4.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5d29be619d9ccbae5f199da421b326d1e5a16a85","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.4.1.tgz","fileCount":167,"integrity":"sha512-lciDWt/g39tLHxuOrNSzggvjvTzWXkfRGyRENfwrueEGCxoMKGB/Eg1p6dUbF7wYzxZ3WGxd3xLaAUBYn8xGWQ==","signatures":[{"sig":"MEUCIQCBGuq7S1RvgSmRCdTG9eQwlBpQ9l6LVuKlCWuG7RGqVgIgJEJ3qRLvMonLkr4lU+xWRqdEXL8mOAvLFYRZWzABFU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9934415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5SAoCRA9TVsSAnZWagAAQioP/3ZthpPC2S9EUT9DXcrx\n0vcqQvaaSeXbEYrXmEZ7q9rzXWx49UKfSro5QB4MUSwvlZVJj62Z9khy3cmP\nfpTWy+471R+Lvl+6nz5uB/9yL1MnVOsdouMHghCN26PsGB3lXwCGWv1Ve6Qo\nphWtNKiW1F8nmW/PtI6GQeJNMz93MQCpOAarlE+/vR6VpRpeDmDD+h+DZss8\nlxMvAKZm1KhWU5a6VHzAQ3fFNUPKYT40ARoUBmLQbGeh0bO9QSbf75Jf3gtE\nPcT6NhwK5zqKudhQy9rFzsgIek0V9EADe0kpHa6srf0q1cXEjfkzMPb7+bb1\nbVD9IZdR4ZihtPg2Lv3FsvKz+3ghWbCFTBrygU2VRLepJHt6YmnGv1KgAjoN\n1Q20gPJlHZoGvo/sytrWmHetbrYnLZPS+ot+WwQgzIOoFD5+kwGYYSMlq9M0\natC2uRkh0QSAIyepY5YmSwv2kabaMqQVWWXUb6FyNJtpQWqsFtkl/XwtqaP7\ntAeyiEk6wsEqFdkTdfRCFc3Km9k3VvgC/HmuWmfa0N0FMQodNrHghSHXigYh\nh8XTN9OK3rNJkQCTo+3MPaWslksXoMXseT3RDwAkB8X79moi7bGsbF+3gZ3L\nY21kmLDxAk965WT+z9u2mwK3HNC3wvcqO+y//Owsc+MsXIY5y4WhEt/5wOSt\nZ1qh\r\n=8wKp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.4.1_1558519848074_0.8218935796729758","host":"s3://npm-registry-packages"}},"2.4.4":{"name":"@preply/video","version":"2.4.4","author":"","license":"ISC","_id":"@preply/video@2.4.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"049990d3a2ae5d34b0831e418494b99cd85285b9","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.4.4.tgz","fileCount":167,"integrity":"sha512-dtGHAp3mNpyKQ6OQeZWXkmKk3ltZO+2nrGzomYnIFz8k5tP+jI+veD5ow1aMKJf4mvKPIQ8U8qAP8y1nmeuV9g==","signatures":[{"sig":"MEUCIC+77Pw5EhOnAnkLrRKXXLhwDSbSQ6A+pqItKqM4R+mJAiEA4EIsySriKInQWDRRJV7Zp1tgvnygLM2RRLAm4rUOy54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9936260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7p1ECRA9TVsSAnZWagAAE5IP/033Yp+GhMTJXXTDFyVz\nC3A2H4AqNgqZMZfDT9ASq/hxT/t1/4KVC/apNkhmXt/3i1t2HZfg8lcn0uvk\n8E7bQFH0jhRlPP3AwMNupjc/N4IDdiNHOrWDnlsc9OCtnncuVf2voLEF9KPr\nWJYwqy6Fm8rlyNGVMgD36kXbAzOgK0Lx3ie8BVuLlzbbQepO2IbNRen77VBG\nRRA+13O28A70WqG9hL5rBKFiV5erPi6+uUhImog/vUOUUVKkECLnNnmpiPwx\nGynrGTdF+FQxyQy+JQXm7jcKqccroKDbEvzTtUavhJZA8iZUC8DBrMbqoD4P\nicF0LWSNGBOBSJfuXdrnK0F5iF/jninzNj9uV6wesHjpY92pkBEbM7ATGtBc\nJUA7vQgpgTS/cam6M96IaMn7/dKfcbuHsuk/r2Kj8cCmgL1YgMxM33sTSHDk\n7CVOS5PtTxwYbbSDzJTbcWz6ZfJncpVVkwit2YLU4oePKg1pOUxJ6WrPd9wf\npdUpAazvdWxMMqViCZnHDTgVyMvJgkakweqqw5c1ERaLK1YbwbmInJ4o0rXz\nuTPSt4o4wDNR9FmstWCuHs6DZLia6m7y6ILVildcp5QmUNsphYJNv5AVqZYh\nMkC3CzOeOnXBSN2HK+/4fr36BQQ/SmglVrEQssTSBmELEnceOze6UbQNexIQ\nQAOt\r\n=qND5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^16.5.2","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"^16.5.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.4.4_1559141699609_0.11595659276742132","host":"s3://npm-registry-packages"}},"2.4.5":{"name":"@preply/video","version":"2.4.5","author":"","license":"ISC","_id":"@preply/video@2.4.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cf157d17e53adb912a916edfada9d2f76a2b5a45","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.4.5.tgz","fileCount":167,"integrity":"sha512-gr/4dblCFPO25q/OL6LXpYMElEdh+4/Xh6SUbI3c8uZsSRkZBrPPySFCkJDw29MIX/N0wO7VV/Rt7Qek/hkpog==","signatures":[{"sig":"MEYCIQCZ/mIqmlm5dhLbRcxec/xu9m8bqmjBLe3JwgUhX8Yq6AIhANks/M8Y9TjYRnfLknYRjgdofDngLOpO8HR4UaVBkcu/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9921117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc77cXCRA9TVsSAnZWagAANQ4P/AtjD2eeOSiSYT0F+n5Q\npReVt0q8qDPgRPrViP3mlEfY0e8psXKESMNOpEgNf4v+6tuW60RJ+GnqwnDc\nk8xU9satzioptXUxTDbLpqrbML52SSQKqHIef72uu1by7IegpRXhQ7BgqiJ2\nHsXzGoa6AceaWGsqKcEq7ELoKo6wbYJerUmo3PKEHy4r4HCYmQYxXtyTl7gd\noB9XO7O0w6/djuIn39s8dhXGMA6sRHY93OIDP4VtePO6jfZ2jfm6xZbk0cVq\nNyOtD+zEnDLKje4HY9e4K3/w1lpHucl1s1FeG7BOL0/7ZAq+zk7gCk5XSH9E\n1Hn4OPW+ByWUhCzi5uaFTQ+SFQqZaoeCFMMqoDIwGm8wepgeoO43VwdMmZIM\nLUjBNc4y2N7UtuHbqa0IJSoItcQqmtmuUAdhJdVkD4sDpkKF1hNMtgfAq3rq\nP2xGqXYnWg5678teHtFMbCX8RPTlsErAeqaivfzXA/k9Ss+a4Qqsm4otsIO8\nW0jn8qctoRJ5tBRMl9Z5dwZeznwax3KewN4n8x7syrC2wsPYYkEWSPyu5m+n\nHP31hB9gl1lodRa/aOKPKnnKhrwfBavb53JeUS00wlj/jx6oMogCYCu43tW8\nZOMWJS/KZJFWMng7zPAEgxkIeLyuNKfkUEeLXknx4Rg3emfseVT4W6US97GX\nDGd/\r\n=fKxP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.4.5_1559213846947_0.3442625241549657","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"@preply/video","version":"2.5.0","author":"","license":"ISC","_id":"@preply/video@2.5.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e1f8636060e7190b5f91c7b61c64cd5071f15352","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.5.0.tgz","fileCount":167,"integrity":"sha512-TJpbcBVGxczYqao1lDeHYfBXVQtoYSrTnZj2ADIfnNZkXHqGGnjLDAxwfzJ5HOMwdE5HCCLEuYs0OAKldBRnhA==","signatures":[{"sig":"MEYCIQDkAKZickcPCKDQLb9g3NjySYC+1SpNHViaMgwTrVs8FAIhALDe8LA1t565a2MhN4WSdUE8xa8BIhk3WW55NBe2O1Ri","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9887799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc+MAnCRA9TVsSAnZWagAAXSwP/Rh1f9ebiYnmDa0t8Cqh\nLQBqZFzny7Y+I0p5EC00FszqvraHtAqP+b3mlmKCDu1EORKir7oIzbZvVn+f\nauMYXwyvu3tFU/uKL0eiExMevq8FhNz9AzVcKzz+ovfZzxa4cM6gA3iVQ2e2\ni4f58sLuWXuBL3y7WUn5ch0SiV+kaRS0jILk8x5vvti5fNJKuYpu5BBxEVWA\nJiCcSG3WT5wM8WJNnK/VYZ+vhn1ligBg8ruHaABebUMoTHOk0BToRXvRQp/x\nVRRvO4CdY6NKxtFBeFOAu/xVnjR0521GInZmD7drkkGuRgfbQQhJay4LuCAj\ntvntCEmczxYhwQm4m5jYodTe8i/MLMbTly/WVyJ0q4OyabGEGl6hxuqySaFc\nQqBJdnVJyBlE3PpzppXHXz9jE0gXVJaj8QWye3z14ndqFuCySx1vcCr7aK+h\niD/s5vy68mwEro0rwIXgmSV9H2R1pv/PKLgDMSUehk9llwmoRctzONd7Uh3B\n311yeHTGKCb5R9wg9xhctQj/G5qYkAhFvuVphwdui/LgwNpErRFx/oUpWlx0\n7VNfVV1hfrL9UJU6iiWiDoFWWz1c7wrTLjkaveYeTdMusNj6Iqgu95nPRvpD\natWbNFVPbzLgqutpK4hRMs225vaJQppqa2DGCblV0sZtrQRmYbb8eqYjVIDJ\n2QGB\r\n=kjvN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.5.0_1559805985711_0.4438208470371452","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"@preply/video","version":"2.5.1","author":"","license":"ISC","_id":"@preply/video@2.5.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"849e3ad9c5c33de651c3b43688f36ef01299d6d6","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.5.1.tgz","fileCount":167,"integrity":"sha512-bZO84fsa+UhyORIjKD+UfJCtlhqfyLS6wV3P/wp95eV3vi2mgPEYeR0HzostfkdzByF1wkWEsQjpr+u40OBtXw==","signatures":[{"sig":"MEQCICGuB7980h1NMHunIDWIrVZbNUC8CVNN86i4iLKDOShOAiBi3nfZdkUEOYdfCsogVGn6ujkWvVtQZ0C7UkfA6Mv2dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9908769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAkEaCRA9TVsSAnZWagAAXHIP/2JyZi0CS5I8otS56mq7\nEBvfXtUmbye1K4aU7THq5q2YnOp8EA1SvMkXh1GEXthv7IxDBxytmz9HepZe\nFp0gucDs1pB+HwrOXROkUD4yWlIdIgxsCga4Cfx8uiSackxfYV3c7y4HKDOQ\nR971W4J4DRMpeh90mrlUkLcXrqKkire02eYqMqGdiXLJjKqz5jwkBIaBFKm2\nlG2SztxnUjDmxenw/zNhbbuvZaOKkS1mbbrPZd/74En9/uRZqUAgd6Mn8fEC\nKgjidlspzi6EVJRFzlPzQeTJB9FX3mQfStQUlP7Mq9d9dAxKQpRc+rUMxjw3\nZNX9RaRTX19SOnM8DH5sAWbKDeDl1SheS/Cm8zTyqEvKCEgQ8wsTVhs9uSIE\nopvM1Zomtv3NMpYYxPRdGshRvyC9AbDeUbwhvOjumZZgjDoQpoHBUTynK4uY\ndtiOeN+KNi+rVzhiWvhMLRJPFviY/k7ng1hK3kUMgmEPxgVuTkzxitUIpgP/\n5R5b7RZPsk9GtSdAXTamHh6e6L+G3dTfI4AdU2jobHT5hJIEVyPj6jCjFuOB\nGpVAuO/Kd4vIFnZ8P187j6lmCKwRsFT0nP4Qp9gMDfpTbOpLpBEwBkp5iFJ6\no+YscFMmQ0t+gH034CrLRTLDjEPoUzIZyIInG+A8yPXZEleLvxm4stO4j8JB\nXAkM\r\n=qvD5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.5.1_1560428824807_0.5374386203671078","host":"s3://npm-registry-packages"}},"2.5.2":{"name":"@preply/video","version":"2.5.2","author":"","license":"ISC","_id":"@preply/video@2.5.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"211b6993bccf3c33a2d0a7620904510701fa3838","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.5.2.tgz","fileCount":167,"integrity":"sha512-Oy+21Udx4qU0OlLuog8FG8B4L5mSMgSaO3/oGluqlB54KPaDcWVsz3yHREH4U0nryFDR/z/8exjmotcw0Nzk+w==","signatures":[{"sig":"MEUCIC2tU0BycdnGZH815XxQF1XZv7YH/CWdNjRvqEqfRgpKAiEA9hzKm6EFB3QJUgFoG8j0c+QTOAjLApm/L+bRR8CjeFQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9885744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEdxiCRA9TVsSAnZWagAAy2QP/14/Va25mcawLPTcC3yL\nBByiadTdqS+OMHKhcl/gF0Wm1ZmYXQ0l7yZGyGUYX2cB9swEF9rZ+LuAqDmi\nBeDzStfmxaLw8iN7ysv8dmFCQdjGq1oNNoFex9EskUpx+C9eaYL3yygEdCqJ\nSxE+sqESUlE+t6O428aj/8CBBhdT3gR08EPdl+b0seh0lk3ZK2ZlxW+AntuN\n4X6DIokWWc4iw1m0It0MgBqd+W6tk522kGVeuQ1XeXXHQzCs/uGpvsxJ7I24\n1Ejlz3MCagUzRVeBWbLuCNK2t/Rk0AMVbRNxH8VQUxlbnpaigJWQsaSnKubq\na2Z57zv0jSH45uj+P+yHV6SpHaF0S5pMmekz/25Fjdi7vXUOVMygnMYmYqZT\nOjXPiYQs7LjwCazt7m9ms1oxfoR/3jdAsnlNH7MKrnlXOAFjsA8tBs1L4fWZ\nv1Z0M38fpBxcMv84kU3I5xmnaSu215hMf+5hykRe1hI+WpsBN6fpFUM3delm\nT45k62/LWSPqWWeFr/GkPpEjJqLPE8SqSroT2aSDBkEh+gC1p61vsiMvA1x/\nvsWNJFtuWGZbYZZKb0BfDem7JrQ3RDaY7wHRIC781Xx5qj/kPtxiIWcgXu60\nh24eNXb42pFr4UyD00lHpa6ECuUqu6NbTqs5gyoYwLd0JGg0A4xLNKpPAIOM\nBxDX\r\n=sauV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.5.2_1561451617543_0.9922430030706937","host":"s3://npm-registry-packages"}},"2.5.3":{"name":"@preply/video","version":"2.5.3","author":"","license":"ISC","_id":"@preply/video@2.5.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d0b70230044bbbe71825eaf9ccdd05182d5e225b","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.5.3.tgz","fileCount":167,"integrity":"sha512-hDAiPT6tHWLpePSov9mxCYPCjVDdfBoSVxJlQy4Lb+0amb5OuOLJ7ApLdFz4WrcAbKdYPQKNzwO6MYDgz15I7Q==","signatures":[{"sig":"MEUCIApz+IKoes7bf9u+/zhBEto4hWgo7Blf9amZg9jaL9XgAiEAuXFxa3Ohp7qGo/eJKeryz0TmGQXH8p6BbQDGcmJVwus=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9824074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGcbUCRA9TVsSAnZWagAAI3YQAJ2ZvEkDR8tKhUVagIwf\nJ4v5GHjrS0YRhDtCr8rrsj92Ah1BF7niYe4d8RnOWKRUPTVqUP+t3KpWzm0w\nyd2SuF9vLtctrH8+7RjJ9WhzTctem26MYASbMp7WnPcZg21+11AeL+gGhgaq\nFwqG8wjTjnz6IPUxL5w4rRSYGS2nyam3DMzZckUUwWy0o8QKHTjy1GJVAb25\nVXUII9g1uzEufw7WXscgz+hz9GlWfkyqpHdt4KtoLDw2MzybcNT/KZpenqs2\nvf5WOcuor5SRkO2I5Nam2b5om53HKCmaRF0cK3tt6WQUBnQq+/MFvVsGan1W\nZ6SDgGpsUpt3p4TtKmOwAX+c7tN2aDLgRAQL74POfSImPh9X38rs2zQn6lg1\nEbfY0+66mxsZnDUEYeFdsbLvrE/1hcJ/drUkIFheGSy1ntaTe5fIat1zfAss\nRtWKZ4uSobN30ltGaYQIyjFkfEvOyaEGbe4EwzggoEysqDtA4u1uaITMa1R8\nZRWECJK9OfyyhfASOBqFUPnJgaHDXorulXZj5vGCyezBz8xINsVhN1UGFWQL\nL/KsYbRbcIykbT9dtR+GSf9XPnbiOZn2xo/nQ9MvmGOsNi3T2E9CPK6Ed1wU\no44hU/dFABuTPrfijy1+r3Sw/zuQGfm+CkS3az0sl+7jkUOKQ5qete0JXy3m\neOSG\r\n=6TrQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.5.3_1561970388196_0.5641219859674489","host":"s3://npm-registry-packages"}},"2.6.0":{"name":"@preply/video","version":"2.6.0","author":"","license":"ISC","_id":"@preply/video@2.6.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"71aca4883747c5ad8cc93658929470ec0a35ba39","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.0.tgz","fileCount":197,"integrity":"sha512-dlgn3ygjUxjzfPcEkZ/Gzq/i45e7axu8is1OOmYEHCglcta2XY8HLmvhdiWq4xsQ409gAV4w6BSidnSD6pCPiA==","signatures":[{"sig":"MEUCIQCM8Nzx+0N+ccrs0vD5t0fepwNIlH7k6k43e8Q9IT8UiAIgZxP1G3skVF2imvdL0dKIzcZmdUnvoETBhAmecUGWjsg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9942816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJyheCRA9TVsSAnZWagAADRwQAKP4LJoFdhK+6+mMfhAX\nQbCMzkdsSRKwFMaTa39u+gtYWv9Yt3Mp2TTa74WQDHIsGhmJJLvVzH8P8+BU\nYR4pTMXsh/++iOqHcU2n3VYE96Aa/0+sn5SeX4G0eRrKbCrkJC6rOE9Qi2Xk\nH1MU9ZrkhT7qK7nQaZGY0DTCzgpargRQYuTCOl+FqBmtXGzWNzngdKJ6We3l\nd3na45JqWKNWtx1M1vE3t1bmU1GTEAXDBuuaL7IxDB/+WArOJUpUjdNKZ3jR\nijtAp8sKPaWN9zf9S5+tlH4tRJyN99zIezYwsvosd6gne86kPozCs7Vwb4Sh\nvF4X89iU++9cA5l4ttkTwzM5WAniYxpeWwIrJoJ6VmSJRfrgXzLjjoOda5o4\nhkqEwwzogErBM039H3e6R+/qC+CRt7nVtRlUH8Jyo+FCvuROMcYOO4RFz07G\njdJc2rsyteT8f6rCh0Bq+gL7zajoC6CkF+XM6lMiRJcM+pEoz3UTi3cRHdry\n83JXiudJ0IQNr8Z31kbO62ETIkf+a5H6I4xK61w0Jxrtq3owr4qT4v12HZob\nRsRRLmAsPO9Pceqr/OgRi5IMrRMG+MmiHiVwy/T1gkc9hea/rgH68hbvNgxI\nQnlYhSAN2v0wGckQvUVdS0GZcowvH/GU+k7Ex+cCBNS/KphTEKB76lXBCNaG\nooBP\r\n=J/H6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.0_1562847325280_0.613247068421263","host":"s3://npm-registry-packages"}},"2.6.1":{"name":"@preply/video","version":"2.6.1","author":"","license":"ISC","_id":"@preply/video@2.6.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"bbbadd86f5e91764a62cd2bc0bf407541081169d","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.1.tgz","fileCount":197,"integrity":"sha512-5LSlZxkWnCrFYPyD2pNRIlfh+nPBztgdqBHqIpR+UkGU5fSkA6nsbmwwPPl5n6tgER5XppNfCv0nUxKAsGsSFw==","signatures":[{"sig":"MEYCIQDdtfZk223eYLNz/j19GYgJr+8F7VRec4PdR0NQNNQ6sQIhAM9nwYPHF8h8OTkY1psPqGVEfAwwDgNY5ro/ZBeGV8SE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10004826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKFuICRA9TVsSAnZWagAA5OQP/RBeGtoLaP3unWYaYBHO\nDYTMLhrKVFCmbJ620qikFVW77Kf8q8PhebcI0FI3k1qfkErNtBw4pQekJ4nj\n5eY3c8KCaK2xnfceUkR1n7FxEdKB1ixb0C2pQv3mGCMuPhrc7qt9LhDPcezV\n+h4hcNhSPkpwLOVZ8lr7ieKON0E4hKvmpWpKYZW5iowTYtmcKRaewZDoJQQU\n2dvzoydpvdkLuCTT3A5aD52C3YkzSwqe0HFQVJtkyDLLRcdriFUJjQSdEows\nyAmRCwVdfGesuCvM1ZpilSxNVPQS619e8UoIdj0Cr/1KZUzFY9tKk5s2CkKX\n7faRXPj3NcAYxsNNerXwtEt+4AkbKu9AxCoCqB7vmJzKpEnZA5DZnIOhZCWO\nqAyuN8pU2dDFTbn4TeSYNtEfmcPpWNvohhuPsgsUiVFYR/idKFS58CFZZleP\nMAMNAmB/wrUxARcSjVQWd8C/RcOlhJU3/cgAY4hykLANqnckCwPePugub3EK\nxSeFXgQ8GMgYHHpBKp7YDaRcR9vvwVIFIPm3uz54FArDfuZqvaa09+w4QMd3\nlD+IF8ZebbzKaeWgqUg4Af+XqKdWsA9xvy2EVnBxYbhaM23I/q3t6F9kEgFb\nSyGMzsAGb9g2DH3YVKX6Gf4pdpUmsQ8csWlVDQHUeREvmYe5SbcHF82g0/kE\npmMB\r\n=ESNg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.1_1562925958724_0.7227156061297046","host":"s3://npm-registry-packages"}},"2.6.2-alpha.1":{"name":"@preply/video","version":"2.6.2-alpha.1","author":"","license":"ISC","_id":"@preply/video@2.6.2-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2ba4fcc186188ce2f7e2ccd70f09ecda82a13e6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.2-alpha.1.tgz","fileCount":197,"integrity":"sha512-bsjTQC5IstprgOLZcXTtaWNcL08BGU1+4wxNSXtn7BuzI1Nvl3Nk6ksleRVF90dA40H+dgNEBxDNzjYdDo5Vdg==","signatures":[{"sig":"MEUCIGMba3VxHFPcVwnjEnPYxqh5ekeecX7heHVmaDU+6aSXAiEAhebouhaPn4G9DQvFlO5mE74mrqYIp+uklTk6ytbucu0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10087409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMY98CRA9TVsSAnZWagAAb9sQAJvepLHj7iTGvBYnRYoH\nZpUUAv0UPqtuJ4WITNN0SExQPpRj88FONJlJwCrjNdyUV61YdDuXAhsAdA8b\nyBTVGZjSrTz6IpF2kCnv0brTg+j6uq9zgVngWI3ArVOZu9vzLVldJbfS/NcP\nqO+o/aQ3jtaIkNc1Mfn3t/R7E8vG2HGTaM/Sr37ZO/h77paGibgsFsj4RybY\n0XVz7VIH+bdWx261264ozSN+H8nDisMd4mZISvMgR5hAXpOsst4ZfFAWoIOq\n6F3r8oY65qzKH8yf5bPJVlvzMJNDdwf+8S0iRZzEp886JG51/VqxmKgoOpgy\nA2GECDzM0aA+vyafkBMlvRE/epKP/qdpEyINqffDeHwRjrEct8qc0pio/zq1\n32xHnTJWXuV3kkyuhzmhBxRfNqDGfb29dvLIor2toFjH5+xkUBl3d9SzT5B2\nJinGR/7x+POTbWvaNzBKQ61iEu9XLxLkYB6SQlDSmcEEfEH7tNMcyP3hGj4b\nzPngbnbjoGXnmMWKLZzGNC9Rv6ks1WbzE2z3EkwTfQrNwyzJLBl+qZJcd+vq\nN1arXUCPKwCUwF2AXRJQXvBKTHcawatReEjBCwflunTjWSukogS9gl50KBv9\nlcauRXS/t2XPN+XIjgxkUIdk8YiUGyYJNwmdlrcg/Qk8gzc7Y90UmofNPkjX\n5Cl2\r\n=lfqE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.2-alpha.1_1563529082856_0.6978513555639889","host":"s3://npm-registry-packages"}},"2.6.2":{"name":"@preply/video","version":"2.6.2","author":"","license":"ISC","_id":"@preply/video@2.6.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dfbd8264ccdbeac37780be85353d66ba5d2593be","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.2.tgz","fileCount":197,"integrity":"sha512-yRSg99/MA6vwfh4mUE1smM9yVW4dmn7Eboh+n0EsHHsn5x/0Z+ePVnSaMUYtIHoGzgfEXHcpdsWBKznDkOiiMQ==","signatures":[{"sig":"MEUCIQDBSezP8mnT8YPN0gwyMm18R446pAOj9z/7GN3ormeZMAIgdVi99RqJXelaZXhL8R1FxFum2jDjjWSIL8G5JPxp8E0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10075851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMaPuCRA9TVsSAnZWagAANJkP/Ayou1v4pHd1TbQ44Y6m\nwoBdQ+XahhZHjpGHUUUN3tJMhmeqBFpkPXTrvfmenXUxw6D+Y6lzf22DvlOs\nE+22ScBVw3HXt4DAoSNn0NCyHO0UldqAC6nUYYeTM8/rNR9mn8alXa7NCrf3\n/JBGskg0zSvyafQsfRN2vutj3tbMRVa67FjzNP8880bXYSazVYzUAnGYxOQC\nz1yxU3cYCaYwat3to/YglYKgGCecCUTKMtOtYEY3H3da3CBZfPKBiC213kBx\nxsmLLrSCPRqP/7U1oB1/dVyIY0PjG0WS8u9HDaAyM1mTclEkm/b8kR5dN8O8\nuIj1pAAmk0xZX6TihmKqZ+7xYaFs5wy1Ck3FiYyr/jsUZhVXfAPyQ+gCbnoc\n58DzNvp6x7ZvOx7OKlf5CF0PZJAKYvCZKDtlrYBrxChL5SwpCo8HXROmRf28\nkZJney+zBpuXpGcbCU7ZcDfQSs5qh01cNXL8k0eAEmgWf/5nNev6U/JIbHUD\n1tZxRRAkUBTB3mLRErk+amvVRo0JYxtoI4IzraAsjvopgJL+zNIrbzg10lZA\n23EA5uHdRLlKWM3xj1RyQcUwieQarjqirtV5+k8ClhB/MMdx7hBqK+UvEgol\n+S/OzTQq+bpjoh581eLZkXowaQ4wfw6v5KSJ9XIqVwes8r0CJ/nyj+YYwyJw\n7inZ\r\n=S7ZW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.2_1563534317480_0.02881831919167488","host":"s3://npm-registry-packages"}},"2.6.3":{"name":"@preply/video","version":"2.6.3","author":"","license":"ISC","_id":"@preply/video@2.6.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"edf88f63706826788c8e9d375297431da07eeaf4","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.3.tgz","fileCount":197,"integrity":"sha512-QUY/Jv93nAIBiXAxUMcNLvYxuaevWoOlbcVMFPnFHqkFvjh2gVuiuRbPwmG7oOxNL9ZcUd6U9KW+wioOdyjztg==","signatures":[{"sig":"MEUCIQDpng17Q+1uZnuLSw0vaVCr6sQLGeya0ynmdDgbzFHnIgIgU0KgtrM7ZfNxi5hkb3BgQAbsOYS5j2a0HA6KsramaI4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10073664,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNYhiCRA9TVsSAnZWagAA6FMP/3vMtEhAWSgziZb89IoT\nyoMswT3v8K4etpny0aK0j+JhqBdnzeP16uCrZow4gfSZevDJ51Ps2z9z/Yq6\noCHAzt3H851K/dXR774tscBhPR8AYLBRFQc/pybOGAa8/pZ4pWR8IhS0nCZW\nZdpLnKBhOVKRZoI4rV5sTFCHcU+JsOK9C3n/RmBhky0moPyu9XgczjXHAw87\nFlD6qn2imjX8oE+0gKbvs572+hJkHbPsPmwv86h42xF3SBsX+T/X8KjbMyf+\n15mLkbApxxfWD4x89UyO4Qb2RBOANXfXvik8qY5xqvS8PbaHs3KtQxgJ+vDv\nMr112R57iG8nQlBuOjmu+J4gbRJNVIy/mhXWyoACNwiMyQ3JZ7A04Ycn3xH5\na1xzclzYxShgrimn/oxZQaABKPC0MeNdC/yjeTAtCVy0/b0lq1KOsYueWEa+\ndMnoAOUVpbcEY8nxLJgiFuKn4NCUy0Nebjdg2qwZh/XbrfT5Txn2pk8SdKfw\nZh5Zg9PN0bSe7NMngiM+SX1twZy2aHaRdEuolhRi/i/6VvG/dey74Vou7P3G\nI56vRUh/kLwGTcooFx+O9VfgIM6SF8a/K4sDYye2xnkfE17ppUfaIBxCkRIJ\nTufRhF7SHu1M/ftRtkoHT6grB3FM9fb3bCD1eU9Sve7RM3wy4RX2A3zdn5Od\n1DuL\r\n=WXkI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"^4.0.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.3_1563789409758_0.4134249190917316","host":"s3://npm-registry-packages"}},"2.6.5":{"name":"@preply/video","version":"2.6.5","author":"","license":"ISC","_id":"@preply/video@2.6.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3b92ea18ad3cc0df2bc2013d400f6da2dbb92cb4","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.5.tgz","fileCount":197,"integrity":"sha512-WQHsmrb5ttBNEKCqEUH3hBrJyxpj1dJd86qmwWe/Uh9ehMHlOyBlbkpBeTAP+vpLWHMMcd+Xm49kuHlMR5rceA==","signatures":[{"sig":"MEYCIQDPsOrwXnqEMf6QUS21DDCGXL4/1Ynv5wbNDQ29qEKmhgIhAPVCnNoI94+Wbd9ahKcoNpDAVyVJd9JviCyV3PFb1xA9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10111393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOWr2CRA9TVsSAnZWagAAp78QAKHK/w7WVycQUTf1v9MN\n8xpkULSqLfaH6NWXY7994t/o/ZziCVHeconMOCjJ+gUOL9OvZD/qujcwI6HI\nzgYkUNMzV5QeR4TNPaG3UpaaXCDmP3OLseiFEhVomRndlsASrCdsrd8lnAC6\npqSWGN3d4ZNCZXk7tFJ2GDkF3wy3eMSk0nURA/KTfsRdpx2t6384KiIlVr4+\ne0+t/cZnqXEhSLIMn3ngY7qhNCVdI6K3i1bkpS+q5MB5I+W0QK9d4Iqv1B/X\n4BK24LxQopVlkOtqwYtuh1bsuk978WaRUYHY7QZXDkyuKDZgSYfJ1ceGwBrU\nYPxBfoMJlwO3ketu04LOPDkdJJjXB1D1jvUEZUsITY1bvMFnoH0bRhO7Llq7\nC/RwSoJYF3yassnIW3Ar5WFpzYRvznVghwWSx0fl2nMBqYo4UJUufyof4pUp\nqidNnu1qjPEGf/5h/iql5F4ObEQJrVRoWuZcfdXMO+ZPiLP7XMfbU6SCjPYR\n2lQVHrEIUR+SoD/LHJj+CRwQDksr+ADZwct6B5ivR5TybbCPo6BoS8M7V8nh\nWXuV+7qMlSjronLWk41sFntidyltZ5PT5r3wl4m9gWi3jg+RXsUSI4Eq93PA\nKiMG3QUuvfaXcx0rzwUNfaP/EHnoCgIet1mDGV4a0WcKGMlliF8yWtT/rDZI\nwWEM\r\n=n4B5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.5_1564044021481_0.542812597308675","host":"s3://npm-registry-packages"}},"2.6.6":{"name":"@preply/video","version":"2.6.6","author":"","license":"ISC","_id":"@preply/video@2.6.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0faa5cb323ff9e22c039ad85b94d960a62022936","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.6.tgz","fileCount":197,"integrity":"sha512-Rr5KwfPlD9Vqoi0F+445bsD/CFtIIGw/M24Vs08D1lJO9E0IP6Y1v8kgP0eWz0ghWgKwNv1nVbrwDUy0BRm39A==","signatures":[{"sig":"MEYCIQCqh6TTFD0PcrQGbvCKj1glqYMdTphoVOfuwBBT5uEv2gIhAOMnflH7g5ATpQtmdnodnW8QEV3DqnY+UnXFh4W2ISH/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10138399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOYexCRA9TVsSAnZWagAAyp4P+waCNCCHx1JKBREjo5Xn\nLN/upwcAJf4JscXpP/T4T5NONNaOA/hIaBASMFdnun/D08vCeyzhK4BjfobN\n46R/tG6tNn8seSGejbSLRnpZUnvATlBTH3QmmS3Y2DeGFuWx/uOAc7yvIlxB\njlTysd6RT7IxguePP4KeIy4Tp+gHPwpq9REy0P2HUoZgT1tDXzm+T7tw7Mhz\nefZr1RxWNFXO7ZVZQf2MyG1peew+xNYRbEk+jGNf7NCew4lLVP1eUYn7Q3n3\nCEtfYxJrCnWkQerEjmXS98/3fK9MeuCnIg7MBCgG4772hFLEncEc5o95cmE3\nnmQAWt1OqzlLe4gxjGabN1nS8H1PaLRvWO+qhCYmdPA/qfgwzLCw/4Wa9MHf\nRbB3XtEBiv0RvLFe1Ps5Zf4gScZWka65skkwOon4UOSPawk3Ufc3eQC4DaxU\nOE2THxcqmMJ2flEUwk1KXLNR0dIT0PUHrpjQuq1tbbv+T/VVdUAc6u/uFC5G\nHEhOIU2VZJY2vl8/ZWbGaWFcvpCSY03s9POgtL9Pnh068FD71LteXiFp43Wj\nHcMMdzeb4BUTTtd52gSuKBFI7lCQ3+uT47mOdK+OpUeIUWDqVZ0Ug55HXBv5\ncJoh0PQzMXTcPEUza2OiGzwoobWlGFpAYSU+fZGrAm7o5n7AAhNsONJHABEU\nkSja\r\n=HO2Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.6_1564051376794_0.9430089879348871","host":"s3://npm-registry-packages"}},"2.6.7":{"name":"@preply/video","version":"2.6.7","author":"","license":"ISC","_id":"@preply/video@2.6.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"90221e1efbedb438a8e49c77c24920d8579146af","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.7.tgz","fileCount":197,"integrity":"sha512-JIlXKbldb6fLtRdwRL0JHbE47LqWYDwxvPEKU2gGQ20U7qmqKuKBOTtBmncddSWGq6OmTY1yCt0J9SF9ka2K8A==","signatures":[{"sig":"MEUCIFXTkeJBeM/rlU3Ke68QDLVZBHuwUHZzm0enDhvHaT3UAiEAmzPA/983Y6uwlIkBrBuNoyTogKn5382C96nx6Qn9Vl0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10148599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOacZCRA9TVsSAnZWagAAYUkP/jhRGJ73J4T6pYghL83j\nYpL5yAL9TiAVHNbOpyGEGoTS39VPF+z4g86EHa3G6ILuDCypYVJq/atxCmSY\n0V6ZzekvQ/jbUA6Rd4L22NbQpgzS1G2E0wmuPeHIrSTbHUs5RaVHjx6U3tax\nNGsO7mrIZSRq5naK/pKJoURZ+I1Ag4hNPKtjUzRdv44enUIe423/UUitQiLh\n+Z4PbPxcm0qRCi0dI3KjAgnd4StIt6GcuQgTXOXKI+tZZbAweWS4aU5He6xz\nvVMW8MVVllXTDXyM0RE0rA9c64r2RTTfNBPnGjSQx1O6pEEHixJgRp7oGSbI\nX4/YZCAAm+oilUCect79unKxyYGQZjU8imiedgk5Oa8dpZS1WvWJyt8Uft17\nsNKNfsPmOfCumTZt0xPX9kTjVRz73I8xaeRPuaE8l1DraKiE04j0CT2cqZRq\nPBON4Kb3lSJYq3h86c7EMPOvr2sln38yB4F40P/sOES5lyQLkDPEw9ZUySAm\n3+FSLDVExnFaJbZkuDwyt4l/MwMYg8K6vV4+hBoz8nYN6iSabuNQ83t24Nz/\nEo5xtFkVSaIXRKA8pxF3qX5BOt8u4oDJdSzi0++KRARYdtG6qNQIFi6MAO89\n2G1FVJ8rhmXpcv3CCvS63BWdaqnat2g4uBpt54sBmLx8DqoitN70QVt1PmME\nA9uw\r\n=jb1Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.7_1564059416333_0.1020465481753765","host":"s3://npm-registry-packages"}},"2.6.8":{"name":"@preply/video","version":"2.6.8","author":"","license":"ISC","_id":"@preply/video@2.6.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"594b1747e3858a2549f6d6993a9128aa01fdf2a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.8.tgz","fileCount":197,"integrity":"sha512-1/NU8B/oeCzte3h3DWqII29mUY7W96T+buL0a7LrXUqnk45X2tudgnVJ3Gu+7Wm1xMPLL0Y8wWAUyA17pxC4EQ==","signatures":[{"sig":"MEUCICg66j3rHURq3W4DsDgBKrn7jhy66/+cSqA+dI6YpJvLAiEA/5Xpw3SneS2EwVOaiZg4+gWqAKXKZCnFO10wT34qXIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10153249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOqK+CRA9TVsSAnZWagAACOgP/RQWYiT75YbMUSCJxX6S\nXLSnwMIkG0oGfgd7dE106VzZW4jpxig6iJfQoXvLvJeXCRcPcFKy/eh6Zxd5\nE65VeNQsNLPaUq34naSpqDFgNR7MXHYTs8Ow/gt0MOWy+BV06iTeSHAE2KX2\nTJNUVYKHVFcaJkJk3Fkd/+SuQ9MyCy1HL8FPzhQnq4zooAetWyPiDr1J099D\nRroI7je7bWw7nWL2geOUPmB1Aa7U/VcitZAydQ9stL7/gTkX1r82FUvnPOnx\nBrXmHXhan7ZlXToDpK/ZpgF7G62v0UTlyESVPX92tM4W1+vH+GOawlFwrTfF\nJkzeG2ubtKlvKffEfD3/nV7idr6kFlhn3vm/DJ/VnRvPM8UdIdrGoh/2i94X\nqecFqDM0SWe3Vuxw4YDDnmqAL+e4NQ1oBcGbrlEcgWTEA5gdo0UqPs9fBE9P\nROGfWqEGhc7kNl8j1cb9tE2sPlTOhSaD/NULIY8lfG5AXSPwiHCn52R3ivV5\nawdNeaq6B5/NB6THpLHTluPECYdT/SWnfr2Bo2eVMvOM+98cotG96JF8289a\n71osbdqFDlNwQlJVuYuoM76dZRfhwPhEVzfV1vB6BBSD9HTx8Yy9i0FX8U8T\nK1P2FqAT1TIMrwpgSDl2MYy6rSVieAgKQr3yoJpcGWLFpdQpTY8qUCI+5Ox5\n0E8D\r\n=EymF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.8_1564123837443_0.5563573037366005","host":"s3://npm-registry-packages"}},"2.6.9":{"name":"@preply/video","version":"2.6.9","author":"","license":"ISC","_id":"@preply/video@2.6.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"237dde66d8390602df328fddde4c5a0ead58f9f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.6.9.tgz","fileCount":197,"integrity":"sha512-Pzt4XxkCAY+3755g7giCYuYQ14CsmHY8rykWElQ1uMOj1IGWcsBW3JTFVhGgY7EygrkKN7SDeUhQzQp+kizirg==","signatures":[{"sig":"MEYCIQDO3UjKRxqfkZKttY/a7e+zk35E5Va38yVCOkWeLbqdNwIhAP4we7bDq1DsJHJLNnO/TKRTScT40j7PiOcUSmPpcJu5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10156527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQqBVCRA9TVsSAnZWagAAlWEP/0X36khUGTFts39/E+y+\ngk1iE5NLi+pH8FAEg4k+LP3pUUpM2LFZNNL1Ig1E6KkXcrnrRHiDUFrmhqI5\nTOL0L7wFu6PWJ7Dg4cJy6CD8TzGACqYwO+ATuLvFOL0+xpBfK77aQE0R90NK\nOegBRlBvfBosSPdW0p09Ih9IMSqLniD0wkGRHxtLWMHjvbi/sUntKfHcNXz+\nODxCuXTSYDVs/cHusbIK5DE7wYjMO2RbR/7zLsnfQVUj81sMfHO6H+QOumgP\nGUEc5o6+OS7FOrl1JS+XxXOGbKTLcbgDx+an6oR/abYEVXCyrwNU/3cEXmRS\nheNVLApgqmF5Z9DFkIM3+PrWVTXn6um/rDK1Tj3bq4szpAZ8cQricvOV+UZe\nbNdANeXfAfE6uR6Q/whtWJAJ0MsLOc0+fDdJXX8V0ypeyhQc79bymzeOIyEG\na1jZ3p6S0m4NQ+mdcrraIdT4+hgnJDfleOecBulM4nbVtTqDp0ftlwjlRMTC\nGsRyl4NUQysGRfgPnSfLRqafxF09LYv1Fd+ftNNlQXnUYCZz47lW4A2TKnyb\nCO9NhL7jioychjPeaBKH6xe6LYeXzvUkFZF962PeFFEAasoim8OYYcQC03CL\nVK5tKB16KayJaFpZQGLMssl6Q5Zjm/am/BLXxaLXsA2C78sJYAFkYmMhd/cH\n2bwt\r\n=kS2G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","raven-js":"^3.20.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","moment-timezone":"^0.5.23","raven-for-redux":"^1.1.1","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.6.9_1564647508407_0.3138768669257277","host":"s3://npm-registry-packages"}},"2.7.0":{"name":"@preply/video","version":"2.7.0","author":"","license":"ISC","_id":"@preply/video@2.7.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a33c0607481d96c160382aa435b7dfe8595de768","tarball":"https://registry.npmjs.org/@preply/video/-/video-2.7.0.tgz","fileCount":197,"integrity":"sha512-N4EXqdhr32FTlQIJb1q7IvQEqF5yCq3rZOAV0qr7I02FcwtATL11qgsu4zjVlsxlxiBjy20hhpqfs6wEdHHSXA==","signatures":[{"sig":"MEYCIQD9ZzkzlVvodaQZXT7uUzWMmRgFaDHjhUDOqHx22DZMZgIhALRv8PVBPipQ3tOl1O7/Nm0LNYvKY0GGLX10XjS7GRw/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10248828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQt3+CRA9TVsSAnZWagAAO3sP/jAME3kDPMm0NqfCmKC1\nRmisZ/XGInXApKTjKaF7LcxfnkGDB2T/ENDa7ZPmHLZQg/185GeaucQ0GN7a\nkCzyo5cDHdDy2RBO6nn1Qvsgjqn/Q3pNNipz49BPZXyGdNrr7lAB050NGNYo\nszpPYiy5jPNwDinGgyMyOsqfYzykm7A2gY63DAWRU3knVVO7w4xjVasEWirM\n3nbC5SEbFXWCDghKCfoOv7EFP3q3I6WaQXkfM7pkZ03OBvIBZRXK25hS7TY8\nvj5F692SQlHpXoMo6qoHi57mwtrk234Pkf5scTw6hgQlRqK4JziVV1wVnECh\nLoxxEFmZf31urgKe447Q2yTdcrWRx/I35HL1ojx+Uo6fu2EkoRcn5LT59uKD\nDeayyHAOfD21NQp5UZybB5rX6vS211stUBlrhuzdVFJnUNG/SgWrOtyCaizo\ny0Qi84xtcCVaKD1uEzEW6EIf1yBwejzEmVy7AI+NNBKqijVmRXRXzvpCjiNB\n1WXMe1sIiln3OnQlSTRMt6fAsMmqZSSkAnqozwjudwWBs5ei59NSR2DhkgVE\nvNu+WNSQzOcrM96e8RxYnIaBhrDO1uZsylGk5G7JsVqRmtUtygBxpq6ATtdA\nGqUAnnUSDlUPy2F0tlBs1zqA07hhc9Q5iqoau6C4BsWKSZwLoslIugZ55edl\noJSD\r\n=+JGB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"webpack --mode production --env.hostEndpoint=prod","start":"webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","start:local":"webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","translations":"webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_2.7.0_1564663293606_0.26556042120938006","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@preply/video","version":"3.0.1","author":"","license":"ISC","_id":"@preply/video@3.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a3332a4be98ea05a314f2fda1e63ac62616c240","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.1.tgz","fileCount":197,"integrity":"sha512-xapFVd/md1nPiReE61u9vcIR4l9asD47uT5slJ5zdU68Xat2/M2pK1AG5rZpB5YzJvjCybNwhU3Ut/uxKZseUQ==","signatures":[{"sig":"MEQCID74Mt7eCX7g1mm0tb1jqbneiBfvSKtnDo6ltGt6xvBoAiBA1+M/NRdPyp2J/RC9AlEdqe+NojxwSf+LzA9fqmT1Qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10205997,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdU+7ECRA9TVsSAnZWagAAlQsQAIUNFI31AhSNM74CMnlc\n7BPztD4wghbdquIICjDwWfVC4sZVQWCke4c4RXvOq6hrraqTV9nbMn34NVTN\ncEZpCXYv/d/idc9dKEavBXIq2xd0O/n0FPY62cluYUkb4Sn4Cajaegifciba\naYVITGfQaAY3API8lTn0O1z/k9aBNTPf5p29SwJRAsiGeMUQSopimzlP0c4+\nDstEsf+tcqm2CvPcrFMv8rNIZGcNGGTxxORijTSIsoqp1A+MU1f8q7f+s/GU\nS+IauYItFdT7l4zoHPI3eY9N76uJ9ALSP+9ohA7rXT+XyF6kH2P0frNyfp2m\ncwJJIuN7rcVBsM24gIXepo8vayaB2fJmTX/24eGUcIWDNjTsQLVWPG3kMEMg\nKvpcLcxVt4spu9PhMAv39bM5cclF+NfRmUxXBe+cizdkiNg29k0OxmBIQXuv\npEGaRdDWD5tna7S77JnEpkSXbl4UcD66wg0Fuzic+YwFABDvmi08ShN2J1Zh\nnhrosgIFl97uRT1aFH56RUVsl7FgjEAV16BtRYfCP1QW9DOkZYDloD++no/M\ns5gvE2gSlbRtrt7Okibu9rthZQm1AWvdVLKZGp277AZjNzqU/P1dGKb7B3HP\nitxtwH9q8BBQIEjy8E3oOc0kz9k8EH195veMOSzcVugvlrunj+344LP0dhJI\nL04X\r\n=nlmS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../monolith/frontend/schema.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.1_1565781699795_0.02627247429315882","host":"s3://npm-registry-packages"}},"3.0.2-alfa.0":{"name":"@preply/video","version":"3.0.2-alfa.0","author":"","license":"ISC","_id":"@preply/video@3.0.2-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8431f4dc70b542885c12433847124999eeb26124","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.2-alfa.0.tgz","fileCount":197,"integrity":"sha512-5c8jKdmKlVNCcxsljA3srgd505MwxEgneHDOkiu5g+0aXU8PafPPQYmr6zVkPAyLMEjx5YbTav6XF8GngqX+4Q==","signatures":[{"sig":"MEUCIQDbeClHpOA3Q7t0IZ96Q8yx+sy/KVU3bY8OR0Xtyevw2gIgTFXpkK321TZtwdNhiFmr8dEp0fQwEGmqM1iT57OjTqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10209124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVAc7CRA9TVsSAnZWagAAIO0QAIyiK9W1kmCDATOcW+rr\nxp5ALQouxASWADSpT47BQEZxmNL7Fvw1s7Vr9/3xjHq7G9Py+TKa0Ijkrxoa\nBf6yKqcDrk+dWiLAXHOlG5Aezmynkt4PsAW/CRTfkfH1NZckDpKwrD/oXR/n\nSlGvMhMdQvZaywRssKLtlnXHBdwVhYDhdS6Tw+O1f0d1Kn6pFznvwFCwEtFD\nZaCA7bs79zu1MLlLmCIG8ByAT1QWhmmPJR5b0KYS3uEtk9CDx00W9N1mptqn\ndIZX9o/TdCTFVSB1GTIqKM+VZbpk82i25WmmHuRAruFuJq+mVvR5wnAg8WWw\ntMsb3Uo6DkFOAcK5cRcx+lI09OIZ7IfLwxSYtQeedmxTQhKxDkLXqzth94P+\nlpucCecFzIpSqmsCt8+ypoXM45esTp8Luso2V824PFyEOOZ2w3EFdYHfgkDv\nD37pj9pnmAS8XgcAMAT5Ndixc7QjLCeo0/Cq/X+I9AUC7cJOr3pqekBnL+st\nqvFVOIDx8XAXr+ojP4ETV2oEqDBvnTmEn3NJVGGX/UBsfNtmDewn97nn1z+t\n0Sh3wYOX0ocqIPl61kT2SvlU8lB7Bw1wgpqCnHSLCRTjTIyGaJsMWJobZgIy\ndRJx87YbVPIfsUPOMPvRtMiQWQoq0ren/C2Jx73hjxFG3wf/tfXMRHt10tfa\nqW/J\r\n=SlGg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../monolith/frontend/schema.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.2-alfa.0_1565787962894_0.47647866286370655","host":"s3://npm-registry-packages"}},"3.0.2-alfa.1":{"name":"@preply/video","version":"3.0.2-alfa.1","author":"","license":"ISC","_id":"@preply/video@3.0.2-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"33cab8b238d11e4285f2e3bc670e21677ac6e9fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.2-alfa.1.tgz","fileCount":197,"integrity":"sha512-JpoTwOd4QJQmPoi4MpbEyxtuiAiigCBZvaIskUFRYR5Q/kHeE1EGP/yQrNkc5BJF/k3BPKq2Qd+6Q219nmVkvw==","signatures":[{"sig":"MEUCIQCoytV/phiJc4M6zCRwOhY0BULJMLCSOttUiC7hs/GPGwIgWb84Mth+/1tAkQfzOyezrf74sXcXi/On/tjMGKXaatQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10214374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVQqVCRA9TVsSAnZWagAAEa8P/35CLJ0ICLuaJcB4BPL7\nRFjJQQpk0ikUJgqPUuK9OJT4a9vgWTvHrawZIPkXQXse7n986k+egNTE7FqC\nmJXNIKOCqRfq0Sa7lpj9zDI+P1sHXNZnZd/zvayMnFBUfGKyaWTz2+9ibORj\n006Q8i1ou7XauwrJFBhPtRWHx2aA7XR2qMU8iNTaCTzFUl/Op10mCCpuI+7M\nSpOOnp0fiwpODB+1mDjeygjERvnIDZewVVZs0E6VNWE7slu97hTPG069Deri\n5HgLPAnwFEZH2GP3hMc7j8BdOiO11yE6sPmxh33TWgcpaiW5prdAQkEeYk6n\nGZxYDhb2ZOogLDVV5n9eHSkQQ9GywJ44hU0x+iQ2c3l3UJZaQHL3abU1Ps/7\na4ZofJNdFu8EjFMsqR2gX45FHH/La8vp9HC9Kl7pelnEnKhJjeXvPNdBANYW\nM3oz6kEfLL0Pqy+gFyzc24sKxxPeaOUEHfm+Ps9CT1uzLTwCv/Bh9coBNHt/\nUhpMGZOvqTwiHXLtE1Ty3GHu1ZKhst1egtspenwNGg3LRhDuTyHy7YtqYXnI\nqE/3IAxLEFy2R6FhFCeRvVY5BWZnY03KAx8VAK+A+BXEuoPbXLlBxxJME0SM\nlS8gGa4azztveQEUmg3DFN5UkhtrPBKzeg3mWWpcWHRUuLFZqh5cV3DXLyRm\nFelJ\r\n=8unK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../monolith/frontend/schema.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.2-alfa.1_1565854356008_0.06342516186297131","host":"s3://npm-registry-packages"}},"3.0.2-alfa.8":{"name":"@preply/video","version":"3.0.2-alfa.8","author":"","license":"ISC","_id":"@preply/video@3.0.2-alfa.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b15aec38380dc78931c69c5026b5335ce8e384c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.2-alfa.8.tgz","fileCount":197,"integrity":"sha512-BvHgmGTcgC/Phu9brpCkPazxNxNJdZgy1lwk9xm8TCFXwIho62tUgWHD7cnkwIJDp9PYVW2DF39YQRiL4yE9oQ==","signatures":[{"sig":"MEQCICE7mfSOdhaJ70/iGnFfDYnFDdP4wvK2smRle/nHvhvZAiAUCxau1Wfoaegic0WTopilRujvQN8aLGFu3EKYxCPZgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10214344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVSwBCRA9TVsSAnZWagAAMaoP/1wEzD4FkTar7TS/qtWb\nhWjoOFJbRrXU6sV5hOr3H+w2ogU+Ia0JIQSOajmRe4UYp3gUWwgTFhteL0Mr\nLcZe5pY1yLwAMH8huDobwndLJGCfyj+arpl6kKTiHg5pfKTOhaLVS5BSgxpp\nuL7496P7E8UoF5PplTWHlwxwnNrVbPVtemb8VLNT9HsGI+kPa3YjqLBX5rUs\nva2mp7mKlf5lxxuc35oo7zGLN8s5jtWE4nlooxJVldoKd45J80S5cz+PqA6o\neLpPWEuNFIYnPDK1aSCR6PFXC//5u7kKtIYPdnXwfQSvVKv1HNgvTUXs+rhq\nCa5YkxA2LmX/yDBOaYf5pgeTbdXtdiM6Or6xAb5zW7mPoI51t1rDM4I3rTME\nPsJZB5uZW750dqwcpt2e6LD0d4+ZwIKjIRY3iREqqp0AaAqdL4mmRcYZAxO2\n/Hpqs9j9R/fY16+XZPVakDvqPLwQKzL2YYu8xwZT0alnPYcHbvJ3pFCXroTn\nTxZdLljjRxqOg8oSarMtXnqOLHdja6fQ7UDj84wx3Ojuy11bN3kt2HVLQ4Tm\n8XxDphCx3W6Nf8VJLz6lTyCeMvYgpKbbKmr6FH295Ki5IuC4DOUQV/mMgg4n\n1TvzOgjgZv4kbw+Tr4uaBUAR3vk2A2anuUUclzqd0Dp0x6qd2Ethyjt2rRCs\nNB7g\r\n=CsAW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../monolith/frontend/schema.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.2-alfa.8_1565862912813_0.8749082727629536","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"@preply/video","version":"3.0.2","author":"","license":"ISC","_id":"@preply/video@3.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48f25100ee6d7a01f3047785d0c872ff0ada861e","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.2.tgz","fileCount":197,"integrity":"sha512-qkFgerF4nFwkN6FNsTboH8JIqLWyGsMd44JPgLNhLl9Uq1BIvQz/r6L5yL6sSn9hzpXzCrE3Hp0WFSy/dnunnA==","signatures":[{"sig":"MEUCIQDo1dGSG6Zk3OLyHNiMtgYCUkQPFeGPNGKNrb71IHyAQQIgUMmYg8fV5JURSbIwPXVnvE2qkqE4BP7demlphGGzXBY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10214337,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVUhiCRA9TVsSAnZWagAAzrkP/Ah2d64GweGXJMEgBkZy\nUt/gjdlxujQ/duhdCFb4bTSQmpccMZeC3vUzc66P+ncHiT0kQg2EJEuquAsL\n3umi1JttYhvVTxq03K7zodctSRunP4uIMjR29tI2B/UwtSQntNlglZ8g/zhS\nnC8zTwXxfrYFj9RhGvQ0hKSYqfw1Ij5H6P4uFZq6bGgdLG3UuJ1PNsOEBwNh\nNcyL2cbMYedsFDDVNUVy6SZSpgKjzeqPOpty4FYORlzn6EMrY1dnMDkSY01h\nTgabvCbvAijB8DMjh/9tjUuyGPWB155QWrABzJizI0L8QChHq0mo20CSAeXF\n3twcHdSOecRZaUoC53508M5IofAdfgALYtn35GE1kE517gAr9BUGUwCpslRi\ncJQpFWKWUSaDgkkVMMdVKwBiRdVs4qvgC2xdkAhT6EZt89cXnmI1C3eyHtll\nmqiLHB/ANGctuP1AWIqHa8GE5Gg7aym/2HNH9eO9cod+II76P+XzwuS5RQmZ\nF3e1wcYweih9Tfioop1cJ5b2rj3I2slJAYCU79D3X/4AGYs8hlIAVYUHBBjV\nJPcWY1h7fC2uSyyr7ZteHYfCr6euNQphAVxjMcX3P9yKLf19PK+uiDPeJ9aw\nrkrMzQDPxK5P7NInhw82ciewACtvQYZPIYxAZai7EzpORNKXCH/1yKd/N7QK\nlRtw\r\n=B4Kv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../monolith/frontend/schema.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.2_1565870176304_0.11714555747434385","host":"s3://npm-registry-packages"}},"3.0.4":{"name":"@preply/video","version":"3.0.4","author":"","license":"ISC","_id":"@preply/video@3.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c8968b4727e78a4050c748c47683d74904fd6364","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.4.tgz","fileCount":197,"integrity":"sha512-iVIDrMffbzNxQY5nbmI7qhiQLSH9ynQ/Rb26TP9/+nEUXBNQD/OVxB7HlpWfevZOShbEj6B6/9clxjVl+fvhuw==","signatures":[{"sig":"MEUCIQC3gM7F/pgnDEFAFgPVY+PE+gq+Y+EvQFnwty53mYyPiAIgbn/FZZj4Hne0UuiGzfhn+tt+sSqVu1ZO3INxmfn3Eiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10213561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZoCJCRA9TVsSAnZWagAAbwUP/R8wM3lW0Amz2h9vA54e\nWk8OplvVvcqOsRdoGhxKegvRcl9ElycqGqfFKHM5kcG3e2Mg67RotX2XAKf8\nYJlAwEvotleXGDNp1Aqv3l7hGa+tI8SttwDakPo5k//mufOi02iX9yeJhI4T\nSM1mVjSBfT5a5IgpBgWWJE5QQ4uSCCxLOA7y6M8RLCl9nQlR5FC02EFcu3RO\nvu9Kp2UUEQLvqPfqh/eoAgnw5ZmlPXkRr130lq9yit3kJ+qi/mi/ciStUyUR\nYVhO14ZQ+kPej+JNPSHakkQ4nkP65Lds7znJOwWWn591NstjJ4yKpmIGnhgO\nXC6GozxsL52YneaRsENe+/6YhHQn0eL7J7oA3TbRjJ/O4So9RycnBsJNn2Rh\nAKDm9r2uVSD336BZPlaBN3YD5SkVCdWHFYuAAyfcAs+vce/h670ko6Qx7m5Q\nCKl0gAElwq6fhwkcppL+/Mz4IAdewqsBb8V5jdBpSfW2T/dHOAKFG2ovP8lv\nQ+nJK80WnfjLlldvVKipb2gLtFZ5Fi11IlRJNxekCH3Wnorhk/pziRRudmmW\nGkB/ouVA7eDbC4PEs6OPGsx7cQs8MT4+IIvnyLkZBgE1UcevvX56dJroHOxE\ndjD/DBMO0j1o8TWe+FLr7eEe8jcgouZOboAeFOhXiV3Fkl77BhK8279ablT2\nYrgl\r\n=yfrp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.4_1566998664919_0.6444574852173932","host":"s3://npm-registry-packages"}},"3.0.6":{"name":"@preply/video","version":"3.0.6","author":"","license":"ISC","_id":"@preply/video@3.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48e1d71649367d85a1d4de9ada1603e93758d419","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.6.tgz","fileCount":197,"integrity":"sha512-LGrH9FoBvuvOsfUIPa5m12q1tiQmedjTvrU35pyDiw5ilPNrGnl2HUaraDhqiEw36Ib+9Ukw9oaETqa0eVZwGA==","signatures":[{"sig":"MEUCIAhQSXwbkqqEuughgcyB1ssu0ViujTt3Z6+067EEo//OAiEA5e27oDGT5t/HHG3FDyne2acMCpK1yDWDCee+wN56crA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10213561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbP4FCRA9TVsSAnZWagAA2gYP/1ze7qB20x3Izw/ugG/5\nYrbvS2r9L5uNP/azOVm121shYMN4qtQotAiRszUEBI5OmkrNFVbJLIu2L4N5\nvhV0fQ0WQ+o2ezu9I62kw38xvDOUR+tKi28O0bW9fW8bsUBLpLAZVksMJeus\ne5QTdfYv3UWSgjE7uDYevIWGn5ZHI/BaTXKbxVVXwfDdLKm4l1/THNX/0pdM\nrATfF+emWlRNZQX7P8dMwNzmLbb3YEL4VTQmfl6NGm5GohywG59BFn4cpIOE\nO+kh22nzryxr915XRaTY90J0vO2vJqF2RKEtGZWZyop5XwNNjq6tfqO6P4SI\n+oymhHU2mvUmYF0cyDz1nAqoE1jrRVw9KSp1dBEmVWl1ip5nxeLdb4aDnPUn\nF8XQOebJ2CJy78sPseV7yTyegBYs1Ug6+m6R54uAfPKg9hytqZVrgWbtDe2Y\nWr7I4JgEJ/ZiMEkHIAItoKbEI952tqs2el6hVr8m3Qd1216HgkaQm1cwqXsx\nBUtt25/zwPXa1M0qNvv0Ww7a1hyursjAxkBNRUmp1My2Xzlq8Uj0zE8kPVKk\nbD/LntRK1+mAq7GXKXEZx9xEtK92GaqcwkE/fxrAorbtj9jOgreTnuSyWRjv\nKCRzRx5MiG1sHq0b7ktwa+tGKAYgOMtYoa0qd0qhLq4kb/vbe2S+Uak6Gz19\nhVMD\r\n=Dl4m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.6_1567424004946_0.9282007249468966","host":"s3://npm-registry-packages"}},"3.0.7":{"name":"@preply/video","version":"3.0.7","author":"","license":"ISC","_id":"@preply/video@3.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"eed7ed203bf64a9a3e571be227aaa934dfae625d","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.7.tgz","fileCount":197,"integrity":"sha512-TGS1dCv8CoGIBT5WeI2mItIW5wvkHZ6Ap+tNcaFZW1p2mwEpELsMRqblKq1/rMHgsMxJAAAEJjDASRArF6qHGg==","signatures":[{"sig":"MEUCIEstfbe2lJBX+ZKR4HCO18mD1CkCOrqvhhsWn7I4u9EUAiEA/KgYshIHnFrNXoZ0c3RRyJiPhvRNhn4ISVhTARps84U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10312936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbiXuCRA9TVsSAnZWagAA3kMP/Rn2XClSQly6+6RjDePB\nyp9+9ACflE82DrlN2pxqBvkZHBuHPQsl1fX8fmATAWJO3cfZTc0eiNwHyt1X\nMJztLe+gyI/MeaP2l4bs7bRIdp3tfIlbNbtoPZwOzkECy5t4jfxAFpNq3wac\nmUbeqjSosWeSKw5JCIY5sEq35ilYkn+odmU53D745yPR8XJfhMaVgFHFg76b\nmXZgti2kpPaqHGozi2V7MQkw+1NJ4KpTNLf+laGC0z/nMzkfdJjfjQrMqUhv\nEeHoOgtuMRub4cp5ov0tvHjbPb9f2wtdp1MqbTKV6n8wXZuYRrr+GUjtgBT5\nslADNpGtwLJAUIQjgWWbDogVDfTnz/gQ3Ajr/K0ewEVaojcg6usdw/56TKpI\n8Ecyzqph8hopGm7czq2J9jpum5DyVFcs5WmWO7wv4poqN5U1c4/ccY5Nr4st\n0AQmcJrXgDfL6EimkCMJmrEwfW7rtjdq3u0fcIv6YZfYwwLul2qmbVlrQ9Ap\n36/uoFAUxBhyjGi4HP4xhWIyK518CWnd+2yESTiNrD9uS0x9AdMk6bWfAbwz\n762YkWoKweEag0Yyj4xNx4EcIbGWs7pdACV4i5PewB0T/3CncCOgIllZCLY7\nC48+zojyb2dRb+GgQcEVdtZVc0TTScsv+IkUCiuByKiVoc8xULtzWeSF9Mf2\n0J8c\r\n=vxRD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.7_1567499757243_0.09868940655918101","host":"s3://npm-registry-packages"}},"3.0.8-alpha.4":{"name":"@preply/video","version":"3.0.8-alpha.4","author":"","license":"ISC","_id":"@preply/video@3.0.8-alpha.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cefc52b75dfaa347ad6fb3509c616fa725a1a873","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.8-alpha.4.tgz","fileCount":197,"integrity":"sha512-dwc5vAfiLIzr95fGXlg8cdkonQ2+IJ1viFHJnAtn2PmD1LQVWjQ7BRqCCDb5Gdo0cK/MYD3DzbWCPzUjRtVktA==","signatures":[{"sig":"MEUCIQCU+/hNY0JnwfiKGX/FJObwPLRbzyM6eFA496U0SywOKQIgcsvQRubdJCWsVwtVvEz1vdMOHqKdZtBWJirS4h9fFWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10424320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcOLjCRA9TVsSAnZWagAAAEQQAIwBKWMHAUVgm4DZKThN\nthmSU2WZ2u3tH3I641tzrRl5M/zLAzy5nJszymhJFDbgCgPaT2GgF1EKqe0Z\n1l2YnUmABLJzNCShN0NptvKcvalw1uHRc8DZBAgmPYk4dIRHs1a/5rbs/vS9\nQPqqBMsMsPh6LcZh4YH5BUtVCT5C+fuOwdA2t1REPYHH6xSzqXJq1sOvgxFz\nHdtEzO8YjrrEt83SoNQJm9pkk1iIdc3gL7fbtK6Bpe75DEzXJlFZBuZ+JPHF\n1VY/UYEwZ3m8HtM7awywM7ux6hp1eI1WpOl1ybqfx8Of19la0uvwVGdnIbOI\nlixWQi2KJ65oHRoa8s41baI8nYeXY8LRHolmRuGDYilCqLj3N1S7ZdzMrPqJ\nkalGOxVf1Vt5cdy9SsQdIIPdSMyn6kv0J1DtaObTlW+Jz809JflfoEGvs73I\nVsWQgA0tMKeqkhx7U1GhMm+B/IgquFVVCUjPBYzES6Chc+wFReb61gHjY1++\naA8MB2VLwbyAnGKy1vEtpUAYdWN4FgymqZ5bE2+0WDGkFQsPoMqe+qWftruu\nbBpJ5Iypwj8gSvq6OsubdUy8kPHNns7s8kkb6Dzh0M3f9IoIvYrc3kliSZLa\nunUSLewsatUSi4bk+iB0iV4WzhsoOvP5Wg6pFqNvRePxo+al0lOQyvFFtTDb\na8gC\r\n=328X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.8-alpha.4_1567679202767_0.007878514251370872","host":"s3://npm-registry-packages"}},"3.0.9-alpha.1":{"name":"@preply/video","version":"3.0.9-alpha.1","author":"","license":"ISC","_id":"@preply/video@3.0.9-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4c70061703a40e57a93288dee42a374a9518b4de","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.9-alpha.1.tgz","fileCount":197,"integrity":"sha512-EJ71U/gtg7b8W4BGxrY9fbvVOwVMln+0cP8DOy+pkfP4ztPtxXOhku2fJeQn/SbB29Qad61ggQIAxQ6v8oVOJw==","signatures":[{"sig":"MEUCIQCov+QughVxPxxWLzGLhM3U+2Q4z2+AUDwfb8tXWMXXXAIge7Bx2o+kcZAgW8p1IScBXdbso7BAnVbs1Z2wyCHaj3o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10424395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcTbCCRA9TVsSAnZWagAAPyAP/0C4ZWgvNhH1ZLlrSekj\nNAfHulmznBJu1NXwgjdDTRSwmuGwRLgzI/pmAinDPvqFw22saBD2yZqGSXo1\nkQ+EJwIrN0ugK+riD6feXfIjYxrefIjHcVqmXN829TpAEoXRRJ4796SvD/6a\nldtHa64s/GSJ6v3+wXynou9C8oelxdwICvI6nTpGuxWJtAeXg45aJKytWGEm\nZu9MiK8fQWT58nBWBm5REsOaIzu3bH39D1FTUY4btqhQPl2BnXNkinWEa/AG\nzMR+ODYX9oBb2oU8ua3m8PmvQ2hN2JyM+MtGGwuAYdx4y6qJTriwgnjHV5d0\ncHo/ENBvS6kxufCLS3WBsoVR0WT85MWR1s2IQgQTDJXYWI+vM5SsutXAwwYr\nG/ifhqA1GUrAqYAwkPd4CNj4JYtbT62pUyB56I3diMjRqHDlq7IjUgEz/bbZ\nBeKK4Q4TLGQyXD6BAQkIfm995urpMbCvLi2GAeH8knSgIvOKOYdeHKWK8BZq\nKq7R2vLGMOStF2Gg10ZNpz12yEyZKrTXIs6FH4aYQkYqF38W0Ama3q5zDW0c\n8ZL/Q0t18Ql+Ser3l9xRTBO6c4aQp8QQZYfm5vfIAaPyU6BYkAlvUEYRAFlm\nPRDJT4TomM2Yfj8YOLr/EH/isNeCOBdE0dk9hKAMLw5pdXr6B4aUvduG2ysk\naAjV\r\n=flux\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.9-alpha.1_1567700673425_0.103477523303523","host":"s3://npm-registry-packages"}},"3.0.9":{"name":"@preply/video","version":"3.0.9","author":"","license":"ISC","_id":"@preply/video@3.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0b097624ddd208eeac61529aa283fa36e2938b78","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.9.tgz","fileCount":197,"integrity":"sha512-ZJjGlb3iXtpn/y7ySmyd6VB7dz+x/fSwHZh64W6EIvCqL4yjnd1NyJQeAKoeQ14DWSFQ249swmD9xcJrCxS6xw==","signatures":[{"sig":"MEQCIDZRMkzDCXAkV5J66qJXrwT1uWj2sS4ahpsaCvyMyGswAiAmwAXYLkRXwPWfMhuiJagjWHOsl96MW22Tt01c9VXdnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10424387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdchqRCRA9TVsSAnZWagAA5y4P/RGm1wwD6UuP5L+D3eeo\nx/uA+7ZKs8alZrZyOHJUuivVD+fD0kC/D2pXBUxr7XzBWr0wC/VQEVOK323c\nOwkJ/Ycu3vvK/8h4T8hlaTCtYL5/qyg46G2GXpwFZlqQfxqPUDpe/0IbnaFk\n08O2GlQmbmUwsxxB8Y6w9P3WZ6bxe3M2SUYykPvHRBQp4YkksJHHYcNSDd+a\nf+6RNx7cQ8NOX5Z/G3Ejy9FWO7lYLqxG2H0uYYkMqMRD0uSzDKP8/dbLvvpl\npnD/zLwZIB6orvJJh2Fc8k3sXftS49PYhoKE11dQhExJ6EK5d6b+hgnERHOK\nXggTYLgZKZGTGgqt1fobj6iVNG3XcdbxP50VKfffCLsf/Xsxfq06cV26wC4t\nulbcjt63xyyzIXiyZYOSy6s1vYM8MnzmuZ0K4wsIotpk3/TORTswH8wnJkmn\nnRX9FgCOoNpHc0W6juuSJT9Id5aUcbfh3NTcwY8Q1GTQPhZbt7yGpWbPzfbI\nV+iI82HXEZFOEf2xc7vVg0VFj79fVc5yl7nvdE0Yv7deq2M5eqyGh6+IZMZ9\nz+pV5ijGUHD/briy6lhRZU0V/6qw1Dktqm36/LGn4M1vYCg/gpM16BQZvdev\nj5fa+AEYwmR+ja3l//5wEkn5bryEwLa2WcXOgflsscvTNFPK6pNpM9KFDPdY\njBN0\r\n=xIRb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.9_1567758992223_0.14629503445087222","host":"s3://npm-registry-packages"}},"3.0.10":{"name":"@preply/video","version":"3.0.10","author":"","license":"ISC","_id":"@preply/video@3.0.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"477fe9ffba5df05abb4ca433eb23ae40b508bc1a","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.10.tgz","fileCount":197,"integrity":"sha512-2Ig5CMw2ByUFmH+f6YNNw6pCi9tZpkeiP3714k+IfwMzBROs83XOeNlkQBoHnv+sGtWz4E7Z/wSsz2FFQ+G9oA==","signatures":[{"sig":"MEUCIQDtc6mTKqQ1dy3IyiK5nlMuXJD++nkmFuLSYfr6aRjYyQIgSrnaUxkCxRS2hO1EPsXBEFTBgst4nh1tvA+uDQ7uhLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10431212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdcks4CRA9TVsSAnZWagAA9WEP/1GioNLPdISgfqBBjBn7\nD02F+A5eVAxjSEUqNLyblRwy84fMF+NM/9SLYYU3Wo6xTCPqs4bZd8V7//VU\nAnZQ0Y4Qeobzt+kdpyj2vt23KAI58OFWtK3y6wFpb4T2xg+yzELRoVATilAc\nvIaZ61iMNYbWHDFoEQjZM9F7Tk67aP9ddxnsavhybyQzYL8iYxa883RLugvr\nks4uJ+ySVne2tyrs7wiCTVNtISYo4zq7RHQaDiKdr8dmexw4Ub7y77/X34zJ\nHLBmoE43HCYl0GPD5oZrC24fN6PAVlaiT/cFFshDEs9G8ov6mvDwaZ3GGOTQ\nps4qKnGS8sqEqA1dHX/Kd6XA+HE1BQ2bPeQgnH0Ykvr4TT2wVDJpbYiT9Yj+\nOYi/Y+uDyp8vNGTp1ReLODGo2/DVvtG5tF8fB2NJVJCbGuFNhM2fL3QPeV48\nwcRvFEaLLJmt41PNPAVsdhmc9Exs0Mi++jI6xqH5aPm/EF+FP+KNyQIIYhxs\nJ6scMHEC7AqDYtsryJmHDZAAfLNu2ZCqbukkYYNN5VVbIjqmm7NC1fEeHzup\n5v5o58xghJ4WlQKyOiaAsLfWZp4PH6NSw7HsTrKzAd/DnFKonaZ927W000js\nX1Ihn73Fp+PxjHF4ZrU45BWDD6h5znHsnMNrhGWXxbpJRFB9EK6pC8XfEHj4\nC+sI\r\n=XiYM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.10_1567771447906_0.21290637347921892","host":"s3://npm-registry-packages"}},"3.0.13":{"name":"@preply/video","version":"3.0.13","author":"","license":"ISC","_id":"@preply/video@3.0.13","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1d1dad7d2388fe1d9152601ffe88713515e2429c","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.13.tgz","fileCount":197,"integrity":"sha512-SvKMFrArXq3M7IJsdarPmZnl8rW+H+ZJk1yPth1yCTxUQoqwksVI3If959ltNvKdh57naM3v3eQn8Z5R0XsROA==","signatures":[{"sig":"MEQCIBXnpvtslpxaYbViRJrbafsJjGqz2Ug+wv9cWdOry5LlAiBwvoC/0AdNR/nWntVcLXbmM3On45Dr8UKH2NF6yhF1DQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10462415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdd552CRA9TVsSAnZWagAAbaMQAJuB4ZjvLejCpQzgI4nO\nrtFITXDEI1Rhr4BMMy7pJLLN5bPCCmzI2GGcYalXVkPBWQ3kmX3NusIMoKaw\npyiSY/UDxrO3dd6k0z4P+uI85t9CnNkQ9wFNcLniOc//CO++oE1Id4zhGHej\nn/crNyYQ3dFZNbfrRPEFs6VojhgSGpoStukFSCCQQcS1m/RaomPGShXrJdx+\nOBf14Jop5t+FkjTMduCAO6yDElmWbzFhWr0ZKzDOWj3T3lh03AYW7M/YkpFq\nNIe00yrnyAf48s1x8X2/gyvUoonolfRzus51ZHsTtm5njOkp9tWgQurrjL74\n30h4pFfUAg1WB9OB6V6OKsWGVyROEaZSGOnm/ev8jwk/eBeAFqcQn9Kb7xbP\nZ05GVRlJjDIvk7gHYp6k0e6RhShc7at72Xti0hS73HZ0HDBau7CtFDQoSdAk\nimrBOi9lFl4ksUkZ9kjL5qjrWqnND4y2jbHo7HQ8HKsREFvJYJPSPm6Eji89\nR7jlK3TwK7Du7s/a/Niw8GwUvI7V9Hk6XecArU/Jvge8nGR2DTATBPvfT3Wa\n5XcP5EKQgt1SKkCSswCJ7pje1OajY3kU5SuxCP8wkO/JYLEyOMaU78r8cy4e\n9GDz5V9HcoZuhEwkzHviw9Nz4jhEh6yFqiNcu2HpJAk+Rz1vEjUG6jOHLk2e\nlJi0\r\n=3FZW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.13_1568120436937_0.43719624798778356","host":"s3://npm-registry-packages"}},"3.0.14":{"name":"@preply/video","version":"3.0.14","author":"","license":"ISC","_id":"@preply/video@3.0.14","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fefa52c4a6976c1024f11daba6dcc952b26ddec9","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.14.tgz","fileCount":197,"integrity":"sha512-Tl/y+w/8k3ZXqhhxRGiQmODRwzEgbLw2U0IesB4xwGzo5QRv8SWHhq05/Zubr/trrR9SCBf9hhi7pUpwbGIAtg==","signatures":[{"sig":"MEQCIGX6gmKNMnUWrncIGRzEAdSnzaq5ND9vU4SjybtbR8PbAiAfXciG8l88fDVaHdxt5CpkUF7O6awdYSJ2Jsu+EkKzhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10399490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdf5knCRA9TVsSAnZWagAACKEQAJdmi5/Cyiq1Pcq8ee0K\n3jzrhcppzr1Fd2B0SdlMkNwx09x6xuegx4nuKF9A56DoVskfGV3pf8ludP2e\nPlLZG5qbNKTW32aYrPgj8l26KExH8alyB8ieexa/Tjovf3nJRmwiB1mFIwha\nzhcsTiNH37gKT8qKOe2+LKlLL1K+f/H5ybFGOZ4PXaS5ivfdaQslQuHoAd3u\nTkR15OdVS4OH7MdZhjoH9rkbeKNekS39WbZPASj2oxTgmpMeEL2C0je/sO76\nwZhElugz/UlilQuEtOCzV6Y67/e5r6tKaqItkW+3KoVtZS57y/62VHbHCEE2\nWZm4IDfXhIbcMR/kbzGcjDnYdyqAZmABRvhUXOI3gMfZaAVP6NLSacSyeN9G\nyTdKb3qcAiPbtnWssJ8L/XBTaOr/y+gMzyC5VLU5ZECaWVs//mpdKYpHOKdt\nBO8at29cH9SO27L8xWZv7WrEHvNqTeL31XS8PxsdPH5OaVaN77WP5KzUX4oJ\ngyFb8vPuvOnmu5twyj53Wnw2j8/FRpbmJSEEsSrULvIQIj3lMXKzYyQK2uco\nz2xJtPjm5g2JocBx5mShzrrz5rAufxT2ddGBZWKc/DeWMNoq5w+pzDOxcRYE\nK+ZY118Axl+QUobVheY4BF2y1EnrjiKQSANlDIS0HewEHPV7yRBG6LEnYsVl\n5UHi\r\n=fpgD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"^2.2.5","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.14_1568643367164_0.2262632174531618","host":"s3://npm-registry-packages"}},"3.0.15":{"name":"@preply/video","version":"3.0.15","author":"","license":"ISC","_id":"@preply/video@3.0.15","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"312c5936f232662612ffd57f445d931a38f67459","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.15.tgz","fileCount":197,"integrity":"sha512-GBz1PNNoCKs0r6C9msgnFdT2ulMNFSAEpwZB5h23ETHX83URVwRQOauu7n9qLYZRsFAjT0D5CE2GQ6PD9N5mjw==","signatures":[{"sig":"MEUCIQDkm3B3hiY13wsPtQY4TYKfhdpcpmOxrF+2ssAdXK0NPgIgQRxMfkDYfKJmFRSZgd3jOh4zx1vcrc6tkTxoYonUBM0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10401724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdf52mCRA9TVsSAnZWagAAxUYP/1i6YmJcOCzIX8NEwg1T\n9NEuKQJdgUW0TcQlJ+M1h0MhK3ecPBXxQ8Wp3oUMeoM3MRwEDuQNaXmMuIY1\njJRsj+i0ujp87Xc0bBVf5DLcVxQRLUr/iNiusosuK24t6GTPZ0Uwm3phVOTk\nEigwa7ZSymF4udA3GxHAiQN2f4z2vhQlzMFSHVrlmtE755HLf3C3BhVvTEdv\nJXHQgzseDbb2VzNMd1TEjS6ItvDuZM3t/GlxCpvho6UpoOTkww2QKeidbNb3\nV/7LDldzE0sXu6/ovVtXxRXJiNlSUE4W1AciPGBSJAf85jQU9GBdNF7YSmIT\nNUpOIK21vmmJlO+HPl9eQzgUWA0l1RMZ88VmxqA7DgT+u39HI/6csMrQ4XEs\nVR70gaY8mWBWkFiKUysUnJ6kSvtZjYAchWTNEqLMQwyFxgwCDxqE347Seczi\nCsro8nc80ksHodXzrWyNeAxjg6H+BxYJrxvTs08i0pQVOmTh32GiTodlQp9T\nwUtDz6cW/iFJEmvaG16Q5xzDTWFbvgWBZKa4Y04tYhmMu5L33jsWDJuPJAKt\n3R4BvWpPS1kkH1UYIVDZIQ/jznGBVymryMgAOj9c8uvtK0A/8wdkqIlmvuLr\nUfv1q1p2mRuVJIEY4FBXOF7KjrSgvutQWrFKxOZhPX5XnzbtPevOGMoWU6y0\nuut5\r\n=FbHp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.15_1568644517527_0.23763221881282437","host":"s3://npm-registry-packages"}},"1.0.69-alpha.0":{"name":"@preply/video","version":"1.0.69-alpha.0","author":"","license":"ISC","_id":"@preply/video@1.0.69-alpha.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a49ad2ff8b74825f89752952b2548513140323b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-1.0.69-alpha.0.tgz","fileCount":197,"integrity":"sha512-lrEyNFOHse2Upx9T/xITJz2faOnwDM1gPpAi6XLXXN7xPVhtuk0IHksv0jjTCwENtKhku+BJuvf/R9z54qIofw==","signatures":[{"sig":"MEUCIFLhyS6jHASWFf7jZtFx4K3Eevw1KohoX1g4v0Yw6ixWAiEA1lHouXKd3ABHTX/H3mI0KkNsg+8WK+v1w+xDlOxz8uw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10405136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg4UJCRA9TVsSAnZWagAA+EwP/Rzew8PmjZiSaUcQb9n6\nBQZCBjwn7hhd4I5dNnlc1+v7qrZ2BlkOD6YHNk+jHs9sqrCRZlnR+GdXdM1B\nXGEY7NBy/tMTL5t0Q1cUd76Ut2vDBeu+XOZ1+fKhd+gMCglIph0AT6IeG5IO\nYnmyVukWiW1f2Aif1xrEXKKIj5SmKJ7QcKt17oIyTTm+gAT4pGOkpX/FcKoa\nc2EPKnazbt8fKcVL9sXW0fRzJQHsF3WvBOQExm2qrx4rs5DibXfUjNdyrLhl\nhcg44NGCx2kvvGl78hl0EBAHeIn0nJoLM0ZAdQIlaybyhYB5RfxHW/CH3B5g\nVVHX2LJxkzlnSWzQM6uwTLr5bZCCmUt/UaLRB+t1Z3+JOBNVhf/FLQgzZ4Pf\nKeON3FCw0FBVEiiJ6TSPMUNL+rM6ustZpxN5L8qJSQ5GHvm5nfut6eo6X3bJ\nRPL/Sto6CyplYHbpf3kinWVN3hXpNsK2AvQafrf5iFlLr3oFK9ytAiY99U99\n8aYzunSM+209tCt6OSoPsoJ1/ta548kqZz/B8wL0qAlMrKEdJFhpcf0sDhIf\nQHa6SdK+ICZ2iYaowmK3NYg2p8G4sxPPZAq1HL4SrJInG3njEj2zu9Az7itW\ng4w9b2A877yACOj3W9Uf1kSqaifPrbSBLMOQHyzHiw3V6crzvRNy08gGBv5S\n4HdH\r\n=pk2C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_1.0.69-alpha.0_1568900361154_0.3382624166599293","host":"s3://npm-registry-packages"}},"3.0.16-alfa.0":{"name":"@preply/video","version":"3.0.16-alfa.0","author":"","license":"ISC","_id":"@preply/video@3.0.16-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ce7db135cb8896c181eaa216f42108d4a5516d73","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16-alfa.0.tgz","fileCount":197,"integrity":"sha512-wdAM/fMgYwZWoI76USZJ7VC/pLVkCHeo3ALOpOOrd01VrKkaIw0X4UALPHA51rmMOzOBZjvIBiAmfwDIlpW//A==","signatures":[{"sig":"MEQCIC3MkQud2wsjfnDzWYsORAH7W4ACXCj7I3GaIwMK8qR3AiBKGNfwEULBHN13xXsCaD0nz4FvzUBhXq3qexLuXkkE4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10410174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdix6BCRA9TVsSAnZWagAAd/kP/1vG12Oyfx3LXFQPr5NQ\nxMwKMEomY6+Omef3pCGPUlpPIlekWaEJ73e7oBK5i+oMfGgM2p2EVN3gXXb1\nCb9UYebuPF3rtO242QsbGscFaoOGEmqdwhcQvdvAohLyaCReS+aRkM4AWzqY\nBvzYBjTHaKHg/nIdQ5GWl6DdYf2mZxq7CsU+fOgGO+ZFQET2f8keqxSGBTap\nU/j+k0zpTfPpoXcCkuH1kqEa+S3XHH4ozQLvhOV+5WR20OApDCDsZ7/BJ/D5\nbhl+UmnM5cpt1i77e0ac2ThKUi+rdDcsfaS0Ptdm5Ejh7KauseOYJ0JVRHWh\nHEfuyAVWAUS+9h4W9diJJZKVpBtTR8n8g3BDXTaiqnADIiUmstigTh+cKFp1\n3cPGh2KyEOrRJfdcKGB/HWoakXMRbaQSQV3bfGqECAyB894xTD0F/b3isGFh\nWMdYJPTzSYVX8Y12Q6WdKfDeO0JcnG20Wq35IRJ37WqeK8rTN6yT+PFI8n05\nSHqFqAZL3EAH5S6Slj6T2w9i7TCiAyGfMZ8a3TTzRk/+AMFZhmrQXmspDri9\nXd9a9Tn1ixBeHNU1AyKNbixkoxqiVq8jdrY3yJBbIxKlhCKtCcTFVCtKRQ0T\n1Diqvb4HT1KfrTBPjgbmaht4YUd543/SdXNsxfSsNt59hmGBoA0R/+P5EZ+l\nL/aC\r\n=jlI4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16-alfa.0_1569398400906_0.2432845864708244","host":"s3://npm-registry-packages"}},"3.0.16-alfa.2":{"name":"@preply/video","version":"3.0.16-alfa.2","author":"","license":"ISC","_id":"@preply/video@3.0.16-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d27eb70e9951f7a04e5b871da0cf050fc688e31c","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16-alfa.2.tgz","fileCount":197,"integrity":"sha512-KHezibxY+xT6sAgFitJupgumGscPgnFoFEpUw/P73tO5jWd5jtpbnDGLHCuzErKL9EiIU5jaVLQ9+iggsIfAbg==","signatures":[{"sig":"MEQCIA3aH50szW3uhwubXmyBUDFyE3WoSHD+ILCRdGaeKy+0AiA6oi5bUXNL4bqRqFh2PS1B4F7f5+dVz4noW144UwRzsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10410789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdizVsCRA9TVsSAnZWagAAb3MP/0sXGli8gvMkEAAzy3Y0\niSYaEzWxuPHJyr/QKSgE/7UcwZ6ar0DLc+VbxaC04axpLLSBDJC7z6prBcJC\nPcWHEGBOx9iYYLLaWVRM5/uy6DpYOlwpTqj0tv2QFzc3f7UwLUpa7nAGo424\nn2Kgraa9agbiv3NEsOqsHIR0LIMdK9+ovK8B0hR+Orkg/aDyVv3LhJ9FU2DO\nknqrKN8fqMeDkLHFFYKyqqoxAd9apzjylcUYF0FqqvS+UhSIouxCIKWdIyhv\nPyOSEiMa9hSp2CcycpTqrYS2tgaQMtLfklecWkACB/mIpdnsqOZ10pqCV6qC\n5L7SGDaMqoCqn6LAxX41C9H+O3VgpWFI3P5bbrsG+L0wY7YxV7yIaG6Q1/NO\n9aqfa3XOpBL6+945i/SFrQQcsbcMnQUGPLs/abdlKUeOMTEVktM2haGCMViq\n4GPNK20VgpM6QwN/Pa000OMeIZqv3TFpJhT9LVBGkVzewC5ChBFDCIjjS95Y\nyfk+Hyz5NsoFSpCdLS4NGsDpGNDCC2WvNdYfVjtmlXQgDeCPa2sK2XZ6man1\ncd6ErkE/pd4As2EAS+CeC1VFhxhmiKoaXHI+U0MVY2d4jbinDqaAZLZuiZ0C\nc/DAylq0iTCE6gRznwGnpMymm6xeJZerQLcNxG9PykhGnfzlAuZL7lyEfV3w\nO7m9\r\n=Hb5g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16-alfa.2_1569404267365_0.2871099626959588","host":"s3://npm-registry-packages"}},"3.0.16-alfa.4":{"name":"@preply/video","version":"3.0.16-alfa.4","author":"","license":"ISC","_id":"@preply/video@3.0.16-alfa.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2d20408e172e843853fac3ffade0944d96cc89c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16-alfa.4.tgz","fileCount":197,"integrity":"sha512-mi2P9VmDNwIMz6B9Cv6YW99Q52Rp7pXIeCEtJ+06drCdBA/7uuEsUc1GlxTxyRxgNZgbRok1niUcQBy2oG6K/w==","signatures":[{"sig":"MEQCIHwjvC/bzw9aQwH58fFujCM5CrtBmaCc3K8qUCYw9iz9AiAYKarbdiUemCcmEEDuYwPvhBA9Mkkm2oydmMJ0kXctNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10412649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi1O6CRA9TVsSAnZWagAAxGEP/1wmJv9AFv+XJn4IO7sy\nfPztvafvIdc+luJOsDh3snR7JOl+50iFHKYZGTTl489mDnv7c+boMkOTOyP8\nE3rw7qlvROD07sW7w+IlpKVbf2tzaof5fmtumyynphbpZs+8RTI2LCqjqAd/\nY2RZ9ET0dbCZZYADU6UAwWv3nat4aQGbgwDkc9dYBi5Ik3Ns5DETEIkANwdN\njXY6PiOW7GaDne4j6J8sR16VINTUM/Y6dyjBeXlEVsFXKgsoZeLrm/gNU40Q\nKbda2/jPEiUPRzzA67mDCtwXJ/fZlllgUqLzu/Wn2XB61w7/mmbpvxSELlPx\nWIxyelkoKbRu+NxGFJ1mA+Z7bA8xIkR5lZnWYR3nBfJYzRTJVv6kBeV1YXXS\nAdTPfJaf3uK8QuufLZw0WUDKbQMyFJg1yT09K/GizpzG7WUjAerT8OzEsPAy\nMV7RLBrVUHtwMVMES11+dqyouas2UBPuaz1az/p9pepK+MBLbiWfGrM9GV3X\nfavT/5LEV2twiMtAFnx+McYr54Z1Sx7L/0vPNk0qPuejTveeRxc9XsVu4IJD\n6yXu4NYiTBhonJg9+3PnVo0xmkCrWq1YC8sOnWIAtMXhOF31/PpgQCr5PKKn\nhb+vf6/WzLSlDA4aVIvwA3A4ZNq7H8k/F0rKxsFfTef1e1ZrzkG77fgK/upA\nNwoZ\r\n=nnlv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16-alfa.4_1569412025223_0.8334557424973494","host":"s3://npm-registry-packages"}},"3.0.16-alfa.5":{"name":"@preply/video","version":"3.0.16-alfa.5","author":"","license":"ISC","_id":"@preply/video@3.0.16-alfa.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"26259006c7149891abf7bd704f4996ef364acb76","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16-alfa.5.tgz","fileCount":197,"integrity":"sha512-8xSaAE4wpnsNv97uipBdcVgZ0HzDC7IVMCRjWnGvK2F7bakT6Jtz8Qr0Bu+TKapPY1DwO4NgmF/oSMdcqHPaPw==","signatures":[{"sig":"MEUCIHQKGF5zuXDV5JoiicDJP/AdPDQ7xkzGnhu6rie/CY2TAiEAmm/d2Z/r5c1rWGdJCC7eMCeUXuG/pc/Ha4oGJPMICe0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10400304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi3vCCRA9TVsSAnZWagAAeO4P/j5cGuSgu2LHFclWWhoY\nP4dygvBAKypnKaGdFpJOf4vkhYIvKL38hoK3FoJlUFTL4iTiVnKvKBP3tzzC\nTxz1i7PGPycnIT1OyXLRM5s4NcmiMWRKujYqTvGQVBjUjEcKsatgfSil3b9V\nIRaZwR/RosEnWw2coWfe/iGB14flzhRQcY0iYBKEW7d13DiMPE5LYxukQVj4\n0teQE8fmFZk2wc4sMQ5Xlzzl67duPD+4oXbwzQCRcnwTzJR6sGyGZr7DUgUf\nAhv51Cu8gAnbRLPzVEh0E9QJ1ke97SoPIKCnVf3j4go0DUDevmzbC6a82cOa\nBaQNVfocLy4U0XkKnhmbXZwDBPnCQnvDpdrz2chcB4/piL7QeG4VDYF0yF35\nmQUmzyKZi+f2IgGviXHJVLNhI9nl9QGy7EBAcsCCfM3kdjUVEHRhGMjcGVsv\nsM6JszbusC9qwiHFrWEBcZ5jYsqWTo0XeOYHbbXuDX0x/Jizyi+RYv3HuSJq\nxtQZzQwgndMljWlSReeS4KurvU8CUsQtiepjvYGA/uLon2gSks2T3ZTyrbVC\nPru7zSOxUyU2waB3Lr4+V166Fpdz5kN916yBKkF/8DWJXb9QXvfl2qnUS/bR\nxWxEgPDCSDrMPPI6jIWw25hSWa+lLGWrVvMo7eaKPJaZiX5xAte5QKRsOa6j\nhJuU\r\n=zmBc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16-alfa.5_1569422274034_0.5416555029562318","host":"s3://npm-registry-packages"}},"3.0.16-alfa.6":{"name":"@preply/video","version":"3.0.16-alfa.6","author":"","license":"ISC","_id":"@preply/video@3.0.16-alfa.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"efa9b521266da86eda7cdebb6fb1ae3b170082d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16-alfa.6.tgz","fileCount":197,"integrity":"sha512-LwC/rFBvzy31fsh/Oqu/mlz8E8ZvHx/fgzAdGQ+/+suW7oNSQzULDfbJFcU0Ob9GRcylBl2kJRBe3sjOcJAKLw==","signatures":[{"sig":"MEUCIFMob6VISCVa8zRat8FjDqTh0KgpHoORFgmW2k52soJOAiEA/vBR+aoyLq8W4H03ZgQDuN6bnIIrtvSK6OJf9omBb1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10403289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdi4dwCRA9TVsSAnZWagAAhqQP/3O8iY+7o3dr99raiYjs\n9urDBjLz5pR+atxKftB+ecxhko6hs1NhBLe7ggalcIwaIha6kmRx9o0Wz3d1\ngXzrbZsZ8PN4M5HpEeg3ZFjdEAYeU7TqSsY36dQTkxEpkYDziR8zeBSnssuA\nYnH1amRPXmjZZS/j7561EcniVi1C7IWhjEwPRrA7kjMpLbGccNTAk0bhYTwo\nZEpIBeFoPK5bKOoM6Zh/CwortnhlQ5N8S37DIL9y1EyeGGofM1zz85Unliqd\njGr08QG03n9hwWImrpMYXmOX15ahbHGe9n+U9/Wzk+02GoW6W7HVTsn49eZm\nA+hrQ2YRSyvexO6WdzuIJWYcMv0fIc1OkOX6Pid7lIqNx2d37KyBdAGB+3zT\n/LPY++ITp+enBP/rrW7wTLuAiPlfmJUl3HaYYnyZTms7gttBfuhJbpCVMnIA\nryhXAtnQhBD0E2F28ydV6SZn9A8dZpCLpQ3E598XUlfgIXZaBtUpZ+kjjhSV\nBcORby2p4Jn0X/wnBtIf90nTc5aObX0GgUPQpCagxR3Lr1iqSxjhs4il8McS\nAqGRGB5Nm2BuogJsPeQLDYvPK9RmxmBriXAHN0c3fr/R2mdOlkI8bvl3juK5\nhDwryNwDDId6P02aO2n0wrSjDFqi9VVtu2P2oOEMmhgyDSCv5/kSC1FmPDgw\nsokP\r\n=0B14\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16-alfa.6_1569425264165_0.20592219654687072","host":"s3://npm-registry-packages"}},"3.0.16":{"name":"@preply/video","version":"3.0.16","author":"","license":"ISC","_id":"@preply/video@3.0.16","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"91692f81bc38752f598263b88d752fda12d2f916","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.16.tgz","fileCount":197,"integrity":"sha512-enVb/48fUlSnlw7YHbWuwdojthbfOPUnZJGs1pmKnh30nCfgXVAgz0VCWoIdpWHfrnTbnleeLoHqxOg+qH+Tuw==","signatures":[{"sig":"MEQCIAEVqzlhw6FiFBwcpm5P6AWgLpZY/mdJjKtqvuk8meMHAiBRtwKUjlRV1iZWyI5mQeQ6OksMdCpyBKmdtuhS6rlWdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10402667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjGS9CRA9TVsSAnZWagAA5bUP/39VlgM9DXtc8lBPi/iX\nI+zY9LtdmmxCFhGvMNiufdTmSHGRmAVpaHp93mPRAU0ZnNKuCNiYqzdNFLmk\nQ0jvrZfLw9qWFGXPkOYjSF/B4zm472s6DA2IFjrsOparbuAn5Jyp6MNc/g4C\nhsvhTZDlPaj8kJ9zby5+0XdVT1o/HaHTDRm5LEmQaAwpiY2a2Qt9lsLcFA3W\nibPG1k0E2NmSlyJA9q2MK3YVVUVxhHjkcltqHP2mudVYvqg9us79uoQAvM0/\nXcAZeT1r8n5g/IreFHWBEJQCRefMOHhtMBiFdmltsp+uwnNXr9Z/m6KXhSTI\nuKwav8mty00/JrnF5OnxzkoejDwKZ22f0MlB/PuyMmQttt28kztoucL5uX59\njkCmJU+Tx6OaxtytdseqA2ZboGiC+QBcFBfN3crgiKYK9DVExtIcqptwEgZv\nxTMDtJeHToUVX1NgIHGoCALysrt25FeM1ILyLMYQ70d6ZB3C9omCn7YSoNB1\nC498ionIWl4/5cqCrzq6xG0WcTYPjJpytInwBOZk0JeXIhDEKWrR3xdWVEax\n20Lk7zOKrLUOm7G4Zsr6T+9sUYcT6grfCNxoMlW2BQcJagTnTFnkwkjY0b2F\ngW8WU2t4fGRwrS7hM1tt+f86BU48wBEtG1kdDtP80wbO5gHMucXKbrY67BCX\nP3uq\r\n=gcVD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","redux":"^3.6.0","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-redux":"^5.0.4","redux-thunk":"^2.2.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","redux-persist":"^5.6.10","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","redux-create-reducer":"^1.1.1","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15","redux-devtools-extension":"^2.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.16_1569481916709_0.07804314683494717","host":"s3://npm-registry-packages"}},"3.0.17":{"name":"@preply/video","version":"3.0.17","author":"","license":"ISC","_id":"@preply/video@3.0.17","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1a09e6213c2579636e3d421485dece8b2b783699","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.17.tgz","fileCount":197,"integrity":"sha512-mThuwUHM6EMB/OIt0gYumj5YJlC2K0y1PXoFDRsgOnzOXu7QQXRzb9sjAvhx4lX/pD5AGO9H4QG9V1wFMwl2Bw==","signatures":[{"sig":"MEUCIQD6Az/IlMrDQ6RbMAjHv1qQP0SRmF9PfQgBhSQxzNwU2wIgKXkCViPc47BMLNpE9SRZqSzOfJ2ijpmT6eQas0K9XgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10282918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdjcxSCRA9TVsSAnZWagAALAMP/2dtyPcjwLTzJfxlaQLA\nUnKtc4FvSfgIVepXbFOq9VxM8yLSLH3Tx+24PBWKlCXTKtxNjd+wxjbSds1+\n/wEvmtxa7R1IvLbOQh3pEVcoYYZX3AaOCK0QQIjzQvBHqIVeUgRyb39382Vy\nar4uW4OBfBq368/hr0rw298NmyiRIb8a91bOmrzUG4oTTLCYBCiMKyWsiH9l\nAPOBmT3TayE6sNCWt8h9amYV+/t+Gw6l3e2yGsGnPULuenKStGyQfs9uVE2A\ngRN2koKa49fRmjaolV2s4Sx+m5DHJamaebpDzXaEBwkVYesexGbipXUFfjeq\n1/EwVfA6TqROI6F49l+CwYN8cD80GWP5qLKPPlHlFMtRH5aBLtkqTmfMjvWB\nNH52vqI+EEdobRuPS/bADyPozVVLe2+k1ja1naYouc+mtCXrPm1p5wfnVHCo\nH5gyMbJ3J2iNAmIuerSSYRnxz5FL5YJPMLb6gZIbyHoF0BXGFIr6Ndi9ytAO\nJF/zm6RMHE5WO6q7lUmq9HNMdBwjywzgnjmALByKkVV5p94S8QEV99lZKuCk\nJdTCcBvTIGacIW2MquTj3HcE8mhm8WC+E/4VMFT6UKUQtL9urDkqP7o0H2cf\nVCjrDgmw6nSYd7KKGN4g6C5Qq+TzpUsZHABecjKvLi7jif/UDVcBYKEOPTRx\n0bB3\r\n=kJPZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.17_1569573969653_0.33473111699814084","host":"s3://npm-registry-packages"}},"3.0.18-alpha.0":{"name":"@preply/video","version":"3.0.18-alpha.0","author":"","license":"ISC","_id":"@preply/video@3.0.18-alpha.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"89152f2f9b55d2774c250a14bff318d02dd4d868","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.18-alpha.0.tgz","fileCount":197,"integrity":"sha512-tCyiO1b5yywpOxGa5IN7peoZkMr0maieAwUSqYgnZ/++D+NdkGHTzbNasqCtIPw5HiLI1RHCQoXZWsdfQ+nPXA==","signatures":[{"sig":"MEUCIQD3j4cbc4vELNy1iN+bfBlJCsWK1rLKOMwcclJv4etmBwIgGS+d3xoKeWeHLQwpP2TfeW2VPK33+QE0SZyletNgjoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10299801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlb/BCRA9TVsSAnZWagAAQZwQAKRBXJYawmQnTq6wB7HD\nOosIKxewdOBF/68ml9yg+xung2U/CKiev7j0acgeR/co3LDyIr7pzw+xMpgZ\najDicAwd2NLCWJZcwJnYsSL2nyo3pFAFu9KajyRMNn2EbL2JPL3FgCtFsDDF\n1sfZE/LeJQUVqkZCwxnJeFPIdUpXipeVCJYDCXvAd9TvU4rGT3dYv6VY8uC5\n9Fqhp0Zj1BIuXNDiy68eaPikSaMT0VYaAdv2Symg+h/5sBUOlfZGgtOhA17j\nMfIQC28dF4UxkySz8N0q8xH5t752ck8ADrhSTsh+rkfJJQvCKClGDrscrIgp\nvagdTCyRthHkqGN0ft9ol1U9bVP12CUAJ0iku+ncUbzOftUhoyN8nd0nxddt\nXmvm8wPP2NiwIxgDicKwytA/jmV8gcTq5Tsoju4cQKW8Zi7rlTK3BhbkfU/b\n7Ka/H6naC1SVoWppJ5qHX8OmbAuXpN/pfKqMZdYdoZ6oDhL4OsMo9WdpT3rI\nlQy47lg8+DPyM+DKqlUOjVx8Ihov5PYzAVPrrdOsI88nsyoS5y9UHZuc9CxT\nXTv7GnEVo9bCHtmThLPPUBZBGaXRuEyi/T90UxNHj9so1PWQIGlbtotJhCSH\npZgwXdtqd45+WhiRgyvdB9ZQz68t+so2BJQ97TPpuQUyRR4iojppq4Q5iXVY\nKrzq\r\n=B5PM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","apollo-client":"2.4.7","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.18-alpha.0_1570095040653_0.44424072022495453","host":"s3://npm-registry-packages"}},"3.0.18":{"name":"@preply/video","version":"3.0.18","author":"","license":"ISC","_id":"@preply/video@3.0.18","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b4ffb9909026b9516d396c35967ec58e4ffab3a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.18.tgz","fileCount":197,"integrity":"sha512-fhSdr/isa3fd0uoLwc944qmQ2IvoVdsqxiahHHVwId77au8sst2yRz6cAMeWWAIjtASFn8hiaFzGOkILUJcCoQ==","signatures":[{"sig":"MEUCIQCboITew+UxS4JB9gjuqCAwGgjMXCFd2cAdMSUs5Rr0ZgIgSYNlwKNIBJ+Wn3dU1Of7OwLfCvUgCO/5oqwtHAyycz8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10282950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlgJMCRA9TVsSAnZWagAAHhkP/2AENQLlSlv8DZhVVeRa\neTtgmwgprm+0vlPfj7tkMKH09/csbGPeBJQnFmcRjMscPq9AVFnc/PJ+2J8A\nbeQIs+0fk9V5TCPoIc5QsXoN2wTZxcpoRGHQyRZeQnd/aqpPwdpCykWGXxkf\nQUAPOrg4gc7B4M0ftW2tHhL5V6u5FwJ7FOdd6TWpyX/hgIGWUx0K/VR0oXih\n1cb3IlZoBfOpY0K51ZbpSXYM7EUhP2N0NpJzbafhoPhF1dHC/kzsyOjbg2kJ\nlKgV9xvRfj6xP/Iqaf8Op//P3ms/aGSbpYUNwwKWCuBX0wIDSmcWirwZuHwF\npEwB03L4uJfxT3JgnkhLVQkVngel8wn+pJbwzWfjAZ0mBb59NlczWXSid/4K\naJJ+Ni2fQQBltvkdiEKhs/mXHlBW+Xg9/r2doYz3s/XJbHSpz6cTLpPwvuVQ\n+MpHKXrnlj7Pl8nNcokX7jPxyrcpQpfhSg7G4DB++2b8u8mEQ08aRzaKBpbt\nueJtJ2zxwbL97omjgNM/hO/MRA+BrcKeksXABRpZVCH2KJOftN2BBW1wRqsh\nIDH+WLUM17icZHoUC1IX9w8ESaLsXYzOyvn/nd+CAy+1PAy4bLxhlvHxyk9H\n2ua1Y6hwYlNNLGSkxrmdKUuRwv4RRBV4rhHNax42hBT/eMAVA3EpBCO+r6dl\niLVM\r\n=9HWj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.18_1570112075186_0.7708026008525644","host":"s3://npm-registry-packages"}},"3.0.19":{"name":"@preply/video","version":"3.0.19","author":"","license":"ISC","_id":"@preply/video@3.0.19","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a2451dcc6b54b9327b876d08b30bd0c485c6ddad","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.19.tgz","fileCount":197,"integrity":"sha512-AlaRiWzQ1U9eswMaUNhKb28xQTFaS9Fbv7LKlXA1rbN3zLiId531iz8PyhO6qSEXq0m+4NeDCZcvEZiqWZFBpg==","signatures":[{"sig":"MEQCIBXBOxOLmJdyrZDeG6Q/N+NIkO0Y6k2Md0PCQh6dSmkLAiBBiey3PhZ23iAXH9wqDxv03ogVNYeMR6ezpaPMTpwkNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10280430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlvVgCRA9TVsSAnZWagAAj6QP/ivM58fqU9fhrd4N/sBj\nx/28jKDeA6AuDdERHbTzS0u2FwjQKAfkrc8fB3fmTlRfdA2u7S/XVo9fv4/M\nmC6XFrRl6ZBaNzp1ItdvS9x43aMbLoMKGoeRZRJN2QfdAedadq6IraJ0Epn6\n9V7RYK66BKLciLmt09BI9zWwjVKUn8WhLfSeg+mp8/gtQ2pMzYPxfgaxfXY/\neBngFZKYJg49ZJEW5YmNa5beQrTTEiopFrFCAkX6QrOhv+R126ubB1Zmej/e\nNf6v9RDFypHfWiu7wHJ9FWpmxwbDFIZv3+La9iQZfGIajZQO8TaT2+Xbebe+\n7yXYpgLbpynFnHUwszS++GDRjwXTA410iBYF1nyK492GZ5q55lPcXWdFQ3Vx\nuNOrYkJ2I7wQ4GHir6HOCQ3r+LFz53l4YWIEYF0i4EEvAVaoVc3fVCATpT4E\nCLQSywzk7FcGN1+g1730fRHwiLtthYe5wC02ZyBA2YtkWl2vTGEhMXTq775u\nvnc6JmdsXQ0vvoWJlUkTqqzCA+N0/eKhjb3JMtzzqrpQ2V/ZkWvg1QajqNKM\ndwkQUhTjva3/wodBi/rELG/U1tGMJvZ0EHgA+tJsoxN+QGp3GUXfsObKnJ/E\nOlC3Ub33XohK2/enl74NWqtOutuqlOaeMaqrC22RjWgsoCOyA3wtwvREVd6c\nniWG\r\n=lBrh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.19_1570174303346_0.5698316141209578","host":"s3://npm-registry-packages"}},"3.0.20-alfa.0":{"name":"@preply/video","version":"3.0.20-alfa.0","author":"","license":"ISC","_id":"@preply/video@3.0.20-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a9e0695ee8970b8c0259025d4a301fd4ab6fb4b3","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.20-alfa.0.tgz","fileCount":197,"integrity":"sha512-7FD42/KbopgvnFukv8WDUFO0F0IxV5n+etVJwXBUgudl9Y6j12Uw9awk+NryTJ9E63+kHqitmM3ZvdDFrUEeMA==","signatures":[{"sig":"MEUCIFTVn2z5G5BDtD49p+QizNNjpvRX4/6niHTTez9Gb7HoAiEAod5SXlaV9j2qcRZSCpWMsYg8OTwBB957PVDOidzp4gU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10282871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlxfBCRA9TVsSAnZWagAAisMP/1ZJnWnjWRJCGtBdJgd3\nlKLuug+4UYZiGUO8nL3QEhDRx18iKe0MiuyNstZS2CD1IDQkRkfkeLe3mJsu\nMxdk/2mIs/SG8C7b80z9qK22Xn2YoHJ5JTDxpFtHIHAAAi/68LL9gJLrUgzY\nL7gbUeWdthaChDtZiL2UQhh0p6AZlTAa/laI37aP8xnww1rPmrjvSXcQdUB7\nYfBOcKERWhAEY7guf+ej2I0M/oHpOWvQoacyNncrBO1lJIwElMhGHSvo6sLY\n0FJySpJk0/GVflcpOz+OU8CMF+k6QW9GGkYTccCDRwPMnwOWKzBCVGOVBfvZ\n5APRcygDkSy7SqpHJifNyDkAGP43EFvbPvX8Dl2SaqDbkJivUfFaH8zoqe5X\nX8E12rCE427bh1/sExOTUVIywxSG855bwtvakXQOuJkTxSsDwdkvsY8URvaS\nylSudDwJP4vGyUt3/CCu7UGQkcFkabs5tP8DU9GoRpQXR1h0b87iEMfPQlgX\nPgnqftA/91XKV1VUnRr6eoyUwwgzHgTDbpiWoIOq75o7WAOUvP/z5Uyihhet\nKhgpb/9/TRmRDWmozaMYgAG2fThL/VvNTmHL05NmvUE+6kk06k3YOWDNYYbQ\nYiKj275t6HuwuTn2en+kc7C3xQjjRlfJdXOKI0IwgnnCfCCSWATVuHf7cBaq\nHt2i\r\n=BpiG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.20-alfa.0_1570183104243_0.8246667542102761","host":"s3://npm-registry-packages"}},"3.0.20":{"name":"@preply/video","version":"3.0.20","author":"","license":"ISC","_id":"@preply/video@3.0.20","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48faef4e5adf4e7a1af2c8e2f9a225493551440c","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.20.tgz","fileCount":197,"integrity":"sha512-rKejxDFdhIjK3rkNGAxZiBYsLO/BWrtORPkJzoem5YPsKF/E6fCJHfBi/gZyYUWZNh5UgayMlBlrUkchHqsOCw==","signatures":[{"sig":"MEUCIQClCm09ogyWCg0Ar8DflwrS9feYPUUKAZir88ozlgNBpQIgWVtkKgNwANSD2vOSheFmHR1/kExTHKcVdsR9U5q65b8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10282654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdlzxPCRA9TVsSAnZWagAA56wP/2VpzDFo34akquLpasPF\nArLVZ9ZicU380VvP48LKjYPr5ZxQ/mT4czTmaDD0oVuFyhaFD1tIhvhD4pIz\nGoTFLIfMqhqjml/tSFhFdFCy9ibJPrHPJMk6l5HqSygOhuTIYWCE9opI1cRc\nzXRpthW3dcOD5uZClUtHFlMXdw8WDZjyS+FjQ0DmO+rnT50OVYlDwa1hbjBQ\nHSp3WxonxXXeRlgYOznFKp6oJOqELdLgXWSEHO1vztLKDYmlyA1OVMamfazl\nB5VvdRN1Vx69F4prKPbGebxqusD2chMT6hXKryjG4ARSf/9yJ488cAnWAB1A\n0hzwsI85usYRz51EQUk0wAvxqxludd+uBEdD92g8VhTgFeMOS3eg4HcZACr9\n0R4bZZ6zZRDYquNfoTENWbZLGCmzIg+qTlA6h8VfSKc7GHsrmzJAbVMLIDSY\nTVi6Nx1UvgEKv2VV7Za3nkhKviFsq7SIL4bwSP9O7FSdmNlAMJ+56MpY9oty\nhf2X9RI6HKzZWLiVHaULLO3Y8RWgFbFEwPqkKNS1ZX8GbznFIx1Sdp4Shh10\nuC+w4NircPEPiYjNGHQikEVswPn5p9mOAq/r+KhQKM35eVwSLPzvq7wFEPvh\nXFSmVOb6MVeVAX01AsMwrsfSu8JNlMfexBgrUn0SPjq9ZIMwLF5hy9AsVoRD\n1j1X\r\n=pUm+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.20_1570192462427_0.02558203173131024","host":"s3://npm-registry-packages"}},"3.0.21":{"name":"@preply/video","version":"3.0.21","author":"","license":"ISC","_id":"@preply/video@3.0.21","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ded57abe33aa4117769975659c651632936be626","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.21.tgz","fileCount":197,"integrity":"sha512-4jAQ+Ov65S8/+3aUWZvUAaTKkx8Um1088VFwQfJz5k2OhoJ7wF1g+iXx5H2hDpREoLtUw85wj9zhb6/tCh7uZg==","signatures":[{"sig":"MEUCIBitW5bMkqZN03Cj63VTaoHHJGhvz8/vTilB3qbQH7lfAiEAwyGtZWhvblKNEtQIfFDxHjvFmgAkpfySQfJBtRhdfdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10282639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdl0h1CRA9TVsSAnZWagAApaEP/RCOqx6Rz+G7pYfL0JbF\nXHRP3OmPw9GQgqa2V90wQX6Ag7U7qGfzuP7V2ubpfrJJceGPQMn5w+YA30Np\nqEMVgNFppBSE7OQuLUmK9piS1dp3u9/0yMvnM6mQluY3U2GlnfxotddYtHE5\nGR69/0miR+9aLdHGojfiOaW3uYqsF/jj7BPysC/gc2D72Etk32P9B3aIr8Hi\nHnELnlwtU8XAeiwUKsQ6rKpoSC4QCrtDWHFEfsqZINZZKos3S24VDH4yCnpP\nXU3i9Fix3x5+IYIXJ/v3u1jlGgbEoSEIaX/mHUvNBg3p7L+OAYPWEC6IDkh9\nb7I06mUIC7ePq5cuLseod6tN4qx3X2KeQjzCBgcvbzbCAjuAGLNvJGEATJKl\n/pvuWMJ5Zrpxtj130UA9vdiB+lWyWeY4zFCFISAsfIkEEx9tReS/yy1z90Qh\njQvwhnlMzarNj0QWfrWDeRiUvyGOqne8luycB9d+SsvU068hQstgzQdWr6Qb\nPgW8rqLOX4kZHGvBNtNQKriceXh21CyEt7EbtB1PzabJwydGah+T/UNQI+79\n5d+ULRC0WqumICKob5zR5Ck+FoLdWGYLGuqKPl3oRlNPzLE4u0qQCa/2iVnX\nfl3gLdXCQV7ftohYCDuvR4tV3OlAX0yRyu06M81PQNnXP8irfm6RSsyG6O7I\nHvPp\r\n=/poV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"lint":"eslint --ext .jsx,.js src/","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.8.0","tslint":"^5.11.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.21_1570195573152_0.1711791267902536","host":"s3://npm-registry-packages"}},"3.0.23-alfa.1":{"name":"@preply/video","version":"3.0.23-alfa.1","author":"","license":"ISC","_id":"@preply/video@3.0.23-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d217e36fa093b8ac6f75ea1bcc614612ceec45a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.23-alfa.1.tgz","fileCount":197,"integrity":"sha512-EuMULfANYyEIl9LS0Mq6KZHrDogpst2DLTkb+aLClsel63MkILiHD6ZQNPILgCm3YVUmW4FuBww1aTh26hAy4Q==","signatures":[{"sig":"MEUCIGwsnNQQm5MfWJz1QUHQUAC4GGkOlHHat6yVFRTLVQ2hAiEAh2fa1dkpH4v5iGpZpe2z5h6sAvaYCjclUO1jLopOY/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10300734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnZP4CRA9TVsSAnZWagAAL7UP+gNlJwvvvezlc0zQSExt\n2Q88RUbX/Sr2RXdPkgam2hV1sJDkCC+vrD2o0ChwigNpZny8mQ8R61oKZlSJ\n6oLWCJcVkVQjo7vSw+/mvKVDguom7NqCf4MbUFuKp6HKwT6s02D7aXH2DPu0\nWa5VU6zxri8BQ7QHEcAMc7JLh7kTeyPwgh2iDcZSpoeK4wV7K9vRY3vElf3h\n0k/KqQBYBLF95Y3UQNprFtsGKaUJHO4HAZgtJVzLt9ct4n7G0N+tiHq5MPz0\nuEPgu+ArJPk0rwsdieaXrBQUBDObZ7SPV/X6OLp8VIZ8Yf6kn7bkBvZQKw79\nIXkeHZCGGxwvu3MeKt7XjbLJx/4QK0u7/DrXanV6bo+xCSjcgtJt+ms/Isrj\nePOwXDv+L4cXjiuE1Q2Cu+1iUyP3KkdHhH3E9IRroabF7OtQuKS4i2n6GmXw\nX742FLg3Fkqxc6/xznq1/FEl5AjCMuLgfOle7bA+eH1dz/ezCif6fisA/iv9\nq7AyKKFzF04GzB/X4y9SoLXU14ScFlVqnhXsqDKpoy+p2UM0NeHtj8KWojz7\n5gjfavi/3ndh2ZBzXhGWyUwym0RPjC4d6NNVwIWFUTCr/Xvjg9fUKZhzmdLn\n3Xuc61hsibrjS6DsISIvgmW7MgNkLfD8WBb3GSwIudvbPXQGAXjFQtzGBH20\nZhy4\r\n=jKp2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.23-alfa.1_1570608119749_0.6578932735342562","host":"s3://npm-registry-packages"}},"3.0.23":{"name":"@preply/video","version":"3.0.23","author":"","license":"ISC","_id":"@preply/video@3.0.23","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dfe604d6c775b33910e9ae37e590df38916d4a12","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.23.tgz","fileCount":197,"integrity":"sha512-ESo6oQd73uvtAlvSsOhpHY+aHeXQ5sMEwO6K+Mubl4eJ69hnJY2tgECYs+LMg+bO2k+Lnh+nnD6bUM+PVd0UrA==","signatures":[{"sig":"MEUCICbed3oijCdOlkQPQEKkekOseoyPTuLCMQYJqTQIQyrmAiEA3a4sF5HjwgK1qi9HnlRCx1DkKYvVNlCt0r36D/87/2s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10300517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnZvSCRA9TVsSAnZWagAAxZUQAIREYIhaqgLXuVtGZdPm\nUE1QIXHX2H/m1OddpoOWfzWIKDav3vMiIEoQpeUUDKTYSdnTqddGPXohu+6A\nnF+OQ2CHeRMJ/gBiQ0MsEf/bzaWjUIlLVmzICNcCfuX5EsRPg3LqQrRBBxoc\n1QNLv4HDP5nyXGOQRsgFDE+mmmnOZm7jRvyyeCqTdqGQsU9v5P4eU0avBNu8\neVfhw45v4YfSIBKNWc56X8RM4zHOjh2EVLjYpQpOKlKA9kTGoBs4P+bI9GJX\ninJfrZf6ZELbuGy2/HPGIkQePVT/R9YwV5A+volcWEo1M3T9qE1QJn6PzGEb\n6PmHe3DokiN/RUqutEaZkXZ2Jr/+Rg3RDEhxkFNA+h5xenXfz9TPnnE+wvd4\nGnCEYe9npGuECgqMtjSeLACaT4e92tm0IifmIPuLk1ZKt0JmL2iipXRjEdmY\ncnhsLezcL3pyGuM1Gn7baedUowCVhcrb4lVuwDNk2XGViow/mQV5VnQOqInT\n/H50JpEXkefAsjtlCPkF9oe2BRp+wbiRdmsE0eOadwqcLB2pHaTBYDSh4lgZ\noL/HtIUd0tVHsjU5qR4PPnhem1/Y+Roau4Tj1GRtqjMbxyDhuHclUUhndYEk\n6oyETkduQoCtetYfykd8aC4oEQVS4sefXIcr8jMpvtZCscBKPPy80iGgtR93\nBdUM\r\n=TiIB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.23_1570610130078_0.5144974507855158","host":"s3://npm-registry-packages"}},"3.0.24":{"name":"@preply/video","version":"3.0.24","author":"","license":"ISC","_id":"@preply/video@3.0.24","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"501a16d2b57101f2231a97195443706965051a81","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.24.tgz","fileCount":197,"integrity":"sha512-xS51Gyd5eosvfokbeSueMJXHfhgH0XuS+50828zlgX3qwnJqBuQGyyWiZyxUbuHLlKpQGibbXU5cFlA3/XtRpA==","signatures":[{"sig":"MEUCIQCHGgr0eDxjxGndKfOzjLqEgtXKnZEH93ZAw76lYvWOFAIgGp4X5tdj25qwwo+5xMF1p/5pQa1YuophQyV5tmFl4Ik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10313027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnt8mCRA9TVsSAnZWagAATXsP/3Ax8HvIrIn2HSdgHibS\n6Cl2QEsGw2XGlPXZrj5Bu/L1BNISVhZv5MDyvG+BCgqtGkM0gvKp2aCng8cj\nC/5a72ekApL0JuAIYnUHaOrhbTEx8Rtvt9fuaYc8iNkNcPNQRjH1tlzN3FG5\nkY79wU/X6aHJF2qkqhEoqF/WjXWUh6z02MSPls8UaFC+aJvnU9AoPgUBz2zA\noq7yY9//hY2A64QtM0303kA8ptGkfObJQQLnACmCDS9hnISt2yal3pihXIKK\nKvhh0K91emMWniaAoVeTMlb55vkUe4p09h1zfv37s0EWHYfK8BJDsNNQSUqY\nm91izH/Wsa+Q5w4oN7aOsJqy2Yo3ek1wOGkPf1Zw/JwqzYJMWalojkpD4ID8\nQnLQl5vaQij4ZISqD2LuGpGRA0d9pqAM5nf5pcVMgBbC8EFXJJDHApwYPASW\nac7thxangcBg5q5FEJ3w2w/U5svS36I93ETf/Yz2T32ESIQJZ1WW9c+u5Joe\n53kGukrW63AstEtTYOinsHdSETlIFzq4gaz9GVleXO1ZGSQ01CORp86JfoX9\nE8dcjV+itd15b3gJpNG+ASG7r3JgsXnECWnLcZPQ/U3xBWnnpk9DQkPU+O+9\nGFzZOtm/BzBd0k0tm8rRcKq+VHJ5c2USb6g1XQwFH2iXB19382VoMCjbOLD7\n8xWQ\r\n=J11i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.24_1570692901429_0.9477131347844086","host":"s3://npm-registry-packages"}},"3.0.25":{"name":"@preply/video","version":"3.0.25","author":"","license":"ISC","_id":"@preply/video@3.0.25","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"292f1243e12908396f279894edd3e9d5361ff835","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.25.tgz","fileCount":197,"integrity":"sha512-5OdlYZSARDdOCGhIcZIS9QfqqyZMCwtx+jh64cg+5RgfUR/YOfoNKiUJDt5UOEbmyYq5xHH8BAE/OhMVDrC47Q==","signatures":[{"sig":"MEQCIGiMkwyP+I//fQlqqo2yzi3aDbhQWR9wOkXjIp2Pm3PNAiBXpWLDjiReM6Ym7PJtWXedg1CHxbb68JQEdp2DRixfag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10368293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdpwwKCRA9TVsSAnZWagAAFv4P/33A/9Kek5cq3c2N4P+o\nJk80MBRI1vzYO2cFB/JVVHQyC6HkLrRuRuhJlBuTpM2EgC50PNXE9TrgtKPr\nHW/WBFVx5CX/rONY0xl3CcdrjPUNllTjF4EvIg/jhqf65PO9tttSXhg/dITA\nzwZkHmgndPPOLt7VQoxA2ushHkD+aALAcUNU51tGMPKe+8WMVGtjXfZP0GOI\n+NozM0tCQNbnTA9RCP4+AcKNlHYlYMyuxnu2HoXLlU0tsZvairSAAXRavpGD\nC1QfeJMLB7r5NYLrGx6Ge7ozXBVdKLk+tmhiGfPcuUlfNUYbjbUEzMGPW1bO\nziuHZ1tlP5Ah9L8cGdVcTd9VS75yJ4vm8unHpTYGtRVE6C3Ip14v2GDc8FfV\nm4tF8JXNU7mRb4NXZNFi2jSDm/cn9ip3BJH0iO8qyom8LOtSXXhGPmZqDs1S\nS9JsMPGZYgbunpQIwyBzP17qTQwErDD1cR+X6++eoyeI4IyYvYbaINcjgx58\nGiZWCWIooeHnRWtTyVQVgDven40t49q1fOZrcHaqXkrYzpBaAHxQLSiMjEgT\nO/TIl7u2ZeUv1YaAcdGUs9o3G7NfvHb5EmvIz1zpfpvH1WvcnAZkhU02lEaU\nuZ/8Zxgv8Lc34uHPVa8vOo0weCYEntCemFED2vtyEwziHYSiwviMB9iBSk4E\nMe4N\r\n=BaU8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.25_1571228681751_0.6000638769378599","host":"s3://npm-registry-packages"}},"3.0.26":{"name":"@preply/video","version":"3.0.26","author":"","license":"ISC","_id":"@preply/video@3.0.26","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2c423336e118be53a2ed15c8f3b2181ab291be55","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.26.tgz","fileCount":197,"integrity":"sha512-dO4U2DDPwd+dYvHe3dURx5LolLYq7bgGvQjsThGDf3AxXoVfeB4Xif4UqTaLEwMPiThKlTzQj+MlRV2Cr4Z/wg==","signatures":[{"sig":"MEQCIE2WQfbRvpBcNasoP4uqXHbbrBKWpHHvo67bjH4vfAeRAiBpYjgpwhHoIWTpOMMRmlXKEbnqUGU5PqLCZQbDsZx8zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10372125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdqWphCRA9TVsSAnZWagAAv20P/jYCZE18hCmff0+CIEO0\nN+4IQ/t+fUnwphxXlWhqSJTyN71YW4BNFvMz/NejON5h8RQ6eGmPwSVzoXgd\n0HJklxRpsZfZJftavLDzYSAzCns/qFxVJMqgqJwbwVGZueh62wKKw5alDEcC\n1+9ZgmBnp0Tw56yaM4jfATXrO6da3bwS1jgW2wK4B/5/4xOTUQE9YswjKtgY\nGQSPpU0rVuQYUkWfeHBgf81PD+HoHJGO60cdBN/m7wa0PFy5hTZncVXwlTF6\nKMJIMSdlKTccwDSSQm6ekq87B94fxX92RgFFhVpOrdeTyk474n4Ebw+bfMCp\nufbuPwSci2+Cv18H5woE76wSRYn1gchuDVe0D4dUYNs+OuJoPq5Gt56gbc2p\nAjwYnlE18p+e0B5JG9ScZPZqChaKNbCYSuWp27tssioGPM8DlTnnye2vUGda\nvHtY+bU1MuWNzAM53krGRZYLwGdOSFIdhtzg3zrg4DvledMUa0Ecx5KyWqEM\nTZEKT9KPnsEOE4/GvW5iehmV0hjwRTsMRmD4y8yn4dmC2fJP9HauLBnUQ+vN\nUX/hvOlZQqCxFqInCcZq53XwZ1ZHtDjooAGT1aninQurJ9DxfsBhLyro2qm3\nempBcPu/vcyojpxLiPypWwEFHtUxRmQAMr0SX9yvY27TAgDCC+TaJU+s+Fmv\nJiWe\r\n=E6aM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.26_1571383904727_0.14149408169969124","host":"s3://npm-registry-packages"}},"3.0.27":{"name":"@preply/video","version":"3.0.27","author":"","license":"ISC","_id":"@preply/video@3.0.27","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6a3ef45bca2a66252c685af485b5dbc042d9a1d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.27.tgz","fileCount":197,"integrity":"sha512-h0wNMGC3S+oXfRAQvP0sUrt4uF6AEAwWhBjy++T0BYvIHOK15+7tXtivsR1KiJQuPx/9XNbTl9zWZm4LZOuD6g==","signatures":[{"sig":"MEQCIGgz89LjQDg8o+AGLg+HuysubK6B4Ew29HddTrWe07CmAiBKRiwOivG/gl79rdKUXZRTwU6ke2vekIhJdD8peVmqNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10344976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrpvICRA9TVsSAnZWagAAeaAP/AtPlywbgJ2Xgsjj4nvT\ns4kYJvlnDp8MXrkmRQ9fuZzXFJcs69eGm3gvwvkKSUveOVi5Yi0WPcK91wyy\n7TtOupXhF2N5Nh2v2jt3/DBOEZSyIMXy5okOhhi8opkS4vLfgR9OOBqvZF5m\nLorQHgH0TaVk+26eBZL4cLMw1igoEoq6k8gax8dyzMUOWo6DVssm1hPpqArj\n0WdtxCb3BeVZBJt8aQbONS6yky9AJ9fJGkVsd+CACaINSpSW3L7MOE8/Nwe2\neCyerk7B0VcA4NWaWMy87334WUF0noVDJHwcFFPND6+5mCM0SyMMFmakav9W\ncOpJxdOl28DcAEp4Q/bZDVOk693y3YkyCNyQYwpycGrVY5U6upuqfO3yxyew\nPReISc3UDahgmMZT6VsyAPxAboDZqcj5KRG2Oo0GaMjueXIDHm1bNfiRDWue\nIr+9IW3wVD/5k1kbJMJSdEahUnt5ZY4VxhH5XoB/rggxsTO2nNSKqtVCOKbQ\nIY9aSApz5O1x9ibV7ix0vJG01ynjR1LbyTPge/SSQup88JtPn4k4veoIPQ5z\nx9FGB9qGkXfiyW4OdTaTI1M0Xq9fGC0FhaXcJ9hDRp004Tjj5dPPbqvg7qsP\nR7MT2J3fFhPWKPvdxYHLyufLCBjc4zXc8vPT4l8AShOdixuYZc/Gd6qtgxPQ\ncjnF\r\n=xYqh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.27_1571724232078_0.4273101521282767","host":"s3://npm-registry-packages"}},"3.0.28":{"name":"@preply/video","version":"3.0.28","author":"","license":"ISC","_id":"@preply/video@3.0.28","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a00b8368e4c245aa9084ce85b8432076ff878030","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.28.tgz","fileCount":197,"integrity":"sha512-0oJDjSDaL7gfVnTn/zQEMSHyaFxhwCNKVwDmrQobfaBnG5t3vMkOlyKesvgiyZHtrUQ+Yb3iihMFHBo1zcnt9A==","signatures":[{"sig":"MEYCIQCRmC/VtErW++fD/TJpAJalNHnaoTtfG7+Zuu8rpIPZXgIhAJrJQXdUHO8mW9JheybjqZAlgiK4bKU7JisSf4ToAKn6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10360985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdr/xACRA9TVsSAnZWagAA8nYP/1UlmaFgLQzwbHjlnBon\nuhl1d6ZZlbcNntckCGhZtfO8EIFmWugIb9sMi7IcuGvUmxjNLF3KYPqNRYns\nO9M8sn3b0qvqvXq66iGp/s1IfZ0lCjdQvEXBZaYspBAp0Ymf6zmloGDWLVM9\ne0ckrg7ijeNzNcgpkVC6tGG37rO5oL333A4ARSG4ztbyINwnw1L6d0eHw62u\nCtw4VHGvnYNNuujkHNXy4hErgRtHVdjY1W02GpBSpgb7pwNr2gDYHIdAZXrN\nKAz8dGz3j/NTnsm2WGTgpJQL7oE5U94DJkGzbCl0uX0ghMCovZRNtiHxAMha\ni7wKIvwVfFTB+6raNAarpmaRHTG6x1aFYK6RcwpaswKXFEt4QeB5u8zso5KI\nrr5waCEsh7lOkFqDFn49F3iWBBIZU3joJUZLzP7MJ0CILLo8Ab2AtMBFwqut\n2Ntf71naaIpajKNA0aWPcMqvClK4AqPXS0yKmNlLYid/T7ObUwV+mCBrw+DE\n874P2Zq43pPQYSgXxAE6/dQlUZn9Ly6qvitX6cS20QF1omJXvJ/+AvCUVyZt\n0N2dW3ZeNcY6sDmvhmNXY+IcQbBZFwGanRF4O0X6akypZdbedxFGAHlMRBpu\nroukoedAIFSKleYzFkQy1vqRe30LTP2MM9mQoDaPiELJGIt5HazmkphYvZ0+\n64Zx\r\n=VfBW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"eugenegodun","email":"eugene.g@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.28_1571814463953_0.5333859540092143","host":"s3://npm-registry-packages"}},"3.0.29-alfa.0":{"name":"@preply/video","version":"3.0.29-alfa.0","author":"","license":"ISC","_id":"@preply/video@3.0.29-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ea58931269d6e3bb3ea5b563b3f12de404bbf158","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.29-alfa.0.tgz","fileCount":253,"integrity":"sha512-t5SvJNkr+hcdyEeA4DNdXsI9quZ0nA7XVZB2iEKNbruoSmz4ixGp/hMI5SjfK7ck9fvQ73Mo4whpRhVy5I6I8w==","signatures":[{"sig":"MEUCIQC7TvOCNWyGQREyYwU2gSHifkLVVC/lTQ1TSg/UbBUyigIgFFQkZHIP7UBfb2AcqDSYbAxPDfseOcxtkmo1IgSWak8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10499237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdst6GCRA9TVsSAnZWagAAHqUP/AsdoDDUd/RtbFolv0Nd\ntj85wCiHFCnn+OlWc3HdHEhkz1bYPRADNFsKwcqt6RU5Re3QeWaO64ulEbgZ\npCpfzRbosCjy1SsK5iYBAjdXrB9mYsU1U6yPQYU3/oFwbd0yMQcBLP+TiI1y\nBI4dftNy4RLJhB2w7F9xnV9+/Lvs+/1mz278DbJjokR1RkL43MTDbCzPKyUM\npjbLoI1R6R+MEWtW2ndUJbp/uWNxv3VJ1i8saV8yStpcns/pjG2KN4rGsqs7\nSIfEvnaK1/7s58DLFr0iaUt3Us6a74TlISwYpwLo2h7lhvLX6y63nD3Yrwy9\nPfDjw691sO96W8Aw6dSy3ka1wBh8E1LdzgXk5Ei4/UPeaEHza5hU7+DsFxT5\nVeUkclKLi18kEa9tQZmje/lC3egBhv1lT38kh69VqHjba/Y/GBWsLaWWjwdt\nbovZgzT4zOo3lmwBw4vEGbO3p5ILA7QjvHF20QNIWVWRBdhOqDs6+PCuIgv2\nVNuQi0DQeUYtUfwcbaD3yNmS07RlfmHkNhjrtKz2O+fpjQHOqSMX3/OO/Osk\nCjsb9hK/k9AqdyUXF7eMfHB49VyTiaMUU/v2C9M+W3OybhiajO1BKPwN15ry\n8AB0VjfH1GNh/EGcm2RIVYrvF2hj7/MskpX9aBG2RwEjD+Zj+dzl5RI2IdI/\n1Q3T\r\n=t/aN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.29-alfa.0_1572003461802_0.8862040628287913","host":"s3://npm-registry-packages"}},"3.0.29-alfa.2":{"name":"@preply/video","version":"3.0.29-alfa.2","author":"","license":"ISC","_id":"@preply/video@3.0.29-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4e61db91a28bd6607c2254284cfbeea7e04fa8b3","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.29-alfa.2.tgz","fileCount":253,"integrity":"sha512-ZlJl8ts6/l2cSP0w4tupJlRlx0NmiNKeG1AszYZHjB0lkut+0qmGJPeAQ1MBG+o8cR9JS0+0yLvtrmuK0Dkn2g==","signatures":[{"sig":"MEUCID5M8F67BYwO6UdZuZhVlyzimCUHQFJ49wmU1sTVfiGXAiEA40NRvsd6+3Mj328ElgyU0fJ+bRCRAQYJhC+r6PNHeuY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10499964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsuo+CRA9TVsSAnZWagAAsckP/it58xEZS5h44qWnM5E9\nq9KBy68sL1UqjpmYUQl35tyDH9fxd4gmuSYEOf8IGDVrN6K9qwe/jN4V0dXZ\nXIDRkiYJgQWIawKsPDYll7O8yEdvV9Fu788rl5ZeG+RLR3aystIzrtgW0VuQ\nDRZULdAV/15kWHc+jCRHD3ek3yFUAwLczlyA6HPmtJHvTedrPyrGcXJaTZYJ\nDyc44HVDL89vdkIdqldJs09DoMSD8nT15oTLTYnHJePHyWdjyp622M3KO41x\neF4vTjQBId14r8sZh/BVd4Yyln9xlW+70jY8XwKu0hq4qSZreNYZs+cKJGZv\n3XH2XgBHP8jTGpIGn1JHpP3YFXm+zqr8ujxLRf4x4kWL3tqDx5QCiels4C9z\nUlYDE6aG7Gnq8Oi+OjDfyFqiLyG1iEk/yWpF5mx/R6fRAJerV+grPTi9ulze\nVuseUnzHnHP9p8qKZCnMBrD8CHk0caubl5mWPW4nzioL2322n3+7OACbWlK1\nWAXs9D5tGCyKMHeHcqyr54T0x7JniWoArjnI1/3nrX5XmLc7drkv+speY0o9\n7nyghUG1ZOhe5YANJwPhQkDe16uEpDHO4ARahFbt8UUBRuqL78qIaaLCvhMT\nPbFkyDfDq1aBrpOpIFOq+36D+lLWxiqEwjK2aHuDRU60HKSONsG/Blb0fDwd\nsC41\r\n=DpME\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.29-alfa.2_1572006462057_0.361627602005991","host":"s3://npm-registry-packages"}},"3.0.29-alfa.3":{"name":"@preply/video","version":"3.0.29-alfa.3","author":"","license":"ISC","_id":"@preply/video@3.0.29-alfa.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ea8def9c3d49664f3e167f423dc2d72f8e933f72","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.29-alfa.3.tgz","fileCount":255,"integrity":"sha512-RcZQzNwhjQaXUX6ZMbV9beOt6DWNlmTgvz/SCb2jhLg/LnCxD3K4VDsYPcWjnrMgLoRZRNAT6QKocbPuPQ3PUA==","signatures":[{"sig":"MEYCIQCrO6XO5zf/aCBtoEOUaCpdmwmZBTzRuR5NGjQDBmZt0gIhANlb2B/+L3a9MgtaAp4tDpG2cl8RL5VszKKy/o12C8yZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10495891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdts0tCRA9TVsSAnZWagAAiZ0P/RvrvIFKQJ+7+Fgp7M2F\ndXOXdr9QSafTC7vqi2tPbpiD+hJ2/3CYawiVu/23e6gRODE4mEdl15YLye/f\ngV2GNXWI91jjLRxh3eE8/TdqhFAcKr5P3NkQNbwbJEiZuRDHXhHdN//1rsjg\nVCbdm2sVJpwTVSX4NoEJYeRr93JF/D2Axpct+dBMQCsaHeEtcmOYQf0wCS5M\nm5WH1xu4O0XksApjX2fDA1ks+0YBgGwR6FvZVtNzcwoCC/SIYiIxUITHvP+M\nKs594RE4+ga0JHhVSvbCs2Gy83XkCSZPAmvE9UqIVYO82Ue1ZiuiHzazJVAl\nZrYzxSlZfUqCK9G+T3krqpQu8UiWz3O+ioPSkt9RN84hmZhjizhyMmXMHGHh\noD6PJ8k/vfhcTxclWixDPDxv/ie+f0gxCHzLfQsoTTF+RWiV5Q0H+ZDk2LDN\nRVbhG9pgqqZ+ov7uBmGRRKA2LpDIxlUxo6hcgp4B+Hn1AQcFK3n8HKCd/WgV\n+7tJ8XvENQz10zU64ZVN6cfhFxQbB8v/XL9GWitSbuZiMP/va1SPinpWf6fN\ntmp2rM6xuGA9bTqqtw9gMrxwEBjZ+lruDwvQiKZgzbXc+Q/uU5KbpDUA0wdS\nzpojb5K+WiFPpCrDOOkfNR8SCZXwcJRxSUuX6qFlKQy/Cz7aMNeN1y9RMZX2\neMYT\r\n=MDWV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.29-alfa.3_1572261165123_0.9640934989201759","host":"s3://npm-registry-packages"}},"3.0.30":{"name":"@preply/video","version":"3.0.30","author":"","license":"ISC","_id":"@preply/video@3.0.30","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b09f373d03c849b0e209ed46fe2e8873bee18fa0","tarball":"https://registry.npmjs.org/@preply/video/-/video-3.0.30.tgz","fileCount":255,"integrity":"sha512-XbU3E7yGcAdIlFUUoTbmRO3ktgyEcjF5fFBmLbOjNb8F+BVv4nw6CHZPtkHlGnmZhnphzJbF/uYTlGtHp9Mj6Q==","signatures":[{"sig":"MEQCIG4zIC4MObsnHwQRNmhEqcBFzUvM7/fUNxeNxkpRTM6sAiAt8hXAdEvKpRpVgCmX2qI1HUSkCnJ8Dlkvg7kalloHSw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10522360,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtwBQCRA9TVsSAnZWagAAQMEP/0yQLMdOM4S+IYTq49BR\ngbIkcv2OXt16DF0NaWrtZ7FJAqJbZZJK3juWZUNnVtTk8mE1yR7HHNNXY17H\n4Mfe1nSOKbjMiQjkMOsamEG2pvRBCjH5SEQCCPuQjvGQNv58pK3M4BwSCOnP\nROk8gMoB7sqo1ytnBkQhQAgnKFhPrVcE3WnqBmSBEdFSqV5DVi7Bl/9MSqzP\nk5o9go7qcLENh47YtP/pG3xU6vl1pBNIHUl0rxs4Fu98OiDnfYGgZBSyals0\nJ3kXlCA8bS/tMmRYIqxQRW208ZhiLnIvDfT3vaHnMj+veoKqdZzuSN4Xu0QR\nYvZlNn1c7QYGXc7+xu/m+n5dk6JVCajUrvChba/zf64cSFDRDkWolguY/LSb\n2hGDPIAzyQyo20i3Z319i4m5/g6rLhSp9CEYYwvqcNmb5O/TowFfoRIS1BCn\nGZ9GUuPgdF00VqV0w8FsqNpdgGJy064C3j3wtlrZPkJeyd7OtgEvq4ffmU32\nM/npfDi/3nUEI/DLS9Q0dp22koij92jfsH8eiMY8J2x/am5nmo+WYqpwEV9f\nkxaev8wKVe6t+M1FwEyISDEbDSD2f45RqBJLcbDgmZkx7KRFM0eUADiPaj/o\nBPAHyP0CE3mgq7Ula/7HsHRNH8mA3ehzRfNoWHp0jCumqppqGv5hUdu/G/ti\nSEZ3\r\n=wh1u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_3.0.30_1572274255695_0.1395792257052768","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"@preply/video","version":"4.0.0","author":"","license":"ISC","_id":"@preply/video@4.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5db606f209e422f7accea1366df5570b85d06261","tarball":"https://registry.npmjs.org/@preply/video/-/video-4.0.0.tgz","fileCount":255,"integrity":"sha512-hmmHg0AkcZuiDaFyMY6cdgYcHZP1n2GqgbI9hv3dik7WqQoQh+IvMH3y9FaU3nINsKXuMnGlzzcK02XQUnB29Q==","signatures":[{"sig":"MEYCIQCh8EQCrxtNLpuLl1N8LYyVlpTNndEE4LNYCVIsbHVBAAIhALsIIwWa8G3WAUscKKFaQcq5QsSpJ2BNJkaxIqYQZxmR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10522485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduAxlCRA9TVsSAnZWagAArToP/RXJGBKOzIVfjtdwZaaE\n7VwT91EO2xyk05GFUzBvG1sJZ0kDiwzZBdAndtur8kPbhNYNGylpkfnzFNGK\n9sco+uOhC44LrqpmAxiKpyu2H7a+Z41VivYGHY13u5sVp+RjTLNOR5w748VD\nUIpttMAiBVAWXhoFWPFHDiNKD5EV3K3Ga3pFwTsrbFSZvekuan1y1VfXXM7P\nwPeL95Sms5sHyeuSEhMxrBm3HM2liz48uM+JAlhLFncVMdMEpHekjfpcfYWo\nOVJrh5M6vr1/+nFLOIrARibe3Hz27rSAOIkGYR05wVpImsGxDrQy0FLtn2xK\np4HhHZNcdZHUeF46k1zZuZlTFvlxY78dcsOHJ9/a6BZzfnncS2Y6W7Li8ok3\nt/XzozZJ1OvpkWk3+/NjBQw+mKmyuZIEPnqxli4qxR+ktxMRG9aIWwENrhMn\nujybLBHHFpb674BzWOHW1PkEegUp0xOW5enT5M46WMRctt1odP9CsGyp0Qoh\nBdHHB7ssWfqB88P5MY40W2S3FwkJxvWeGXWZGwuXRvWCa4xwFseggigwROuu\npncyZQF46HD+gQ+2KRcas4jqcOTuZCOxQdJljguSO/I9fooEwuU9Q+DznM2A\n96GQ35kC92YIWEYHP0KNc+hgHLIpiClfxHZN9Lnsj/lBQKp51Hl+w+AB86QG\n922/\r\n=n8nq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_4.0.0_1572342884989_0.5701496217796009","host":"s3://npm-registry-packages"}},"4.0.2-alpha.0":{"name":"@preply/video","version":"4.0.2-alpha.0","author":"","license":"ISC","_id":"@preply/video@4.0.2-alpha.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e337cd8e76296620fbd76156c55f39b48142ecbe","tarball":"https://registry.npmjs.org/@preply/video/-/video-4.0.2-alpha.0.tgz","fileCount":255,"integrity":"sha512-n7h2oIRHtRscHWIpdeIMJ0F966q+Svn2iF3JKHs4QTCNy4Zfznxx/aLjHwYrtjpv7d4w4Vcq2WtwX8oBgvmpAQ==","signatures":[{"sig":"MEUCIQCSa6kc9aYV7+HCh5PcQGxrYszV2KvPUeP6KvmVtZ7v3QIgBlnOWx1HzXDi2T0PgEovbIqrEl414NCYZDpSr8xURRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10534658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwupXCRA9TVsSAnZWagAAcnIP/AlDQ/oXf+cjkiM2iEfH\nvN97LHPtw75nsvgp9nAZktIy4SoWz/smuGalBGfGBeuzFgmBSI0ifLEhYNIY\nCml8Y4aw6WiuPWVbWhNIJXrVSzK0IifOlpP/siuPBfeE1pMycI0zPjmXk9zy\niVhbc+Dv9zU0TxApaogdnZEoIMGCUx4BbSiIgCdRr1e4LHIPo1BP+7xm54/6\nCfdR/ktlYa1QG+FGxa3rCPvSF+VURvbRlBXxrCBF7SbwLYpfk7RIn4w6gKVi\nxYH23ehDX997nwzN7kzXzFiFBjVn5nZhzGhTCnqPI/YjRFZQWds1FaWOxgA7\nixT1sOApUMCUHvRvPNwLfdg8qLvz8xBaoEzDFZL3MaSTLN8oGEAZe6YBSU39\nM5A0JOyTYmHrXk/GlsrPQXKVecgODN2SfTYqGNMDstw8r8szN7YaC23z3Mui\nmLDYn+Uya8z2QPhk5VCCaxp3ITJ+i19+kRcL1qp746TYGPJuifZYbVgF6OCH\nO8DAwq43KnpM3FIz9riLBW995P1073KGTjPiq6AmFDnJv0V36tqesne56qGX\nz/e2hv3zVXGXfXxBs2pyLRi9Vipf0/NGMtGAGqeMHBFvj19VcmtjO68STJ57\n1OG13UP8fK/ZDQ+ujO3ouHd3kV76JFLSvU9sv6MtXn0rBmCNIX7agZGQXgrw\nXRXv\r\n=bhsN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_4.0.2-alpha.0_1573055062757_0.5521697557356098","host":"s3://npm-registry-packages"}},"5.0.0-alfa.0":{"name":"@preply/video","version":"5.0.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@5.0.0-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"df71e4d8d897f063bafb63dac995b3916f9794d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.0-alfa.0.tgz","fileCount":77,"integrity":"sha512-poP+G59I9SFmDvq+KsS35ANbvek8E1IYmXpDHNHDeSk2Mvh3B75q2/bhXAkgMQ28wbXUA3pHzIpIqNyf3LTBdQ==","signatures":[{"sig":"MEUCIGaTxxFKqn/yuoDpUkbPISFh1vMTeYl7QBNddzTI2HXiAiEA/VbiB1wr7rbnnPPPI9YrJcSMagiWeylQpTMnQYfFR8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":897455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxAtmCRA9TVsSAnZWagAAvUIP/2IDpZm64ByNHDQv3JgX\ntE2Vbq2M24Cfb6IWqpDV0Ch6HFruAnZv8JRoY0A2oXhqS+9nbJ1IVFTZqM4H\nCAo4W2xuZAdokK2W4q+sPcr68DR1WMXK5IRYZjs1w4uVq7XDb+FQg5UtLXY0\ns/ia/0aRIFEyofELXV4w7sllVkca4YQ1qexIIXvjxuDTooe5otShQyYniCHR\n02VLJHeBtWhgxipwBVDkIJlt6gd44Qr+TahdD5E0QMWYKbmyywBqlXL+fISA\nx9cse8VKeBP5UA2E5EniQx37e0TR+EC4aQWdsWKGbJ9Fxd6cdMb1J6DJHafx\nJ8TYJxJOnKfKi8+0LNg9V5lNfYRSxxz8f+4hIKA7BgyVmolMZB8mtv+f1b77\nkX9Wcw0YY1neHZdd9aVI15zn9f2aLpd1cYJ4JJ36RgnGVu1rC4lAWAinc9Gh\nE5gEqHm0Y7RdMezmop5o/IQG/O4vne7U7feavy6izfHegDx0ZdHfUl3U5Mht\nUvoSQe120oiBot4ZJnaRIyddmJGS/PlJNKiJRBnEKuZ6XZCxP29T8PuuhmqP\naZvtitPA/s18xl1gvLNCYjP017Fpf3n6egejlFCaIQlkaItIPL0fSMJS5Juc\nzdEuOTp0atYEmXJAvxfWXh5/jcc6xd+Z+BePMnVAfJ1LNlgOZohDU955apZ6\n6ZHi\r\n=CQzP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.0-alfa.0_1573129062382_0.6103788873968814","host":"s3://npm-registry-packages"}},"5.0.0-alfa.2":{"name":"@preply/video","version":"5.0.0-alfa.2","author":"","license":"ISC","_id":"@preply/video@5.0.0-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1402b369ff9e9e1fd50bd738ae6d8835d13e96bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.0-alfa.2.tgz","fileCount":259,"integrity":"sha512-w8wxYJUoMu5kcwxBFXGFXJjR9DuoZEZQdzlQZmxvqRdQiqs0POdYLaGiNO/FYXLwQ3whUWPoP+2+BZCjkEP4vA==","signatures":[{"sig":"MEYCIQCpdBMHEb5mtRKNV66/fwqT5VJUfe6m6H8BNFZkNGHCZgIhAIbQWdve8JmgFpgfDIKpZ1qpS4j6woI3kddMr40WCa9L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10778069,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxU11CRA9TVsSAnZWagAAaxsQAIx2DqQv4ENadrmfd1vg\nK/bvMAO4LtrhqtjzykGbYesUK8u+P1wXegvQkqxEl2UlPmGjuBi/9Ub3E0oa\nsn6UTtE4/XyW1uCdCdCCsvVuqpZJNnDSRJRJ5qyNNWGGo8/N57FzDar8K8H7\nTIg6paPalfErv5Xo/JP//qqvkjAV/kmSH6YY8ZQKwVs6o82SSSg2thXU6DO/\nv19dfAtcLAmE0I5ELQGtDfJiyJ1SmyT2CACI9JN4HWDg1QL+1zP2BcZKTPe2\nsW6SJrbaDweqfd8cbyCFK9w7CRsRobGqhEf6MAZDbzIQZ/DBZaGN5+8YXKKe\nijOQbdZRRs6moM2ptLJqda9FD4jkdgCsLwvyLDDToPHwvxV48FzhL6kdxwMX\ncgJk+hZv7Nmn5dtsYJ/ZuAr+VHODG0SFAeykmr8nfwnKa51q9w0/HgoLbc2W\nYtM8D1voj/nR/WhnZ0Nvt7NiAlSdYrpj7g5TVorAfQvv/Qn0RZHAaFLQO0r6\nGOxhow5LzUNShYOCz65fCp8fbvR93v2MVYh3sVMym5yPP7AOc2xMtfptt9SP\nc3W2axydcSsZWwPvTYHE0p3aXKjgPlTj+7v55TJxQ3I0zKmTymR+IJj1iXcM\ndOdZzAaUt2U0FqijzvvtdPZrlrCyOquJL6neLM/ppkQeud8VSKSNCZv9mQ9f\nnlbq\r\n=nhnT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.0-alfa.2_1573211508541_0.7652777807563302","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"@preply/video","version":"5.0.1","author":"","license":"ISC","_id":"@preply/video@5.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e8518445a54011c81958e045827811a4cfbdebb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.1.tgz","fileCount":259,"integrity":"sha512-rzaGDSyz5RIACdl7AU8FRV2Srr7Bps5+wU8opzw/9nFJFpXdFUCYUHDLoASPmaLUg3cB/mz1KZg34tOrr8WZcA==","signatures":[{"sig":"MEUCIQDD/YrSrGCMOWRW7cySRgbVlUAy3i9rK/CMw8YiceQmxwIgckYVMVHUjdNhFP7k/8JRr0bUPaHzyEG4Furyx37OMG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10799297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdy+P2CRA9TVsSAnZWagAAdNwP/RdqBEGHFh4F4fv7TOfQ\nKqbpa61lv/5b/u0oLhsAdM/UZ0fx2q89sg2taAu8taS5GtPcM/vpuKfYK8/Z\ngGtVWGNEkBDcW3L3GGhr2FpcBffF8oqUHR3Ft4mnQRsHzWNl7bxgyF5p+/iW\nHpzP/kaG7+7Vh9y+jGCdVX+IfatT7dhgV9u2jPldaIukqnkRUH7F2DoUj1P7\nhR7HowlMk8OwftuTr9ZFGygUJAovS1SF9zfJWIFq+O0d2Ai6xcgeE8H/v9Um\npn8+G5dIrTtp78Vx6yXLuyO7c3Hu4iq55SYiS8MKueeWk2dQr7AQbp6hL7m1\nA2iZ/HfKHKGa3q6UNUgE2dfGy8jKrr8wdxh6IOIpZIgtAGK/dTk4IYSnDn8K\nx2nb+cB9HvMJwmU7L6F5HR7VAHn6T+58VtBvnOYlycpGnirZI3ZBRacMRgqT\nu/1xTencn3fnrTDUyGM7+3uYqVtHVdNML0X+Oj5gszj2ZpvlliEFE7IN01De\nxjR+TISzd4zCt0HLNUKDWV0+d6lF4XcxWJFtQjOXg5xKhfjL3XELiW2+WZjF\nTev7YT6iwOR34LNVfOrqsdGLiyfaQb4qRtv3XKqjj28A1jdyFDQQhNMMRrvI\nCqmri5VEkKwII8MV63FbTZ3vbmS0LkHqMXRU8+99yyDCp4WwKM5ia8W/TddX\nJ7Za\r\n=Yoxh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","moment":"^2.22.2","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","moment-timezone":"^0.5.23","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.1_1573643253742_0.3847068219931411","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"@preply/video","version":"5.0.2","author":"","license":"ISC","_id":"@preply/video@5.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8f1864604485cdc0b45bae8349cad2dd753f0147","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.2.tgz","fileCount":259,"integrity":"sha512-sRex/0Dvp4ILBl6OLm7xaJMCTiZnS+yCxoWwtMe/9F1Zv5TailQsk94yHrq8AaX2lm176z7S7BEXG79NB6lYyQ==","signatures":[{"sig":"MEUCIQDyD5/fFPQ1NpoK2o+EW8HYya9m4GrGP87MJoCIto/n5gIgJvXujdDjDFlKx9OuZMXgdNXibbsjlhnVD72ARxP52zk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10812107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd0oxUCRA9TVsSAnZWagAAWzQP/RMXtrjLvFY6nBmb84M2\n8VJlmV6mVsj9Pny8qtPzAeuDKYZc/ReQn/5yf/AZVgFa3VpD4IaX9BFxXcRX\nMjRwu0Y6D59fqIgliMypWW0CZAkNuEZKKd7YLfLrokmXBGVyTIgARCmt/LPD\n0+AfDYy849VyC7DJZt5B9YC/WGlI9CNxiOQRIjX40gJr321YHC6/JzMytO/4\nb7zXdAHyMXTN40hpNI3MCI2HHTMP0c0uTU9TV4INKnxjrHXuYAdcqAZXhSBJ\nwbzeybcYrlROURVmv2nZHUazerQ8aLlTD4kk+Xl4SnlmJKr91MgjeyF3W1bz\nFYHv/elxd1z12qdDX7M1UJTsjpVl9zUhbiEjOVrqewsbzKFD2DZ04fhN4wsu\nsWHiftpLnzFs/2RjDK8kSbEdzHOQZvXaCsahT1gg7XXd9stBnbvOkB5Iuq5P\ng/oh0WJmUTkMofI0FnBxeCkWEJcTvGppN+wy/l+scvmaEwL7ND4QZcQzxM7Q\nz1/t+4QNi9vCVyaFwI/ER6Cslm3aKe971YgekaNyrV/xmve2F3K7ICkiyl+p\nqGEaUXU5tzALrxc9DV+Qt9OXX0uW5UbrFoL7OsXXVed5LdOwRyR7NwQjKSHh\n/fXcPwcw+ym217nmnUD6o2Hx0Ob4SjUnRW+CIQn05rLcyfgxSc8khSQNZHNC\n4K8H\r\n=bb3Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.2_1574079571940_0.32544966297731537","host":"s3://npm-registry-packages"}},"5.0.3":{"name":"@preply/video","version":"5.0.3","author":"","license":"ISC","_id":"@preply/video@5.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"00ecf7ab2da2ed4667a39b5559acf208b2054c6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.3.tgz","fileCount":259,"integrity":"sha512-vig4ALiQVSDcojmTDYviUweZr7QoHB30ymLNxMlxiXj1W8YyXUlKm7zviC8itAr+Kxizajl07YKo71yL2uAKYA==","signatures":[{"sig":"MEUCIQDBa3+I9/4HMC3YbLdXRbktEGdV+SdhZDsiZ5PpFncdjwIgHo51mr3cxnzHWRiDciL4yalo+m4NL865WfaZS/iXymk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10824765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1PkoCRA9TVsSAnZWagAA49kQAJvRbKtCDwdnCYF42N+/\nuKkPCp5y5Q1qxrwKE0nYlUen1Zlzuttj0ILoJRg5W/ejkoz/+8nW4aD8sW+4\nHK9YYVssIbhsXL5PeUjJY8io6HgALR01eXMyoRkrWRQQevAWR5fwJofQoI8v\ng6zeIaztG+IUknARb9CSFRiPIcKLmZjVddDAeS36HTq8zXczhsuLhFXWhdln\ntjnH2YPNTDNxtfNAWfMQqs2U7DAlYtDzh+uzv5UxZBJj7xAkBfGkssDfotXI\nD9TCrq9Br2dZMbYas8op1Tn4q/0AmY1Zi0pbuC5iPLMOkFCSiCckum+PyH2N\nq9VtIkvzfEhIMfxKBoov4XIi4HDpIYiY7btLJ0GU8pQSMv+D2mGvkU7HEN/9\nti0AbH3oSy5AztbifkXoDbrrdnf8R1sUGp2Va43psqFxJf0cDOcRo2F/Jv1I\n9owzOmZ1iEsl4zvm6piRwplwJREL4z7S+d+rU8C+xgE5fhYQPjUnIuQtdW8N\n1ZHsku0Uwx2ytbEpdWGfM0HiLOC0z6Fe5/kx3REAUdN5lTfOQVd98ad7quNf\nkY4t5+aK1E98l9OQICOgonVbC1sp3DqHKZmcMAfFLcgyatFkP3xPuYgqNPRn\nhzqzB3+xrZYL1nkn9VAWGVwtH6uhtW78Pan4LFD/HgwhP+vCKJeTm+9Zaumx\nr+BQ\r\n=r2Wk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","opentok-annotation":"^2.0.59","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-screen-sharing":"^1.0.33","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.3_1574238503680_0.021699733791467057","host":"s3://npm-registry-packages"}},"5.0.4":{"name":"@preply/video","version":"5.0.4","author":"","license":"ISC","_id":"@preply/video@5.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a6f2315dd96641a1f9bda3ed8804ba8a7d8d7d94","tarball":"https://registry.npmjs.org/@preply/video/-/video-5.0.4.tgz","fileCount":259,"integrity":"sha512-ddKoC4k5Zz9V6ADiuGw17+sRnNT71ITmfXfYPPohqldNAnTuTmWZmcYyNgBWhZHYU2FKJAB2oZVOoNuEZ2yCrw==","signatures":[{"sig":"MEYCIQDp/MMT6HOYAHChE+KwFVKs5Gj5hAqRo22rfiTfzYsTxwIhANt+2MCVfYMGqOIpQ279GfMu5kGXn37zcQlaJlO69NKy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10824849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd1Sa7CRA9TVsSAnZWagAA/DcP/iaBYXBQnR6T2LW1Uxsr\naYtotwZu9bVYuqpzwUzUppJFcq+T2yKn4z1veO/9lJKkE+rCYsJI/mZE3oCj\nPhS3oS5IseDq4wZixcSx6uuAJp5Gc/qsVU5jKKC1Qc34LVM9dWr5G7orhHy9\ngr3j2oppqaQ9ddB5ybSeHM5ZwCjANygWDkWnIpM7kA5V+v5sWqyPGpv4r/jm\nWklXn3tWuLemG5ORWySR41/6zi3c3OuRTK2MXUy1hdFC6rYiCMRxIh79rt00\nYOfhSt7ijQSVFsUgoN+Ermf76fnr61Oszz+9f41YliofGE455H8InwVFWqej\nknR9P5VnTKb4Md1Hgf7f/G1AHJJAuYiEwPBhsyS30jdh7WX5EhFvb/hbOod+\nrdoMBzXQa6hWWmdvmX60WDGbY3NwlosUCQUcE0q+gZzKhSt7UkDBYlk83ZTr\nX85Z2VBY2JaR2elE/erDi7PEcu/TnqVk+UBTPxhJWw9rDFU7N+OLkFodG5VA\nNZ+OjsrhAu7jb5ccQXOhv7XzZB0g2cBtwPEbGolR2XfequpOzceGLLJIoPw5\n1hZnAP2qkG5v0E7sAhAmciRcnCoENEvHy8CTBnZhoblp/JijgdSB0EtTblIH\nnaFnOxlDErgnwVt9JhanNDkqgvGpnGdNndZfr+mcCXqxKSl9kNEB34i+OHbP\njBYT\r\n=vb/S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.6.6","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_5.0.4_1574250171056_0.9731558843641912","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"@preply/video","version":"6.0.0","author":"","license":"ISC","_id":"@preply/video@6.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7351290b2bbe13d6806f772d97153cf5349650f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-6.0.0.tgz","fileCount":259,"integrity":"sha512-gQV6ZB/tMz7CAg6xELsBJrQNR91GxszNBB+HiuGbgmXrSVzNHGH6dJa5mnUpXk2BN+ndHA1i+N6r2+xS3NT4DA==","signatures":[{"sig":"MEUCIQCGxs4Gio5gTnf9lhB0aJuOPSl6B8JX6h1q/7/kEWNAYgIgZdU4Wf/cCAauaP+aUTdl9I/96YXJf1ka90Ysd6OrAT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10862572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd266rCRA9TVsSAnZWagAAB+cP/AjV2fUgiv7WlyAZGia8\nZq7aoB75DNCyDJ8nRaD3j6PXcTBgILJ53SNC2Be8yPCmEZJ5SKRvhamMICHE\njFFx9AV6MQ8QJrtBnxlD2DX4cyWhV7QdLCmmSb+QkNVdr5Kggfx/Hlux85cu\niIOvmpPjNLBIBBRVSy7Y17ASBmbb72UGm5NbSr8IbNgQrlTpcDEQ1m5FWzuC\nKoI2tZ+Yon0lpb7P8Tx58uT8jDtyHDqxZ2w8lYOQnthrsu3OsKqiaonwnpks\ntf0h2i/2Vpk9hXenEgrHETvBKA5IUpSh0WHbdzF4ruKzlmdcZQsmIe8KrVKC\n1KzeP/Oy/SqgiwGhzu0tIqaUowfVZ80u4LjW6NiL2bLjFR29Kg3wgQfufZ1h\nGbskRD7SmM3DcPbY+jypCi3SHWRAbw+MYjw2pMtyGJ/XWXatPPTmXP0k5gkH\nR4nGALweTBhHwqatfP8WNfe4jG8s4MxC4vY/SAPblt68IHwjBj00AUlJ+Els\nbbtad229F3vCzHxfdLecTjaz2IsQN3A2FiWrEiGWE15wUU7+fTszB4XkK0DQ\nNiway3n0/OEZ9En+b/mKxdjFW+DuBu+/Pg2fAevNMVC65spU0hOEFBZ4EQpW\n9jktsufNJObPxK6FvyefBqaaRJSgcd9BzxyMl5pPIM7rhDWgKRDrX0HH3YxN\nMexo\r\n=LSOg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_6.0.0_1574678187395_0.816067077435787","host":"s3://npm-registry-packages"}},"7.0.0":{"name":"@preply/video","version":"7.0.0","author":"","license":"ISC","_id":"@preply/video@7.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"186fb818e0e61099c7e3731856d49592ae488047","tarball":"https://registry.npmjs.org/@preply/video/-/video-7.0.0.tgz","fileCount":259,"integrity":"sha512-D+3D56eS2V19qooqi8Sn3WzeASHhNjcGbo76xMmYyHo+H0KXk53Nzgeo7X/S2Oq9zaFyMDdGenfjJvcNOorAkA==","signatures":[{"sig":"MEUCIHp4d21ZCIOZOEMXdmqwpBC2aDNz5Xq7cwAlZPAE2b76AiEApZV6KEcZaLqP+zhbgp4rbZAWNaacyJfcy+bi16shfKY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10847755,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3RRNCRA9TVsSAnZWagAAe6sP/169uuuU7vK0k57inNTR\nJce6rK68hbJ8tCHKo4H5AfZvZTxmiP/SvvhRySmgArH/km+tJZLyysnSs9Aj\n0vByDyme0ZFSMIo560cQEaZ+qqJB/hqBH096kaq9ylNTN4Yr4AXKX+iUwkWd\nuV66KNlsQN8IgvjLoZRtX0tlQ7IlLGooO84a0+H9WSHECEGw5aw20E3bStNt\nOz9egjg3VN7Nbpxio2T29Kdc6mE1Jta0iZPN6lkjzkLXYCbxdCDTrpbabaRx\nZvqMesLb+qbikq0b0HaUOin15FKSusew+MAB17LsO539wQcI6lCF+EUQJ696\nkHab7e6qpJ1ApVfP9KRLgsqq2GQcedBb2Xl4ikWkB8Xlyy/+E/bWrqc3TWqh\nSiAbM10vm7qBm7rNg+zS/H+Mn4EOKrOtzkb+XTFnuMUw16ci32g1m7IfzA/W\n0SHzL5Ti8jMLKlr9rtxORKHJboVO8NE+l0dZfKK3+4y2LfWVI6b5EZ+uxDrp\nQOaVj0XrV8iKRh8m4Qna0Vs2aNlBaa1xBb+Ko6lYnj9RY/zmzCCgkBZAiwun\niJxRQj6QWe34uZ9/BN9NrRlDU+cGIMn1xrOH679dslGGv4Z4CQwaP/PmFT6j\n6K+MYgZUsgv1oxVIPQHNrOcuppTRJt7buVow/9zql4LtqlYI1Lku9FejJff3\nEu3P\r\n=wA3O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_7.0.0_1574769740728_0.22269328950126321","host":"s3://npm-registry-packages"}},"7.0.1":{"name":"@preply/video","version":"7.0.1","author":"","license":"ISC","_id":"@preply/video@7.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"caee59c04576ae8adc8d7b0432b67d54ee3b06fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-7.0.1.tgz","fileCount":259,"integrity":"sha512-eHnNn3jKxBUPgCZ06IO4uhTMcZUOz4CDkM9Bq3czXD4cHFQreH3Dg3HsnESJSt6wNItKE0UrOY1GnDQoDqjzIg==","signatures":[{"sig":"MEQCIGJWTJb7kToP4eSzmOjz8PuCQMFysmYSn4qpMv0OCIfbAiA+5R+fZ5lmQYbu/Y5oceACl1K1Q5ceU8qnAgax9+gahw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10845215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3TnaCRA9TVsSAnZWagAASbQP/jbDX9Rzo6BTlW2xtahO\nJqS6g22YGVWGgnvIRdiUJTfSFIJIC9/xXnWlxWajNlHJ+epl5ZT7ucfvvyRx\nSE0mGZfp6AvIBHf8d+t2x3on6SUAgbtYhYgmsRWvvLuAGVZe2uceB1s5w7f0\n35LH0tRgQBnTo2xPm6h/zVOk4ZF0xETsPEKb+7iVSf1V1dT8h/BmwbOUaR9d\nQ0goRWdJ5bIH/awZtaIw7q51Yi9DCPlSd7A+vFb1KE1Bf8kpoYrMXt7/J28V\nl0BWqm92og+Shvuc4Jf82hvvEbwqSkVm5h4m6ZrVtzCMGHvznEevcnM0ghRl\n1oB3FPIiSEgM7VbyjeQe0nEeUdmelnKKAuZhuAftjmQ2O/4PshuFTXY8YaLn\nP5zNTFTkmOngw9xcuQBtNe0011T1NQ5vKwavINE13PG05GU5TEXTO0DURrsH\nTqxwW5WCFbqxhZQp+UyuJb+JRsouJToKqbKTpYYvCKezQ8ppNs1pgnJwzJEG\ndCnAUJ1M0+zwUtlSF73iYuJnew+3R8Y3D4QiM+DMGsIRc8sxEQ017NrVG2Ke\ntoWI4/SBZZlld1XEHcujHiFmfVTHzuCLq7Fcoa9LQXkND4DfKfMMKRp+4ubq\nLvXI+1k3uKf9XobwlNZTagdW4Ise/qyRWyyQhE1C8xVo18NNbzUxbW6l2b0g\nG5of\r\n=mWFn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_7.0.1_1574779353829_0.7134192888306181","host":"s3://npm-registry-packages"}},"7.0.2":{"name":"@preply/video","version":"7.0.2","author":"","license":"ISC","_id":"@preply/video@7.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"86385b1e11cf507d64ca6b12e35e3e63a081fcbe","tarball":"https://registry.npmjs.org/@preply/video/-/video-7.0.2.tgz","fileCount":259,"integrity":"sha512-syyi9cCgvk88jlzOkUFV+bDK3KmosuA6XhfRSfeGjtSD71DB+1e8izdkKgnZEXs9P1MZ7VnYSP/Jrql2U/VM8A==","signatures":[{"sig":"MEYCIQDNLi/7jmQU5BZPUEgxS6r4I14SwfSHYEjM1eMIkDWifAIhAInslvH0peixzjCcwlfdI1v59wRsJ/i39eHfShDuJqYc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10387145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3VO5CRA9TVsSAnZWagAATPYP+gKnMVwW9w3189dXF8/7\nHh/hX8q6V77kS9btsZWNF9GBVGrYsVMcXslZJtpLvz5HyeFvTbV7ttsr+Jxf\n7tR1gAFhI5RT/IAjbBowwiqKStuQ1CJhFOCeAryPT6hn2m/E82vAG4oUpaLa\n8GGNMAe1yjDuWc8B6gDQePEQKNGM69SlG/NUnnsFvEBhfpC/5H2ZjyAmap9+\nJlUCdI/Kg1Xd/K5sOxvMXne+72G93SdegwU00een8sxh5RvF1ocjPzecZiE2\nxd/VdDHy+dldOJptEUMM2QJFQnd7p68qXafrxT/XQ4a/31VjvhsS8+pRejAX\na9Kmbw6tEHG2X/5T2s6975FZl3Yu7jZFNa7XfretVHadOj3UdBIix3FQy7jo\n3cA7WX8xA0te9enTtSYFMETZLh2qJ9eaOet1RiKdYF2pZtpUfEMn507o0GHV\n0sQffuzeCM0Q/aEZwBoIvYMP9C1xcbNOpz75m0cIA8QP4jEEJVfMM9W5/lYc\n3VBnWY7KP6SQqR51uJ64v3UxHPxd0x2WMBz0y9FztVURVBT7tpfR/2PdIuqG\nrjmQa3UWQDG5oJyJEIkkEb2LVK8P8xMoDpIXGDCQ4JYVBWnoBX4FHjgQkPOU\nfm6ie4SzAMJjWPuzLV0mLU1fLdyVeFgOEzHcL+KeaU8OgDvFAFZCIXWULyKJ\nq+t5\r\n=gpS9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_7.0.2_1574785976364_0.6441122393079002","host":"s3://npm-registry-packages"}},"8.0.0-alfa.5":{"name":"@preply/video","version":"8.0.0-alfa.5","author":"","license":"ISC","_id":"@preply/video@8.0.0-alfa.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"36c9b0d19f67e7279b1f76b6cd1ef9991a62c501","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0-alfa.5.tgz","fileCount":279,"integrity":"sha512-g03hkQZG5x398oIz8dmfn1n92ptPmnZuiMa7xXgODMidVtHaN7fwtqoHkLjJVxUulGf+Zegt41O9yYqtya7Zfw==","signatures":[{"sig":"MEUCIBY8sI5kUoac3rmwjyLuHU/2XCt/7ugd0+FtA0TD2pMcAiEA+lKSunNwwG/qMHHn6klYrqgZRNus9hctwr0FyK2tQzY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11870038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3VomCRA9TVsSAnZWagAAUGgQAJ+Ddk35wV5DvKRkyZjd\nVyFuoxyDh1VuoEV7DJCktYkkNsNN7Xw3Fax3I1gdz2obzHPMInX+7Qt+8kFp\n5ua9qQogVAQ2GvOUOnwM3YjSiETcWOqrK7XfXZ0I5+5u5amHoLANBUdPkDiq\ncrne5g3WzzDlFbYheqMyeR3DnT/9NpsT86JVcfzQ9LXHBBGtEIh+4Q6TPSK8\n8bhCouoFs+YAj5h/wEEV1XBok+mEAVgjjcD5lCALAZb1ttg3u9uOYAdqvLzz\n8wqH0PdD+odJ1jZAI1FHGCDPSlEALwNFXdLsly87M4Dou96B5FCOX4y+apKD\nEljB52SFM0FT7ILorsggJvi65+sVuW//gySyEMxbyl4h7NqMw3FCmLXsxcyY\nEmxK5YII1Sfj8UGJ2qrzz/hHJLF5UdW6n4tq6ldBtnNxJgE9v6g0nvbuE1SQ\nAOjq1KM04avHZXJUG/g0+viaOcrIoEcToTDLHrhtb2Vejp0JjOLvH1VbvgnD\nhxoNKAhkW6aQoGd/b8R1r/cbS5nSYX6nhSbiCLNxSK2Zvanne910WW2GZ4Zq\nHU9a3MxeXXqdYRK/2QKO7SxduLRv9EtsK5Zxb5eVS6vJTbGwllz9o4T+WGwC\n6fdhs9CfhANyKlpCrDeS7MGLGVKu3pzTqU+zFdWioyezSdpDUH4xHmosi9zZ\n2t0h\r\n=KmiE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0-alfa.5_1574787622087_0.21555232717635864","host":"s3://npm-registry-packages"}},"8.0.0-alfa.6":{"name":"@preply/video","version":"8.0.0-alfa.6","author":"","license":"ISC","_id":"@preply/video@8.0.0-alfa.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9391f9b5f79f668d853e49ce08fb39002df8805d","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0-alfa.6.tgz","fileCount":281,"integrity":"sha512-MZT3idSKdeZbMnirzgvAkvuv6zGoNX4+BOKhQahlVaieB9i3IzYbMyJOzfJ2jK3U+wQMSnmUQ5DEGSlMarJ/Nw==","signatures":[{"sig":"MEYCIQCvdmAd71qThmhHn+OKAvEcu5QOCfcYiTPZLDV+ibB7bAIhAPz0rxCN63XGgtCpPsz9WDB/ryQOrcqZl51mXdJbyA/P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11914707,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3mR2CRA9TVsSAnZWagAAiU8P/39YnA/5xUPJu0V1TbR3\nlxjCnfujCci6Xfvb7tZ/bPkZ+KrFmFJYEMkE6aBnCaPWfR5e/seOaxI3P1xb\nhq1NrwL82ztY6Dv2h+o35sUtG3iibNull3veMY5qtJbZkVkBDMXahDymHYDL\nepjL/6U59WP9WpN/0gu7ApG4KtnF/FfbD0bZxNYRKXnY68VyWbDc1XEuUJ5S\nGf/4X8Q93xDJyA8rotJ+iVTDyfBOVx4WXMUb8BdYyG3vccnRDpveqjJAG1BJ\njwqDVSXR8K7thvVQH0yDFyqr/9nAOyUcE3dK7B8iGMDGDDQ0M8U+e64VFOIR\nyvhAgHDRA5jJARbjtYoKGGRbt94x9MHG8wgsYBjBSMtHN06qNnmpghMQsEAH\nO/Sdh9iRVxmaQs+Oc7+gIJx4i6+wtzxgXSuDbMOcCaAU4qGpwfw6bKa7Fwf1\nyR4sUnU/upzFF4aENs22FyOKdK5n86Z5QjSyUVPKKy3yvF9QlLque2MdW8c3\nMvSScYGziyGdpKKjCD8dLLUbm0w4+nwHbfE1s4//8y5id9Jx0pL5SA/CI8Pa\nxzrhq2wjxdESJmYJBtr8LT9vpW13boJRNWFcrvLgp7e3aWm1xuItPVQUjN9z\nomVDvk/UEKassF/yeyS5Qgu+qEKp9rdimRf3A/Uh5Y9MJ+adNQDtXqwYCV7d\ncSfz\r\n=7GF2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0-alfa.6_1574855797401_0.649163071973375","host":"s3://npm-registry-packages"}},"8.0.0-alfa.7":{"name":"@preply/video","version":"8.0.0-alfa.7","author":"","license":"ISC","_id":"@preply/video@8.0.0-alfa.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cecf878f4c496f970545b4c73149c55a96101acd","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0-alfa.7.tgz","fileCount":281,"integrity":"sha512-p9IikPD3tGZkvOIqtYYQQ+gI92kHx56HqghhBwjfXE0L+j1F7T2w4ugTlVTOu3vdy621oAMeYOlBeKHtzIxeGA==","signatures":[{"sig":"MEUCICZriqGTwlOCgh39Apd4jOJJZ1GXCZNpN8dgqoTZcDkmAiEAzv83SAPK7NSRemTm+LP79Ia26Umh8cV/D0e9OG+ZAzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11925181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd33xECRA9TVsSAnZWagAA1i8QAJvaaNpShnSL9d1lEKWK\nZSKO1/IeCo/mFcjE7VB4Rb84d7JAkZoq+xwuzMVOiGMkBwDLIGDpjFfIVMvQ\ndr3+H4G3WgI37JmOqxRxd7QKKmwgHaHyVw44huokb66OXUnKEFrO4n+MR1Dz\nTe26CgTIhlHx1XIzwaEmLTbqjAPzZSYPL21/v0ogKPwoaXuMqWr+c6VhtHjF\nJkoj+envfih8oIaxsDixCyYiBtjdGeahQpMYLlV0Io8bDOBflifC80Vas2YL\nu5twLcx44sYrKKxcJaUGGEA/C2A4Qq8tI+esDXAlZA4sn/VV1CheFaIvo/Ov\n69d0CR3eGNyWQtF/G/LkBd4Uf6uqgnW39BRXvuL95oE9H3+LiCBUmVR9OYw0\n2rbyzijdD5mp6B8F+nrqfuDA4iV/ANXLpT6wlkGqCmWROMlTEbv2WakoAjkb\nsfujSVXGJn44c3m+y1l+esGlLy6N5NjUlMTr0/fei2gFZaGBbDinAt/nI5qo\ntXeWuoAnLo1dLjSnusQZR9piI8f9+u97nR8loBXKStLQhWghVBL5xzkPq4Pb\nEq+ZW61p9oSQ4KsX0tkWAJEy7c1CSsHRXAkPnT6ed3mZCKL5qqfzw0HMxc/I\nXOL7hHXvH/oEqtk0PvJ4WGjTS0r505mmaw5/uhytMNNNWQdC7IOQocS4eL9W\nqC4n\r\n=zru9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0-alfa.7_1574927427388_0.8062784023675786","host":"s3://npm-registry-packages"}},"8.0.0-alfa.8":{"name":"@preply/video","version":"8.0.0-alfa.8","author":"","license":"ISC","_id":"@preply/video@8.0.0-alfa.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"884d3707833a3bf12faa0bb5c64c55779e60985d","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0-alfa.8.tgz","fileCount":313,"integrity":"sha512-bNmBz6M+HP3npq8D6NjfqmUy0nWrmwym4VaI40ub7rT+9SyIB6PWeL3LMORzZuXqLHHS+Co9xQmP83TunOAotA==","signatures":[{"sig":"MEUCIQDB0m+XS8h0Xw6b0nL3/pAXkSl5vcwjk/uJ9nPvrDL6vwIgZ1wKKk4HK4kgIpGl4EsHOW+zeLqtD1k/kEU8WUY+NmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16669084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd34qhCRA9TVsSAnZWagAADxAP/iOSUBSCRa9OhM18by8e\nLDx+dgwnDJm9zKV0YiWrKStgZZ8nfqU1zUmOpSWfISxWwr9leTG1OvyriClc\nopGH8iy29nc9cp7v7STo8iXu5yPzY3HrVwYbYnDmcJrSCp+27ef9AtR8g8tY\n0y181ajOoOx6o83jj/Wbjt9hedoiBPBNDeOWGcjW3EPxieQGSoUC3oBX+ooD\nKGEr3VVL04IiClBeRdVFFgdeesjxbp17uvkMz0GVjBe9InocrzdKaKgsY6/q\n/hFfAqzYerCla/MYkmY7bFRPEyEZkfshRUdTIf8+Oln0bKBH0pW022CQrRWf\njzA/O7BTK7p7JBv5IDAc3vzkrtJWHZQkAvyxDdxm9UA8ml8IglxN4TodhSKj\npNRGHd6Azd+c7Ai/lV7hgY5o/hKdz71EA3vrbfUUTN7LEsz0CPwXrPhf6OEQ\nguupXjmvNE0teNdPZzpgpSwePXcAxUnK2TUZ9S5UuhZ2DWYPyYClNrOYoKq9\nk1vPHbqq+O9SgZQq9vAB1/8SgPFsV0KN27cfuzP/eBkxj6JG80Idonok7k2r\nU6WrlUJpwmWme45LXmKzHYRTzzn3tMdVTpXzhPxwoUctCVp1p2khMvJTLFZo\n4lyOnrE8Ra4Bdj4rLa3D3xA/MvF5J5/prjKxoMEfgLlVv9CoQnAdVS3CXEzY\nFvaL\r\n=Jvbn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0-alfa.8_1574931104879_0.7090564621526645","host":"s3://npm-registry-packages"}},"7.0.3":{"name":"@preply/video","version":"7.0.3","author":"","license":"ISC","_id":"@preply/video@7.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"58d25e0cd3ec865dadccf4b71b7377d1f2da24fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-7.0.3.tgz","fileCount":259,"integrity":"sha512-RkC8dO+XRZemedKWyq4VkClCjyQxEn7VoJMv2PjyCYd+MgbYp6PpIhtecY4IygipOrQdzK8uNhNYjRLRzQr1kQ==","signatures":[{"sig":"MEQCIBYUpE9l2Mt5OmDVcYrFnTWlsBozsuhBakmgYGH1/8+BAiBITElGOxnIO+3k6U7rJbd17CB9ldXFK+isBfGsb4xWzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10446531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd35tyCRA9TVsSAnZWagAACCkP/RZdsZGb7Zz0Sk8N/7QP\nUrcREphaYHbg2k7Odw8TjbEUomaVHhHL2caLAgAQYIf6KhsCHR3KPlXuz4yA\nttInIXgZbm6pACesFY7Smvz4g5QpupoNP9zSZQTHcKkEcBIKv3wf90cFVtM8\ndjKXQPvv52Ettp5tgFeUXJ8ygZOW2LVNkghJesXqm9P+G0Us0zG2u9H0Nmg3\n77jM74rkl+Riemwe4uGdPTLmX8kGPWHg5xI40xvjjAo7JNe48zdK/x+8p/37\nWucqiuHmfOrAX731uq/gQlAusQoaHJPhymD9i3B2A0DJ6To9T8+4n40vSz8b\n2a9nR7hQumrVGEQgIj2G50e0ZGu9shwXt2iDgTSH3cznaVXKv/nOquZS3w1X\n9GfiJ1+5i+hJB+vJ0Vc81JasOCca/+IjekQTkAVl30gyqtrgHoKkmIR18bA7\nHZIr4TCFpc/GBx5/mUbp2uRHv2L9T+6ynR5eU1o43jqDh0O41oljnqitrye3\nBtilsuthMtq5hI1sygGapLTa4CtGThsKrT+DEhC6Stgw022M8hD00HFCwhCl\nVTBdIX+d7bsBpdDmniZ1TmXedOLr0Z8v4wxP7m1Aa4TP2jbg26CdqDZY0E4/\n1Nn/ccJQArRil0/q0y8b7pI85R8KYCgihMjOAldugQ9jkQp3X+CSa8/qwl8h\ngiew\r\n=ryyQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"^0.13.1","recompose":"^0.30.0","@preply/ui":"4.11.5","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","graphql-tag":"^2.8.0","react-apollo":"^2.0.4","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.4.0","graphql-anywhere":"^4.1.22","apollo-link-error":"^1.1.11","@apollo/react-hooks":"3.1.0","apollo-cache-inmemory":"^1.1.9","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.4.7","@babel/runtime":"^7.0.0-beta.56","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.4.7","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_7.0.3_1574935409344_0.6456167561252442","host":"s3://npm-registry-packages"}},"8.0.0-alfa.9":{"name":"@preply/video","version":"8.0.0-alfa.9","author":"","license":"ISC","_id":"@preply/video@8.0.0-alfa.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ecd98a87892719d3f67389a53a79f9c0186a2ac4","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0-alfa.9.tgz","fileCount":281,"integrity":"sha512-TLkO/hmSbcdy3KVDGlukqFzpy2fOOW90tEaXRSIG/iDBKuuG7bKJxtZLPLbUbVIa8K4/BU5SHq/kR8YaAskmoQ==","signatures":[{"sig":"MEYCIQCs0OxtLvAtSMqERXPGieJGlfhLQUBs3ww109KncWJvdQIhAK5IflmwsijqzjZBITvdyIHl8DTLYd4SFZWb0Aj1gHHK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11915961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd36xnCRA9TVsSAnZWagAAsBcQAItqFR474Tn+g5lSf5qs\n3A/Wq15up8l+oh91S6ejVawLZCeidt6gspr5ec/OiFgY+XX8cJTt94fuEIcW\nrG7xVkPv1LtDz9p1C51pWOGZCOIbpu7cButWjd8pli8bSg8678qdPsf3yRuc\nTckqjZMv9VojeUCIPaz47xHPxOufctAsTt7z/+KpbxP+6XMcQ+wTsPkUJ0E7\n+FVcacP692nTWA3/GEb1c1mmfeKu8destjqtWDgj9+xwy8OqOEvCrhM1xS+m\nPqB3pRt9ry9mZ4i7CTV9LGgXGzySVnxI8qOVnywgZWyQvowPwKDU9YzDDS0m\neIXXaFkEOY4ymYxjLco0I2D/DbEvXtB7un3gb4NSO+hDUH4bxdWlPdfhsVh+\nEoa2LEM3DUPCRAhlUmn5dES2EcpBhL7Dg6aZd8Lhp7jO1DP+2WslQh/JXu0Z\nooCH9Wwsdh+tnXTiL0LJ5kIyw5VIJ8nJCNUX8OewNGBGxPR7nFn8QEfX4iLs\n+e3lhHowFtD5rnETSCcegz+xcaClBN8tPTlXDgoCxHwsjtpCejmT1cT6EWWS\nsOfbQO8q0uX5Wyipdp+Aa3C0eM2Mn/1qTsSWvSWCwHM9WN1a0EcErbO6w2up\nhZMj0iwda/HbVjk4wQJyXni8V8lXb+rdSsbLrBAyMTFBy+DamwKuPu57bIRt\nemzO\r\n=YSFL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0-alfa.9_1574939750316_0.9276230877657456","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"@preply/video","version":"8.0.0","author":"","license":"ISC","_id":"@preply/video@8.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d17cb808c11502f98d6ed5383f991da3b73dd258","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.0.tgz","fileCount":281,"integrity":"sha512-amQNIO4iupyeETSwAyKLtAHE7Pn4ls1GurOfto7lZe1eRsL2J9vsRuyGT94LOGPpIvjwuozuejEVVt4caSKpRw==","signatures":[{"sig":"MEQCIFYEgKcjbbg62b21r+XTa1NWQlLfZ7BniYN7X5KuXDiAAiBPugjrg00MfEvBw5LSW6hDoNiH7GNL8CDZyPRWesYdtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11513926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3743CRA9TVsSAnZWagAAcBUP/jwCUjXsmscBZtbTT29l\nr1MVz5nBGeWjTGIdJbBjzn/Sg2lP/ki4T7l67t7/1+AFIQpZNDxtWUOqGnBR\nXVMecoMSbl0DX4GUBkdGJuikdtG3qY6v3Wm83EZ5nzpZhlGkX3Cn5CdlurUl\nQBounF95EEh8cE1xaAiKnXxMGzIxlYlM/G1NA4r1u1mvNhG8lJ8BnjzBnslO\nxavZxk9pnKOLmgKSd9F6q+aS6b4t4Eq6mP7H3rj0efHW3/yo6TA7xCF1HBTe\nimS4omp4gFZUvRL/dymDUNitNqHF65mASMLhhG+eAgDVWGR67GYKuM929i8Y\nX+w7VL2b81buKCxACblHBtHWB3G9qh7oqAwZy0P89Qm3+K+Srv0eoJNQtFwm\nGvPX83gVFQLQj36wqxp4G4PQDosnS7PtMcOjKYCbMWxAYc/gaRc0o56gD5bD\nw2PdXqpw/NzR8doFN3DD01XbDkn/X+titJTDOg3tOIwinwO3HeJHeCYdYev9\niLNmbcWO3aHerNnk0nl6W+Lx8DdlOFI6nXFYxPWFifjCmiZGRf/R4XhrRlR6\noYwcCmn7G5KYAQz4QV0hrPDUnpWbbXg3f0fox1HDq/nyDUDq4Fev7vgCxQBe\nwZQETEkZh60IsuAS2gt5Km+Kb8NuVwApFbPnJxbVVqvp07Vnjdx6SjfyGlqt\nrIcE\r\n=+pyL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.0_1574944311211_0.26424533196161515","host":"s3://npm-registry-packages"}},"8.0.1":{"name":"@preply/video","version":"8.0.1","author":"","license":"ISC","_id":"@preply/video@8.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a29b56c9f856f160e9e36a9d6e47feaa7c5a47eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.1.tgz","fileCount":281,"integrity":"sha512-+LMf+A6OOvxuETCug3BYM72nUiZ5qBm5B6816ko6L2tE4JPnnIbtXsHitLamwZP0hA3y09CeCBV6uiKsYdRDuw==","signatures":[{"sig":"MEQCIG9UgjOZB6VkV621sIUtZLzghXefCABxuMQR8V3Elo4CAiAukNrFInPZO/junmpiHnHW3XLNjAGYsLxWeBW0XmgGrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11498375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd38XJCRA9TVsSAnZWagAAQM8P/jnGcoLaro6GrtRFFzr7\nUMH5B7YCTlfdK08MF+3z5xfBvN5BEoaKy9JnRSYr5IAbwiEevgs/AxNQxF6V\n2fB0SpphcFB4e9YNu+vs2cXOiFfKj+i5aHXk5cj/eSTqqx/N1Urv4cwLlJTm\na3sRzbA2xQrxGbYBPETcWb7h4dsNYcmYTnFcXUmJG4JcJ62qHuJFNnmal3XV\nIfIRG0XqeRBxDcRA9+TpUzcHiTIZS2Ryrc4TqHSaHoSOIaGYnaFabJSxIeVt\nq60EOiGktWYuGJkxJdsQAWxi6pVtawx3BbOPgNvo7xchdMiB4nWIKxNAiKPG\nXiwPkOXP8f0A+sT6U7d/C7xqk8e6kX/v/LOgfSKKbFl30wnRyJGZOyzvTDFT\nLKG2E/VU5aoJ8bsbEyO5kRp65io5tNIPlLjDNMKyeHR69p28ooWvB6lOIvBp\nLQSe/VVh+RL7hPMpIb1hyGid8jVk2PLXEQ57uhRFQdk3I8agh2fMN3Bh6RyB\nBXIhr5k+OVDhbbyQMIRQFpZ3zOel6/KTCcSmoSgvuEszrAUh0U0fXw/gKDxA\nuWjv9Y0PIUIq9VFKxR+usQ1SXrIBeleCLLyPJQKxnTFauO63Pm6qwpZT8KW1\nP+H7hm21jCfGt1afYs/nDr9jfWudWD/DWKhA/jNg2DK6wNBtNRuP0NBTukZA\nCiBV\r\n=4V1A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.1_1574946248656_0.22475391801580735","host":"s3://npm-registry-packages"}},"8.0.2":{"name":"@preply/video","version":"8.0.2","author":"","license":"ISC","_id":"@preply/video@8.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c4218becb570529df34b3fb7d040761915e5ef88","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.2.tgz","fileCount":281,"integrity":"sha512-Nwcc+sdck/vU0tvCe4CyOu6qfBE3QFrebUvLtVVeFwycdXVmAeGcicDwPbRutOemSAFOz4BGUrqSvg9r4U0Dbg==","signatures":[{"sig":"MEUCIQDq4mFfgs1gKsXA+tfT2xtJm/IZQIEjWynZcU6b4KW+ogIgPEndrrYCSaLAIMwXH7Vf7zVx45BGX3JLsD5lzhgUx+s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11498990,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd39W7CRA9TVsSAnZWagAAvxkP/0BGkfd3pl2QPqs7oHCJ\n4LTxNaf2WkLdBnKEWP4JI598WuRLCGMgS3CS1CI/PtbO7i5GRxb4FeMWRxWZ\nPWiCzT9hl4VUHSl1CUKr4yKVvVj04PUYD3G+rCXh+RN3J4glpUQzDqlEZGKA\nEHbjf2iC8cNQdgs7g1nfv1IGGlr2EXjrBZGFaNcSUCDMxF/mZKNzq0PmzO4k\nTVPch5ARVDJhJnPY6Cm51jnJ2eOSuSzAWvO7cnXFlnLXUAP3zQ5buflK79T8\nooIRzxP+ikEA2KR0dBPdy2FIVjFdeZZXHDsFqTVoXjuKWp3hJStUvwQunBt3\nagDbt6KFZPosnzoQKJRKgxjKVPlaXE489D9Lzlz/mVXBaPtDA0FmmHOb7GiG\nPbnEPb1gejO6xM4AfAWp72yZD4jXAY0UzICGhiEfrdOB8eQBLP2QhH16rTDo\nTWjBUNGrRoF0QQYdlm8aLlx2tGTz2oJZV3sBlpydtx20NvHNCprhK4/PwjUM\nfrxnp4oXpHU9owW4MUXp5cszwyqZKq/XlEbF6bOgfyKUnp03+x+71A6Us+J5\nn9IA0yhoXY6DBaAQ7HGUN4wUr1vfoWsK8UgOKSMWa+DH7DOzYnu9k6FwmO6R\n2BUUzhrKM8OGPplmHLGKphCTUi9QQz9Tjnf0BDWp8JRsoDoe07itRMBCNTPK\nSIde\r\n=PUXO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.2_1574950330620_0.8637350444247247","host":"s3://npm-registry-packages"}},"8.0.3":{"name":"@preply/video","version":"8.0.3","author":"","license":"ISC","_id":"@preply/video@8.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c80dec3465a3f6406669cb7db6da5dcfbdfdd348","tarball":"https://registry.npmjs.org/@preply/video/-/video-8.0.3.tgz","fileCount":281,"integrity":"sha512-4KoQvhkEAoQbLJAn/WrOOrLqcqgnQJUzrz3FD9+iHS7xKcr53E+L+OU5hrQ+WmkOQmPn4tDt/TVOAm/dRQBJnA==","signatures":[{"sig":"MEQCIBG8dMshio4/40SL+iSEbE5Z2bRrhDq2OxYAoteJAjY5AiBstsiQQ4BaPT7PR5nC6yVMZadbXlV3I1DhwDBzU3Em5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11530257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4OxLCRA9TVsSAnZWagAAG4UQAIUrn4fBqGXQSuxiydMU\nf9y2jGl6i1WP6Bxdl4djcsJ3uaKr/5dfQxk85lnRin0Fxl/lzpzO3y8OFShs\n+JkyK6+l5MmM/6qp/KdBDAX9rcNys52IomCcREYfUUM8NSHoO+qfRY6WmPvZ\nGeF/lofb2fEq73NZ7HE26Kkatb+H7FtaH7dQQdTWcgNtZSwhPVE2wsI7Ud5A\n0gEpDNqT69y+jfl5eMMGqofv1r00HsrxLfINJEup9Hz+Z0hxudeUp0M78rlF\npYlzuiMSFAPKrAk/neSJurBu3nmjU1EQjx5HqtDefdfsGnysv6iJZl/wetER\n5MxDRUtjjKMCms73ECmdjy4RJTRNxAOyF4xigIH6VF8CZhsIphouDsLIe2wV\nG/iz4eWautOuZiALNBTR18ry41z1RfmdKTiqrVy9LQB+oJOAcZ4M42ofFPe+\n5hgADjFSfXxUzzM343GSbFGtH7T3SKdLE7SMNzmLc4CRdtgwv8lD2AWG7rvX\n/S1oDmgWGd02LlQFi89JnSPrfyvrc5MdWcZRGCaN1xWLxwofhnGBXzaru/KE\nfN6qgGSoQ3O3FXdDseYXJK8tthq2R5p2d+DNxvzHXBm+rdxRbfaBxq+F2SAL\nxczeZM5ltkY5x/WON12wPsugq3Nc+WnySfDOk5uj3hynLrOL8SDvLFI82RRv\nrOFF\r\n=nIYv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_8.0.3_1575021643060_0.7812364190562899","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@preply/video","version":"9.0.0","author":"","license":"ISC","_id":"@preply/video@9.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1f2213e2a60fddf2ce1743edef389fe5fd2e6f77","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.0.tgz","fileCount":281,"integrity":"sha512-g8j9vG5UvTjzRfQ336dbrHPg3+to2XdtamLHBTTArD0l+gbAnbkglnZ8BmZsNu0jlCZKKygvur2ss0NUAI3Ngg==","signatures":[{"sig":"MEUCICbXUUZ6QDgTEXzxBSYa57Mln2fr/hbDdwFAfsOM9A44AiEAzxi0DpZpAB1LxLVg9bZcWw5TOZSZ3XVIjsgsJyL6idM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11521847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4QgOCRA9TVsSAnZWagAAZmcQAIMrSyxgTmfKwEwV0wVF\nTlUYZCJtRHfeIFuCw2keVK7xlE02cERJIJTlzVAUS9LxtAU8a0dxFWd2V2+r\nxX74zAVrQzdUeT/31BF67E8ZqMC37CxDwJEOpS/rLYGbgy8EPy7furP3mwfi\nnwC8XdtYGj1rZg26IkDWxzGeVSmqOLYw+EtegC0klqTtS15yrC6QwgcpBBu+\nyyGuk504uW+bl22ucd0qz78fidao/rqGJZGBvbBph5LbprVn7ln9glecL5Lc\nvLD46OcOZZCWC4H/DGTubZJAhOp2M/84ovWDJl+doF+Ql+WxNB76jOCtmKVh\n0nKzWSjjx1sBfOGDvA/EYES9srzyMG+YosjEyoEJqHA/SjqfVX5C06CGhOD3\nZ5IhTpABY3HqedTJ3xxSale5Vcqd3HITSYzHyvM/6Ry90vkg/CgHQdE1wejY\nH0NJSpdlsEcE6mkRAsLhtEkVh1yy7C55111yJ0MEl46cOwg41+m0s7j0jmRT\nWQgFO6dkfYCbPINHmUwwBNnXzQTA1oS6ic+/jnF2nEfjDeJm10WpGKiDiYL6\nn9djdxNNXEFoyPx9inf6FI/L9TkfL2LSU5H6hGztTp2Y8cnVFZtWWt1mWA53\nNFyzrTGuRrKnVsaxUGZQuBPDr3hUGA2CfxA94iUpnSv+1+1i2L4bju05oUkr\nxfQW\r\n=Enf7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.0_1575028749472_0.7982680581619372","host":"s3://npm-registry-packages"}},"9.0.2":{"name":"@preply/video","version":"9.0.2","author":"","license":"ISC","_id":"@preply/video@9.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c803cde1fb6a76ec438bb65d52f7b6640f32448d","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.2.tgz","fileCount":281,"integrity":"sha512-IeZCVR00O0j/1UlqpMvsOrZ2+yZSe4XOl7njKpJqwClva/ArVcfRCV4u6T2iuBiNZ3Lvc0SA+pZ1hlZ7D1t6/g==","signatures":[{"sig":"MEQCIE4N7Fa2kIoJxD7ZqsPGaaKqAndGohuzkzhwKEdETla5AiBLN0L+4Qxz4Jhj3hgYU42NyIFThITxHJvHYVgTtRGFWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11635402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4TVjCRA9TVsSAnZWagAAGS4P/0k2w4R16ar68Yq07v2V\nkmiNY1ox5V9sotrot2uOYvAXEJWmA79Qk/JauHkfIrcPQTiiDNkXX7zxS3Su\nNXbtHjZ3+v73AMmXfJSC9+qtK6w9hSlMe8jXM9LwCggPh2LB8Ou9qGNDwuJj\n0wcd7q/8nHaFggBZ42B7nmyG7IZ0mpUbFLqKAO4Jllfp0DicWg37ikSajEmz\nepoBFT4pEG9KKIlJoHUlQjHEn/8XLYwXY2FETSWY7jFwAgd7tMA4p+D+pTui\na7JsdJNIuBfkCGtZ3ID9kWeeM5k0RX4Ky6JyemFmfdTaXVbio/gkk0YTJA/e\n0fy2qdQGTNv2iAueKJPAS3xG/lX/n63QlaRRA/FehBrpSYSRRHjm5LcWKZnZ\nnIAiL0BQYRmq7dH/nb4dknmFw3xdg1zjhgAe7IybbiZ8ctysVfKHkSJhr4yw\nfPtuQvmZb5P4KA8TZWH07hXZXrEDvqYS+33hrmBeWzV0UVxcspocjMxFVG3O\nk8yqIZZ7GyvEfDZB/33skLS8scMPmMly1iu5rI4dra6XoUznDHdGAc7rsnnH\nXohhvG3zMi2SVg43EumKxspzXTX299rgCySD7efhzwU5f+m7Zt5kFziVd/ov\nK2lbCE6LcyP6kLM1z0mIIu86v1U+BGKwb1CihhiIhsDaij0sxSBfZWCdXgh8\nHYnT\r\n=Dnzy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.2_1575040355084_0.24235596078874333","host":"s3://npm-registry-packages"}},"9.0.3":{"name":"@preply/video","version":"9.0.3","author":"","license":"ISC","_id":"@preply/video@9.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a3e2fb7df5ea0aa00e311e6d90819ab199409b8","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.3.tgz","fileCount":281,"integrity":"sha512-HOY7RveMvVpgzLWP1lNQJieLzcQloFUfh5SunmcKCzg7U1yMWJqeF8TjumTNymm7l9h5KVPq9p6686jjIG9WYg==","signatures":[{"sig":"MEUCIEjPBxTI3M7+6IQHEFlTo+Y699jQywSwhlryMoBhnf3gAiEAsYWXisBi3e3LT5eZ6eAscxkwaV3QxmifIfy4hJ3VbJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11627257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4ULVCRA9TVsSAnZWagAAy4gQAJtSRgZTq3Ta1EUela69\n6UYCFSKwGewae8NF79HK8Pz3ZW74K8c5APEyKjfnvie/seG1yWKKukJ35nKq\nXtG2BilfccxSd+9axr6Tmn/P3n9fZr21+OPIbwQnu7gm9MR9KF6JUyKRrTDQ\n/BUKox7A+ouS8Rin+kLeSbxw/JcMnAIh7wPOJhR5pfTuFzsQEmT7D1ZcmuLx\nnHPNqvanNko8gAlZifTmR6uBPhteNS/fZ4iiLzUpc6bYB4tFrY6SqMjXTsXP\njt1HdDQZBLp0IXlJnCTBxeMdeJwOMGBxlN1ssaAXmKPTpU0Z/Czuocfcg0Dm\nXCi4u/EsHnXUPEVbNK22k88EqGqVV707QxGr2VAFB2ELXosfv0hjhWY92mFK\nzyYsn4fzRccWN7mFH6zP8tWf0F7rHJ8KXHdC0Dzj4ginzrhEZvpVGzeYqk/X\nL8qvO87NHEoCsRpEfgnOGJsZ6LBFeImeoO1RKBG54BPj0SESzDB4ZJi1AVRe\nNXP5wxmyqn9jTuKuaTym2JW853bQ30M/V1xzZ0+0OVvR1N2g+Hw7Qcmi/5gG\nx8BpjBWfAetzQaeyu3l70DIZ3CI5sQu9imP7e3kYpHn0UcJhTyvYSDJw6+bN\newl9tEmSH1/tnTQbDc+u5yG2KFDTd+J7CxrYsrK0Ap8BW/Ng6eVKC9HryiDE\nUI3K\r\n=+C/M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.3_1575043796625_0.42027545392570453","host":"s3://npm-registry-packages"}},"9.0.4":{"name":"@preply/video","version":"9.0.4","author":"","license":"ISC","_id":"@preply/video@9.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"407fc54903412395988cb2fd5db899d4e5324bc9","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.4.tgz","fileCount":281,"integrity":"sha512-+jQ0KcJr7UVHVtc78m6/n+wpBxl90cEtFhl6nR+CsbH6CUpP+TtIGCMBcrrPVBis1nYeeChwHrhF7Vutbz70EA==","signatures":[{"sig":"MEUCIQDs6DxpY/f6Xdzb+aEMXMjbAYpXntONb+OfTh03WBBYYQIgRWlx5Y9l3jDTwHfXELd2/69zfAWlp8xy/+cUXdXwj8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11628443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4kXaCRA9TVsSAnZWagAA00kP/1tdS4ztSTWRwGNUigb3\nkFLn06uR7D7Qj/BJg5a0jjbSp7+xRcdwP4K84sbtqfO9JLrhlkBg8Db/ZRLj\nJPEBv6ujktUfvMQ3xUvkXZSz3WszSctnibNxABB/s2ECsfVk618ClffiL+7F\nSZQuDgRuBKLVeqyeyjQCjMAOu0HIE5xHQrKAU+gbQzFLbuQ1ZnF9SsuiSQST\nN6N2+bjTSR0d7anWzv4VLyx22tIWI3oQ8gAN5wlP5eVL9usSD/3lET7g/i0g\n/uchijRWpSbor75AFkDcQ6ll9X6AulyIHeUqU8vD6gMAbtYtrwuR+jLRMXIl\nqzYsPL57ekhVZtKuEFQbDORSb9j69Zuqk6cv3dr3pbhbr09J4/ts60+M2yMH\nrXBJAI5gbF2jTMlbTx7A59dWgl0T/h/Hcn4A0UskBwq4gSHSsno4fgl0eIa6\nX8hliLpL4+jSoD9AV40xRxnMQPYUG7NLQfRkE15DQL7WD947x0gegSRgBP+e\n2Ar9D5rxgQdd9QWFPoJwIDKnXcu3D9rqN8ik1KdilOvBcFeH2KNSg3cXpOiG\nCnThTcJD/g4zZYH9BaQNA+AV1dtm7ANGKpxDMcmsg7xbpSzyOI6uMumWoXcn\nl+SL7wi6BQ50wFcPCkVy0MU5TYBFErCmEb47v+8nSwrTY5JrvESQjRKQ2FXC\nRFC+\r\n=ejZ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.4_1575110106079_0.5110044175037025","host":"s3://npm-registry-packages"}},"9.0.5":{"name":"@preply/video","version":"9.0.5","author":"","license":"ISC","_id":"@preply/video@9.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"353e7c0d4cfafdf95e18d024a8033ffa89502ad3","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.5.tgz","fileCount":281,"integrity":"sha512-VpaYUY2OvjWkqT3JcsvGygnyXaxnyiKLfXF7lMe4gy/XETUrd5OWo84Cwfz/z/bhfFEz83j0ywJKc0N2RELrVg==","signatures":[{"sig":"MEQCIBSb6fmy+oafK4kXVlNtZH1ynigJVRFZOJdSb3TMuNWvAiA6cwPEDU8oXujN+5XKVWZeTYNaLs0owc7Vz96OoGJ2KQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11656956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4n1lCRA9TVsSAnZWagAAu5cQAKRC2v5Sbc6V+R0RYMmu\nxFRwWWvvSCxtVZ4EI0eTptUjm063+iT10irzz2btF96bDR1h8O4PluveonUf\ny7Oz4fpneTFWrDGUqNfh4o6q6hWTC3zxTWY1zagayyPKnHSv1Sc/XhEuHtAy\ntXBXEBJ3ONS6+LJK80RmYBBSX9Dw1uB60iVjVV+751GQpRaVZg2C+VsFdhD+\ntT+HZmjKwiwaxzzBKHTI8dSEuv/9Tasi7S4KRFx/Zg+l8t+F5QTaFiiRxbcx\nnNK7qcdx1eU/aJoDg1wsVLcw0Zc+78kQDMoCS+BDuKlryCYM+30W19cfk/QY\n8epKlcVm6gH3UWOnRBoIx4GLcmOyFWHGB6X3a8Z0DTohiLuRQMTtsxHQOPaf\nKcKszw9VZHekWp+24umHAhxavHkBMHB80RwtJTLq+h4IqXv4duPMcDC6EU9s\nAxpU8c3iH5VeJbfw+1Dwk3S1qXl2i1heEqWufFFRCR1CpjCBazsbS3Cxpk3l\nZtBOYSkOuZlzGgo5zcvwNx4QhObvCEdfF6f6mbtvGppUS2DhNub1qR+WPN1R\np2WM15ZOG1V/qCV3+9xcNgBOJuQXsLjiIY9wtX0VfvAxAk/bcad9b3r2d9MT\nBeacBeENi8JT2KQeLgA5DdZl5YxT9kBpqUORA6aEWF0NgCZ7dveEJtBJd8N6\n6B5z\r\n=awqw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.5_1575124325027_0.37795909606169387","host":"s3://npm-registry-packages"}},"9.0.6":{"name":"@preply/video","version":"9.0.6","author":"","license":"ISC","_id":"@preply/video@9.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4ce7a12ee69393e7a1a82ec35d30a94c24383ccd","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.6.tgz","fileCount":281,"integrity":"sha512-s71UifCHYGrSJ66PGovuSHwwCN5EMcGfpYagtd3qOM3Bh04rYHl1IDtElZlLVpk0nnRTK1lTy6tK4NmTtzmmEw==","signatures":[{"sig":"MEYCIQDrLsYpiMMC6yeJv99m3C/YyRVjVVsTCtNUXtNFrxRc6wIhALKYFSAw5VXAkdUF4lb6gugjNaPqIHN9rSctOBmkwRLh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11675011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5NmZCRA9TVsSAnZWagAA7kMP/iaV2ewu3+gM/Sr5Sw5j\n43HxAO6V5sxunuBDcxugbGx7naoof2+TcxoofCWFocQ/d4oUlsVaiM9QfLwf\ndqXOJgyvePed7LjF/UA6K2wGPSV6+x2RhOKdeiYJBYittzVqoPmqauMfeenB\nXBSp97L+kWxygIaAyJYZpKwXTzX9ToorG8+fMmJ0MnKzqhIPAslzTn0FmAeg\nycBqwyzGNsIZcb00ofGB7vYWWsFnks43WdVprHdPFgkqZEq76FMJKxCXiiPs\nH1tWAG2ZRSyZ1L1NzEniCkTVo5LHMQGVCnNcSs98KpP8omVRIRPfixpLF3Rs\nYZwxpzjHlPUMhnIevo4xKoZkM4uJPon0bzy3/99QFPvIPF2v+9ecTR3u2IbB\nOYEgCX3V0fybjq1U8fDVPMm99/DaN1ETJaAvRpv0/S1EkLia+eGFTOeiZvQJ\nUY5bho+7PwO9xdTg+PBH5Ixkh8OAPxyhZpO8bAWE3+XaiTKV98gGA3P8gZu4\nREMxS263bVXrKj7ND3UOARbs3DUCZpIolPkxL4zrgtuGhevjF194/xe5SXt5\nRK8jKRvDsHXrrs+NKKO8lMy60bVtZ8bOEWlxoMFTnHojk9yHV8318kNrLQy9\nCbJOY//n4uPkYfGBpLKpCXpr6/KvySKNVFEDrTaD0rdvnMBzKXlyEULfhSKi\nujkg\r\n=+h5Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.1.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.1.4","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.6_1575279001276_0.07365909811927618","host":"s3://npm-registry-packages"}},"9.0.7":{"name":"@preply/video","version":"9.0.7","author":"","license":"ISC","_id":"@preply/video@9.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4b22158f4be49e295c50c990271b80cacbb1ee41","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.7.tgz","fileCount":281,"integrity":"sha512-gGwrk/yceTN15R5ronSAVv/K0nTMCu2c0DXhjZxdl/pKwNzeae4nFrk549q6I+QvnbsgngJWS6Ct7ncSqedf5Q==","signatures":[{"sig":"MEQCIH0x5ZzWr9eQZWQllnH+dybdOKsa+0BKcPpgKZAGVQs9AiBuSV1JOl5YCICtSXhfwFPXhe2+qGDS3xMkoNAwRhyUvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11710408,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5QPDCRA9TVsSAnZWagAAMHYP/2oic/VtH5/EGTmsJSPR\nqODUVJuzoB8YB7f6Onb+Eu2jJNMjIOcG+qxcQydrT4y3UGuO/4cVEUnX/P1l\nuSyFDe1q+KlmtQlZlan+C0Spiez1OVc9vLfkRwIv+ocIi5RkT3YUSe5ihfLV\n3flU0tiIZRL39iB6Mi+3yHcWve11RK7WIL0EJJXuNo2Jcsunq+h5jxl3UsJH\nSRBoEYNpsmgJAD0ux5uvLNEabECzmu7+p/mwJh9yli8nJwcnxEp9gm1HNGFu\ntholgQy9kFilMfpoWuT4yk9dnBt9LpswyVRS87e9DdQod/U6S7VHq4yYr2ue\n8XuQCSV8lhZ+kLMBbAJWgjLKA+X0WmmPvxvLkwpyb+xLflJCHBwK89olC1Si\n55un0wJ7PDH/uyzDI2SBODpcGXTwUJABl/+3oNygs0YGVwW8Kxj54tKfxnU1\nJ8R2p2CwEcPHMOsJw05k4Dqm7DxnT9VTQRaK9/uQiE+zZeEDzuEFO7B1vxAD\nxcx7SHApOOV+LohBBlovhAK1OUIX54R39lOhFewqnlxGrE5ZQ/EaJhKBQN1t\nMrd1OqJEWyDNJIZYp+RNdLmr+pXTprLAy8XoruDqM0RApxMwQfsYnzFu8RY9\nHkUWhmeYAqI2k+9KpijUzwk2zVYZ7AqDgkCvSnMY1f6NITnnJfqlIxj8rKs9\n1rXl\r\n=Dmci\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.7_1575289795071_0.3459983508398683","host":"s3://npm-registry-packages"}},"9.0.9":{"name":"@preply/video","version":"9.0.9","author":"","license":"ISC","_id":"@preply/video@9.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9c3502426cf0e2f7734f1994c22851abb20157ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.9.tgz","fileCount":281,"integrity":"sha512-vyBz9kYxu1Plq9aV805q69tZj3+DTNh2giOS+P+9e6lH7b3zPI+btzLcnTlxrx27tlVaIxAJnQpsJe75X5zcLg==","signatures":[{"sig":"MEQCIE5Ph+isU4JnszAbkJcangezfz9Saz5wECqvZ8AlYgAmAiB+LGQM4c9+i94RA5gkM1YmmvRkuesJuOj524kWHj4Ahw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11789143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5TZ/CRA9TVsSAnZWagAAO6QP/jg5n2flhfgaQAT0nA6i\n/lhcl/r/ml04r47lNa+ynO/Zmr3WpCEH8BuqQXbFi6SiFZKhXR3oeuKkpuY1\n6opfiqQzXqKEcglb88NqbB+yeczxm8l7LDGja7mA7aS1TcCbaciwL9it3njR\nixzvTGVtdd82XLZHJHvP6+xol7VWZH8GG87dJ/HfpN0NoIEVhBKunM4CzCgf\nTsyHZTFGadKX5O2Vu1dOhu/cOjF11Tnp+Z/08d3GR63SB0u0nSed4Vz6oECg\nfhrB85ii6j2dB/A/UIuTNP6quGxLC2wuQPGF72aL6+NJbcsyFbZHAfaMFAnK\nA0dZ00L2ma8Oo7ny/TzLKgeGenB8BSj4Vq6/miTwl1vPq95UR0D301rTtqVP\nxlwh30T4NIVMOmp3np7I8Ho2uiCMNkVOxr793ICV48VFD0Yn9lT07PifeMi7\nruU6FDOag7jvwxyc/G0h/WpYCQqGxxDq/I2gSQQ4+qRlUdSZ3lwUaiNZJ2ZS\n21rRxn5VcIiJE2JDO4iLu9o7eyvt5d/iflrBOM0V4dbWOdh/m7gcLeDVmlwQ\n4mDMdLCede5Qe287gLoi0S+/cEiFc+k4HuCiwYb1lYRJzl/TqJZA4T9hltz2\nnUZBjpoyUWmR5sM3JMeSaAjLfzWUShm6n2iQhW2PH+vfHAhTX7q6qk4MxCrS\nRRM7\r\n=vnNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.9_1575302782632_0.39958853695326035","host":"s3://npm-registry-packages"}},"9.0.10":{"name":"@preply/video","version":"9.0.10","author":"","license":"ISC","_id":"@preply/video@9.0.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"17dccde9cdb9d3282e656af5e861707d4fe58edc","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.10.tgz","fileCount":281,"integrity":"sha512-xy5WB7wAC7tL6JSYsq+Lgoulcj+Ztmi9NIZrlSraRSS5z3yuJer4/vW6Fgw/fWVPGDmfd6dnoxo7XYIwx/DLaw==","signatures":[{"sig":"MEQCIFn7WWyFbf+ZENZSvAjdzOBY2vlBURECiSEDd2QZ1QyMAiA7vpsvjT/N+MzsHfGSEdHW73pFHOERcqX/1h2DzgiwXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11771312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5jagCRA9TVsSAnZWagAAi+0P/ijxFMghlIBepiK465kZ\nlQDokdtB7a0lDkQtQ/pX7VfdFsGAZjKSZUoIXjxhODPmoAvgRlZ1ldLD237m\nO8d/I1O3piCdUdpUsKslCVa2vqeBa4JXFNaxdpkVXDnpXjx8F3JMhWRKx+Bh\npOBjn8vgOLQfDcSPr3PdngcRWWEkO/I9/Shg15vs/ERRHEvCpmnm7Myk0qMc\nPRVQP9rPXbP88YhLFYyZgnjPwkaZY3Ktk7FYvVMXdDRXGMSuSsv9Gihb3HNs\nx4kaGty68+60tcjfgz6/0OFTNK5bz8VzgEtu3sucGxhaii9A/g8LTvqJxLgF\nTwH3o5fetBGTA+Bd83wNjY3jvHxKBIqGqVOq7QeWg52UJb/EiJX7agKd19qh\n0D/X+GLV+y9TU2bNg+mogV1uRt/2Injl2gOlW8fN7vqGo4kxTUax9/b7Ugsf\nqDfBVuIEIZUXbv8WSbDPGqWeLHleQAunc+yulXQAdXAY3tqxuyLSSPW4ZWZS\nXgkQSgJgSt0Mc1C1IH67K5WGvVGMZjG1jfMoxtCeQtL/LpD9ucQwD8fqYYTc\nJvCSLA1e+52HfwABwGzu38aet1FJRZvXx3JhCwwEWUaAdjH7LdghzXZCWTww\nfwr465COJqTgU1RdjztDF6Fk0VocN0mMHBya0ncnazZz+f8CFW1yF3Tj/Oh2\ns58k\r\n=O//4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.10_1575368351416_0.4910581324006553","host":"s3://npm-registry-packages"}},"9.0.12":{"name":"@preply/video","version":"9.0.12","author":"","license":"ISC","_id":"@preply/video@9.0.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"eff72844b2dbee988fe4970646b060cb863aae9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.12.tgz","fileCount":283,"integrity":"sha512-p7fV7eaElJ7jyUtOBxsspTWbpYdlrqy/qfTNl4OJATfiqy/fFjcH4OmJ5M0spmwmj/8T6ak6TR6TfQG3bijffw==","signatures":[{"sig":"MEQCIDA0VYrBuUM0TqQ8Th0tIHRGcHSxei00K6r+wYSIcZJ1AiAQmbAbn9sPLEPNzhWeup31qJf/ZsXQg9iXrkjVF3hHqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11847262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd56CMCRA9TVsSAnZWagAAzwkP+wbrpIQbvASaZrigbI3I\nhfAzXOdM7jP+LVOV7vuWOkoLiJCEX6Yfq8Yw5AKw4pxZN1XMIP7K+Sere3cS\nuUpZMnfEfVyCTatKehEy1si5UOPcf4V37/N7oyfVkppPBTutHcyOU6hc4jhP\nXt7pxddREAhHxGVUkpvVefdjck/HNVasYWV4kdI446S+5qBdI5aGjpkWwQwT\nUWLXB9uVeCgvF39t/4SvnP0jN2KHTETf0kklpmniLUnxn5FnNPc2vgBizVoB\nHU1djfxr3HKFutZOOxTXssnyl8XsDlO86reA2ISMQ1LdWpTW5DrmlOLjuBg4\nZlPdx6X7++6qq18+WMFyCR3ohh+Pxm4d9oaidlsk8lL82CZi0UMAYdh1l4Du\ndNXaJKHfaVU4h314D3RzITnyZBb1XZmLPTD6LnGC1sWRvPJO50IiNuOrglQo\nTD1bs8uUg50k8btu7ouPv+O0R7aocwKYJ+8Pdy6gz4MbQyiwYxPqR2030SpY\nqwLHve48M4lU9Mu2dnMgc4OD6X3j+0GcxRSOEjVPh4djNg7ZIBU/tlSm31SG\nF0NqYB3Er/v2+zEq8K/bN72tok4OaYtVDnEqQQWGCpBwPsT1twaYTc1ax2+8\nddSOlJEG587haQuJsYMduLL1HckNexux05o2kJ+4bMcgCG9DCtwDD7NLkTbC\n5EEr\r\n=1nSD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.12_1575461004261_0.44499979606817486","host":"s3://npm-registry-packages"}},"9.0.13-alfa.0":{"name":"@preply/video","version":"9.0.13-alfa.0","author":"","license":"ISC","_id":"@preply/video@9.0.13-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"32aef457bc16eeb2cb5ccc3e44b85436f27f8ed3","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.13-alfa.0.tgz","fileCount":285,"integrity":"sha512-bm6zyCcI7IUwFGaJPgHJpsOYRniCQuWOLC7QrHXhm8FazP+FVZURExfnkBW0fIlDIpvG50GnKGkC2NrBPVNaCA==","signatures":[{"sig":"MEYCIQDLzbE0uOYmGjJP4fQ0LYzyaBlxKNkH/imJfddnQ7VSpAIhAJoIbOmzw3X/BJPJZLM2ljgJrWWSJ9ou0IzwmjqTiNkx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11981477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd58POCRA9TVsSAnZWagAABFwQAIufCaPmfNjtz8R4N4Ak\ntb5QzN4hzgEzJeboAbMXDxcqvVBm7wCPmUIu8eW+c90GSZEmDA0A0G2HeJD5\nEOGHmFlSq7GiW/QtQaur27JJ28WziVxpn4jON5QEhMV/8RbUHgCmemdaLTKU\n8T08eb1M8OZ9OumJpWjdkxkbtYRVXlIkCH5AIYGeGx7Xrb3sjlVi0pIOjbQt\nmvZ4GOr0qg0mbPd1pkpXCSDrFaMg/uDom/HYq+EujS0axr9wzT1I/g847m31\nqzdAi7vpfhiJLAtpS/aOnMOa6l30uDYQQ21fgCbzxy/iAhAek2A75z0yY10M\nBhyGoyZdOlchnGOGbF+lTpPmx2/eXslNExNB6OKIEhEaWup+GCXvcq7wr/la\nVy3CZeHEu9sx70Sc0H/nTns04WxOzLCd5TZefqLxc2QMJR27eM0TsdHVzfm0\nmTIsPQlUMkoefqGdDLU9QqxG8v97hYsiBHZrxuDpMqibS/Z5rIQV3uq1oQXT\nox15ZKuekbMHi7tux6wP+8e7/sDtjQhikZdMLBdkqMnzsQlySqyLLKMjBVKf\n0SBzFx7x08lrKsnS0c2tvaIq4zLUKOr74FYy3V/aVItP7Bv73xPZd65SHKEy\nlqKQb/odKjHNQNVodtk6SH75DH6CuugjIbul9sMiXGFxQjemm2dL3oLA+Wsl\nsI/8\r\n=FGRy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.13-alfa.0_1575470029591_0.6401139251915373","host":"s3://npm-registry-packages"}},"9.0.13-alfa.1":{"name":"@preply/video","version":"9.0.13-alfa.1","author":"","license":"ISC","_id":"@preply/video@9.0.13-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"964ba2c49d27beae4b52a8c3549d65f17de5ecd1","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.13-alfa.1.tgz","fileCount":287,"integrity":"sha512-UXAwXkg/UKdJr8b/VGlALIwMQ5lm+QJnx7fhVrT1ee7Igsg0UMVb5Sp5sD0nieJLuzTjBsMuvl056Eb0WeJupQ==","signatures":[{"sig":"MEUCIHlQ6OjYfmpUsa6mzz7KYU+rCtGydMbVyE97IOh0i3JvAiEAvSR91ec3FIZXoW4+w4PeH3nhZ2l59kSiwTLaRcRPiWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12009368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd59E9CRA9TVsSAnZWagAARigP/1wIyZA5pJuk7cgLxD5E\nw1b3/fif3gQCbjZbYyHM1razqEIRF+dnp2A+FjewajdlvW4JPjSDacU3oEW0\nX1glzN3h6LdlSiMC3n7lgPyUXIteMlHzB5VDd4E7pNJMrBAAvnCQUMhQslaF\ntKyFSwFU6069I5ne4BwnOW+3bE2vML488Az9H0Sbd0yUdd80AmYwjIZ+8ClO\nCv7708LUyJ4ncN9qZ4vp1xWE+kH8y/ejxes6dk6CECqTq0j+aqE3nOQhCmMl\nYxKcR9900jngfLVJ4aKIHb54ZbxMNbbrL9O70XDQArjQGpTCnyahA1PvThhL\nRAF0QIpJuxdan2Lw4Wfmm8kheZQFXWQ4r+QYv4kzFib9FmgnudeFcD88QCEj\nH++xB5afLLcYCGGgfN9Qqm4TDzG0aG4TJEagC+FtH7AbBN4bOAnLRprTfTyJ\npWu0ZeaHC8VNpG4y7sdEuIZNnhUuqQ/qfDGZDuoRz8Wx9RGTUqgsHETLki12\nmMAYhM4+8F9TXhorwV6wLx+iSFk+YqdDegX1omEO0NMntaeT3zzoYU5jJx6n\nLIeV9Tnbl4QYHa6jPdVB9V62868Jf5o0lHgevAdgJ6KIeUznVOrkNssLgul4\nXI2sOyKBcYZKEct7a3y8xR/91bMy5pt80z0iKPAophjF8TmHe4JnuLLiUX1q\nomz/\r\n=xO9r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.13-alfa.1_1575473468990_0.8315231415529989","host":"s3://npm-registry-packages"}},"9.0.15":{"name":"@preply/video","version":"9.0.15","author":"","license":"ISC","_id":"@preply/video@9.0.15","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e1842d89749ee2b08ced5dae60b25656b77848d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.15.tgz","fileCount":289,"integrity":"sha512-UO7EMxVo7o8qIOrw0YFwjw2T7bEnr/cuwnT9bKaekRIdersR0aJp+47McE7yi5efnAFA44hHOZhst9CLd8qe8Q==","signatures":[{"sig":"MEUCIQCQYQ0q7uHTV5hhzqXYh/lHVpxeHpTabDjEg1tnn+8/dAIgS2rzxe329P+tY99dyl/HUgPGzj7L21lHLyQs7HvohsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12053433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6kG+CRA9TVsSAnZWagAAbyoP/0NuOClBaNHifRf86Uta\nBO5E7NdrPJ492Sc/PvbblUXE4ZXlB6gWXfughr4BZgtR+4kg9g2RBZQZMnSZ\nm9xxRkd65SqGMgnul8zCY+0ZcIJXfkm8uMPLX8h0fYMMxMa6aO2z0o3ZYLhi\nyCsrz18ffW0N66YrRSYlm9XL9Wfo5IkoqWf22GdpjkR7+EyNp93dupsyNLZJ\nGx12JLVuJ8CoSNiVNSwuHS0KDfVGs5iXqZB7S5xD97CZ6lV7GsDjZ1LQMyU2\nNlDifgqAjHUcCaiyPZoiibdWsVmqL0UWXHY31xD7K2IkaQLH0ix+x0J5/nUv\nvBM3iDHLjipHob8oLJ+a9yFZjFBKFAwQ3F7rTAuy6XDemfbXArkDbrupbo6Z\nHrPcznT01lQ6OLgEM6ODKqaHWBBpACK3ruLwi2JBMxFWPnJNEKy8V+vFJZdM\n1V3iHnO+CV7l2ZYaaM0OJ1I1IvNmXMQrzlG22YNAbpUaNrZj9Nb0h2svbFdD\nrc2JlLNxz40wZTMIYlku9nSi3/3LDf/WD4ATWcIBCKSAs5IxQ1ej+dpZu6EI\nMdjrJwB++qJrU2+mShZAhXcDkl5bbIL+O4k+2IvRxDJPn7A7d2XCJ2gFZJJ9\nyE5LqbgZ7nYq+DqVbiRIiGTjJpFbURzJOxmswgoUWli4UY5p1Y6k9s67uT1q\ntr4z\r\n=spzu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.15_1575633342150_0.7101675155476959","host":"s3://npm-registry-packages"}},"9.0.16":{"name":"@preply/video","version":"9.0.16","author":"","license":"ISC","_id":"@preply/video@9.0.16","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b4205af7231684bb4fb29b4bff89fb68042b0dd7","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.16.tgz","fileCount":291,"integrity":"sha512-OJqaD0bxCaRZOmRuhqOSh2MOp2h/LYgFRgQWdl7PRF0jZtbDgEG+GEjk5SY/ifRlPpgCvCxTXgjpe7E4x1sy1A==","signatures":[{"sig":"MEUCIAewh3jGKp2UpbuWqoh7+Bh3PmGbIsmkQLBjnyzaBO/jAiEAgTI3RxEK+rja+AHyrr4z1oSQ2CyACtSGz5Hf/gGMQKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12076941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6nOnCRA9TVsSAnZWagAAHXsP/iizDEBELd1MHjW1LBco\n9NIUmBM/Dj9e3vbJoe4L/+c0GOi2CB41xry9L99IRupuIsV3p4hJesbsDuIW\nAZthVbQvsELMGRmBuGv3LPWgs2i1BaC5e6bg7hbGytNwwwMaYNK8RMSouS0V\nwhY7CzmhbGBPZCvYADQLYVAXWUrXKRmCeVP/Jh2Cr+U+7QxY0UD9VauGEla4\nspvpU1n/4loK90IATd/3Va4QfmMGNaPwOJOo39mlecTXhEmqqulXS6ZNZg81\nLF4limKmgzslAhAi6Xyo5zZkw6leho1TXA2fOuygzwl4xCdk2EyVJZ7t7nrk\nzXKrbGO3hZYAiOfOwG6b4XXZ+f86Cc1QH6DvxhaV7cfTGf72J98YOfkN0U8R\nLMH0sjtT00N1E3WkDG3qa23Ut+vkRbgmVZN6+vrSRCKClIkoQYxPsGn/1l3s\nDe9OH41wpdKjfx8IKmJknywjarbmcaY5vrQDmRYY4iwaToXRTtSSbUMCTCXG\nCiAxvCwk7ZrpLWfd63iKrshQfAIHfM9cnQb8AhNsOBg/N+dwXMz/QJOxfqCk\nCKZeF8fKY22dbYneDG/QSKUH8PnFg6JZItt16zKvhweFFeXfFGwiTVizOnVg\nMMA2eBfikf4+j9RpqClg19x+X1ZKlvXg0LAx/Pa/Yi/Huq2Tza5cZEwKYvEj\nKjm4\r\n=LDJo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.16_1575646118788_0.8566259381819676","host":"s3://npm-registry-packages"}},"9.0.17-alfa.1":{"name":"@preply/video","version":"9.0.17-alfa.1","author":"","license":"ISC","_id":"@preply/video@9.0.17-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"318722914e5ad982e88774c29e23f7ed0c078595","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.17-alfa.1.tgz","fileCount":109,"integrity":"sha512-XJBGChVAIIkFiBmgpVXVAjuBnWgkCnOH10C6r/cOMhSzo/3z236ErxRRJqJE4fuM6xkm4YHQfMhjVPxx91Py0w==","signatures":[{"sig":"MEUCIQD8RDnSzxm1x5QRIp6tg2w9BAhaJAot/iXlLJX11FdDfgIgAlpkq9X3ytAtHHS6VvAxFerkSWH9uv1Ry0J6WWL6u3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1005720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7lbRCRA9TVsSAnZWagAAnB0P/0mZD6R6seQzS0j9LLn/\n2PnoB/AZD6Z+9jMtOPh6+9f+kesp4h3w/l1dH6eOZZAy5PDA8svLxuMXNOvg\n3fPsbkzoQYa4TYNOvRQ4Y4j54+ZhdokOZ+gfxc90gKF0l/oUfhrvb62QF1m0\nHsaaHFQiP++B0hbqL4+T0prGBeC32cuVu/NPGSH1NzVdhbJiNiSDXbIzf2y/\nz3gk2Mbp4yr+gmoWO14/xsJYGJLrHHQRW0Cn3McKRLiR5ND8Z1x5Oe2JdyBM\nhCT7j+pxpif3if0U47ZL8ESaaT57jxYQUs1jhH8Z1ENWTHzZONH56fMluFNG\nV+JxxXUYQtzHzEsnNmynkUFIPboDTGVQDI64b0kOeVWPx3ZIcB163dKnljry\ndIJXE/wwB/PsGlnQ69Rw1RUC2Nhp2EKuWxpykjDuYhQAqMcjqWYGy+x+euLk\nvyeAWdfO6WQ7aad93ygg0aYMA/LSPgL0++4E5U35iekwCAN8AfezrMlhPdq0\nSbA+RG++RVuz7w/VXkiYlWM6QXZtSa6rJkQkVERFCgA9CMhiYRS5FiXoYATs\nLTx+SeZIjExhCYqz9iPxfjSCvzU5ARZe80rI8ED/HqrthKzt5atvT2oUhjpa\nMEHPYjrnh9AvJ9Gsh4AUB2KM/DifPLhVXl0THKEj0t1ZRo80Pn3xfGHIq9eB\n6vyy\r\n=getJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.17-alfa.1_1575900881073_0.30207315526006395","host":"s3://npm-registry-packages"}},"9.0.17":{"name":"@preply/video","version":"9.0.17","author":"","license":"ISC","_id":"@preply/video@9.0.17","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6c1591d458731ce65a4e4aa0da70940f85069113","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.17.tgz","fileCount":293,"integrity":"sha512-guFrCQeJ4ZEhIpOHnL40+pf1KMpe0X2qTMaiBAyFCNx3VEslZ3y/GbNZid1JSLXQyjFErPlVVSfDLvy2DTz3CQ==","signatures":[{"sig":"MEYCIQD/Png8p2ncL/1CzccHZtanGxWyrjNv3Y16V7JnXlXwIAIhAId1lR2ntvsjzuIFErjW7xlals14IXWWJc7SgdxZQ1ui","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12115820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd73vCCRA9TVsSAnZWagAAxYYP/2EPuCyeoMeKNyWjpGwe\nSkut5Y/T59cgo0+WTE61uiK8aLVs14LqV1g5F1fn/L6lnPMgYJuNtT/etPZC\nIE04T+p05FIGKq45p2EOelMK4o63gs8T4BGQJM+35zg/H77wANSwtvFRUfFK\nD5TCtRgCVzMwjbG5gMLfPolKBcYlHMweIcwU07glm4tRK61Y1tKh1yP36tag\n39KzNMDjwBLfbRorWAEC48wl0IiQUYdIfLz3jthvuErw0wADRmPdi5yfklLT\nOg26nCI//KqS3h2H0saHKza+ZrcP8PfHvSrXOgYbxnwWoEQEck7kPkynuoCj\ncqiqyCidyOWhLy3P9vS3M54sU9YPn3+Zeo0r2aooA1mIRxuwhTx6JG1ip3Uq\nVlKZCTN5D5GZMS63llVlFYsT/qy/1p2f9eAxvt/m+XFVtndwqE7em8jS+2Tc\n6KIGZ6zQ6ARB4mtBvUdMGz0kkaxmk0SYjN5T0Ewn1pf+EYbPTWLB91XhcSko\np9Wx6HyTOWew8wSOFq236/SdpjG+pXk7M5iSsrLRMh200W96NCPFo3QiT4uH\nGz2uYUZpLSlBiAXD7st1x6ASZjvlKSyOL4N5I5vwtXaf/sFEr2xCdrBYhgws\n7nNgLpr04+Cxa35Amv2GVGbvwuVUTs9DD8ltMIGEQqUrFiVYcdiN2ekq3JRf\n/C9e\r\n=vkmq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.17_1575975873769_0.03630168148254409","host":"s3://npm-registry-packages"}},"9.0.18":{"name":"@preply/video","version":"9.0.18","author":"","license":"ISC","_id":"@preply/video@9.0.18","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a83f2896ec1cf8b46b596eb1c6146a3ab3f255cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.18.tgz","fileCount":295,"integrity":"sha512-u5lSfprnTEPW9erQMROoLmuYNg1todysUSooVPzuF55fNxiKU21ArvTgE7incOVJ3Wxg4jkKPKvokuo5w3Y3uA==","signatures":[{"sig":"MEUCIAc/6vqxsVFHp2Wo8uJcUalfWWbjScvg+xPdX8D4AvDBAiEAxeaUsJ62MfYwm+Omp7C46js0AaIDVrcD0mN9vhFfCY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12171805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd748qCRA9TVsSAnZWagAAe8QP+wRyg2HoPLs0BXTIM4Xv\nmopbwvXJe/XNbmjjLM9MK8dvY1Pp3piBIgun3eU1qVwPTB+IPK2ytNxHnNIZ\nsLZOoXyxi8Fe2rTQO7cCH6tqWfoC/xi+Dn5dsDFF/N11m1i45d4SGGINsJKw\nScH024SxWEHosChC0l+b89Y/I0vJoK9UwIrDGsmSJ7jT4QdFidmVpt1bvUbu\nNMuPrTecA5CFRzDWnF715L7BeKSD24rgPx4VHjhbGC4P1Dr3mBMQwVSS3/G8\nLz2RBkAcLPUyS3IpO+gMto9M6iRPLNnW44Sy3z7kZuuJqaL4Wa8gmN2Ch6zY\naT+5uKQE2R9menrOB1p9ZgCjwDHrebsoTSn5HdK0KnH4aho+/lFUxsjmk8YL\n5R+tQIax9VfT0NKVXClASOT7czXeW7G4YiXg3gU1PCln31g76XTTefkvG0ic\noLpL5Tnr2vu6ujzH61vFmImMzmU/62KH+qvcYohVhLheTS3YLQsqQvlWxRXC\nsNTokL0fKiMBdN0UOKeL3L/xQ+Hwcv0pWr1Rm1dA77YanQ3FojeNqJLFOJI+\n2aXsuiN6exTGza283oAGxkBD1+RNU2cVRlDEYRiUPlPiZVBoFFHyDS8XXzta\nINN5pmKaMTel7pkZ7Y2iE7Dq/fu+ssvJLF06+XuyGv/HGEGKPNrI0ejVfZNs\nBfLp\r\n=Om30\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.18_1575980842356_0.3943907554273265","host":"s3://npm-registry-packages"}},"9.0.19":{"name":"@preply/video","version":"9.0.19","author":"","license":"ISC","_id":"@preply/video@9.0.19","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5af142863b58bc99e3a35328667b820c5726a17c","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.19.tgz","fileCount":295,"integrity":"sha512-1kC54TxtzRnMJRkJ8CHRmMeYC6/XM4ltdyr0BzhDxwjxB80lBHciaOS+ihHhfXNAjYCTF3Haz//ciATbGcG43w==","signatures":[{"sig":"MEUCIQCG64BarVuM7ZPtAIK+1Wq03InB+2KijgGGRMisx0ENBQIgcP0y6zxvZEnNz1mOyLeXyelPXgH+8HwrDACQLZw0qo0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12177243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd75h9CRA9TVsSAnZWagAAR/IP/3enhKLlqUmo0DfgDOF2\nUOA/u/ZVURfgjbeMvoxUQm0tLdg+sSTs54VZ+iNVaCCETd9p4wxrt+9AYrgh\nF3as2vCfF9RqEtIBYaHhY3C8fwrC9UF0KwZSOr6XqPsGXQAtyqSXN/+u/3rQ\niBEq8FOjqDEzNWKiHuyp9rZtYarTamvLqACw/INIFKjVAEl/7g9eYKc3ry15\nshYxx8VGaXgcp61S6h7MuJZln3/h7Y8qvRZCDiqitPFyaiOYB2z9WmPRDUOb\nJhkLbCg7MsKJ5btNew1XMbrLpyhCzU9lEwSG/AFnt9Q+ISAiy9h+CZV+M/t3\new6ozgmMAgR3cwvqvmJaIrGs8wX3oiWEGK79Yfie1+B6r0DDIhiijLkehzN7\nHm4Vd33dL+DcKXy6N/l0wLcuvFGfzgVnxb081lseUYA9D2uTr4m6rVHk0EVK\naOXIM3Sr4wyzv14iwIukmB4YWgMtwcRVycXF9qSU3axIiBHOBxktw7cDTHoS\n2O6X4sqeZmXOP9D7cgFlkzGPA4Ffr6BLblvN6S8QiQm1gtMR4Ff1Ef49iPqb\n+3qtJ45GHlPix4/4N9rQTtG3qRHnMW18+j0VH7QVdoCZXwa7M2QgI6K0vKiV\nI23aMEAeFVjC/W3uq3aH+dZHxpB3IdNpGHkB2M43WvmENzFj3RfqAgnsLmxt\nyma5\r\n=I0Pm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.19_1575983229410_0.3967862162165732","host":"s3://npm-registry-packages"}},"9.0.20":{"name":"@preply/video","version":"9.0.20","author":"","license":"ISC","_id":"@preply/video@9.0.20","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ccc4815cad8fcc408873256c2f604cc66ce7ba95","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.20.tgz","fileCount":295,"integrity":"sha512-O2vWezL/Hg+Z6PgSUTqeePSk5rFQvIV/r/vMl3bDPYSgz3H1JlBML6rpI1B/Pbuf2x3iwSWsKSu4wwGRlry8Gw==","signatures":[{"sig":"MEUCIQCxYRcuEKipVPCGRDbM7c9lEu6E/LWQYS5EtVsQtEDutgIgC+MwwHV+DqR1vK9TkSVZI+d+Xdo5elKFd0jXBzAYoCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12197138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8KK5CRA9TVsSAnZWagAAR9IP/RDQ/SSkrd6DgYTqjo4b\nRIcyMg4brFAIcBRDyAfa9JVn74TwyqOjEhILxl3Dt//QBk99RiX3tuhwGjcB\nT0OVBTFEu01K/ykqs6LbeBL4WSTKvJs5uZyjcHzqGZkLQVxr1T1snG/dtO03\nWLgjs3urMxm2udN8uWWt1bLw0kuS2frTZ0Ti4TuSNFL+CQJ80BSxYCAvl8kS\njnVET+HumJyfMbTm8f2VDSh1ckmP+9+3WRWK39KRg+pQzR9m7bcDf88Szs7T\nXcA9+ysLbCpjJTqMjuSo4UBDTBjTU+CFTElyfY5uR+tmwXw97hfMRY6vdQGt\nSs3dv7+9lowZSyiJA9bV/6+K8Afz4etXQyfSeMkLpaEYwz2OVNS6qmrYeprt\n+L0MDTNxk2iaQI9vaUOqY/x3Sx8X28zx5ojt8+479mO7u7W2O7IiYF/kqlTa\nd8ylTpTYIoKqFXek+c5ePeRFd6MalMLAyvQWWNtfzomgGaZnIfrWtAE0RT+V\nzK+USGp6/4znhOqjifm3HhmfOJBG/IfGggdlGGuHkt8rX+QsXNd7h4yRfpuI\nj3KGWajgtW8YK9GLQNaQLyq7pczfv7FuJeo91A7eGvHieKA28g23wXiyVJb2\nZDlAsMVsTOcBPTwvermXZRxBS+she/VsxFifh3ofiURvzcAStngxo0fUUpk1\nf/oa\r\n=QCDM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-player":"^1.6.4","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.20_1576051385239_0.05825743682007656","host":"s3://npm-registry-packages"}},"9.0.21":{"name":"@preply/video","version":"9.0.21","author":"","license":"ISC","_id":"@preply/video@9.0.21","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1b89702081d1f1726e3471dbd254e86e18961f94","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.21.tgz","fileCount":295,"integrity":"sha512-5z6T/myWC1dsEBZj3ZeAzKZ9DTLjWlH/janZaebVpkXJpCWYo86Wnoya7/B1u4HCT+91igqHFRUGitje1IkZDA==","signatures":[{"sig":"MEYCIQD9u0ZivKS5Cz4vdqU9C6LzchmKXnlmc5/ephjM22Mg5wIhAPOSIiSdNKu1ELH+BEwZUSVugkwP3vDcsE2ql5cxOu1d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12196885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8jsYCRA9TVsSAnZWagAAOuQP/27XT3x8eFk/WPUpjfrP\nJtdIDU84PzbqFVFvI9fJiIeDg1ZN16gii/AquSkaW4pbS3DFq1VPqsrG6DNe\nlOF8LgwoYxo3ko8U8a9gdey9nsRIC4DlbAVDXb0ty8aRwShARKKzN5pzoiIq\n4w/CHLL/N+BtmZ1ZalUR0X1N+2Wsa6sRoV5xYQNXmQ/oE17UkfSfGg3urEx5\nYjl5EE/t2J/P2YBw5vI7KGHM9Iio3uA4MHU/HDgpQ9YYkrtDL7jeY88ifYDB\nzNRNMyCavD0JSwrNpiEBYNSxGr3AV8ts+5NuUlq2yAES7hfSItpgiZ1ACFs5\ndyK9Bb+XBHOr66IVPeJXdJQ7czo1qFtfsNLM+yIPNo0Rfl5AYiAebvq9WVYc\nFarhx+ABgB8SwNvxqwdqtYjJSyWBI4v7teIToVuTFk8Ygo55ZwuYqvhf6AEE\ncDRrgCvMZ7gmelMrXtt6djKnkpX3G2UV9b2UrcbyWoUg3tNPVaqkNWqKtJTb\nf9PsaPT1dNN5fCWrZD2aaSKqWVcFvCqdQN33wyWAW5qGUA0YwJj0FKZoNkxQ\nwSWloNgwvN3qhHJbC4w7LTFCYTtGtt+IBeu+ObV8MFqGbUFPIlatC3oZ9RSP\nrfFTyE6k6ZleVYw4vUMVJbOlXNGRx5fCTNQd3Z4K7saLWnFSPB8hLB3EDFs3\nrtPq\r\n=IumL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.21_1576155927866_0.44314352787850475","host":"s3://npm-registry-packages"}},"9.0.22":{"name":"@preply/video","version":"9.0.22","author":"","license":"ISC","_id":"@preply/video@9.0.22","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1c174d504f7454b1b15bb014bb4b6432b357cb0d","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.22.tgz","fileCount":295,"integrity":"sha512-mDJ71zHHX8bQrs1Xvg9YqoxCN/cSdabTX4x0o4F7l1eDIrp9WJCK/WQyulMDr7eatP3Pkq5X5QJq2SuWICLG9A==","signatures":[{"sig":"MEUCIG69eVk4ZJzoW+SDKcgYUmQaWLMWbaFm8g0tFt5ze9dlAiEAjE282OksAfoHCI3LZVsATfJb/HJlJBbjNzH3wIsosdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12205410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+JW7CRA9TVsSAnZWagAAU2IP/R7z++fRWM+HeekK6em5\net6cKsec4hS+Jo8evfZyTR/+p6Nol2vtNNI1mzQjo+Rm4h4RIdQP929n4hyW\nrSBFxFr/V6FV5WvMHyoDst0HUGa4aur5XBzxYkNnOqs0FIYrHx0deYZJfA60\niqamSsjIQSqouEmQtnMwKWxno2zJn1b0geExLYNLhfGnCHuWETAbG2K5bEbi\nWAPDinqefSNRN1DfT5RI5OagmOiyZSc5EXaVJQDERelbmX2XGM/9WVV1aaU9\nSpH94h0jgj7YdbGv03R7x50/L8zUnuAyArOsEplDGWX2lVRRSO+XQ5n2Liuu\n5WiTbI7+orb9jhvn+D8CrhF76o3RAwVuXsIAynZu7D+OGXqqGppLlqdl2Jwb\nEpWn82H/EEZgYGZyVqOQXjuHiZNBFUnf9FG7tqMBjBoSXt1MLyMjegFU8wsc\n+KXbdlSEpILFIhuGuRg5HwVZGmpG+cfJQLfQzTnxyc1Za3iUmow5v9nv1LdI\nJrJbvcTX2V9ZIIiTpwdcPYdIMLbDKF6pab+jrfzC3Xrtc9+uYQl5Xxd8Dv2T\ngQ+E1ET26iUk0i63ohskf5vQA+xNcaC5mLH1kZar83PtlwdShVLDSKJgh9oz\n7xZtu9LgmudqmDLs9fD3gCzqII4qYF/cdQ8fAqL4S9a29BWDvOtfsnzcAkV+\nI8Zg\r\n=OT9E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.22_1576572347056_0.10286317109971699","host":"s3://npm-registry-packages"}},"9.0.23":{"name":"@preply/video","version":"9.0.23","author":"","license":"ISC","_id":"@preply/video@9.0.23","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3709b5a223e0cea52c40c62a47c6739f47efc568","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.23.tgz","fileCount":295,"integrity":"sha512-v8dqtXR+MFBnEg1V0vTqif4LdmpysxlTubmkLmoLK5i2pJTw/5e/pDjxHtDaa2U62ornupQhsOnrjMu9cqJGKQ==","signatures":[{"sig":"MEUCIBh87DMFaDn4L8FhSq2BJPsNW33Xe51FtD8bYrUASeVqAiEAkUQOKReCaxIAmYRES1MypJl6xsPqKFNkYMbU89AX460=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12220795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+zxGCRA9TVsSAnZWagAAKmUQAJrk21x2C0/ijnjW44D+\nW4MLVrMQHRLwePq+h4sEb4l9AJyJC52XJm8xkDbqlf1p2ywWeb0cTx5XfOy1\nDr9i+gdm4JiLMazkVMVA2Gex/8bkRIFWxYmx1uZAAzcfvFNQvD6fCYdeKBSG\nrMy0Y8ggvDmirrucX+WJsbQqAdZG7W0zdeWysnwbmqyeDClt3CTr2ksaAl9a\nedriVDBSYwT6cYBdYKmMHmDI23rOrZcHvdY2fmw5Al9PThUfIOgMFurtL4le\n8Ml8WQYt8naS7veIRfT32XqyNqei7ya9lTskndy9lrzJ1mg2/VJ0t6wCD6cp\nn90ey8NnzqNXkLj8kFzZhCVEOxCHiizzs3kiWzNHCZjG6Tvq/XePb6RSUXeI\nKVUULM0IyYja3kCqoPuVRWL3rtTsKDvRK2yl9TQadoU3TnVtE5HIKp9ESJwY\nHBfcWdCqz+UPSBxjr+SjluyeXO+WDgaz2KMe3VJhBH/SpcseO8O1vLJ3Mmbl\nN2hdtrszFidOxFMwioPpWwn8BbthW0h4smFMdeMa5h1KI0aXYdVXxqUKDQEU\n+oEtl05ZUUkgRPM7LLnxhDk0bNzgmQiwkxP5LwEHPSBSGcvtsiM4UoORMaR3\nHsTuOIfcGnkdOFhkQSVcCBfvqtQIyOLmgWh9pE5Y2lsAiXu0E1EQQqPhG+dj\n2Vmg\r\n=964U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.23_1576746053917_0.33165529670954963","host":"s3://npm-registry-packages"}},"9.0.25":{"name":"@preply/video","version":"9.0.25","author":"","license":"ISC","_id":"@preply/video@9.0.25","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e7c4c1533844eb0302dd78c38a2449a97ffafa58","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.25.tgz","fileCount":295,"integrity":"sha512-56xXHTOf8KlAtrGy0miCLNM5bPv+nNqSfNfd5G4WGCrh73yCzuTMQoE5yc6Ogybf+05kRqasA5gbAEyNltvzhw==","signatures":[{"sig":"MEUCIQC4fPEb+gFQqAsqHQ11jRh3sk0pXJzi/ZLWIaAazaEBCAIgVLMeTiwxB0YnLimo6r/2xvGLBi68jl3D5G7nhfLDes4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12224969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAKTJCRA9TVsSAnZWagAAuv4P/jYGr6UvcQjRoEfdJshJ\nJNNRzIZRk0wNKAqtD5w98hCnq1Sj4C9F1/WBKuMWn2/KxzSR6aMcYhwxXROT\nvicuGouoILotVA0/IfeirIsF3njGkN9cgitqZH2pUV6Xcw4z9j+wils25XHM\nZXi8gCs2zuexGEYz+JfAkJ032cIrVPAgiJsN0Aw9GrdkXU+I5Xch8hHsEW6o\nLd9ljLamXP0E/OXTOZAjd/iQ/RJQDy5euXk4bPNcN1tf8u9Ao2nncOrBCht9\ncoNjLp4PBQ7ovKvnPRxmy/daoH4bKQYF8wEV/5fufy5gc7HbLRA0NQsVll2h\nwCuj24KdaFkceP7t3h7lrsUsxEhAUDOGX36mX8mHj56s9y+zI2kAD9mq8Lfv\neQ7NmI8TLPrvp6ObGU7+hEbv98jat3JH4OO/DEkrG/0ShZN1yGuN34yc1MPF\nAvfVrs1nBXMRMfL3Mw7/6lcUxStLVahPghyhXEktlopD78osU4Q+PR2YaYMN\n/cCNnPSbK0Y+PVra2opWs01nwFTL33guOb03aK5msZyG1REqreSLFUppcuYU\nlc56eyghsulP9CPWn8AZyeCdRBRIySmZZgynuIOdDa5inGJFFYwNepNY8/NH\nSc289kLX+ASzQ7nTAnSohAj+e4jbb7rge+F7+kIaU5i1ym4wJ2ql2Uv4LwTD\n46dN\r\n=Dv0Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.25_1577100488158_0.9158701678805932","host":"s3://npm-registry-packages"}},"9.0.26":{"name":"@preply/video","version":"9.0.26","author":"","license":"ISC","_id":"@preply/video@9.0.26","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e059d5a2dd617ff08516a3af2d6b0445e325fd31","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.26.tgz","fileCount":295,"integrity":"sha512-hWqV0FZ/jY2kbklmF2miry7O+C+Nr1lLw6c3teGeFeNXMNFofUOx1VI1RHwMOuEY+ww160zd+Z/VWtJuVC77aQ==","signatures":[{"sig":"MEYCIQCgjR9LEx52mnrqC0yVNEYjFlXFv2CVr76Rj8+QPSg2VgIhAModPMr15W9CKhVbTMop6Xx6t17ZwJKv/HD7p428Z8ws","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12242368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAPQaCRA9TVsSAnZWagAAaO0P/1c08M0O06Kg/rqNPkQM\n5KkxNfuGDmNS/gUUUyTtQDGxGL7qJInn88IacsdDgCUQsW0m+sD+01kJB5Ko\n9yDK4QtEu4oWfuIObJM3J0U/sPccbUYIBZCJSAya1dekUGe/S6yWMfOCkCdl\nU4uFtgDFFmqrYadNmCFsUG6BAsBuEZujsUaYh4elGad6ARHFBE0aPe/7R0Us\nM8cvqjRQrHp7svOnT3Rdq7BNEAEja7zgUNJ4TS8bWpIOZ/8H+rh3OzI+kEEa\ndPONq3tNyvqQTIpsSABTDF1raciuF0NBlG3bNtFy96+frqfc4OUkk2RhClSf\nsiGMYnMKQwzIFBKm1BRBW9MCY9d8ET83jd3ACfyU0lv1GR4ua0WK3y6UoJaV\np+YdBxGqnRR9CjFztGbB7BcWDFxH3yi4tZFv8qgmWzs8i+TeHZeck+B/r3Vd\nu9fBIX7mAqeDOlWki1X/uL91PmcCLzkahHZQnm8+UxpHSgHs7sH2w+wvBZtF\nGmVapjXsSOZ8SJVffqTcUbEEzhMFaBG1hyJxQxHJAmOrSU8FoFrZBAJSPKKm\nMc/VvkCTbUMQe5ckmLS4pxF0q5ukitHrMA7uHAaFtHcOcL/lMlIdQmQXmDus\njgo7bt2Q9rz9htYCVfRY0SdPhFPrIV5cGUDHT6pJxI7BE2srgNZBDKrjDtlW\nIUCG\r\n=B366\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.26_1577120793735_0.223228057371742","host":"s3://npm-registry-packages"}},"9.0.27":{"name":"@preply/video","version":"9.0.27","author":"","license":"ISC","_id":"@preply/video@9.0.27","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d16f57846b242a2641b1beabb37e026ce1407f94","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.27.tgz","fileCount":297,"integrity":"sha512-cMtNxbyPP93DeZFAGeM+XtL2y6W5Bnc3fbaHHLPhD6qC+aClrcQVCrbuSyR0r2QckTacqSPadjgE5gYIS5jTiw==","signatures":[{"sig":"MEQCIAOebR0zHp/Ag+EXHBu8o4wACW4XEO3A9f/eoSXPopZUAiBWAYri2XKPiXVFpTxHi29KW4u9jDX4PA0eeRDjpIT4ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12336680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeAUh6CRA9TVsSAnZWagAAWcYP/16cRu9OQaqO5jL4IB9l\nwwDkoqq8jIr2dnSZqiPNSiWaZDUybDGS979QaXrdHi59RVXxOWlumKWHx+Xs\nz8cLcxl57ZEr73yRt++80WPHCxDw/GTVgkuuRSz2HByb/CtvuNfhVCPRVwFo\n9vO21Xuq72jyllojzRwfOH7cwGLrw0GWsP7OlkhozCIuZh88cEZ3pSlUNyus\nGm17ThuV9tnjL6j/v8zSjzJ12Wq2e5ZhZ/gMvqzuHENjpYQQkH+k87LnM7Ce\n3c6s1qKm2LQODwnXD9IfHdf3B79nNkYm45Jb1bGQSJyVlDFW6CjBO3SchYKs\nzvVs0R53D8L+FiTv+CJ9tr+tqH3Y7FMQw8oCkz0E+wd26QDKoz5MDIXUoUHN\ncTkXiQ1e+ZmojLJ+mxP1oqfr0TorZF/xYrEpdbEN2iRXQPzkupcOLaUrW7Ab\nxYcBdSaivaCbuWxyUsdmoeHfTE6fyz23eYdDSs1Tg3WyK3JNpfVXrc117FO7\n8tF+VevGy0g5L6HUcQ1lwp4eSjhg1mTt6wGjjPxObW5rZQ8peWK2yTWk5ATO\nc0f7kxZ6seIc65h7k2v/zugbjQPrqqTbCk2Jj0ieNgPZ0iDkxdrSKyDhutSp\nVX0LhsUgYM2UmVw/AqVg2ld65KXbWyhiLbitDg/eo0eItzmmwW6zuMkqHyHp\nezJk\r\n=/Up7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.27_1577142394108_0.6454768613961712","host":"s3://npm-registry-packages"}},"9.0.28":{"name":"@preply/video","version":"9.0.28","author":"","license":"ISC","_id":"@preply/video@9.0.28","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0c6a5997fa7dd2356d080835f66e2c5ae960557b","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.28.tgz","fileCount":297,"integrity":"sha512-W22cVoB8CoC09g2JFya4pOHkxKiPXYJCyh6Si72P+DZgl2bR4CrYX4t9Yw5sxhCeocbskFKCvls+Xgh1fTVPCw==","signatures":[{"sig":"MEQCIGwnN/YQk3JmVzf9LDiUJ8oWgqtM4ruIKQHJAHFfk3LQAiB1V7LE5i5KcKGg2rO0KMutYXC0JzgBT46D3OHn9b5exQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12341867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBLbOCRA9TVsSAnZWagAAz3wP+wagcgbH+Ans2rTUU90K\noUicppkg/tyYIs/C5HA2X/osfkRKeVp9BOpVwue2f/OvZwfNhOwtDUrYbOe/\nn9YiRgBhRJ5U+moiR+RlZO99Zq1kzNLs1F5Y36QTYwwVf7l5iNjj9yy+46r6\nE/6plNNI/I1+NYOBpiQL61RCy7QypEK+295X+oVgy9gm2HSKX2Azc2bFz9TX\n0AFLv32k6D2AmLHizTTRfnZRSBHNVIH9FEzy1V/x4MbYi9u1ZURy73waLvkc\nar1qPBKIpWTxLh93DRbQoIOetW4X+JjTeReUrurFIfrNIMzFATTA8vQlzGVj\ni7POEDx3berYXIjZkPhdYGXgXKYXyWV/XQcucnkzx5v12so2WTFdGG8+/UX9\nrElBvpn0H6GxPxAOSLZ/lx8Hw9BVdoqw3ZVqo6OFKzzTl6j/3O1HJ9EZ9fFc\nC4f5iR4YoxjwYESaoxyyVNvuXuRuFObR8hbEebfqLFOF8ZFbrv3KRF1gzWx6\nIRTwdpC7UYdbh3GesP5fP0M8113rxpX1efls+/ztF4/cY91iEvrXw76ob4qo\nFb+APvnFLQf1m6CsLt7Rqj6vl9iztg083MsGulxAfn4GgohPFLAeT8FogwXA\nDPYSD6wTITX99p/0Qe/+Z8cohAadBb0dNlHOWA+6GK3QwLOx1Y+VKMvCuf1S\nQxY0\r\n=jGVk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.28_1577367246173_0.6194777527683057","host":"s3://npm-registry-packages"}},"9.0.29":{"name":"@preply/video","version":"9.0.29","author":"","license":"ISC","_id":"@preply/video@9.0.29","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b8cf7e227fa3691d510cbf795111754c07be0c9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.29.tgz","fileCount":297,"integrity":"sha512-ok2oS1IVUUqaN9qiTXY/RRn8o/Nm7eMO2kUr+PL+l8jYcOYsV5FmH+atz95avAxOuHoPxHASipPKgtj80jbL1w==","signatures":[{"sig":"MEQCIAZQ8zp4qxCLymC1xwaltjRT36mZqVtaCiFwmi1VvSTXAiAYLX7syHqGWTLYMnIx6vjRqqIUv6Un2cSzUgCEHaa/8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12342167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBPlxCRA9TVsSAnZWagAA7hsP/RCIsRRgxTIJcDFYjIhv\ntV1yLjuuqBZ3BVsneRbjA9odVnUnyaBFX67BjFChNYnATLA3+rZiLMMvp9uj\nc8wGXwyQci1AXjrKwuotKZN66aP53gvs6HLkqIHw3qno6+s20BMHDXCcrr4v\nQ+sOoqwVz7+o+XJwPX+VpTDaJHSLcIN8t+RiG8ipCUQwGTIY4nvlGO8hfrsR\nKmcgts+1hkw4hfyyhgAQjGRXAdyag6vde2QgT/018U1ao2djXCHKq9pWId0e\nGcwP+qj3Rl/Eu0sxH8h6p7SQOKZlvqj7bx3tYJyqLV+NVSfApsNlnqz2jffQ\no3GMotWGY1cM2chBq7yK0O8CbKz7u+bHGDlWaQtUNWiO66igfGfB/Ewa7cFP\nmhDDi7J5o8JvV3Q6vfEga7A9B5MVx8RJp84R+3zWcNLcKe5SRflNnJ3aZHdI\nFqn6mgXVJuVsRN42tUTZ+crOoLpGDzN2/JM7lRXzaBiUJqFt20o1+CUnfkvW\nIMxKwuhtrrEcJKVLNgkkbMpyThiB6oMrlEWwbXorA1SU54J8RdtIb+B0w88J\nH4Ox1MlKIpegASZlM4iWCshG7gHc/d2r/WikW7EwtMIpAv0n6O6A7K1WZiP/\npXqjU0/YF4wZiAHdMTNG3JCpo8qoCmlwzdjMfCPa5HX9MHDQR8Zchtr6qNl2\nCpf5\r\n=4ON4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.29_1577384304840_0.513493307142608","host":"s3://npm-registry-packages"}},"9.0.30":{"name":"@preply/video","version":"9.0.30","author":"","license":"ISC","_id":"@preply/video@9.0.30","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f2b880805b4c1b186f709b3d5118b8ce6a14805e","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.30.tgz","fileCount":297,"integrity":"sha512-4P2jNY+FR+CnJM9P6Q/3qPrPJzVGBrgQVHUxmUZKhSnomdTmL7q5XAHUbYqSgbdBNcjWiupfnsoso/54dKhuMA==","signatures":[{"sig":"MEUCIGm8kxEBGDXgGN6zytQ2ZXinBQapyBrZoMLxaz+1d7clAiEAwE1r1OzyOrhM3qBG3rBlOBZYoMQbwb4y+PuR3DaMZy8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12344620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeBcJYCRA9TVsSAnZWagAAEOUQAISkASu5RyKP6bkPPvbt\nqiUryJjsJWVMt1PofOnIby9rNkmpfltxSTeXKU0u4nSC6WYBozg7hxUdHPhT\nS7gSdYn2jjWQvTODYoRA7Mf3iUekHfH8DK+HQVXysQf0VVE2c96e4ZVh3sEB\n74OfNDC9c59Z2CVuevgbhufk/ZdDcPwaJflHRD0w2ykUs9IRPeC1Kx6SU6i5\nloEMoMELudimVLrecS8CbeDky7g1Hvli6BD9RPXWsqHemwZC4NYDHnLimE9x\nWnUxvpe3gGKrOWXskXPtS227D27JaGC7akVvfE16GaDSI7ywU91lHyOqx8KY\nxTcVG5PnyPrK2ZXUnLjegzumlfr9OvDxQ8TPtdxFefEtZcaxvuv942x2exJf\nllQtjU0OIzkwyrSYcDKqxpCzZ+0FQHRjAiEvFqglw+oj/EirsvPNQs1FkIsf\nFAKDIuefuB9NKyMw6vus8kmOenIeH5bNfsBhPp4b8l0FNgROdxh6xx/Ir16i\n0sPzgPmm34hvZ4NyljhIvxckjnz77LDo5R9o7vU4KuGva4i6ExIBJoQnD81a\nJOrxlbCKiaKZ+JVcosW63v0Xqn4sF5Uas8mQ5Z4PtSs8HqN5GqMCroUMygww\nQN1TXZr81XXaHGveAsfoS+fi0l4HoT6Y/eGUhxZ+Cy3MjCu3Zyjtjy9nAz5+\nAF3j\r\n=OrJ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.30_1577435736309_0.0928426477338975","host":"s3://npm-registry-packages"}},"9.0.32":{"name":"@preply/video","version":"9.0.32","author":"","license":"ISC","_id":"@preply/video@9.0.32","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f50fcf7cfdeab7b02c097f687ab2407c4192d63f","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.32.tgz","fileCount":297,"integrity":"sha512-ToqnW3V3xw0CZon9nSVcEk8m2jVu0mEiFNiYz48x6RK2x40Pn3A9hDsqbAL6E0x56d2j6VmIWjzXJfyqIQ7NKA==","signatures":[{"sig":"MEYCIQCDIQ0mKZMQSPTdzZso+aADl8kxUfd8psKkZg89W5mkjgIhAJHB7GAYt9WPBknVksRv11MA4Ik6JSSQHHwTVmhdgl7G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12347200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDhqWCRA9TVsSAnZWagAA8MsP/0BJZKmw0CKcj6iJpO1R\nUzf13wMvROzh+NVVHBsWxvlSO3nXpib/nP0WheRxo9ys01KPlqF9VMWPYmMg\n2OXSLgdEh/F0noZJzMjKHzXIRKyVcmY3jCGFeAePg0T8QfOur3RORfeq2RgX\neQl+UvuE8taCk3xPihVT2XQeBcveSsQ0l/ucEiAYuij0vlkD0pSUpMMUy2fE\nE9PfSliYcOidqYZdUqXHDygwvlyopM+wtsKebdfcdyXzXNVoxIRAqW0i5/1u\nMjlynb2KAC85Y6CWC6eZ65x5cx6NawLCrxBlSN5Q+Am2Hshf/YdxEmADA574\nZ5EpbqDh5+wRO3+8kVtHMI6iSYCxpY6i1O5ozzr1mPOdFkBcze1MvO9xoRw8\nm3R6spNdqk9i+oqULZ+DoiLlKXG4Cqugp/n1pUwd+8deJzGVaeyLifvC7v/4\nLr9BO/8im35uO8MSwKkY83eQwE+7fqmtk6mZCvvraMgXgcibRGZ3tZQ7Rmgy\nsEniCvopXsrajMQAMIxTy7X8SNZwj1upYkNHgfITBxpuwhQuGepde9niM960\nEcG6kf3Uma5X623RBdOfSlzV5bqeFAdJalfF/a2L7c3zG8EnkvMXhmISExGg\nzLAPIWVZtp2bMSsRdsjKOkLG4+wpFDmjMHkMCRITw+wbvrjvt2our8ehQ8hw\nZPE/\r\n=Gnke\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.32_1577982613861_0.894969746473723","host":"s3://npm-registry-packages"}},"9.0.33":{"name":"@preply/video","version":"9.0.33","author":"","license":"ISC","_id":"@preply/video@9.0.33","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3d6be9357afbbf994a7c45795e3ec69378b8568e","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.33.tgz","fileCount":297,"integrity":"sha512-diOGemcXOpGCjweP736m+EezxUh4pEUxzXjYACTRlZHXT7ZNNX4CRpp0IaQx9bIguNed2LQIw9zJ/qX7qzuhgA==","signatures":[{"sig":"MEQCIAeCkVxysDvYdpRQLg8SavO7FD3sAelUx5Pg+zgXs/s5AiBpUQdQI4CAvrKsC/mK46ll+D1VNP5IiG2l/R99oirpZA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12351685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeDiNfCRA9TVsSAnZWagAAZWIQAKLeEenYrdEtah2SHgek\njb/jW7xrl5YF8Ik0G0JO3GCzTUtqIm2+aJzz3h8v/yPXc2G8Q7PL4UO7cSE/\nS2G61ErxtKDfvdVrLEHuxG6dcFQ22pVmyZByLvcNAeV83cO1R3D4CHd8jkqT\nVgYExMuonwuQU3ztKj/NAnkvp9/26D1NMjdac00VjF1vRr3FWf0ion5CxzUt\njBh4oehHA3z9LNSruznr6dw1MGXo6Ep9i6mW3AMHo0/itwOZyw4/f8hRtjlY\n7Rjo4DGL9OTXD3McKFcVj39hCymbleDzEHJhkagiUvPMoXayvYOlNFAOi/Dh\n6ZmJd/vlgEuOR+ZrJZhAbrXhy0SmoDGrDNi7E7gTfrrjTVH9qqsMubVPTyqb\nspInFDFkONh/EIWeLnsylGjbTAijm/fPf15/kzdDx+pnS+waHhwc0piPPh9L\nycJuDJexfBxz1MvRdUj+Us/WzXBaENzxwpHNg8m4Sc6mdKvtXHFoJx3eACJC\nWO1r3npkQ5q0y+XyuZQjRnNrQ2g/p8jMMF3BmI244C2bgBF/OR5PSOf7goDf\nY/BEKkXbW6x+YmkYbvJAXSKQDoF3VGOY1gORCl1jwM+RzlDtNcazPGE+4D3A\nVTFDX8O2xj4rm+OLed9ABeOn3C/gxZSX+8oQb0bpNc4nD6lEIbmjsgiC44O5\npXbm\r\n=lDL3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.33_1577984862440_0.033673855664556385","host":"s3://npm-registry-packages"}},"9.0.34":{"name":"@preply/video","version":"9.0.34","author":"","license":"ISC","_id":"@preply/video@9.0.34","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"127410cc39928bafada59ae5499f2ef74d161636","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.34.tgz","fileCount":301,"integrity":"sha512-uVuwb+4i+lwdbxxeRmituiYDUc26KeQ0d9ch0DQdOTgXv2ai0iU0b/0ABT9e3tP9liEdRcXfpT5x0YLLdFOZNw==","signatures":[{"sig":"MEQCIB3K3Bt8cULmhnjv2x1+ibCsmhTuTzTi2CBHevZ6Wo05AiB2Q+NF0fGB64VyA3plHze30hIBhrYXDyiTPXpFf+t/ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12306475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFzZmCRA9TVsSAnZWagAAUEcP/j2cRcmCnoCfssnAzquA\npnS6fYSPqzwufMq2hrDV0WnEkDDc9FAPqYQduo0sTduwwbK/pJfUYB+cNAoZ\n/Z7OfVCegDBtJQJeEfd8e06Jsf2kZ+hQAb1FrJiDpsmzNXIX/xExYpzQXamp\nb8ITyqityFGNTIwrioujV+4Hinug9zJ/BCUV2ETEPk1rB/+ONKsl9X561UIe\n/oWcLCHnJR7vvAplzLYiflK1WKRZYyFbxRD0vjd1tDsSEWu1fqWlgqNOPDff\nV9wq/xh+YTS+QhExnzyoQCYkSzzYXykIzMQy6tdfwwIzQ9MdquG1wvsVx0Jb\nhGO3QXWVNNTNOVZUPywfBgwhmydm9hLs2pNsOWWEeYfpGhbk/FEb8jXBI9y1\n1ddaPvsrZWnqub6aIHnA5VrWFhzsx3ff+Zvfq24s6LKCuJX8yRyDoMOlceCx\nPgrBhKBckvbWPavpJYaIDCZLguWLMJl6okAj5uJWVl+WfkNYbsXnA+bM1P6K\ncWJC+4DMvD3Z3qUF9IRBmtkiY8o3MLJnVM6leqSRNtqIZciuuHvEQ13NvZK8\n+ydQVS8hDbL0gCcUL6iVdNVzCYDe742Gpx6OP9g55RyP+Y9/DU7nef/Rappt\nFN9TBza1d9C7JCQgPWo97+XTkX3UWpl8s4hOOsgYPHmHS1bNQ8ztQFFfjx20\n6HVc\r\n=fd8M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.34_1578579557628_0.33152269125274914","host":"s3://npm-registry-packages"}},"9.0.35":{"name":"@preply/video","version":"9.0.35","author":"","license":"ISC","_id":"@preply/video@9.0.35","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d0e852ab55fb98a8dc840c8395c615eef35a3285","tarball":"https://registry.npmjs.org/@preply/video/-/video-9.0.35.tgz","fileCount":303,"integrity":"sha512-iuUwWyUzCWEBZFncB0moMQTYsaDZQZGsFMb6vxI+hLLkDt03ctBwvxIHO6LPo9NkOhbEv69Jj8QGam4N0OO0kg==","signatures":[{"sig":"MEUCIBQGttBISD3FzGTZmMgF+eG920Ub1dzH7eDM4t1r/nN1AiEAl9gU/AcQr8OkWkPwIQVRuNPPhU7BY+hC4BHRWsV0YYI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12394768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF2R4CRA9TVsSAnZWagAAnRwQAJGD4/Vr8RAjAgE8DRNC\nnviANhLSao2LKiJ83R6SU16jOR7E0LNw0O3CnnXa9lm9n7GEkIQeBHEsLTRl\n9gc0sOJt+m9jHX5abuJmaArgIhhLhoPSrxwAA9t5Otxq8Vayt+q7D5cqx0B0\nefun+savPUS71or1GLR9bzOAod7ZFb3sug/qEhgyhYg8TejIgf6G5IuOch0c\n9c1aNxd+YRwqHK13JnXyEs2fL+eVpEKc2GiFD+ASukNMdIoiO8Cr92nQxcZI\neJHZMBE7mR9cGxzY//Gl3QThzL9jkmoqVWCZgTB8FpIXX26wT+B+CiGN968r\nMdVQHZRHu8B2zp9fEDgmtX+uY0nF5koi1M46bVdMaMpNS6xXtvb+Lc7AFpJy\nHrq25GCDdjP/N0iEojdzw8QoCR4iTe7XZFw1Sz4GvTZLq1W2iNYXG7UnubUx\nTDL1ER/DOLls7o23hkhjVpRmn1dPliywCImjziTwE9KqRWpRwxtiCJhFCBqL\nBf2/z1+w3dVMZL/cg0vAYYAtwPeb+Nc3Y0zb99DLW7q7iXfsv8GsbWd9Q/Oi\nShvB4sJGUwXcZspA4s1iu8sk3dOzaEzFbzkEhd0wL7m6CCqlPRulk03aAM9A\nj9ES9Z42Z/aTjV7AFTceQOuXXafqwAddmwiKo1IShBY7PaVctFus2MXShJxA\nBIal\r\n=Zy0w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_9.0.35_1578591352102_0.2574477678112772","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"@preply/video","version":"10.0.0","author":"","license":"ISC","_id":"@preply/video@10.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"114f75980eb7c9215b5f2211e6fe033de423d735","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.0.0.tgz","fileCount":303,"integrity":"sha512-DEVM8W84WupyevSygTPlWtyMlarsVMAvM3yGczY6j6tbHgQScDe7oQ5++0mPnBlYNX1c2u8xCfLJq8Q7upc/xQ==","signatures":[{"sig":"MEUCIQDDvOdYmoLzSshg8k3uqnqKoT2uaxQL6/QEy9w7UK14zgIgeQGAmCntN/wAsel/lRKMVjDb3zktOsEaeMONdXiHIkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12393107,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHamKCRA9TVsSAnZWagAA67EQAJ9G8DileNs8cJsDr3ki\nKBpoZBamQ8c7z9K9bLvMsximqWmJruQP8NpGf3IalGnUz//bgqj5mb44IPvx\noDtLVEhPV5MvdNim/GgvNFdnMkjtEPCC7n408lfzhwIznr41jAobt3+zTylO\nNGFxUnCdQXMVQVctRwC+0SnDNwxP2xJx/xr3PTPzROgNILx/kToJfwac6zGc\nNXkKT82WZy8edzdaA5ymNGGm1Yg4ZU+5F5ZcoM/0xI183GpcCKMicGKEirnt\nbpG7vx9U3S2u+TfQnUk8m0NtgDwHjN54jLjMrPsQKhxLMV86zPrN1oD5VQD+\nOmydF+imk+YwUbUXeYRgKN13qua//q7+fiAyWqlQeAECgQOcfPv5ziV0kBXv\ndoEz9jQsrqzZN239fLx2Q2yccSL289/PSi72mq9sAMI/FpHuH60Si6c/21Um\nPDcIiJmZ8O8E0oP6b66IQ2M+uURxCv3csogzB6M0MobKS3+sTZ532KG4aw3F\nKEoCMB7IqQ3lilvcy6WjWIbVEVcr2o5jVxfL18orwuSysxTJqAcfU9mWIXdG\nV21+9/SfPmNbpGRgBqt0DXIY7hFILeGkCLFsPVrmbK/nZHqxmz3H5jj9rODH\n37KUhYc7UXw7HyCGE434V7r3e6zPiPpeGM/Raj3SvLVnxsm/WAENa4ZCIf1S\nxLkJ\r\n=oL0v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.0.0_1579002249938_0.12204578928903254","host":"s3://npm-registry-packages"}},"10.0.2":{"name":"@preply/video","version":"10.0.2","author":"","license":"ISC","_id":"@preply/video@10.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c80f1b61c021701431a816de9e9999dcc0fd19f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.0.2.tgz","fileCount":303,"integrity":"sha512-iXrObw2CYYzstHJzH3VXJzYsgfcbxrcvdkpe97Jg6QzVOaExFPv/c8etlY2+DSZqSrfI5l9GlO17cFWnXhjuug==","signatures":[{"sig":"MEUCIQDDn5jljlP/fI93JYQVYYwE35DlgYGf8R/JHBFvY+zIRwIgMbaxUKGDXK+lcgHAmCgS35/XGv8L3Mhs5qn18pV/89k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12432306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHfwOCRA9TVsSAnZWagAA1PsP/2iJmER26OsShQlAVuLb\n55sf4za2ODcHYGjHZlzBB++8VVWS57k2cMOrf66lbYS593lTZqTfQY285Bbq\nfSEN6IgoCXE3P6flnTEiSpDSdUmzvoA+lw/tbdenGKWk8uKfM4O1KEGafxxR\nM3ry36wI7lzcIom3gHEQGCKT/Q88+JKPMMtbBy67WmDDZmmasYmZOoj2O9b6\n/DfRFu5cipvQcJXfXGBdio7cc0/Pb6m4s/VISP2d/d96Z+xLtjhKzpn47iuU\n4Qx9ra80s4AfuWXaxU+yNTsg7JleL8yNjD2lj+LbZWcsfb2TG8iUWz3WSt1O\nJ/AogdHH5k39lZaRVm/Ss4JQ8SDJP1u1xFCZdeswfjsQdh/0vrgOtvnqpTOh\nmY0LbV34Y3DuAAXwpi5qs2TjieTSj7OYR2yUj6a9UzUuktcKDWsD7eI9Vcc3\nL8MDNhLtGlEktrzIX2dpn3m20LylXBTNsBa4mxsyrw+MHrNo9QIzJmohnXTL\n6Zy4k5gVLZsJSkfcmoVUBFdwjEQLpgighAyR9M8SPOb0VbHapkphOvT3dyP3\nMzm1ABl1bLs+GwRs8xRmquaCUmiDayBkVtYQZoz298Cs3Amtz4KxEcNC1fXs\nxSf1PBNODvWP0i51tx+iGTG4fZoLjhOmprbRktSYVkpEp2hQuvBvW/kAs1uA\nyvTy\r\n=A/Qi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.0.2_1579023373716_0.10728480214792002","host":"s3://npm-registry-packages"}},"10.0.3":{"name":"@preply/video","version":"10.0.3","author":"","license":"ISC","_id":"@preply/video@10.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f57290be31139cebe28519132dca18bcdb400c04","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.0.3.tgz","fileCount":303,"integrity":"sha512-xfHpVNlDZjbBj4QSU/PXX1Px5OAZcpv1rV/a1CsCV5IcxoutLReIpOL52S5rYd4GOmsglyHI2jXZNCWs43phOQ==","signatures":[{"sig":"MEQCICVlrm7ZTX3gcDSabk28foo/q/x2gKb4h/PCU9PXBKtZAiALGIP44b1rhxIGSq7wy2jiMGUWMTEtXRA3AD905SVyAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12438656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHz8WCRA9TVsSAnZWagAAsAwP/0RLZV+y+GEGHfgh889M\naZIOmKsPi1BjCW3+y+0eeKMWKJLTssv8E6KeyvbRkUum0CI1odhAfdMSlozd\neo/aDcLPDD0elUsP5uVsjimcookyGYcwyf3zmX0pdJ/+XZKipAoyvZ3Ca3Z5\ncIMUwg/uTiKuyv5W3L7XiRqWLLrcmmkHbXiChXvhHOakQgffZOiMr3+Lc9Mg\npmEaVZwjZ93v+pColCbitU3e3LEZZ2tYFxL+Xw4qVxi3tTWcXk6v3QEjaI3L\neXsevd0tU5Q2NMk6H+EustmYC3rjeRtfJ1Is4VDuGHE6Dk6JYkPkcBRAjmNA\npvjbZbXK6ol0KAnZwrJOtW8J0Ppfh28UEu4GDWnVkKz7e3d3hvlTsGBPk4YM\ny3bfC4+o2vt2HewcA9gm6PbKD4VMFYAGgKdm9GLiM0sxPAQdRYuvE95dS2l1\n21J7JBE+3Iz/3gaU/mjpoIkWOr396/IOBAo/zteUSkcyKr49C8KtSlg33cwB\n3ujNA/bkmSESwKEwPxBsjs1NyO6gspS/tkIoeNcAkxl714Q3fhbOk5coXffU\nL0v9UHURehSORrgi++RdJYwBGMDa62th3o+uKr/P/bHEKwORrkBOwpMsLJC+\nPyMdA0h25YO43anKdOB83qE4j/Y4JgnYOnXEckB6ww5CSX60EvaWuxqnWhtb\n2Vdi\r\n=S0x1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.0.3_1579106070056_0.33566157280038733","host":"s3://npm-registry-packages"}},"10.0.4":{"name":"@preply/video","version":"10.0.4","author":"","license":"ISC","_id":"@preply/video@10.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7bc1b3124c61f297a464c4bc1f0c9e0a01a8267e","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.0.4.tgz","fileCount":303,"integrity":"sha512-dFwrXGD9Y87WBvWBAQRWpFrD7NCjhk9ECM0w+kEl24IE9zgfvfxVPd5m1v6i1lngCzrPKIL3IUvfRqHk1+/Zgw==","signatures":[{"sig":"MEQCIH5qBDCJcvK5kBshAQbB0UXXUQ/I/VYDOZuNzHydfO5ZAiBKGIpyefWX4Ox5bLCB7byu5HSHDV+9ezxNTR3ruL4Yhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12440221,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMahCCRA9TVsSAnZWagAABc0P/3pEAQ3C2eMeomumfcXL\nN5FFBpONfQbEnz6PEAMlTc12XCrYxUe3mW/ppOwcG/2IILlNpxZDU/9AG34w\nbxVeD6u5wp+grxDOAiWBa2FqbTMkJvRgl+zQP5Q3uCHS1MSxKQB0cHaNLrgD\nvTV3wl2iNFjmHU3zo8h2psNWdgG/wGKOTK2jbosg0UVOR0y0bxGeKlWiwRNB\nWrw/z3XvzXhkSPAKrlcz2ueplQaoqYhoS8wKJgLKfvwFAFOnZ8lyk+zR/4mN\nonmddr6V5yf7+5JlBfsht01FltrLkpjErQA7Xc3wQssLEgFSEudPDkbZtGJj\ny4bwAHcCgWL5CnMzKhcVfc1EvjkVXVLnw2locXO4VFQPj7nWirV9igw7aaoR\nYTrZDj2Iu159t3qbv/sjJ5+JSgVnOl4E3SNw0HYHn4gGovEOYu0LBYHAlcTQ\nYS4eRiQw+/xvhBmM2LZTMqYFkaCwxNQwHgWG68nvmU0h2duBWwHQAZFxpb2m\n+dnAbeVekTtwDhqzm8CSbnf76b1uTDn7AmYxEvq89Uj3x6yLdugkKHD19idF\nKDq0GbNJBJ4dNG8+oLitQ5gmT+GFnuVzOaWXWyqIgs8V9sR04z3LVuruhjwM\nWbzPOGRD3mNVOFXz/PrxmbClhtFwH6rxifpBMF91UU8m98X1Gw3Th3yC/W+6\nyyqF\r\n=YE4B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.0.4_1580312641818_0.5474902407494286","host":"s3://npm-registry-packages"}},"10.1.0":{"name":"@preply/video","version":"10.1.0","author":"","license":"ISC","_id":"@preply/video@10.1.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e0ff779700cf80b1b72409070e564da10f032df7","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.0.tgz","fileCount":303,"integrity":"sha512-Wuv/ijpKPJL1O+Bd5KBsQHXE2bucK2MGEkfFsStT257+3bqiDHyiD9Hxy8ETSL8j7uhuix4EEVdbqL82eugy9g==","signatures":[{"sig":"MEQCICnxGs+uoxEmgI8Mnikp1ufKPrL2r818+4qmTAAfywzmAiBzEGXEwF4G0aPicpMj9Ke/Qt9f4ZqI8a3jQcffemXToA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12441587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMk77CRA9TVsSAnZWagAAAtcP/0M9xNeJu+J+ZybNVLrB\nZ1jf8+XYmc59gDRmRNrMvq0mJs93QYTE1mO8r2F99haGzOZCq544KzN94uJv\n+Der76Rn5/BHPv8T+bL79V6KWPPfTfvQyL6R8sR4RqsT6oZhrBNs4BK0ks/V\ncPTwoffzY03K9GfZk8DtV36w81Mw5SM9SQVLz5SYpMwvIhS7IHoXdbtXO3i5\nwQtVDaUHq7FlHk8hGuK3S/u3FgqbXuS25hmag/90zh5ls53tS88bVIPkgKXe\n7FLa9L5jsl4CHaYK266OE68wcpKpNJrHaBjNehDYVgSn/EJ5sT44+Coh1aat\nwbxDNreMJQbNCnAwWKi/tPQgeO+MeYCqk6tQjBPDfFIDRRJzvZOKtTsO275U\nkSdNWYoZzj8JNgFicjf9x1EmSx/mPnKfKCC0ZTAmoaye6H0kJtJ6xQJvywmv\n/h1vKcQ6XlVcuY6KhQV0QPaSmrZ9WFIhhjic0aV6QNgedYVhHUCp9oi6zU8/\nLgaE9zAcGeIM+maT9qMepfXK1MfDhfnE55EgHgJqAFqatlSztwuSLx3+f+f7\narKCoMLduAtv0yKHhFtwIBr3a6Yd+dQ9kFTQ6K4BKCbYOg92Vz9JLYd2yaKL\nZRBNkkNak3U+AVar34byJf+z/IX0YYl2i0LPwkMB1zVvajDdc2ZpZU/xO+QC\nb5jW\r\n=eHUu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.0_1580355322907_0.46025948837205033","host":"s3://npm-registry-packages"}},"10.1.1":{"name":"@preply/video","version":"10.1.1","author":"","license":"ISC","_id":"@preply/video@10.1.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b821b5e7e33ac3265641039c561a4fc34f99f0ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.1.tgz","fileCount":288,"integrity":"sha512-2mkbm2wT3Gzsz42LZEtEbTILNkm4Cs2TQ+37OOxvql9EE/Sr25clzTl2x0ukVUt6Q2sgfxBtd2M+p1I7UhvvpQ==","signatures":[{"sig":"MEQCIEGZQJW52akRDRTPFl4Iw7afQrpjq+3/kk1Iotq0rAfvAiAYSPmNZKUOv1IOIF6fzkXYCL+FC8oIK86+FidmczjDvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11476358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMv/pCRA9TVsSAnZWagAAVjwP/R8nPoE4tF8jyFNxnY9l\nZ8jmA8RAZwFf8CWH5tYsTQDwcEpN8CwoB+wyWVf6e588vpbeWPhG6uR5GPR9\nAHdYWk9nls5voms1szpI/nHs8c2eRdDmQv4tdItDQcPriQrlgM1v1EbpiRYd\nHj2e45l+GmX2epLaIMepF3T8RvH6rO8zuCDpHTs8UBf3AP3Tl3+MUoCl0iJ2\noqX+ShpSMyhbwz+l5tPxRAEu4iq+SHUjrSqRA7scddWDdTE6/T9LadIg8P3a\nbIoOCQ932jU64KDsUAEN58XNJu8Wuv72/QdV7lRpDnveybi2RsiR4FS9O1Kk\nXycCFdUECD2SQZiPfzBCzJCL0yIrxr5cRYCaFZm1bST7KeXkp+HgXjgC4aZ5\nSWcZWY9wgeeMFmKQfLygIFO/YAVYBJ9wWq4JhL/M5fY64eVc4qXwvL7i0md1\nhViKvdKyxSB/p9KXvOrQwitXM+5BJ1DKm8SashCEdhtNU/7tsimByKEIRr6n\nZeodNYDKes8rB/1/62j/rlc7ICWOznCxs+0Vn1bZ8NEI4V69oB5mlxkV1blO\nXLK6GBa4QErEyI/PNdxlb8wCu6ysOpZC23gkjVrReNZ+stOmu57gUJI0TCC8\nNZz2PoYJgGozNUtvlHoobIN1lnSUXw2aOd4yKzuFeojpnf+elLLRJySJ8TTQ\nU4Qb\r\n=NMyw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.11.9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.1_1580400616994_0.4756359396331804","host":"s3://npm-registry-packages"}},"10.1.2":{"name":"@preply/video","version":"10.1.2","author":"","license":"ISC","_id":"@preply/video@10.1.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ae5aac8c59ed3f5425be1b85968972450e3142ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.2.tgz","fileCount":288,"integrity":"sha512-dLtkvKi0B2v5dCRs9sNLlpyYZFRsw8oILNg0/EqvSiyAWSj8fTB8YKvmyRI9UTfXXn2wd2vs4yHzeNTO0y4QWw==","signatures":[{"sig":"MEUCIET2zskUqjIMRCJ0zzsMe9Drkd0jP3dmOMEsA/Ehy166AiEA0xoPaNSdnqq6pUDKnGNrX85/sP/4Nbri4qaqTsO12iI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11468915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeOW2iCRA9TVsSAnZWagAAvwEP/jLpzzktIyruTbOGqWMT\nyuaXEFiUtYztnirF9Jk32fhOnzhTCe7miZCqBnjEedV4p7x9bmxPMR+u/VTt\nOxMzBCq6bVzxVtoDVYxJzh+CLB141rjVTWw3y5DYOqZqQ/0nK40+Yesdv/vz\n7GUSkMREMhZMxA4MuaPoQkHIibpKD19tl2iIwGWhbfDxx080p/zY+iw0iXsI\nk1YRK4rf0I5SHwR2YvTv+uOWHXGnmsLHl8Lami1dHawyBwGRNtF23yRgQKKW\nHDfT6QRpfoBwFJw5fplnr8Ltag3jsuAwTrAAP+Mi98I1UKs5P/2PbbNPoaB/\nv8XG3ctF5ijzQQLwot8Mc1rTd9u9qmHVbP3Kjx44Zhb5U5IzfIABlm4UWCzQ\nCOG8SxQ30wT2zX3DuxwmGG25q4AhyBad1JXFD7FTWfAtQ4+TXJyr41HHbXPm\ndUaawJ0sWGi2VgWnWFdtWL8n0KiHXXGa7FjvcexD/SGR0iymw68q+yZyS3d0\n41xw9jsPJdQdG/nfgffQin2ymMu1ztzwzRsbA7RQXtPksxrXtYkP+2II4mFr\nAPpWpfsYvLpd1ikjf4km5qNnicHfwWz3FmQAbAByvFVI6erhiqR5/NBobS5A\nSGQdqKUkari0dXU/4yfeu+j5gESsFS5ZtnsHJyWt4yMDaPsGaivGmU3cSFmX\nD86P\r\n=8fJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.2_1580821921492_0.7783718476899064","host":"s3://npm-registry-packages"}},"10.1.3-alpha.1":{"name":"@preply/video","version":"10.1.3-alpha.1","author":"","license":"ISC","_id":"@preply/video@10.1.3-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a10f9de43475d1280c892bbdca9d3563652a8412","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.3-alpha.1.tgz","fileCount":288,"integrity":"sha512-Metru4FWW74AlKSzCWfnpkyRzowkuaW6u3au/3EAB6Q4/4Doi0mq/V+EWwAcloXQwAk3gHJeUeOQxPfRLuL3YQ==","signatures":[{"sig":"MEUCIChL0pDyv7SKWBTZvtSTxeidpU0B5dXmZxn/AWjrqmGHAiEAn+Bp4FDWEvB+EjRV4wtIe9/c53tAy7QSihwPkjxnp6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11600754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeO9GICRA9TVsSAnZWagAAtVYP/jMpeFiboovRcg350efR\n83mQrS3ouAGy6rMq2s2+J1Wpj+aPRtQNCparjPbb/MCH7hN7nvdbX84b0x5k\nGWCvfnuZvjF9leb7B1Gf4zB26wJd8DiRpFJY17l0QTwHO6L102xunfhU2DI7\nhvcbhTGuJhl3+8bJrpXkZpVv4ezSqL7MQ+buxRrNm1ohJTEyrVN68dij9X+X\niZTPq8D971X5kMHIjOKRpIx82C+WsFnsELyytPtcBzqqblFsA+4q5syXT51V\nsF5h9fDL0qAM8fTnu0EhQ+pA3VhwgaoNlTOrLBHwmCVjSvNQ9QKPLiMVOdbH\nG6y8hs91GnBgaH/JvXOWeLQlxUmMuGrEpGvKY0fZ3NmEDAyxtRTeSPsfo29S\nxVhOP5Xg4wS63y4vGVgvYJ16M/kFC2rSPgCGKBbzMrhRzDGSiPxU+LUkR3Xr\nUXhTwpPh6PKJmb7mm5kuAySDkFQhBU2cJJXLCEf/a+/1bYaavab2aYzMkU58\nf3eC5ebVrLd56kzANoCncHwj0Uw8wAlc4ypfINwM/nol5QIkBdg4WsE7CPTf\nrgWJrfcxHsMeJq9hUbKQCbuj+gXIeWcrSgFOViIkUbOdoFW7Iz4Ajpd42JHQ\n4yN6UuhpsJxaKpMhm4z3tRjvj7VpdzX2LafA1jTMrIhkLnAIitDE+fYu5EjC\npoA6\r\n=rL8p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.3-alpha.1_1580978567542_0.7302252187768219","host":"s3://npm-registry-packages"}},"10.1.3":{"name":"@preply/video","version":"10.1.3","author":"","license":"ISC","_id":"@preply/video@10.1.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"db0aa3d7dcd00315a3a3158b62403f44cfe19b9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.3.tgz","fileCount":288,"integrity":"sha512-UCfEmEGfYour4CIp9MqHYpHp3xNBrCCuv3mF/mmAuWg6KHXWfcN5ajVE5xpDEp3hg5Rv1mtsI50rwA2RQw20rA==","signatures":[{"sig":"MEQCICUdVT0qArJ3Alyiwq1ECfO03kj+w+tmw2nlP3lQk5VWAiB3QwfnvZioC18sYye9meFcTjZG0T3pnyf3KnTO6Pz4Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11598436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePAkRCRA9TVsSAnZWagAAPQgP/jFrT7aBA4ebw9UvxcPS\nY/WMlecLgIJsydn22ZIFbfvWVbrXvRDMGfui/v+ZaRQkSbUheqzpYkEncHqj\neXt9IO1CJ4yuOapuiTydoTNwdrQcl1NRqtELOvxxPh4CTPD6nQ8QOB2b2N1L\nwPUgpDNI8wDLOf6PXMdtDBc7AxF3CIC6M6UnS4tAWDxmB2HmehtIDMqis9Vk\nV5gLSspCNBPo6OqJhKHInto5hpKe8r98eB1du1JkMvIO89mH40peR1jtHGeJ\nh4x9ecN02Ads3vby6BgZB7C7+QrXoVE3UpdTrpCv6nnfU+dYQaXebOecY3wV\nT0pBXEN6CkTOSkj4+PSDiZehl3OhlsbLfw1lzmZDoc50B1W/7W9Z8rgulS5U\nDajsm7YP31RKcQPTX7g2YqZNMQUIRQ5K9jqkg1n6+0TPOmDTDpKbjEbk7Emm\nUaQk+/OLdhjslybkeEi3U3Dyv466pgejSYru5Qs3cpLv1H8Q5UNmubsPO2av\nsTCOq+sv6VIfvrfuMcEnDfhDd627sQ+Hsq6UwhLTd7rl8gvgWYYtOte4f5QW\nF3DPwRGqwGv41QgMTTViCQ8dlV0OXgYOu23LKuOB1Mhw3+wIwJ0kJgyKD8NS\nWsWXeZ+lNrKG8aDPgm5l5HapSxDNPSrnQ/BgzSYkc8JROCfiQ6/TYSE7y5Oa\nJ732\r\n=6Z74\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.3_1580992785151_0.40832066487472063","host":"s3://npm-registry-packages"}},"10.1.4":{"name":"@preply/video","version":"10.1.4","author":"","license":"ISC","_id":"@preply/video@10.1.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"126e832aedfdca4dd8a5442205efd69961c155f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.4.tgz","fileCount":288,"integrity":"sha512-+VFWlgAG29Vs4gztOZInv612KOQ4M9Y+QqxCJL7upy4kEzeqiAAA0jLqLVzz6P7PgVI2FKpygvT8SlZilv+fnQ==","signatures":[{"sig":"MEQCIEAYJOPVcSU9w4tcFc1CDZvWnTMFe+jCJpF4I2VjEd1vAiA1laRZAoTBznj6DOsegy//jlbddRxreLRcXDmAPr0hAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11621935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePEg+CRA9TVsSAnZWagAAwpwP/j+0t5Xj2z2J+H1G4C92\n2kT6l1qRk1DAChOomt4VRzZuM1On7FfsqZemXFMbL9sRik1q4FrIi1nJoKLI\nMdPnoePWy4t6Z1sZTGpeDAGqWwHgrUXq6d69NXmCStCAvNR9c8fe6duxzWTi\nRu3f0luEDjY5TG8S38AgqoYoLxLedojHct5M4mARf7imQ/GOIkyYy+8NuEQf\nzX7DPRzV3TEfbKp3FIkH9UhDN6c0f69RYO0YWD2F1F/Zti+XXuLjythGgCqZ\nAWi0iQ326qfI38VVolAyjbSPfSvHpHeM6rTbpGhqJen26xlv2aZTS3T6HhOn\ni7rSGt69cSWWtMjBBBN6rN5qWYMdVBwFZ2xVJN+svwmZyOQiPPT0fU2Cg/Ym\n/TS1TqB2rK5/9SqTXgXN1JpOJIYHPluWrz0A9jdvZnzxOIClgjjC5Kt+79D3\n3kFCB9PO7HDvVSaQUTEt17vdw/cGYgsmFj5dsfTh9WuZq4afDu4B/ea3MQmG\nAPa78U+ccdvppvQ/QunAyeMoaCKuupxeRFUCzNkDj+kkHcpFrus8GwaBV4oU\n+QhZx70ed5t0P53b1eV5E7omBnDQ/HGktFLFQtM6LDX1Uw6BHrZXC3nH2wLM\nRDnD8yXlb8D0j97DAFYr3XcgRU0dQySv+6ghfHs6FwgSzP+0bg2twsmUcR9/\nbpQ7\r\n=wnHS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.4_1581008958142_0.942750741176344","host":"s3://npm-registry-packages"}},"10.1.5":{"name":"@preply/video","version":"10.1.5","author":"","license":"ISC","_id":"@preply/video@10.1.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"caecf9d285b0ce4ba8154c44099e16c0749b8b71","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.5.tgz","fileCount":288,"integrity":"sha512-iUq+dc/vkKCFpcAxgZs11J1ZQE7w2HMJEXGuJRm2vzQMuJG5SWWArO966ZZv9tQUGsyeBA9dSEMcLUhTjwXabQ==","signatures":[{"sig":"MEUCIQCYKpSrVuraxo1WwfaC3Tq+ZKBQ4Xgg3sfnVAE3cWJL6wIgNvnsXye8vV5MuT0ko96vhe4HyVttD+Q5BaBphaXmzxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11638694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJePw7kCRA9TVsSAnZWagAA9QQQAJoQryedY2xxVilsN5rz\nS94hxbABhJGDekluBSsJ4aVxxy0bSKYX9RshMeIuBEmYm4aec7mD7nzH0SoK\n0/cytfPrZ26oUASzT/dRXfEjMpIHABWgRcSu3j3+oFIyOqrMuJAOAWovoJDs\nDv3fjzo69GzJfDEyDOsYsbZ1pceFL5twZCudhVZnumqcvYnNhsWniX/H21sn\nNHOQqs75jHZgTyFl1Y289giPxNQOoJXLf65knWvRFxd4R+0tw0RcpWgExp8T\n9Z8I6RaO+3S32wtxn+GltA0V//fpTgYEfrapPNvU3VblSqmcoeGf3Z+qC2Tw\nFvZMBAeEnuzJBzlkLF63mF6BcHZIpvrM6KS9wP2L8VD7xwb9XzZRVlMli3Xy\nI65N40/w8LXMcPSCmKLl6GqG3LVQSH5xjn92i2nmXy2hZgBykDRQ732sYfzJ\nbtYfe5Pd2tMS0eVIt6xM8xRKmfINFRtsU/0mvW0TroZYt/zm+okWMOC4Y+BI\ni9dIfraNJuxJBazjx2+pwJwunfvTcCCWbpRZXsN7lnrS5vqIgXy6GXKCqbeb\nPjOtvrxKZCXIrONk9xkLygfGsVJFtt7CPD7+QNao+c4/lW4btcBrgxz+wxUK\nFTBqE68fMiGWA/Z2yd1NDU10wds0hupOaK0DKTG3V87korkBRfr+UrKCKVc1\nquuN\r\n=SdV4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.5_1581190883353_0.39624816647010874","host":"s3://npm-registry-packages"}},"10.1.6":{"name":"@preply/video","version":"10.1.6","author":"","license":"ISC","_id":"@preply/video@10.1.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a4c2b2a9d4efc772b72661b6dd693a2ebf1adb2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.6.tgz","fileCount":288,"integrity":"sha512-vFe78I+gTB9wwDQGJGVbPiJ5P+07KW4oayPYUa4uaz9S4zQPLfUDsgOK+2xr9Mw0iwsemvUEn8y84kNfCxpLFg==","signatures":[{"sig":"MEQCIGQ3my1BNxUDMyNZoHHf19PUDu6yAlPQuFLAICS9UQyNAiA/9j3R91Y3W71EBcGTX4c0k6msLiS50OszphAJvSjwyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11664112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQZ0QCRA9TVsSAnZWagAAvFcP/jq9DySYjmwUMdahOzKx\nKxRE0sC0HQ8BnvYxKrnlfHZid4GfEH+RvfzhjWKXTgWNpV3K/7LbPe+2kyTp\niMNWcdwPlZdsDr40WjyRNxayAaS6VGxvPgJxKxY3Q9gcQBEDn1HOLq13XjH2\n53h5zZ6SVXJAAnbIScgsTeeEVpOxzohl7kTn/MKAd9o4z0Ro56BxgBBlRa5p\nFNHYQd9OOLEmW/pOhobDK0g8m1I29El+GdgcQD1YFoRfEbg3/DxDvvjVRyUa\nKyOSSiTwESkKSM60E8gvxkuOijKTcSIJLhgTqPKgFzYK8Xleu1g39ku14UIn\nS5JXZUh5GGJ2WPpp8tGpXnRgNTor3eNmRsKRWT+3lylc0PCaePTcNWJoJYwl\nvakPupskPMfbEmDQCDA+h5HUR+ydyhVgYj4nB1Y35zZRygTMezzro14GBHfT\nAw1smgX7fArbXU1p/DB3WNwEgDAgknzCc71bk7Bac6cvbOeOphGtj8foC8HA\nCleoaNBbgRWKYp/nREtRYqFI83qJ+XkFk5GD8O3vFEFdrNB+9VbWWNLHIAXT\nN8NMJwSyQyWqXrNyX5YiqeKC2DZKIT9xQvJT/XgU7su65wzRq6VJTfIeo4dx\nbxvsUApGMWS6F3piaBF0vTQ2SRaSl/pXxbV/VkUz5iIlkLAjCpYXaxF62C/C\nMEO1\r\n=ED4L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.6_1581358339759_0.11642884540888265","host":"s3://npm-registry-packages"}},"10.1.7":{"name":"@preply/video","version":"10.1.7","author":"","license":"ISC","_id":"@preply/video@10.1.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"77da86e917e410b03944c8e47c442c07d849d502","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.7.tgz","fileCount":288,"integrity":"sha512-Svc/ml+USpCsRooy44TnaqghID2uKE5OXPRJTl8JNcHG0meAakn8SL6kOoQN+Cmgjsejrv2TOCz0ekSG2BRe8Q==","signatures":[{"sig":"MEUCIAF+A26N4ZfkZQ4tIMBIJsoMKwmXrf/evKDYPrdVrhtqAiEA2ViB1qp1ydPfRHe2S10cQir0M0fyc4t69XUuw5jG/oc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11671943,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQuaGCRA9TVsSAnZWagAAVpQP/1IwVOcnx0qW4VbwUIxV\ndfjqV3fOX2t6+OAWnpTBkbXFGqAdyKesEH/qfvTf1RWY5UZwfYnrfEA33pcO\nIcKNnz1blklO5sE2Xc/Oz5i16vAF5Tvyh1YsEQdkgegZXPq25y1q+Rk9ArPY\nS7Y0cCZCDWAIHdpD7N1lSLwbNwkNecioJO7miIth3wGSFitguO0sMVSzwHME\nWH1U8sxOE/JXaO5qxp6bzX60Gj4HNQk1AyMRtUqmGCn4fcoATZj3WeTh/RkJ\nEpyVcQRWYqBTTcvpdjqdDjlzFcs7woQChIXXB6W4+9TVofMBoqXYu1JYZY2Z\nm6r7UXcqW/tA8gWk5UDnP45xLc/1wEZBq4kLd2N6WrfBNk5xFo2+wo9MjH7A\nHpuORrD6A2Eu8mQBu77NEIN64GywZzAG6BPn19CPAkuTwuTNT1jbvfVcN8qR\nq01KZvQdbsXou/D6IldX43vY5jgRHVIBFLLzqy5tnx1EyCRWoUtD7rfqtAK7\n/gWvU5gZ0hQA6qnuABfxJkG3hCEM1/agRWbVVAjwXiAv7bnsc2JCCVnpSgYV\n/sLpEMXmTBTb4Qv7ZibjL4R03jwRylZFFugpAPzX0xW1x4g289BUbCvdAtR3\nAR4zhve8hzPAFRU95UEfTen37l9qH4fxsseSBLTWpfJlRWu3CQV7ToYOMHNP\nYeS7\r\n=uuH8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.7_1581442693437_0.6431270396364428","host":"s3://npm-registry-packages"}},"10.1.8":{"name":"@preply/video","version":"10.1.8","author":"","license":"ISC","_id":"@preply/video@10.1.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3e68a7e95f61bf8451c31cd7824e7b88eadce19c","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.8.tgz","fileCount":288,"integrity":"sha512-eWVI42UCdkObjfxB2UP2hg1l5DZ/NZ6/4T1TeCWgx8w+sVDgQ/QpRLK02xEwKhVP81ELEzCeWZRcSVbhnJFXYw==","signatures":[{"sig":"MEYCIQDLAuA3kN0qydOVZ64J/BS9SUJDjRdy/5naUoTf1aqIAAIhAOhdepZ8lZ1jnLcwR5pVb6XHEF7JBClLfQsg7QFT1/9J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11679166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeQ+NFCRA9TVsSAnZWagAAavwQAKF0tcv2ItnV2XOy2RZD\n5auXAfv61md9mf4fKkgUaLjf85wMUn5+1KIo2ciIJSjrSnnLyfBj+jTU5RgV\nfGKB4X6s9JsE7QO6FKzoWpLE+uyMpjJwAcKPH2c3EDMZDfGEDqntE5InBlwW\nmNFSLhlTNytqpo4B+YbyJETrlhyzEhr0WBlE+/sOaVYU7l9qB7zAATzANbND\nLvvNu7RGifu5OxUD2b7lPdBgfJzARGXkmwFCiFOEjuAmVwvPDop5ws3BCo0g\nFlv02ZFPKxN8FKBYAXNu0NQm6x6V21AGjjD0h+evH8WuijHqH2fuFcj8o6+r\nET3qXrmdqGdm1TajHQJK/8qOncSb7tb3RDpTWjPneSZ7YYfhjPkFi+NLxhJp\nuvVDLTOpy32cSGElFqThVjUFwPeP1Dph9GPm4ok+yfIciwF+pI3/s5UvYfxR\nyUKzHETenzBHSQ26ClEVBcmL+4vj2EJ8185DLBXFBdsvUy2NZgWvpfvvsofZ\nmSgTLNfKWzaoIU/uBBEghCyYtpc+No5Fv3gGAXexuM/T1Hlsgc75cPmQYySv\nSA86OoiQrsMnKgm7Rs1DCH7ofV3+KR1Hd1dROQXvP2azVNS019h3+rUrqSKg\nLIQ7HtOWWsCUDjyo87swHT3TvBBo2k7nrgZCNW3KynyfuqoPvwi0bx+5VSTF\nnE0X\r\n=e+b8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.8_1581507396743_0.9245435255342807","host":"s3://npm-registry-packages"}},"10.1.9":{"name":"@preply/video","version":"10.1.9","author":"","license":"ISC","_id":"@preply/video@10.1.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d19ae71c135de8c0c5c64870d4ec4ea2a530b2cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.9.tgz","fileCount":288,"integrity":"sha512-imyXXUt4XEK7twCPA65mSsX8ns+C8em0m4hyJuznNwRJ4pgNBPoQveI2XOj6ct9/Mmc8olsAAHASt9XviwW4sQ==","signatures":[{"sig":"MEYCIQDanpoz9W9NFZCFVmvpOP4JiPW67+PIMTek3qtBCg60wwIhAIPEsA/xS/P8vEsBAGSakrDuKPhJ520R7UVawqz0O5PB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11681130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRrdDCRA9TVsSAnZWagAAIKcP/0tJq/oTJzVzyTa4brx0\n/OTwc+6mFTo4RlF4uJ+MeqxqWkKTdD8Tmfnd0vRmSXdAK8avlTdnOOS78R9w\n2WzFcqRV5/bUspC/HroLkRdhKd765xIOzZ1JjQOvcNWCLsWdWMLVNlRlMR3Z\nV05/MnZCSb6x6sPzAT7/5nMRr5G9wDlPC2KIj41nYQonHuIgnm0FahrFrcYn\n+JWx9dvOYB34UTEvmmVf91XkjJbmB9waksZ43Jzup71fg6ui4Rv1MNKFggx5\nXNxoeEu1HRumpvNh/5C2DcOqybi1ukNEsuHHSgUwYx6erzmqSCcC8K8RyAkR\ng3dzpH94bvICkaz1vJwwW2e1lwLzwEIMd9XHPijvWE0B8VY0l0/FsvffLv2k\nv41waXZYDXEoXcloumCdMmrX51niPi3UziQeu8iTYVrf1904Ql6uCMAZ9n1K\nYUXUscP/BdfR3Dx5W0oTmA68hYEF8B5oQAMetpAMbMDZMj/2gphR3sH15txi\na2i6J63i1TToUIX6NcLp5Vdu6y6mCy5+rwWt/senLQv65zW4lmvt5S6B2Y45\nGebYwAQEReZ9qY1X+Vcj4p82zLxz4+CVYrDelG0sRTVwRHicsVA+Kt6K0GN3\nEqrUex2S4HibnSoGzy8wJOHCd2B21KoBmFiACleSWMT2GQMXBkr0DmBPgBWv\nJCCW\r\n=DV9S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"4.12.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.9_1581692738844_0.6219738404051243","host":"s3://npm-registry-packages"}},"10.1.10":{"name":"@preply/video","version":"10.1.10","author":"","license":"ISC","_id":"@preply/video@10.1.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"311adcbc73ab15417145d585e8c44fc561d44160","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.10.tgz","fileCount":288,"integrity":"sha512-i212TuccyJAob9P5f0NsZg4gFkRi36C6/ArYHyWorHiNGHan+5mZl7HVe0xyIY1r6fq7wR+JqvJtynFVsQj2ew==","signatures":[{"sig":"MEYCIQCyIaVvTgGyU1h+QyHz7HC4SSjBBSfI74prpvtKeY/b4QIhALDz7AEORfpZxTajlxTLYjaGf7vdYJmhWdsi8Pfq3gnj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11682312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTAxlCRA9TVsSAnZWagAAxswQAJrKM3zbcF+uyvSfj22R\nkKqF95yI02fPLIFYpZMpknwMUy/gDfNnN4uW20GFhvNmBhKkKc2//uZlbFOQ\nONYL7nfecRFrsP/MDP15119O4hb7BBcIvFQcTf2ItKl9MXG/KYDwwT3zYvMr\nH/W92DIm86focBr9K0A5s7oApLz2XWM2MsNHb4ZJlhxrSsRFl+IlgllfpaV7\nN+BhcupMo0fSlsUYwK5yMoyF2OriU8M62aFezye412irXbnV9MvSH4M9cbDa\nc3WHESPy3lMdllvnawlkEHfH69fCp9pDBZxQykD+1eFDXZZMoypJ0NPuoIpx\n22PO1+fKyiMpPwAolYM5P4QXu7cbk5FajipzZVXdCk2oUKuwps3E7A6KsNGF\ne2tTddx/ziDx0aAGDi6uzUl7h+C+E5mjHMEK1LiptiXAUH3QxZUQJ0IqpJ1B\nV1nZNd0HRHqCfvck9cIUVSytq+JWzhSq/bfd7VzGpIuNZvhfua/p9fFTLDHQ\nONgs1IpftiuaKe9W2M5XlUNwEQS7q4m9FpTDTePZcqA5uIJdQOhKOw8w3VqS\nEn7AmBHFIi/VZrBDh0b4xPJTHWTiPRn6PrxoedA9CQQQrFBl3gQddtOrri5J\ncVuyUkqQ1JQYlHvJbyhZitHwSi6IdOQy5fRH7/IQsIj0tKB2rGbpZUfVPUGA\nBI9Z\r\n=ENOG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.10_1582042213027_0.6222808366283734","host":"s3://npm-registry-packages"}},"10.1.11":{"name":"@preply/video","version":"10.1.11","author":"","license":"ISC","_id":"@preply/video@10.1.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3b92f66a6a5bb1a8635bb090160e38422fe51329","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.11.tgz","fileCount":288,"integrity":"sha512-30g4Lmnwjglf3yvcNDDJP4QiLIYqM1MpWSuMX3kVpvE6SiFxqv6DSDHyhQgtF5XaSMY0RGg87Y1YkDVvW+hNmA==","signatures":[{"sig":"MEQCIAiVVyoQ/RiO8cHNr7ftFlwpA3qZ9XI7scSjScmdZOdEAiA96i1Y5vrmJxiuiOq5wqi+1h3lqGZX2/yt0fxXL4xawA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11682432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTCKYCRA9TVsSAnZWagAAU+cP/ifJQXto6Bcod54XZm3S\n1Xgrd7e6zOR6wfPySqOsOXifDcxZrzsyk2OsPRUtU/z43DR1swycZwKV9EsD\n/AQiVMOE4VoMru0X6Uq7z/TnU3HSPRQHQ0ru3ra7Smy9IL2CbGC2K48OJMWx\nx1NuWdXjAmnsNC5txu7KkpCcVbpu4tno4qsVZD1yrNUahyDFoFq45z8WPZms\nA45TYapyvE1boaTZcK8e+wdmAeRuvcwRyU7MIu8vUDS/8RLxpJKOrpECT7iD\nXf7dRBMaeYeYee0Bj4ZeJCUgQzw29AaLqXXc2gnCw17+Kg9dV/gbck4Mx6ml\nOxcW2+ncS8lC8M2wQqCPV8bKfhNMozL+zvGjDtQlvOJ4HMN4PPJlMsgbwR0E\njkbBlIoPJxJnCZPGzYWjYtW7I6ty+d6VvEYVako0L8A54Ps3dMe6wd+vReG/\na0LjO6O3Lj3nbb51eQTJnT40Y9JWwGPuly0zVZ5Wec4Fwop/XTkajmQN5GI4\nvx27uodBGHLN0bXlADT59xpCzypQK7CN3JstIUIxdqLOfQVSCEzot5USOwIe\niCrXvC3ohISV3cr9S8+Rr+/uS3dymiJXTCljvNN/Xj9AolKbOuFnsWqqBBGZ\nKIjIQ02yHKIGAcS03MQNJNAgCfXr9iON2vFj3nt7EiJmtJIUmT/LY0i/mGZS\ngFlW\r\n=KZfz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.11_1582047894747_0.7166143552797613","host":"s3://npm-registry-packages"}},"10.1.12-alfa.0":{"name":"@preply/video","version":"10.1.12-alfa.0","author":"","license":"ISC","_id":"@preply/video@10.1.12-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9974751ce5ecd082f2e87b96507667884e5393ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.12-alfa.0.tgz","fileCount":288,"integrity":"sha512-lZNUCBGiTITNtnpSncu2E7bo05QDqrtiFt3kMqkmkslpvPHKgl2VspLsmkxREajeKMXQFGtNRJCEJyhpFyymYQ==","signatures":[{"sig":"MEUCIBe4nXfr+2ME+PgzjLmIDJHOlxkrRQvbC9/qodNEyJIoAiEAqQdR2xsHNQ4hYlU3HNcLIeZM2npUDqSe5V9ik4DsLWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11703147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUCeECRA9TVsSAnZWagAA3jEP/ijBw2K3srfuh1GDB0Jx\nAZQTTelgIy1tMpSU6KShUyE3nKiQnjYmd2hdhG/DJJvs/fBc8XhEexJWL1lS\na/4PjtAapMwBwNnnOmY4tFFABFRzF7D7Ip7hIYVlfzuz8/L2MvAPhZuDUaNU\nVruFldSV4LHuM4m2H5MHM8i9kgsnzjgJQ2Rs5bGzTROYr8eNr8c7zrJwsBuJ\n2iCSsQUBoQqSYjmyhFuMXU+5Qi4HEncMSf/2Hi/JLAeO5J1AeSq3T2MmkBRs\n2nq3nZ8zHqfLtRJ5UwDKDHqHXcAqypEzobzgSvJzm/mODaZZ3N7IdXAfQEgS\nX0Oc1qAS1iYqkp9zEbpUOY7QGrqjn4YFxqoUvR1HRDpfj7EQQAUVz1BuGqwz\nppCQhaeRh+Sh5CF3ubUPQghTO5N/oJnMFT9QXslZvQv/+kl+qPLSS1Lr1/v0\nM33iFfwWQKUJX7ylw3BM0VXUugkdg6h+9ZSzC1+56Vvo5OcLptXxPagvsPAE\nuMTeUN1aSmMbUEVViO0nLKVaq2PeXpeuop+vl8vXrJwGTSWbZZ0TSHvs5ANE\n4GThUJq3UfrKbKnL59rGjNNcUCIUO1+2E3TVwcjDGlkE9miuDBR+IZdevKL3\nnGZLGrWrTQ3cXjBxLcZ4YuwgcFJPXLWwXA/2WjinA30RUXNe44cLk8TZKfiQ\nwo3D\r\n=fmeg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.12-alfa.0_1582311300142_0.9987534495138957","host":"s3://npm-registry-packages"}},"10.1.12-alfa.1":{"name":"@preply/video","version":"10.1.12-alfa.1","author":"","license":"ISC","_id":"@preply/video@10.1.12-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"89799388e39259b2642662511cd96a0164c02290","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.12-alfa.1.tgz","fileCount":288,"integrity":"sha512-BarStSCRFnlbiJ/OXwnZdTecyaYUYVkoms0LxRd1XzANhzuAlt92Xmdq39USyG090CHIjY2pYI3Z3k6Io96ToQ==","signatures":[{"sig":"MEYCIQCJaNz+jTYxJ1fFSvFyz4s4kIQhUWjjTocVL1Dr194sAwIhALQOW4i8i3bfcoPOJp9pWnccuA43cIDi14aNe+4FNitg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10371321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeUsvlCRA9TVsSAnZWagAAla8P/R9RtzLG1Wzh1GR0mqg8\nuNZzoMIYOnMmDnDuaRl8o41t4biKCKHiDTVabSY0JMpTCVGchOE01+rS+tpQ\nT3wa3Tbo4iTUT2SEAS67+U1k0ag+/WjNyV7w05Ue8K/U1Hn7du2YXV/W8unr\n0M7M8xE+NEY2ML6/P5q2h9TuHza9EmAhNqJomint4g8VMm7N7DRXw6m3Sh3D\n+JMHLYB4gBCZgpw0bmrFQkeNb7h4W9+CpeU7yDE0SsbtPW2oqgdu53Ur3OhP\njBsgj/5rIIijbREmTIttWN6cCyQ/2oNoPwFyEL9UIa7SbBBBn2I1Nb14l6I0\nfo9bRtCiWfJQTN7WZiXPV5GrwdV5WV/Prx1MDqlbhZu4wFWeBJwSxUJYjB6Y\n9mglOcI0xRijQs+lrPXizhj2Ni+9v6YpeuJH0fLEKQ6DKeEPnqqNuM2MQvId\nkJ5QANrgr5IrKefpfGJMNv/iQNbm93XRWR0QuH8y/zZF+UiMrQbfh6plRTyt\nReeFI6ISDQSwpyZ/ceVgkTcEsGB+ANp+2UVLlrKXMpuyjHNX+ubvzl51JvKA\nXaSm29SZKQikKCHDghn1J9HloX4wyQzQvpE48zzSGIhwtWBfWQw7VPqv4Up4\nGRbYBjxHh+GAgc5RaPDg7BxkgwFYjlJZQL6iziiZ/btAdUssPCxqQfhkSg2i\npDx6\r\n=yr/a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video (Draft)\n\n## Dev env\n\nTwo options, able to run simultaneously. Sorry for this, we'll make them both just work on `npm start`.\n\n### Option 1 (Inside Another App e.g. Preply Space)\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n\n### Option 2 (Standalone, recommended)\n- `npm run start:standalone`\n- `open https://0.0.0.0:9001`\n\n## Publishing to NPM\n```\nnpm run build\nnpm publish\n```\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Dev env","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.12-alfa.1_1582484452475_0.7498723920882227","host":"s3://npm-registry-packages"}},"10.1.12-beta.1":{"name":"@preply/video","version":"10.1.12-beta.1","author":"","license":"ISC","_id":"@preply/video@10.1.12-beta.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"25f62c6b205b946cc8254181110571d69e827fb3","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.12-beta.1.tgz","fileCount":288,"integrity":"sha512-Y4vKc9OxJZ7mLOqQdlMaMNPlMq66KhJvNcgVF035TpqOgSQC8lfj8wUYvuSLk55HIaf3X1WYl01u4far9YWtGA==","signatures":[{"sig":"MEYCIQDVTvcjZt1OYfHM2j55il8FrbQIeUde1wGZEDjC9VLpnwIhAMQ/8okI53I9FgzNDVfAiSAjxjXCVRUhXrUJEo2KIO5W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11718383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVCZcCRA9TVsSAnZWagAAni8P/2V0wDYnIoL/imjMHNYI\ntFwDu57CpWhG9yKrPJyGKrFz1gTrgYw9kxQ3KO7Y6haUVRirMe2lnhctoG6Z\nmfSqUsQXhwslDVzRvYIRziw1NmlC6IyEt7OFw3LgeI57AgvDQekpWSVMI56/\nKDNZuTMRvV2QMQ7uQo1EXLywdJ14hEFQnVA0Sss9YqvOLo3WUdkrFpCLi/Hl\niWFkRe3/38+rS5RmRRXR/8tZgsoOZbOAD+L577sH0cBVa3SUteVh5g+ZBaSq\nw74bWpsobDd+7lHUIGK/NIQn2rdlCr9oOS/J0LCyMiSXCR9WV4nSo5+SGAYd\nSEml+EFC+3Z6Dg94RNxTyQ761Pkwh4OXOQEQPiH07E1JxISl7VemrpRPzGUW\nz+fwpuDeq6vuqNXtuyfhxYrhgYzhgDUSPzy9YSLZJf7UDajepI87jsSwnxjX\n0GuQgvkHzgkRo4a8BTcwMJLF/y/VpBMNol+yy4ER8K/7+O0mHGDDgoCLDCie\nTRI1B7hkzJTCrIoTmY8rHW5fmFsckAOF0Qp4YWMUj4CEgv28hvd3u6xF2qSq\nQTw1VuqPNrsIIaFJOXdwYlhouI4fs8mXw+ARNY/qxoMD36NubRE75RWj6WCV\nJSkDV5gAi99GKpak4VdBr5PhML0e3KL0XuvYGtZjtR0M0uyeOCTj8Lcsux2o\npuEi\r\n=smGi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.12-beta.1_1582573148088_0.3076721498786881","host":"s3://npm-registry-packages"}},"10.1.12-beta.2":{"name":"@preply/video","version":"10.1.12-beta.2","author":"","license":"ISC","_id":"@preply/video@10.1.12-beta.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fd54ad8f541255559ab84abd62aebbf44b63d062","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.12-beta.2.tgz","fileCount":288,"integrity":"sha512-vmIZs0htHLQrWmyEFdWv2ohXE7eeKoMwC69gYgam/Pd19MRNqmc+MZ9TK8AiYt99O3JLR2EYNjWrbWwFQXSGGQ==","signatures":[{"sig":"MEUCIQC1qK6yDgnFri2kqVVh//rpRoMupJnUh2AQSklHAl/2CwIgAoa9c92GqbjLYz2XAfWLOz9bi6V04lBI+Gv2+OHU31c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11714912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVO6KCRA9TVsSAnZWagAA2R4QAIETHeYjIeNzy89PRHhQ\nnmoftBml54CpJ6mF8XVlzPH6v/KZaeR9oKvoo4fex6AWrOBqrRyh8OZSUX69\n5ppjPiAARrWvJkSeRvTbDV//JiRTQm92axAV3hClKzBXATRRURfFiUyLwub9\nzFoTUDzHMNiftYhX8uyXN9TAOsa5p/ZskE+b7NLauHwu1C/X+hO+pjsyE0O/\n2g93vAYbmkmPqBG3mJRpZXGnt+Cy8xNeKktbkMbmMxb/xoh+EdxxMycx/wFS\nT9MHfPWiuLW6UFFk9g/XEYEaXWWOVOlg/HKcF61+SeTWXok3Fdb20gAhGwyS\nuiadARS5HcYxPlIFi4ZrtkSprcJRXyuTmFN+jb+FmpMNpO78VcLS6vw0ABlf\nxCZ2Y8hTqUZfuZIMsN3x9xOFqNmdQ7EtUkxFCHZ+lEzh5W+1oQpejQuWVDtE\n4taoSHJYkCHMmAIymPMRu6LTb75rRXGi+kGipRBOcdl0eVaVr9LzvjLlISiF\nxG0VFdxfLQxi23XCyuBm17rav1uFzeHuA5uw9H7qM3Bj624qLpPPivLXVmQV\nLzF9HxvEfTzbiUZ37t7H2hmjoVfEmpjqiTLvhU00MRPLAzBHf+nCPAw42/Uf\nzs/bsTjhilRHqkAn5BszAGmCWy+VrbxpWlD2Z3n0CX8dUy8j2R1lqZosozm3\nXJuJ\r\n=Rj3i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.12-beta.2_1582624393833_0.7772271028251956","host":"s3://npm-registry-packages"}},"10.1.12":{"name":"@preply/video","version":"10.1.12","author":"","license":"ISC","_id":"@preply/video@10.1.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"eaa1a4e8104257fbf85d57afc3711b72438bfe91","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.12.tgz","fileCount":288,"integrity":"sha512-8D0pHtYJ0HKUckV6kIMYrz3g/95UtR1hDDf5a+8MGrzu/rFsdcOHrkscykFS8W3SUdpPp2tSCYYuyiula+sqfQ==","signatures":[{"sig":"MEYCIQDmL/RBbCvaoSnMTdZWjYrhhie1jll89CGL4eJdOJvubgIhAJX0KO2bS2pvBAptl7utFNPtpYkVACJ0L/SNA4OAEUJj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11721525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeVTLICRA9TVsSAnZWagAAlSoP/3JbRaaZODxGeHATBQEZ\nlXNvbgtvVyCOb0udVtp53/r/iHxYvwibye7KfcxKPIVWsXnAIdYuPh390Ri7\nrl8gWqFs3XvsUNOgZX/cE/UeYn2lXqwXOnD7to/Ct2+fWWXsrYoYW9lG/Wmr\nW7V0eZkRlXqUL3azKZNGbdItzX6aEoBxrkPjCDrwCPjF/samOB41//cxCZdt\nF2ajlght348XB5cz6Pws0WYnfy/MaDI4E17/J8WCtR4BGjJlVASgT1zCggey\nI1ptO0g/aTrr9V9OYLALuBmCDiEKcFhP3IG0w/rZAzThmkm1Js8O9ah4O3EQ\nsKaN4xDJiA3scbYnU60vWkIDX0Fk+N+KsLB0JfJIF4vIy2E0VMaseeruHBWM\nCUjUew8DGG/tGbWhzER2jOxqBZlE7oK/IZgZk2MF2yfD+RHBONqk2zo9uxPf\nKtggztW8nYGpQ4pbKNcuUhBwZZgIM0AjteW0v3gAGCsgsJGwQQ65utkkAMsh\n6q3K/2CL9YN7Or6Iwj6KOW86i01jhlN554rtqeRsUjPRPXQMc3RkQ2dH+nk+\nnv8lEVExZLDrVKGdhNEb47frswLZl//SnQL/tnUnf4zmbr2+a9PuR4ekk+6k\nxG2SdScT7RCgP0GvaLtUZbI4IbMFCVTHFdZRY6vsZKCYFGlNvXCPi9OAuhBW\n/Hzq\r\n=ffUX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.12_1582641863989_0.1555957159818968","host":"s3://npm-registry-packages"}},"10.1.13-alfa.0":{"name":"@preply/video","version":"10.1.13-alfa.0","author":"","license":"ISC","_id":"@preply/video@10.1.13-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8bed288978f5a7424a2021a4fd919d52533a8da4","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.13-alfa.0.tgz","fileCount":288,"integrity":"sha512-/h+k7tIpOXMtiwyxDa3uAVBGHHWj10PKTbW54p4eXf+nHje9ZFH0XhLHVcVNNyECMA+Uh8shtln7vAZbNjHptg==","signatures":[{"sig":"MEUCIDAo0z7XRWSfEy7iq4yjuW0B+pWCEuO+1CD71+8vsbBKAiEAsvtqz9MMaknBeneBVqYoi/tzDm8Y18yIKJ4bqKzNkjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11648635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZpn8CRA9TVsSAnZWagAAZ9gP+gKw3BPGiyA/37gkPdgi\np340hLTj2iYAmNqF7CjOpyvdUl9kx9/wHGH9fieC/UXtpCuU0597r35roYOc\n9a8ksNtZ6GAzc+c/pN3WHRz68a/UOl/94IOy4A4Imwv17MsMPDlWZu/8vhhk\n0apZFwTobs51QNWFNWTcxw3Cdup6HeIesTZf0iTgMA64ukDvrtQVSWmqWnkN\n3AiQD8tVO09UePTJ2Mifxbq/BJcNukkv9gfd1tIpuLsupS/YvolIH7b+wUdL\nM420w59Ri78Lu7c7oq/nB5BaiPG2Z5PdK/snGpvDppMbYw4p312+ho2bqoo5\nyZL9k6kSD9tNvla6Pkm77pbPp/REP0Y6BrmMXMgWX/L94s6GmcifwaE3XVMb\n34jApsOPn2uVvfQmN66NWZwxDu/cl2pXvC881KQqBKEnWognmPnbL9XHzpOM\nPj91xpvv1Ic5SRkeM5rc7v3UaxX0GLrZ6o5+Yjsa+sYbhWuKfT5YOG5E3aHy\nAk0t3lRz+mM+Qj/PE5p52LCtARcJW/kA89se2DCFSfoOz3NyM1EL0Xr0h50h\nfMKDO7cjfXaUrFXHx6EXwaqnttbL5evYZGB7EGScv9u9ViSHso0hdwZ7olAP\nJ+DC105qemAo+KH1mXPwJ4arURJ9kx/hKAqgqC9CRCbkBFClKMr8C4Dt62pQ\nhtgF\r\n=GIop\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.13-alfa.0_1583782395565_0.707925644632805","host":"s3://npm-registry-packages"}},"10.1.14-alfa.0":{"name":"@preply/video","version":"10.1.14-alfa.0","author":"","license":"ISC","_id":"@preply/video@10.1.14-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d1f18d8374e7594f9cf55b73629e2588a2298352","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.14-alfa.0.tgz","fileCount":294,"integrity":"sha512-01hxzbWMtUXx1Bg4BTdNHhkHR2oitX53Jr0CfTVC5qu13ScM+hpapPKxQo5ttrba5G1NSWdLOySKtrixQvR4sg==","signatures":[{"sig":"MEUCICin2EPdgaHAyek5BCekH7dYapQT4ZHlJdXONYGN4y3/AiEA1HlhE9EgB3v39TUClqp2tWC5o9QqvG8Z25mGRS8Cak4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11929989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZumOCRA9TVsSAnZWagAAvZMP/15vyr5a4A+gGIUtkhO8\nHkEqoADCYK2FjaYRllEbRJeKKAbA6zp9+CbYTzXl1Vpw87sxnmsb6UCieHAd\n8EffFM89EMEquTW0qw4x3zwWUAlb1g4Ya9xB72d8X8VtspkLFs4+J/wVsMJ7\nkCcTXgLL94kOxb1H3bC96gZi+Mhs68hrLUndNHh/Txy16+ZeFe0ESrxF/oOA\nXMcdkg63fi5j5vCAZ4bvP3Q2qQn/Mv6gNIrfJ574ehgRdUd1W3JrL77wWPPh\nJ5zWR9bkfkN3HwHJdaeJgxNPn3/jZz15lWc+Oc+rh9TILTPE/F9p9q4SpEpk\nXtLdAUqNxLzbQhkODSgqNSShQMl4kgOSCVZEY7AghemMbcck483NSevuZlSI\nQas8vvZqf21hlVIV6A93E77njR3Vf/OhTnMRhNugCKXya6Q8YzhXbzfSv/2N\nIYEHHbjGXPlLQ20REVHkRzc3fDa9PpF7A/VoKemWYT16ON1jUnQNPlx8hZRI\nNRuzuzdBXd7Qi6rOD5HOrMQL4kWVyycbFK/IovtG4Wrg1cQYrETscMuvulk/\n3Oikqga2U3x7pxkULntPNDbpz9HSaLdZg6EO+Kb8G6i7JxKlZdcKMXVHcmhd\nc1y16zl4WF+SzkTcW7+QL1Zr/dYeg0aEV8VooQZozCGqnpGvGsjeEI1H5YCY\ntCHI\r\n=Aghc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.14-alfa.0_1583802765540_0.23974482946974973","host":"s3://npm-registry-packages"}},"10.1.13":{"name":"@preply/video","version":"10.1.13","author":"","license":"ISC","_id":"@preply/video@10.1.13","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"54e3c62891e384f41a2d3f0d2d8ac74284403209","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.13.tgz","fileCount":288,"integrity":"sha512-rA2IutgJ3WKgHjwKkKWO2Aadglt1HlYWsWU0i8YVMCevhGhYfl5WSxE/6KxdLVO2L+F07OgJ1P2vHVC9DBLEXw==","signatures":[{"sig":"MEUCIDus5cUKJIsUsQV4IMyDPC2G2eKkwVL+Im69U4rLuFbIAiEA/jNIO2ZtKZXYKnYVXpPe+LXgn+5plamURYOt1gy5D70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11649470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ56vCRA9TVsSAnZWagAAElIP/RvWkaeUOuZ5zBQ+Sxrj\nF3ZqLOQpoM4lVOwaV96IXoDxXe4SPdCamzb45Nof6noo13tzTvCKBAcoROfg\nrvNmO4Xexp+dyQ2HutkqGifvcuAcXsbLYrd/+zDR7DDfo11fg0xiWIcHwelc\nw7uuPFfyYyAbWADiXTOtLVUzIq3l76DpXVu0UjDD1zUT5KKafzpvvAtMSI4Y\nn9gx3x3nrzRgzRIn7R+i4YBPunm1F1Rukb6CH8m4wZWuNcrVG66316BGiZrw\n87e0AVMNLWEHwE5UNebwDgCtsrfPJlBaBJN7nrpVKkK7PiTyVKXAx+SCTxEj\nsvrIXroBJdOByez6F/dwgyvVdcqfnzClLXL/NKIRCzg7jfqf7xNnYJBrg71F\nnpvcxMe6raUXVm/WFKR+NJhI3dx8tZFV3kXOB0nlVmwdW1Y0oy3P4Tct7Bop\nOGp/KenmBgltOKO5+PEXb2oE3tQCQkddRC1RoZNgx7SW9/y4dKh3dEMRUZUm\nkzX+lTfEIA7wwBJeitGm0Qo5Qg7K1tsMlNickIj5+wwNb1yL+Z4KuwFjbs14\n6U4qjyEHaBymWo0M2UavVKSDtwx/Tm+0kVR2crFE1AVAcLwYr4kl5aMhlOVv\nH6OkkBfy94CXfY30dW9OjEqU30sUEw/4RI6zkNYuWblxOfAndOXdXWgePHpV\nKTGf\r\n=RP/J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.13_1583849134670_0.2967050027611944","host":"s3://npm-registry-packages"}},"10.1.15-alfa.1":{"name":"@preply/video","version":"10.1.15-alfa.1","author":"","license":"ISC","_id":"@preply/video@10.1.15-alfa.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9fa23ea13e74f784dbf4af665dda5a2b0e92733b","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.15-alfa.1.tgz","fileCount":290,"integrity":"sha512-sdvbuyXtIjj7ceyVwfLzm9RO0NYf72WatQ9/Kb6wXVB1TwlYkCCKft7GrnQRM3aHGd6fYyKubXBFT4SQN8EtPA==","signatures":[{"sig":"MEYCIQCrrRdOw4AJ+aC2yS6Nzna2vFU5LAyzm7CPWs+ELKt9FQIhAOTLmJiCBUw1GUOK31d0Wqm+EgR4J+ZlniIxDap0rcC6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11737104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeZ78pCRA9TVsSAnZWagAAOXEP/jWVnjya3BhUtssyTDzZ\nSiyFrLeVuGPH3rYdhzhhNb8zNiApprmZMh+DYCGDATSTZ/bHs4E+n5L3dxxr\nz2DOPijHEZ61Bj4CcN+C72SfCMR7ii5Hu9nwZWl/YMXmcVJb1YZ4acCnUbAz\nchAwH14EraAPEsa+X98g+O1OOgx/y89QuuSx1IXUJS5v6MtrYz6ic8/Xmks4\nsX24UXSf6iL2zUX/G+bnZx5lH7Q2xXCn3d0Wf5ey5UeMd4xfrKqKbQY/KwKD\nCLetRsDm9vJuaCs81EFdi+NQOQJk8xLtTj+2aQXLzjlMmUBdSo+3bEo9wu9D\npXodjk0xbWZ/5IVp7gogaNHHCAk6gHJnKzTuhBiRLYPKW3oydJI2XX5BuoYw\nTxmtTjg5sEVwHrEiyu5APqVX9rcw1/5pYmZHnGjpAPWw0Z4z7GoxB4k0TAhS\n6mNBcLfnxqHNnJWcNJXGO9uMLcRRNFAdwC9aYGDvV+vnH7IC0ktUTnDPBmh1\nhpslkotcZormZccgobwNiCCkyarj6PQsxNXRuXmw5GFp/HtfZxkFRuphnC+2\ng2VgMUD2T+mtPFal+7SgFCU2aobCvitGwNKqr5Q0+j5/eiGJyuThlYhqd2pQ\nswAlz2zp4MOkjuIUTW/TIGnf2cUZM8dOezQs5GMZ6siK/RUa6CAJ6n9413p1\nU+TJ\r\n=STRx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.7.5","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.15-alfa.1_1583857448516_0.39315687666846744","host":"s3://npm-registry-packages"}},"10.1.14":{"name":"@preply/video","version":"10.1.14","author":"","license":"ISC","_id":"@preply/video@10.1.14","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2ddbba221acc103c7ab91ec36635741c925a16bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.14.tgz","fileCount":294,"integrity":"sha512-lu0YKOWQiL8+RCanSMLpN/S/fLROQ/6b1QYR5ra3C08ByeKTPHIO/i6TbJvSE37m98+IvUs16+bqaUUwcNti8Q==","signatures":[{"sig":"MEUCIFEwCtW5eMz493m3GpU32Sz9r1RH1894FQFPLhhHLfRSAiEAwCJ5cecUMeHUYIxzbv8xu9Hyj05/u3yiGaS9LT11tH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11873599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaNseCRA9TVsSAnZWagAAEu4P/07iSg2h9a0tfNYnsnt+\nnU6Si45TEvxKEh/5xgXPVwiO9rdHoJXkp6xtq2ewRJ3gVRHTgpnaL4G8cqwY\nzH1nvaROIJ3Rs6lumUqEdMhOVD3OxUQGcrkNBp7ofSARyzfsYbWYPpFamcbE\ncTs2W+En3eIpTbpMcBtPqnfWmWMC9KMYGhy8fDArpyA40JnlDRqxheM/iJ+r\nDtwogEWpkwFWZ5zMPXhP6JVAjVPUjIXjxZxZs339+MTcSvMtlg8DdQzjD7a+\nnnpLSZcPltA8s5fgMv+nP7jygAUcfxo9gBRV++fArQ4U/szDOEeOseqr4zy0\n3DHjS2A+QCGmGYeYjCl8v5+8Yx9HO1+7XuADdiVrUrgwDwIGehhGpCagg+4S\nV4K6PIWGg+AsUpbaI3TiVqS8t6tJeyGrga6yvcD3J0Nrkk5OY6Qrc/qI3a1e\nqSsfFiJvAsr1VkddOsTr08P5hiCnSpee/HylYSXJGmESunRjmIK6F4kADuQD\n3KPaMQ0aYNjIbWGmD62CtgDHL+Pr/ts6TDMpaP4HJKVQAYRk61afxrfEWuQ+\n7V7mVNI9tm3Nd1uEBS6aCv4fZhZtPNN8dulyD7dIgITusHCzPwFMXU2KktdE\nVqgMH1rU7ctc2aCg8Uj416vDGogSMsNTfQvz2/1VUfBuY6zEH28pKvkRBhgS\n+c6k\r\n=PdVU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.14_1583930142192_0.4764194409687432","host":"s3://npm-registry-packages"}},"10.1.15":{"name":"@preply/video","version":"10.1.15","author":"","license":"ISC","_id":"@preply/video@10.1.15","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6aeca1e5f543594cf93bbf24045bac4b64b007cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.15.tgz","fileCount":294,"integrity":"sha512-p9c2jBmPPe3Ixpm/OjJpG/FoB3x+60yk05zdL4601CeyU4mCNE1vOX44lnqgLKeJL/IR4C0pWts6TTDchLUAPw==","signatures":[{"sig":"MEUCIQCxIBMYrsWWGlR2OM8ja0UYSjXhHF3wnj0IY5cXTGlVYwIgDwt6mNvCqQW/Ar9IWtNqu2KhT1yNoe0UhvcnxOLIRhQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11882661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaOJQCRA9TVsSAnZWagAAfnwP/Rx9Wowg1OrHgtr1fhB9\nxp2zK0cQDp20e+ppvPJgPK3Da3vP0yhzGVCodaYcWBrEtPVkFVjHzYeZ2Rno\nZCxELqkp3EHOF3EVICqhcwBJmopGfja+OIwCRFR2ez5+9ebzPBj0v61KWTwM\nh+YoowYoP7WdkHXN9Jj5VsneR79DsTWS5yG0YEMmjtdX0YNwFToUI+6y1kJP\nisJYLrmjVGqG67rrOvA9ErzOEQsH8Oa1j+3ScuycHBbxN1aMyNNfpv8zIYYX\nXO+RNFGZQhO9RdR6gU+XntBzTOgwRuEIFMqE8Xtp0GJ9aZGzf3f36R+B2LJB\nsYFBjIqq/IHhiIFF5kgFNbPBNS/FrGqreBITExfqai+ZJEYpc/oMLxEq+lJb\nUdXSsMqDE+7lLZketyVONKOcoonIWVhmvlULMwGOFOdASZRSvluiSiFx9Vlz\nlX7rOCBMjksEAmwDfIF1w6a8fwQywBTH/6799pcR/iXsi+W949ybKLcZrFnR\nUqzsOIEihIcmUZRBFHENfJxd822g9ZlzaauaOgovDofFFr4kMSTV2ezYO27e\nQxD44jV5oZKMDR4tig0LNTIOrD1XJZa03t/kBmPdM4jPpTklOo0rgrcpsdc6\nvisB3jcNC2GmyOeDZ359TNDhisLg/+GdqDq5aSWMUWKBwR+Xd8krQVHDpCXZ\nKAOm\r\n=d/yN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.15_1583931983912_0.9855835832895496","host":"s3://npm-registry-packages"}},"10.1.16":{"name":"@preply/video","version":"10.1.16","author":"","license":"ISC","_id":"@preply/video@10.1.16","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7faacab5719a035b7c75b5ce82569db2a75e1fe4","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.16.tgz","fileCount":296,"integrity":"sha512-eGVLKvn6wmqx2WrVSK+oBy9iA3cIlYzz4Z9ZtC949YG+5v4kLyGEtjYENK+j3OHIlmvwPAY9ho8ULSE4UeGnWw==","signatures":[{"sig":"MEQCICwemAjSnrdZpZhfGbSbKZdsvWiloFtj70GnLl/f0h5iAiBiLFqXdYKVtA7lvPAOjNjQXn6qaKEm675kCpfH21JidQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11969387,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaP6zCRA9TVsSAnZWagAA3ZAP/ioqTM86r+AAovVD73dB\nBnzIGwdJ1ezeXcRF/YZl6LrHpd+60jfNoLFacn2aYbeC15SfM0PTk2SXnGyS\nlINfnjD7SBkFsEeMNxGNzo8XWqTqvoDZRW3CtYiSMzWetyMJu2HMMzy4viBy\nmWDw1bWVer2bR24nAX4ok0R+pBfpmYNc9fZyK3Xu0IQ4OcCbLCOFD3fiWR7o\nV3NlcsV+sDO0VxgdFmbEJ5u7vtrOc12eiHSj2RUDvBDErGQhA3BbtKn15l62\nVL5WXc9PtdHcbyZsDoSMrbGp4y0vpxLe7PR/JrOr6k5aa65madBdetmb0DGg\nGA2kK1AOdXRKZJFj/tWYUq/SItuy74g9MhpcfWPFxOOZUPr+o68SF0yKWS2z\njhYqqeMvBfyyo63nZViEY5EIPVM2hE9siqOzrIkQw/C+DIptbJ0PEz3D19bX\nE7yY4/z7k20Cf3DnylvQFhvfsi4cSitmUUoBiUFs0kGFprcDVa+/BHNqfK+7\n6cLSbZVaknjeT+yall7XQdcc760ZGHtK2/rrH3GSK3LkYa2+f0QZTD5NNxFK\n3o/QjLvswT9ELcPDq54ohAA1mQ8d+RKwzdrR0fx6XuBpwGqzLVWvImxcnfph\nAQgEkQS/e3rDu6uB1fL0LikrFNNPsjiI0Z8WxxlaV3IPgTomRo5Hu57/xQZt\n1tn0\r\n=QHb8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.2.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.16_1583939250428_0.6025338966462028","host":"s3://npm-registry-packages"}},"10.1.17":{"name":"@preply/video","version":"10.1.17","author":"","license":"ISC","_id":"@preply/video@10.1.17","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e077a759f68f50d094894498c89fcfbdadc1f227","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.17.tgz","fileCount":296,"integrity":"sha512-ZaBWo0q0P0hnKgAm94qKOTbecSE/QQze7F78fJS+TWz/RIkFV6R+I9IHiiu0qYwtXfvWNfPvHCbC+x0hekOPgA==","signatures":[{"sig":"MEQCIC1UgoKrY8Si63Ber/QgTj34jrVoP5fSsatrNi088H02AiAtFtbeeTi0SClUsfkJEnY2VUErcnhPynms/Hn+Wh92Jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11930690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeajPGCRA9TVsSAnZWagAAu4kP/3rGwJK0aXmKwNJ8UMKy\nuUbEMXHEl3Mhq+sNumucuPbQMkeA6DBMfb14zXxcjhxflkWhWz7zi1jcKYde\n32cR2n9+KAbIY+DMqqXVnxxNGpfVrHtw6Pr6CEtTZGtdUNYyobA8fcWJoLux\nj9Jc1BtunLY1QVoYnn6AtjMoBwHOcpmkQxHVntM6LOLcBRMLKhbj/wGlTT5a\ncd45M71lPy5ElWXGpWyyulkElmETntiYYIR16d76R8CliPfKMaNOjQPAM63L\npkA3r9CU8pi5OFsKsBi3XxBItKqLV/hGUf/9qSErvH1+Qp/to6vk7FxM/r1R\nCBJqiEjafmL6yJDGupg3EXmdpRjk9p1/moVL1wJJ5T0ckO4D0dFA6t5C+ZOo\nosNfNznx3SRfsOK7puYSOMo2d0gW/55Yf3YJru2zlAIMssiljCuNvBY0Sp0Y\ndFnzWBWStl/MtetUpvL9fSmr3ew5bJ2ooVtd6zKvHWCandsB7UbWtLllcDoY\nI2AwVONLMI0nS2GtqvlZWfRMHrWaTN0XSG5xVqm+qpBX3BJogoHX3UPirKF1\nCnFUMH4zo8RClfpPFgsQ3ZzJP0f7wqMkm4AurSd7PADtFXjQwTDog5Ef4DMb\n2FjGQ4BmnZ8C6gLH+FKN0bbSrGoosIpLAVtamX4KVURMbbqi/stKUUBvRLIJ\n0paF\r\n=P+Cg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.17_1584018373755_0.5755247848665972","host":"s3://npm-registry-packages"}},"10.1.18":{"name":"@preply/video","version":"10.1.18","author":"","license":"ISC","_id":"@preply/video@10.1.18","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e246f457669a7eafa90c4c4b0f04f285fd1e6999","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.18.tgz","fileCount":296,"integrity":"sha512-eMooXvksTnLClVnNo/tP9ZWI9fV1Y8JldVWMzUxgeKnPAolw4RT5PdJobRn7FOcjW02qwwenF+pgncvf2hAr3w==","signatures":[{"sig":"MEUCIQCQKPqOhhrC01ZmM4rpdZ8w0rC9RTbBvS6SEGFPT5aavAIgWUp6GZa1M0WXCvdZHN4P9T5JNNGlKiI7qbRl3PueXT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11931230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeakipCRA9TVsSAnZWagAAyXAP/iqGQyLlalmoXw709ilw\ngbjtLwnW0DKcQmhH1imzcU+XrXyHx+FHePUByLyLPZv2H+eQxoXMqh/TasU6\n3Kn01HW5yVQ67yzewIYWEpXWvzhNfvbZDcAmkMgExtG80R8ZSG7JsJAZAHx7\nFQIW5VpMkPRIdM1nF2Hy85g0Jujbv/iVu3EJpJ5uS3My2WjNj4Yd9pFCoZx3\niaioVAroDV7bJO+Qj6FwHgeU4WBb/ipQ2C9f14sIjj03xGCm0CVRCxFFfF6K\nfidNZaKt6PNv6UeeFjHPRozixVjA7/owQuBMSgLUxlsMISa94oRjPq5a8qMX\nSSjS7k5BIw0F9YmQ9dbEL7y3+YUmsnJL27gAmB0ERLBb4pG/Va/hsbAixcKf\nj4IfdnWXBoFoSChjLP881szTUco25NvvjKKSXfwMbVcAV+XWjK3lGHu4HVa6\n0CKATdtMJfpaYp+pduljkat6200RlGbFw3BiT0dPNcnGOKtlQLCnnC4yWTi7\npfK+pm3vIinaFE7KPJPk0VCue/wVHisQWwxzp1AImYZR5uGB2ZQp2pbMm/zq\nGbmDojYL0THyPU1ZcGrunvuUo5gBjvPpd+4JJ1nXEWkOlQwmkIeh2t34yGFG\nqw6retFWJJ3sjKvZWR/jgy6YGydNcvZtQAt0ezwWYXwM6+Dpmx7mLeVHZkYH\nIP6u\r\n=eMuD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.18_1584023720902_0.30313654671626566","host":"s3://npm-registry-packages"}},"10.1.19":{"name":"@preply/video","version":"10.1.19","author":"","license":"ISC","_id":"@preply/video@10.1.19","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"16926a5490049f0b940b5f9be1e9f386f9cd1d99","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.19.tgz","fileCount":296,"integrity":"sha512-YG6ArmVao7CjdDPMiQSFeKd7OOG8dZTJ3WCQKEd7+EkjQCMWtKnwg3ynEjJ8t13pI+s4+P0lu0NP1xhd785QIA==","signatures":[{"sig":"MEYCIQDG+JH/VJ/Xo0oPLeLp1AUQ1yiRR+jGa7tF0ECWIJWeCgIhANpUDase/fYyjv2hPIikW+cnQQvTXYra5Gi9WquEGyMJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11979476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeanK0CRA9TVsSAnZWagAADYEP/R3UJZLflpTFE7NQI5Ds\nQRPqdakA7xpuJp7p2PqHkPLS0xWbKyq/jf8c5S0wjIfFc/tTWaiE/+kc41ni\nBn1eHKBsWt+eMqO7QBr9EbMgxjtDueALHFDGmhpASnRvglKq/4gcHrLnCZqq\n6T+dUUX9iVnfXe6Bt82wgIer4lh2WvTFE+UEwT4tZNUWGC/zO37xQBSZ3Uy+\nEAjXy49bUojX2s7VHw6b1wa/CkyqILNCJlSVxreNo1rk/sEF31mqQAI+LExX\n2G7sZ2o1q6ZQtA7RA5HaTSPoYr8F2yfHWqTbLHEsM/GD1Tsb2xpQhJ/sUAXR\nWUa0iI6eBxrTTVU6cQ1iuZGyhJR+S0N8l4zktxc/1+xgFXmcIc2sNCaH2YEH\nLTJVvktCtJbIY3dY27n0YxuCsI5QiEv7zDF5UvkJMh7jZZqQa47yxT8Sg5b0\njCGe5wx9t4ep3jjvm2rLvo5TCcfQczs//8fLmQbika+7/WHqqjU98hMpG43Y\n7XmMf5UzZOY1S7qAvvT/jY9IKdxS7xXva+RP/I05D0BbvRVP6yfoR0wlYAYS\nPM0JJubNVpJwTvQ8aKR31hJJG9T93wAk3/2Ksyt1EaFM1OCX3Ipv7GZQq+q+\nq/MSPGClvkNYJXdmopVBhBxeHn0/cRxgg1S/czE/wGPoHoKBbWYFFfh05skX\nNQ0f\r\n=j9qo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.19_1584034484032_0.8155079509069068","host":"s3://npm-registry-packages"}},"10.1.20":{"name":"@preply/video","version":"10.1.20","author":"","license":"ISC","_id":"@preply/video@10.1.20","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f62dc1366471dc5733ec10a1abb977e310bb03f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.20.tgz","fileCount":296,"integrity":"sha512-oHXrlZ3n0anNiU24/zE61j595PZrmhgvR8dUXKPpIo4/oXiShRCFkcfqrw5BwmxGxqdEkexj+1d5s+1kInwI/A==","signatures":[{"sig":"MEUCIHeSgEfdR9rzpQQkY2m2GErWQqBh3VLAQGA9kPECR7tcAiEAuRD8oaXCpoLdT8IFb3ZNDSeVbUtno2dM1HDP8Y5ttvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11979212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea35ACRA9TVsSAnZWagAApVYP/1k4loCN5PtWKozAAT4f\nwQJICEWEwTum66fFUIGa8kvJgRhSx8N4VadjAlFNfHstuqLQCuztf4r2VnA/\nBINoqMFfLhqhCf/CTOWn8t+k6KdOI0f1gL5ItzN9xpqDzfx6MIx5eDSw/gpc\nAhHO9APt89VHZAqGOvAvaDRBUG9tefSkq9NNgXu1mx9DkqTWNipz5BiT82OY\n4PFzUtEyNEyMVGOQZdRV56Z2d8A03L66/WJkg+ez0zJbO672yuVfCk1RRvHu\nZzyjtf+ijr2VFVhpTKdmcX9QlUlxpjbYSKyyK61/YR9+aAfw1mRinHgjtcI+\nkeRp+h1fxu8OC17Zch33fqQhKLknaWMjgYCQx2Rlt1tUqQ9QCBxOlcE5HUZd\nLm0mhYmdge9vButTyIrgSjyDC+ROPtO5VtoiM0zpss8xqBsN2ETHfvsIi8xk\n1A4HqI/khFKeGmnaoNGrHh1/okO2F0pVlsZmQLJQH0LTOJ1qhjicV1SB1Qq2\nmgltY3UMqtbqJ/HEZ24pBuC3efKNnpLjKsYVFw48RuWGu3oMPuIXEpoBiWf+\ns2/IKwv3cLwtDlURKOkluzIBrbqNxTlsPHYAY53sqwOY/+mntXC8V9IcdDUV\n6qCNyJ/TbbuY15U9PKNUxEPWAT3QWAFHLVYhtzmLNCRQGqYAP245olPNG5nr\n6Ov/\r\n=w9RX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.20_1584102975444_0.6832317715082084","host":"s3://npm-registry-packages"}},"10.1.21":{"name":"@preply/video","version":"10.1.21","author":"","license":"ISC","_id":"@preply/video@10.1.21","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cd8aa1c1565872e09d9f76bd518d26bf8c2dab78","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.21.tgz","fileCount":296,"integrity":"sha512-6cuYZcpMs/YbYDqPuFXrJ2c9aYauCf5WxEkOaYipjTKLG9Anrru5ooPchNj9a/Mg2ePCka15KfTWtediipiDKw==","signatures":[{"sig":"MEQCIAO8QVPIr55zZr7WrN55ye6bKHYoxawRotzyJrBDY3ZhAiAApkcSkdWYJD+5I0bos8iwF6N6fbUK/j8k/TOxkUGlsw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11984402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJea6hzCRA9TVsSAnZWagAAW5wP/jBp5YXm3IbHpcL2BVou\nC/PVMOQc0vpIBK66BTMfDFTav/VqvWpqzbEA9xpM4tnwm6If2h6c6YVqqFSX\nF0Y449LcSvieLvvp/uyEWDHueKTHAXfvwTK31FZTlA8nUXbDbiU84c5tqkmq\ncETtIGH0OUIS0bjBDVcWNjnTO3tqBFQx/DPhHNLVIIPme4Ufi4gD9JjTn7oS\n+Qt9whhRCqPXytwoZJx8yXBVowwoMa1lkTVmr+Y4tma9RpWpYcUd6L3y9+w8\njV0dgv9GVgnIApdcWFTZxJvGHYdFukyg5jvxYNTGmt9q+AKtpSHMKzjH1sfz\ncU1MRN5skZmWiOeYK+rsYkCZlGhZ+j+pL4qEZGRR8qWxA00lo6TGJw6L0Kar\nZfAFtFnhj0744KXnnYqnDLCl3YNfDGs50yYOmOw4aPUN4smO5DV4gBUWPhkg\n+10NYfwkmihKdQqeJXLR2A0NHYZNzpLO6LgLnlH4tNAr2v7fjfW9F0z/SiIv\nTVINJSWzMNrU6dSinLbkf78bhRJC4H43TeVvXrRXbVJzOmlpcpr0EnLBT6Sp\nSdkNnpr+XXX+tHOAnbMF14eGxOrxm/cy4Y54eDAKkgYC976lhU7ykA6Vl/jw\nqKjzugu0tyTaCbrw+aKY8tktX6n3xq9CgDACzTjnSDWHn054gwBMDIkxtOkT\n3CMF\r\n=Ig4S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.21_1584113779337_0.07789816115746384","host":"s3://npm-registry-packages"}},"10.1.22-alfa.0":{"name":"@preply/video","version":"10.1.22-alfa.0","author":"","license":"ISC","_id":"@preply/video@10.1.22-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"daa22ebb34ff0e20131ca236a5df5ebea6cac699","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.22-alfa.0.tgz","fileCount":296,"integrity":"sha512-X1ywROvwQJErAReQDDiIgC3rFTggnRVyuZ87MaP0R+9F1oZJ5TwuqiIvCDwSrV58RqknZKCB0C1Zbu5e3xj4HQ==","signatures":[{"sig":"MEQCICxq7X6h7AqGnTyyipN2uPTnAkb115KjHM3PakwfxD8BAiBUSXKWxhNGcelVhuo1D8dNqACxyG7TO1K00ZJHt/G1BQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12001756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeb8+8CRA9TVsSAnZWagAAglAP/1nv9vSgz9kWiIPoQctP\n6TDHCmd/GkHw6dCPbBQ2nGIxdfrq47itsrvKLIO59eaXaB5TVCTFLTM61th6\nf5aJ5WHzKGyzy18qCZPiMmvjTKdH++R3cX7PiZKThO56vtt+KLSsCOyASH6Z\ntVEwz3W55yWveX4te9a7RdrYWefjwOa7KSZJ29xVDoNssxDH0pviLAJEEMRC\nW9V0+kHG755E0m+BH66+zYdn3mn8M5ANLkSvzxuq6fLh8NZ45NMFINhzVxE9\nAr1FJWc+wouYE89kUmrNsYdbEsoVaqFGGFEQOVcKbDumI8S6uCAWi1CLR1td\notSct1nlZ9bHdi8fV9eC6PXCU7GK/juycvbCx0t2dY3a4AmkgnJ+n3Q3JBXl\nfbKUrVQnd5X0MA+ibWRVC/oxUGZNHHUXg/nAVmDD3YgEttqa4R2ccgo2LzVs\nhdkNW1Ppl24F4Rkw9YmeDUHi/gbxBC5UY7zZy4+8Sp8KcTZG31GwjOd1gprY\nA02T9eRyECK+gMgD+B6NZpp4x2Z9YP6uj0Lke2FdQ327fKPCOedrwxw6Iw1U\nRivTwwXz8X4fngwgVYME3NoXZoFfiumbfKJF5guKuuabUGO2q+Om+KDr6Ahv\nzLafCSiFkqyngvMH6OiU4tYaKARPpSw10ONYfgGrGmSrlhqXNACxdH3gITFY\nuHWF\r\n=6d7H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.22-alfa.0_1584385979304_0.6059347205032286","host":"s3://npm-registry-packages"}},"10.1.22":{"name":"@preply/video","version":"10.1.22","author":"","license":"ISC","_id":"@preply/video@10.1.22","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b4eafaf529f4c52dc7ce8bea065a0786701d13bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.22.tgz","fileCount":296,"integrity":"sha512-oh31NWFCAw3EdzvsN6ZyKrAxJMGxTSSc9i7Vk64GDp8YYQoSYi5AxIUtu+5qwIt6QNpeXRB5yndtq/S/bO4QiQ==","signatures":[{"sig":"MEQCICh3BItVlJOBBzHXbBSLfJvx/63eqdcH0eefgy8Pev9cAiBsT2fSNaa1QcCbAL8gHjtH6zpUL+hxUxQwgyZALqN5iQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12001539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecLz6CRA9TVsSAnZWagAAMQAP/jNnG7Xq2HLypjwDw/0Z\n9syzvEKmKlXtMUw8Z13B30TwPOFlpyaD8Tmc9vmy8EZWXwbOrJDz4Zgo3YEx\nHdcNDnhb1RGt04hkJgFR8mJ/QrDilo4YbMGD4klmYaehSZyrSF6yHsynwhms\n3ty9ntmks1lpXmRKb1aMPgsB89IeL5JRXgZ3ad0lJ5dICY419ZNQXhHHK+Cb\nIhUY9yjIFQUJwXr+ULMlQIAW/zN5oYfqAKKiHoEcuf+tf1BlJUIhHmKDNguf\njsQByq8thtMZ5Djx5g+DZVHftVcxghI1xA3RS6LnWYElCUsghehmyuzNIX2D\nr0VpvcFFBg1L7/zJUQwwDcYggchpWPbbaMrFmkKtpYjwpINYgA+evOAv4Jiq\nmJQ0Mne9rsmG2+xS/Ufq550sChtMswhZMxO/lgTZCR+y1xm7DVp76R/0igGb\nY1lGdMpxWY9G3SAZcnDRUYi75LD7Cr16mMOYrLNisPnT22XYsFHqXVnzD6FO\nZ5D71Rqlt5I6UTj3ROXFPr+hAOnRkKkLWxycKNGAlBFIW8b+9KetUVssysv4\nxdhRqaIVMbB+1pclbBk9gbDVl/5n6J8BzJz9FZrLIm1eikn0IPueMPB66gTC\nmDc8SeFGz7RcDRuigvrlAX1L8iigJmIx/fiNe1JNg57NSpabCXyHqw2TBfTA\nH1p6\r\n=80mH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.22_1584446713322_0.9089293733899433","host":"s3://npm-registry-packages"}},"10.1.23":{"name":"@preply/video","version":"10.1.23","author":"","license":"ISC","_id":"@preply/video@10.1.23","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"42f7d4c393f81e17ee700db5739c7281006e55ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.23.tgz","fileCount":304,"integrity":"sha512-hk2Mk5cRZXaIu7RpywqI2VhIqc+SBIY0GmegXsm3RtGrcVklVQ9s2/su9oaft8ocV5YJdtaL3ykeTPxIS/5VxA==","signatures":[{"sig":"MEUCIQCGhRIN7UXiK7C5QVDjEi32AbIcF4FV173zW9BwkqONegIgWSAhn92SeBpdVjHjiwKw1LKpijVumkObwPkt2uSKDMA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13108614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeceRoCRA9TVsSAnZWagAApoIP/296ngWmElMTGaiOPiM6\nyQEQRzgG7YpkIU9epRo1eqZ7dL7xkqcgVRCndJe8QnGBYs3PiKLqbdETJjbr\nEQbZz5iSKtESm6Dc+dSwJVAf1kU/pp/OsZBin+sqkp73dVhLBa5VAl8Or2OA\nltAljYr4CdT6fVShj0u8ZwbYElQPsigLlE76VH8cXBMFN9kQ6FX8GMgYpa+S\nn++EXnou4kULPshT0euvDGZsNocPKwcI/4yXWKAfUveDG3bE3Sbf6koLbk5Y\nETv1Eata8kHnxqy92Qv1c8p4lKmFJjQ8PWLhnqmTFD+7qUINHq5dXez58hAo\neis0sHsdJHFuYApg+Lke30m6KrWiTYz5+kuPCb/tPu1OOIZzRZIsNr8Xvr2u\n3nkCfmq3Ot1csAfySWVeP9vZ1KKzlQ+ogNZW9/eWv1ituXvprv8AjPwds7hs\nT9ZBdS2izBqc4LEJVSpaDG48EFzfEhxD5oZTNIgxXUi4fPRYYlFRhiJe3MR4\nPgoyg9OjEdbaIjGqNBOoK5cDm5CmtTWffwvNhSOkm2mNdlra5RE2WFv6jJWV\n5p63eWj/n/mUmVKC3BaXLz4DZnJScc8KLKHgqcSCnfib4TGPKw6T0E9jpH5N\n4mwUBdm7Rz7j4/PuC6GZTBZx80OiXK4BLYPBsmn4FsTMe20rIFkFRNnj4qzc\nm6FV\r\n=5PJP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.23_1584522343972_0.5479444933343136","host":"s3://npm-registry-packages"}},"10.2.1-alfa-1":{"name":"@preply/video","version":"10.2.1-alfa-1","author":"","license":"ISC","_id":"@preply/video@10.2.1-alfa-1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8dee465cde4ea8e3b1371645405b887f6e6d7eab","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.1-alfa-1.tgz","fileCount":340,"integrity":"sha512-P0rSj9aiZXudgdn1G1ujen2Pm4t0K5sfQv1o0LL+qoFruvVOptp5QNWzASgeu7+bvf9tN7bj8RFYji/FVFdaRA==","signatures":[{"sig":"MEUCIB1AT3kO4oxsBGddLwmR3h5Vp3qsFubZR8Lucz4XxgQUAiEA1Fb5rKStO+44FgOvsjmPlP2Rl+WNmnPO0qvqr2fpSG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13344823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecns/CRA9TVsSAnZWagAAr/QP/1dRHDW//G0NPDlczp42\nb87Nh5OV1h28m/dkByqvbLU4j7HuSoAmb3Y4fdSGNmNfHH+3XT9XbMQQLH+G\nMQBA2HYX/9YPOGf7K290AE3Dg/vKEU2dbnpWhi9WkFo+RR/pZ3/MunQGn9SO\ngipuVnaBP/yjSm25FxlbERvFew0elHZQ6ornFfMwJGCAmeM6doYvk6VA8Xk2\naf7pWYQwYaucTbt8+kiH6LXLLMpL8oiLvWg4fq4Md0OusUKpXzcFhF/vnMQY\nSh9+h68wMIYRyHGzkgB20prHBGKfAYPbAMjmOEQpMYUA37xHDDe1ex0tfpYJ\nTC/GzwsKKG4/piUtjLDk9BQRN/P7dZ83Znz84GGPUuml39WzfYFDbocwRkbX\nLgSThspHOdSa7htwfVQ1woyjAWyzY6YmqeBADS+wYfWUD1hQ0ThcSEr9XS5f\n4E69c9yzKnZiavUzbfyCE520mzxesDS1caw6lljAVEqZ0emA+uBftTgX3Zdv\nKcFga1JMPZht+M42fMW+vJZjyEo/g4n4MPGD01z+EqApFOwiPlyi0LsmQqjX\nfDbxPPkAjow6wFM6JPmcsDRUVvOeZ7dsGrEO3Xn00sFo56T8828jHwfmJlO3\nwKkAYfO136PtEFrwCHmgyyXKSUSBphCNrjGZK9zfFA1aRiiMTsOpS5OZnvhA\nN82U\r\n=TwTB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.1-alfa-1_1584560958919_0.7284010433259747","host":"s3://npm-registry-packages"}},"10.2.1-alfa.2":{"name":"@preply/video","version":"10.2.1-alfa.2","author":"","license":"ISC","_id":"@preply/video@10.2.1-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"16f013fc29a9ea68c86d3633bc7fad306e6ff313","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.1-alfa.2.tgz","fileCount":340,"integrity":"sha512-PSX0Yl04AdwJN5e+GTxRvPqzLmKTUHYphYwUXKfAzx2WaN83mLIUipcPVVd1ulrHHeRTFQN0/+qLJAXfLw+IAQ==","signatures":[{"sig":"MEUCIDtIlcNDc/ff0q8vngy23vKSo0RFp7xxglr2U7vP4YCwAiEAmzhDJujaeuhxXHge+bI9ncszbdC7OEvye4VgGCwHg9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13347053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecp6yCRA9TVsSAnZWagAAoikQAJ+Amkk3+9fWqPWSv/KW\nqsH0lv5J7Zz8d2IPLyhrHST2ahk6uY2xCiKQa3FQroKmGABnrRTevfK+v8/1\nIWX3IqQzKCsIrYTAdxWGobh9cgCcayAxOvlJqPrVtKRTFYqF+lg31nb+LE36\nckBR867PGdNdTxTxQUukPc2ZZHFVrrECSLoGdxN9T/ZSbZ3hKa2jqw8vNB4m\nVVsIRvx+fnZ5/qS2w/K40CTvUEUueMDsMT2iLOP5KgnEnwBM8xFFkWw3krN3\nMhWkDE1Tim/ZvfsxYwzOlWCjAKXy8EDi6Tje3PNTkvACauLWsR5MFn1UITxR\nkwwcVKcZ1pzYbntLQnt0Toc1kgeK5gz+AhY7uivFdV8mdeu1WZ3ycVRRnGYr\n1sC8hGxScijQPEyRprQIjRpdq0engWoLpj/J7c16ouMQ4aVRV6Rz+jb+eiGy\n7ts9VVig6s0NZXNiRSr9I2J3GV6m9jitEq7io1azeIXmV3fbRDQwyjvab81H\nW+uqw+VycD//3sCDgK0DroeRGrA8HrOPUxMkoNoxuoBtN8QDGdIM3VoIW4NR\nKT6b09Tp90PLhxHz4V7q2O4Y2tp0JOy3s5OMCYZWBHhJ6nn8if3gbploJcg5\nxr0RdN8EoyoUZxiR/H05aXF7WPyoUj2BOCvX82f51oLNKZbsmw2TtJmkB8iD\nS98G\r\n=l3X8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.1-alfa.2_1584570033569_0.8777904131893752","host":"s3://npm-registry-packages"}},"10.2.1":{"name":"@preply/video","version":"10.2.1","author":"","license":"ISC","_id":"@preply/video@10.2.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"26b8b9c652d20d2dfbe805f5add0c375d3f34811","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.1.tgz","fileCount":340,"integrity":"sha512-aYVtDhkzPt8XOISZRCCcXDdSSReuyuhmbfEaA5NptojVR/dkldWeXGGje4ltcaMx+S/2oZTbzUZf+6G45mMPnA==","signatures":[{"sig":"MEUCIGuyhIN7uXdMCLUQWzHPs1hjLLASRWT38zEpzz7upbjLAiEAr0DIE5ZHbL9lxg0TiCnr7zVeW1bh+PXfhO3SKqRgW2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13355020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec5GlCRA9TVsSAnZWagAA7UEP/jIG2pZTpT0J1OZojYSi\nWQodSA2QPdBiy0JSKcneyTJQKZ0Lj6E5PW1IWSdBdlUJydvn3cIPvsS/D5kz\nMEU0sK+QkKONorgK+NICMMxdPurge72qhVrwAfGL59zvw+YtCCc/dkAihk64\nCyFYekSSzmP4hnjZqLwGWV8uSy/2aCIDaDS6sxTocPT9OOGADg3NV7Vxmca0\nbbM4wldJXlNbDC+N6G2MJ4XZF423v9XCatCIHPy3i5/K1czm+MlEgwNL10s4\n91GpJmohGkOOFSc9NDD/8pM5SLMxMwbx/7V0UTU914LttcD9Wc0KdoFA4aZ2\naHKl7Lz2qZTt8qB9B3je715I68IrHdXPsOMHeOX4Qc5GltsBI+bzN1O97Dqy\n/tcNa6eLZMWzCkJWtTZcgBMd3SpY74BLM8sReE0hkWMhGjEOBqPPmOGHuCU+\n5Gx2Xr8ptsOMnF9KAdEXvL8NKGAFQFxGseXoNUn9K4qp5rYIl4pXI3asNirl\n/7egQaYYdWOBpDs9yWIszlbYeSUSNieEDH26SgsEDQh7uWpTM/Wgc1BXzTxN\ny9v1EHmBWlJfztx/HeRK8NVY+Judeq+/UlYYrOBHdS54oGfJnqxLNQbcd2zs\nm2Dr1E8U10eFi4BzEzt5JkHVPe1ePop0be7rNyAf2WcWrx2HP+lacrdQ1y1N\nfV0S\r\n=oQL/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.1_1584632228635_0.7840873794079766","host":"s3://npm-registry-packages"}},"10.2.3":{"name":"@preply/video","version":"10.2.3","author":"","license":"ISC","_id":"@preply/video@10.2.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"84a25f62f5699f2438cfb36dd6e7115a8f26a06f","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.3.tgz","fileCount":340,"integrity":"sha512-DemT3p7iYJ5WDPjnY9EvQrpks6aNwC/8eADCy6dP3hz6nAJ2tF3ja3B1LDUMdRNN66u9w3rOc6vCRgRJ8zBXLQ==","signatures":[{"sig":"MEUCIQCw9wCP4n8n+qKSHL2cKbz2fxAYCiqW2T0rzLyeYFBQ9AIgUvJ1HurViuRtWK1yWDPG1qKofWqilkHV8em9Kd6g1nc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13363767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJec7XLCRA9TVsSAnZWagAApBsP/jXuWGSKkYxGW9INZ0P2\n5aY8S9sGzVhIqwOn4pPumQDh7TFDdp/v3qz+7ZeCdAQCnts08RvGz2sEihGs\n9M2sWMkGwL0SK9B7Vz3KdoAAlDR95P8P0C/L9fheLn4a8vlYrSzCUcb6vR2/\ndQZifuvuZefQuDvIUWAdbfOuJbEW0005hmE9UCsgd4lor3Nk+XMiIVLhs2ZZ\nfNUvWA52QX/oyni14AIbzWcOIL3HbUABLH28TIioEhQlXQtw0zeQFtj3K0FV\nS0GnUv6+rovwMTv3jd+ZV3FyYblXWRSdJVxoKm6HO25OGbvY3iQdAyuvMNZx\n7iD+hbesVB+fRPZS7dQ03l2LV7WzwBngeqer7ymssseyk1uaL7Mhu81pf4Vi\nJCDlmy1oHGYK8qVq3cL3lbLfXILI16Iu9dhzanQjlBGW9YVX+ZihTnjU0JaQ\nX8nLmm81NnPNBSXtW3TbKfrfsS2XfZHG4smMsE1EOq2qr5Zc0INAtPSiIDWG\n98PuDXtjBvJFcAtOrIwTRdtOlvdj3llgzXjEUI4rzMMUmGpOvFF3DuwdLD6t\nFQ4nlayaB2jfWZu36JlYxU3gkXuXR2sQjt0HBd/sbrNjZCbygFzEZuDHi0pc\niMk0B2BV5lcV7SNYMDRBAy91FjdXn2ep8bDy2crGz5Ewx7dY+68oK/F8Z6NI\nMaGW\r\n=bYoP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.3_1584641482937_0.687005380480781","host":"s3://npm-registry-packages"}},"10.1.24-alpha.2":{"name":"@preply/video","version":"10.1.24-alpha.2","author":"","license":"ISC","_id":"@preply/video@10.1.24-alpha.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c7b8ce43a00df54536fe715811dfa129002837d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.24-alpha.2.tgz","fileCount":304,"integrity":"sha512-Jtp8Kxnz05LssK+AGho/XhoQ50a5laZzgWVzXx5DtxfIsx5kCyLBQCN/zu/wgfizlBl9c9dwtLWBDRmaS+Cy4g==","signatures":[{"sig":"MEUCIGGXlmkeKryIhayJ9TleIj/oJpPkRlT4dYKCUo8hejSZAiEA/bkCtoeqL8n70Cih3KgoLJpGGXjpQ/YJT/LaVaqqyiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13083956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedIUFCRA9TVsSAnZWagAAXVAP/3QWnnCqP8NbvnFtbexy\n2Kk9I6sQoKSbtZuWCqU/dDfCZaUizPh5pzs9Y3ZnZwjX86dcUTRROk3wsQ1W\nlbWpnSpQxdJNImtHHtvns5NgEuCTkvBpY31yLxaQytHH6T2XFAEyFaGfPeLd\nIk/UXnfuP1R7gqIZpq75wndfGCPMxenVhG5HCMbV9cDrDIK90uyMS6r+utEa\nxaQa3o5ymcZIKNlHM/5U+UJAVwHHlO0DOdO7PKL21hb5U2/X2s2P+WIRTzws\n9o0suwPeuLHaD0vgA9uPQ5mRuOI6NKKtmFH11Lb53HKUhgMsIJIqq1MZYBp6\nKEjCsMu+Qd7w6HhU0AjMrwgj9MUQaHdkfboM9pe6IiiMRcpQ46AnIpkKMhF5\n++8X4mu9FN56HXkdXxV+W2OduNKyn0RQyZC9nCGD5OHozG7Ete+tTCJLyN/n\nQWjbSQuYUu3xBvuysTOhDG2YSLn+Sj94PmLVkemtDcVvGh6L2DypsUAYa8vT\ns34wkDh/DtH2HfiJLiSMCr3Ma3gX/OFE+1LhHKCKH+1E2wQgdCJgWvVNsnm8\nQWG9NGMG84qnS8gX0PP2IQHMJFMEIN1s94cbneS3opfXA0JDTii4kzvvqwf3\ndBxpRA1wJyqUQYS7J+SHLeyMFmL1l6gghEpGnvGefPW10kEo6NV0KLQ240ZR\nOoPk\r\n=ajd/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.24-alpha.2_1584694532512_0.7115507074578837","host":"s3://npm-registry-packages"}},"10.2.4":{"name":"@preply/video","version":"10.2.4","author":"","license":"ISC","_id":"@preply/video@10.2.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"070f0e01352d6dcc949fc3df382309acf64d0bdd","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.4.tgz","fileCount":340,"integrity":"sha512-gI4xVkCkGkMdWrejiRNviq5L56k8wbIi5kNb584zEOQObLCwpJowL+RvFccCytsPEiL0N25VNCpPVWDvnmHqqw==","signatures":[{"sig":"MEYCIQCUTkkVUIRGrzcXup6cvspmbJVwU44aqAx/p0GoXPokXgIhAPWiztK/H+yE6Llz2tncRdz7SKcu3NB57Y4kdV687xPL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13373530,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedLHzCRA9TVsSAnZWagAA/sEP/3Wp25CEMZM0MCoPj3Hn\nNEchq0OInMBYtkkubjfpOM9HXyOwhapNpWnRx1Qyg6l16KXlF0wQ1SFfdkty\nYRP43Ifzu/Bmi/psaaFkq45Hfnq1Bxuturn7WbO0pSoSKusGKG1/EsLDLMht\nF7PrzAeNvHV9MPt7bBinszj4PYBA0+PBD+oHsp8ddKz1PtVFgiFOBcues+RV\nU+JsVr4vyThws2aGyV1r/niwR3qfcCD4ydYArtKJCNNC7x4O6Cci6ZEAwJ0s\nNM6+0K+ORf0QT9DIIf6NNyVoABS6eiFC/OsRRAVEDI8wb8qAbmLwL9o+HOmH\nXbOtT3Wsa5+CzYfTiWW3wqMoludO6HiKC5AneoqwWFZEpBoYxUxkUNNj9QES\n0LeqW9g98Zdeo1u33rL+wrcSC43UYeVEKpNgzvGTtVDwmKgjvHpOQaZeJBtS\n1z9H1OBpTsrs/c6xauQKbLvMakAkUBTabs1jzhgGgjeDAVT6Xx4DgOEgRoLc\nhqT1E3+W5pOGXddHQkf1HVpaQPPX26xd/u4FndRNQq94OjIF7SbzD28r38xY\nl1A0EUju0/patB27uL6WfigYvJHgNYk8Ms9ub05pCiTsfSTWu0m6wABF4uyo\nUARWnJE7Z45dZIWp64GI1oXs9H5EpEQnIwHzQ15eX8if7FYQh8IHmfxNqkhQ\nhy/i\r\n=Es1S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.4_1584706034231_0.7464115732046157","host":"s3://npm-registry-packages"}},"10.1.24-alpha.3":{"name":"@preply/video","version":"10.1.24-alpha.3","author":"","license":"ISC","_id":"@preply/video@10.1.24-alpha.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f10348bd9c84d7d09f803fe5d60f9c970dd63e5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.24-alpha.3.tgz","fileCount":340,"integrity":"sha512-4HoLfOk1I4Urc2ZSFYWmL5YC81TKSbvhkOxadAvh33geG+N4OVQc0Yd4sIV4npv4qlAbDbvdWYIFALiDUW1RXA==","signatures":[{"sig":"MEUCIEGGZMGenw1HUKlVXT3kAR504c1Bl13y3/XyhN6DhibNAiEAvCsvxxzQEanoqhuOPwiDOz3JNLHGDFizjBGDuz/hOcY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13354015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedMWvCRA9TVsSAnZWagAAsDwP/RzDqxzlNHZYYPMt7GQG\n/q6tBhpjagsg/hUOVtw8NuQ3+Fx8FJbC68oo2+GwGdRelmcUjIIf3kruAdLn\ngSOj+cXY8yOFBTxT53hT9FuG+OGMhfND6Ksdc3ruMFLYZY9CFdn4P/pQwD06\nt8mf4CwGiiJLQaespdJ3ZbwSEU7K9HcsB7Q3m3mZRQlseAig4IANHPsOB856\n9rKgxtqcyJIgiePVxTDIRCnk9sZL7OH4b7YD9rO37QRTW2dJ2W3+rva1K8r6\n/PLhwa1o06rjNx26FyRQzBf5kActsWHnso2YaN3cwlwFv4nz1V1Ce9a9PFru\n5xQsZa/b3rbQ59bE08kEmZGBHUqyxJnGgK/+7rWXnkzKsqe2syUnv61uoFBW\nwtQmMoZ1iukm5RkvfqKM7wcmWeBsNbRnJSWc5HxXwbby8YjNSyq/Gtk5Mo5M\n7hGsTw0ARxBJOTopeEGz08I84NquTvc5nUeLaz8ZeJ+P8mHM+mZxVkrJpOzm\nZXX2hSRd7vRX0LrSKW1WZfIkNVRmyrlbIf89dHoI4fUYjs16sW2R2ZPw1kd0\n3mKTwX8ycR/YAE4xI1B4g012z6rDXi5LTMzA3a3NPFC7Yvkg2I0IxRErDn9s\nU2CZzpfA7uDQynEmQpL4Rd4YPFo5EOIycD18uyOq9uaqwJ3YB29AZZpADOpW\nOgbJ\r\n=wuYC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.24-alpha.3_1584711086604_0.08770946025337456","host":"s3://npm-registry-packages"}},"10.1.24-alpha.4":{"name":"@preply/video","version":"10.1.24-alpha.4","author":"","license":"ISC","_id":"@preply/video@10.1.24-alpha.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9ad22ef3fdcd5b1ac7807af8bb07c2576ae1192c","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.1.24-alpha.4.tgz","fileCount":340,"integrity":"sha512-AwMdSD62JH7f/qzVIMALjP3ydsiSLEhhqcKfseZPL2JCB2Ob8C6ASQMvL6eNjeYuBCaZZjhfkGb8gM3Nxygweg==","signatures":[{"sig":"MEUCIQDGa3Xc/2axkcZx79ocNcUNkZnv5wSHHJJgiMKJLTNYzwIgScJCsJNwPmP+HN9zFzAY72OlXsOs8C2rL2leM/Nh2NI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13373605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedNmdCRA9TVsSAnZWagAAQRMP/1UXm7GVqb7LtbHpfAO/\nvdQvjVti0j8CUItgtkxM5TBX0p6stm8pGV7cnztMlUP2fG7PjGB4b2pF9Wqy\nj4jyKL9u7YZB0e6zLzBRULC0O8baXnDwNpORGDfaf3scUhmFM6Y3+SNnqVqE\ng1JwYvfNhKvmfclXkANYGlngqqb4OucOsgqmCGHfl/bZ9WkL4O71p733QdBW\nHzAA3wBikjO0aPGmMZGS7PfwxLp+mpLMIw4TCkEH/Y2Fj8IfJ9AUBI1xYHXY\nJf59jLk+bv3i3TX4soyfpimFEJtfaFdPjsH6ugkIFker5KcHlAMaSbZPm1xX\nEcGm6aAc8mnP/s4KUj4D/a7M/frdraxfdHVH7rbdcIU2A3BDOxmM+LI0N/LK\nZvEnoeU/AePg+s7y6Pa9kNKf5cS19sRBDXM3HxHum3hQQcrNKTFkse2fNG+k\nBKUT6kYDmd5iu+lcdMy1y7Iy5heUbqfAvVqAZEmlSiX1mRSLPBOgtvUoVBQK\nWvf62GzXucr+FeVvV1hX5K9HevMlbh+rq+kBnlhei3qb9H1D1EXB4rOc7AK7\nEeFpxH/RsNFYBuSP4BOhcIoEL5+HJnyKyDZ3nZhJt3CKS+/qVxyrzAiZwzJA\nqvBNZPENim4Y+cFXldrq9tj/qgzZRVZYmp0kosta0BdBdwV2v95fvoH4aWkT\nVyiy\r\n=977f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.1.24-alpha.4_1584716188922_0.5842805445516968","host":"s3://npm-registry-packages"}},"10.2.5":{"name":"@preply/video","version":"10.2.5","author":"","license":"ISC","_id":"@preply/video@10.2.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5115be903c9401fc434409013724fbbc1e8e18eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.5.tgz","fileCount":340,"integrity":"sha512-1lnp8sOoDVzjCxKL4QKQvTSka0hvQJn7wXFnoiA4TLmbs7I9UlC5dFd4iWz/pWRX2fIeaDT4oxWqiQl0iszJyA==","signatures":[{"sig":"MEQCIF/HrWu0kdJ9N5Lr18e/ucttY0v7buRiBhpOBAD468ZXAiBiBLeip2MGz2EFYPCKVs+HRiX89Rwfxaw/pGlTiIdmsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13378555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedOnpCRA9TVsSAnZWagAAnqcP+QAAzbjfs4tcTl7LA5g1\nl8AAyWBNK46Wbixii58bRvlHKN3j6r8ilIGBfXz8Cxa+nszHfCsnNEVx1rkv\n2Z0swq9sCWbsYvObMjA/1uu7+nW+ulMyRWuxA9RUdb6Uhhg2hS9cVKR2me+A\nwtkRpi3I+2gRyG2LDzBPjat6aKTpxrBSEGSSq75qMAdG9SJrLyKctJtbIhMA\nlCIxx7dB4Ok2yKGW8zRy/UZdQ/6IEm4w8SCvsg/QeqSTK3vdmOAIInPbZBcM\nmvVMI/iRD6OX+ryvP5vE9TtiChyjbYE4xY1djITjxugNFTWbuLdnYoMwJ/ww\nXdkKjWw3+87ffGivbl2h0vAQKbBdp76Iu09XWVyg+y2Zg5j15iz1DlIDpUko\n6fM8zG5athQXVZFMJKh896liDAehx8TivuMYu74X7JhSJal1n/Cz4r+q4k07\ndrn/ndSwLlzJuEF6CWt8sME4yr0WbLc9+9glgrny1A/eBKxwUtUGu4Vk3xxM\nk4u2mkmHvNXv/P+x1AFhhDhP4sOWwl/9DUyYUJPtJuWt2NDAUcR/ZaJcBu9R\n38Yx+yYgF+0YFJGBfcPj2tKIafs0OVH5M4ewUg3ZENOEA/ID2iDw2DuaND71\n0bA+fMlO+Ekjg5qyxpi5kBoznkFj0wb2hNBt5/JDPimEVe2o6BQZc651Pyqu\nJmzy\r\n=0rTz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.5_1584720360460_0.1954522257431559","host":"s3://npm-registry-packages"}},"10.2.6":{"name":"@preply/video","version":"10.2.6","author":"","license":"ISC","_id":"@preply/video@10.2.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a503f32fd511d39b3ea5ccb2e0f7909527bd4923","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.6.tgz","fileCount":340,"integrity":"sha512-1miz7XuUObs6/uwFFVP9SE5W1W/7drGTbUrbViW+s+RTYm8RDB/899VLLmFVjOr+OWUN+B4M2FZXL/1rO4WRAA==","signatures":[{"sig":"MEUCIQDeNOZiy1TOpo3/a6J8Yru5l0yWZ8uGohfxouk64T0WsgIgTNmEM+hb+q8zHY2r/9XEB4pbXvw/g40OQIasszaYm0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13379280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedPI4CRA9TVsSAnZWagAADOoP/2RVNnqhmr5QrhXcUDE5\nA95b8d8Jk4M7LK2qPJ1hkT1p168NPeQ3wB59Cv5d1y0gqHZBloDyVIuAgjLf\nCu+mVYOXSjMC4xL15n2xl0963B8A72kXSdj1xH9FfwVoyO9qL/zRZWfa5ZM0\nznZYoXXvK9J7ne2Sp3BxqDYJr7CFont+Ova7gCesnDixNBiA4n/7o/HrxcHH\nQJ+Yj7x5gyS9E0U3NUEw2k/AYoyiusDTgMOrFQMEHMW0Zg7dI/HGRGwTkXlU\nzTPDuvM/qzzdm+B0HL40t94YEfE3dgHGHQ2AaNoAEkc/8IsseljdwFfGyYUR\nMq7389AaMZP86D3ncwSYr5Kx3B1xhGKnyj+vql/rHHdSIVWbrJnUSYW3bofR\nXN+kVIFQiT4sGLbH8Vd0SDuIGcsYBI7O7QtnLpTvG3DwG1PsYE9a/7aIIzil\npmm69MCQ9YUzDji49NmE+q92ESunodkbEDarsS4aXM1QULU/oyDImBEW13Pb\nO/sHBJOFKFYjh3NqIW8WdIRs1FPDGcKZ6eLYSmcFj8Wo9RlMwmG0RFQcwN/Z\nG8QHc0c5m9N3JFw2SEz+d10Tzf7CcnZDzzK9sFVAn+AFVS8V4pzwooKGL12i\nyZPq7RKTH3je4fkTE2OU1vK/ZRKiNA8JxkaO7lMV486Mjibu4dqH2fwMj+31\n+DK4\r\n=BOAf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.6_1584722487271_0.5999435041690286","host":"s3://npm-registry-packages"}},"10.2.7":{"name":"@preply/video","version":"10.2.7","author":"","license":"ISC","_id":"@preply/video@10.2.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c86b54b05762f06d1519091fd00bf15838cafa0a","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.7.tgz","fileCount":340,"integrity":"sha512-ht6ZFRkPvskTLRDTXm1xljU5F5IINnV9Tj/eEIgt1tAZrOfFrTr4y32sPp/KJkxAkzQVUv3J6XFeAh2EETZR9w==","signatures":[{"sig":"MEUCIAIysTqhTBLbpQNPVODDZqSYhoamTcrhJINICyrteg85AiEAp2tYKrhikzZq4BcxuAot6cCIMEsrr8BL/PrujSmhDXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13350876,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeLtmCRA9TVsSAnZWagAA88UP/RBuMhgj5BoljGCiB7OW\nykOp+zQ+8ZnWzT8K4dFzEWKzW2tbF49Qu1zN/xwpBlTzp9q8qlVmm1VgwzwG\nij86omWMHfZNJMH7ShUxkaI0oC6c12MHnXcXq1L9e4SzvwUKDi//6XQ9ckxI\n+GdRqDbtGprFZC27HSh9KrnlfdhJisr0z75Uj8PmC0eqrwLjguLfUJp9Boh1\nGQbU/RvQ9kUzpiWfo9ijANrzaL9nLt6x5WbLp34PMPKpmoJGNUdSWGRLUKA+\n4cP66MYu48BcOvMYtWRE7vJS0IHWJuwhD6otn03olwrUswHlqwOWtIjAHOsU\nB/k5vGvMwm/SHuOi3sr/BbKr4J+PnUp8Es/buJ+FPMkwMnoCH3r+ONy8KcA3\nbKd3nWdBrgxwbzuU3JcvplZSVO+C8F6jkUyWxBKD9TPgXzJ3uJHlw+uCtAt3\nzxIOwa+G+I0wcBYJzjZulguYDU0yDVKYFyodAV0BpU+GnHshWGuVkRJsciRT\nAZ35vVkmp5zqJJiPHwBUGlEm3k896NWE6ph6LlltpeCa7MmmX+VootxFdO74\nVk/t6v0hoxjD+J6ATksb0BKumH+h13sW/LOhTTd/FC74yspw1aRPGUbLZseD\n5ERgpiMeTPGVmtzgiMm2xX4b9qJjucR0l2zt4joDu15/FiQ5nIZwXWv4IFV/\npsNc\r\n=dVlC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.7_1584970598105_0.012447179001092046","host":"s3://npm-registry-packages"}},"10.2.8":{"name":"@preply/video","version":"10.2.8","author":"","license":"ISC","_id":"@preply/video@10.2.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4b7f9c355e1aa4031f10b841038e6bd999c798e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.8.tgz","fileCount":340,"integrity":"sha512-v9CBzGgUvKZtgAVWwME8N7O6KfuQUe/CICVhQyXD9dRdMTo4wx2yyBuKFqAXIbNaNs0mMwWipPLuTH4xVG+Qpg==","signatures":[{"sig":"MEYCIQC3CEOs1ga6puMVVGCuKFCYkLPyuYAuqXsTCXgQTuA8/wIhAJ1KGVDlDMcMb+q7tLE9GMAwmp7gxgV/D67/44fHSnnh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13350869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeclPCRA9TVsSAnZWagAAzREP/ixSiAeCBOJz7S8EUmo3\nKxopVa+y+L5Ejq+JOjb2MnRQMKTbfayJNkdJMIj/baA4QOfki7rsKxnvIEAh\nwMe7+HOm2FKj1ZLYy8Bnv4UZNiCqsQRQwiYhQvIDk5e+MktVwFpphmGNLdhv\nN05yVvizXPtdUccjaIEWArROCB90hOQ7epymQpsAaE9qrjefDbX1bnv1rl0A\nCjhYaaDaTKs6kdtGEN7HUm9VNGMaiUulB8Uhog13utD9VedtvaIp/VptSwxE\nC0egP/gk0ddkgGejpGTU+Zlo7PFuYV7eXLVfAw5Z2yjeb7COAUVS0JbsZ6Wr\nZmW4wlR9wiDRQE8gz0i88I0MXot+Qyfmm3sC5KtR5XnnAPvYq9WF6jeccKVz\nWELddmBPFrger2sJZHMDMuKbIY1swPVmoP24hyqoG8zzGfMquoofVHP4W7aX\n36ZhTDK0A4MAD01LNTpjlPGSPAiCz0MMoYkZpa/Q9IjyCkYSx5/yRamQB7al\nvh5zJhJAjysW/QrVRpoYD1a5B7ESboP5f4V7x4cQNsxwErjiI8ODITrAVwXL\n74ULf67O8/U0uPNl/U1soXzpEHw2uYbBlYwzgCBjvX1qx9mNDaPOctwi++Ng\nR+1a7Y9YVJ1/DHDBGkOQAJCdKHMTw68xNYutr92/X3ia1LoIwZg7zUI30KIA\n4A9c\r\n=iHcb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.8_1585039695276_0.14632513247259227","host":"s3://npm-registry-packages"}},"10.2.10":{"name":"@preply/video","version":"10.2.10","author":"","license":"ISC","_id":"@preply/video@10.2.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"13fe9f0d93e5320379c2138b097281b4e82c3c3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.10.tgz","fileCount":340,"integrity":"sha512-su6X6j8IFVsiVNuVfUoFjn5gbr2MyZJ5J+xTh4XcZn7ynmfO2YVbbJwo/9qAB/Nua59NmZ21wWB6IZKc8V6KYw==","signatures":[{"sig":"MEUCIQC568Jh2przq7GEXd1xqlHuJyg+1vYyS4n58G7DHrvjEwIgV45bb8H6zowcddCueX6NVEmiimkJknJiLtKd8nn2C1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13391470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeeyccCRA9TVsSAnZWagAA/LMP/RTug24Bkiq4HYyTt6Jv\nkDILlOJkCPrv/g/mjM863y9p4K8LbBH+vkUZfC4NMweZQ4oI/j8uleQfQs6X\nZ+6m3hki5iuzt1eenV0/ge8J8dD2XgfRtEaqjYct2TKpB63ib4MTAtNSVXEF\nB7wMVIZmXE+LJUR1qH8gSMK4rTSXr8sEU7NgZXiNmEB10CXUD8umPJQqFM3r\nCIjc8jKjAxn6hwF9jgPu1zNvoK3goaj2D8kGjPC9MJ6JYoi7GYiNMHK6EI+x\nTvdTsAWngeFI0Pq7J+YBFQgjzy6RGLvs7z+kb4PSKs86/pYJd7/vubi3pa8K\nk114zktoRKXq34+6bXcplJc+7d7G3duG7ZreHPGK18qzXqO5LSaf9FpNvyq9\nI7oKCfw8y2cBwdsj9amxV8Au/5Q9gOsQ9sWInuMOwiT6Do0Os8AJsH++S6WJ\nVce7QT73w1j9gFrtbrSKe9v6EyV5EqAjI9UeWl83ZoCGWqroojrv9NWkRHwX\ndRl2SqCaHco78M5ft+Zxfw/SJYFGJI42teQn4xJDV0gtj+rbND7tEY60MK+I\nMoMel0mpLlt3ZywrdP2BrYorXfMgIM+KkK6q9LHol3nUDm6vUCX6QaO+OFa+\nzAJeZHhcuPhFnzlNTHylZwEbCnwpJk1H0FDc+qO2fseB2tsPN1St89r9X3iA\nR2Gl\r\n=EhlF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.10_1585129243453_0.8029966791998617","host":"s3://npm-registry-packages"}},"10.2.11":{"name":"@preply/video","version":"10.2.11","author":"","license":"ISC","_id":"@preply/video@10.2.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b3295b0170ca672df54573dd008159d27e105270","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.11.tgz","fileCount":340,"integrity":"sha512-/rbPUS6BvgZwgwe8m/2Chtl9FgaaGfP2oiQQ/9tFo6fHEOX1lSOH11kMQsMpxMtUbaS5OS6jdvP9kEtHD0aqug==","signatures":[{"sig":"MEUCIQC/Iu3VMMotbtZPbUzsigwym3pQnrinoryGy1zhV4rWygIgMYUXVEIIu4HD0fZCZ/bJRNSGJa9O0Xiu93dZlFA1PLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13405122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehG7LCRA9TVsSAnZWagAACQcP/2fFtXT80G7Nt5GaIQe7\n0GA0P4uJftsZqcep7G0osEbYh0ZO/R5KpovyYZ0KGN0J0d4F0pzl4YP94db7\nGvZUcA6fC23VDDmZjEqg/ugDLUtHD3mrGIoD9BxIYUF7zv1HfGAqs0R0LZbD\nOPrh6m0UNNdYHMbtEVEh6X/uQCmSOKn8m457Whk8FmPL4x+CPYGaA+fLfu+z\nkE6P3tzeaGzkc8BeEi3qrt26ynGPc1PQOdQkaXD2CtvRlymxNuUztYZAcfyZ\nfNMd8h+gKR5FgY+cB6ViTjVfkEY9ClRb7DzXFZ+vdNDMeKNPMBVpB7K3FVPx\nuXsBSU+W7JJKcnkGmL9xAiWJr0uH1aqX8h59KDxuZdmOgcQGqchYhoKcyNJz\n1MrFa0DraZhAS3EQugCNIybe8tt3jLvFkZOy4JrQE6vI1J1Cxzo5oHySLO2J\nMwv56if/v/NN+WESbOoQzkualVwjkChSxxTkaZYeIne3xtjESDcnGJJ0atBi\n2DWpXWsk4gw/joJTUuYOc8ErvkDMVUI0kcCpxw2Iab/LKRaXEvFSEni7Ai4w\nAFuJa+UwWFJ+LjDsnEGv7qv/wMmQ7ave6JpzhwuLMlsb8PER3ZD8OMP8Aji2\nI5me7F+NtSOla1ebIlTa3bNlOtWSDf6ESxXnA4jLZI22k5RHcSmlqiOe9L5t\nr5RM\r\n=LpUH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.11_1585737418924_0.21695956343609013","host":"s3://npm-registry-packages"}},"10.2.12":{"name":"@preply/video","version":"10.2.12","author":"","license":"ISC","_id":"@preply/video@10.2.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1dcbd51321e670268a794ff49fa18424438f8f26","tarball":"https://registry.npmjs.org/@preply/video/-/video-10.2.12.tgz","fileCount":340,"integrity":"sha512-mf7GlJudPN/rrnw3Gz5vxmSU/7VhPHoUoJ2T0raoVy2j8+c50oMfYmaRDs0oCD5Am7MLakhVo5h6U4J490hDDw==","signatures":[{"sig":"MEUCIEDSHYrlE8ZQqu71zXoo2MolXYsEj04Gg5HZcGb6SUyZAiEA+AQu7MLN3x3YqIvBQ39WLmRNKHNJl4zuTQwwq5TWVx8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13406022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehfIcCRA9TVsSAnZWagAAwYkP/R8i1EqhPlqJHl03K8Sb\nItKWSLooHBjIW4vKzPkc1yDGkyqj8O1yvWMc1tDi/ebMrCZq4S1XuyJFExk4\n6TOcBR1acl+frYTCPLnydVkVrlKPFMLOCYAj9w99K5bVqr2gVPhYG6zf4ytR\nOmncpJA/8jlqCPdmwoVQ/PvaikI3LRrTEUPglki27xl289Haq3RP2IWHr2K8\nPfUrOSnK2Lf6oY+qI2punNKxF6/Rrj6Su0rArcHjPVeeqEsPzw6iaUy6I0NJ\n/OJlA2WbNTBJ5hEJqbFOSbhodbaf9FvnjNr3YvUj5Xa3FOJ5jvoEXOgRAtPq\nP+czv1oIkGEeewFdhDxiP567FhMJZGFK6MIl/4gtfPv4//X/LbutskcOaKgf\n5DjJBe2I5bRZ4+TcgJdhjjPtqUWRbFnXr1jiDJ5LoTTAcvLCRPAITf1BcT8s\nxZBTfZO0lkGLNAaOfQaW+EPkncHdz67fP434MrYGfluirD1+tYCWsrNcPt6A\np/+3vjH3RmFDYXw3Ttt4vclNZyaWQwFqSntb42dNS4PwV/ubPQRY/Li4T3FH\nuV+GIaB+awXI+P7cjtQtIQK5WX9PnkGTz8qDRTUyYFHfM4PWafcgalU/Mg4n\nWJXwxJXuPtrqa1RxWL+kE6JdLfhCLJI1pAGFkqiGZmMDGoOJ6VzlYjE8uwJq\ntDDq\r\n=8Xo6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_10.2.12_1585836571592_0.3018697603389686","host":"s3://npm-registry-packages"}},"11.0.0-alfa.4":{"name":"@preply/video","version":"11.0.0-alfa.4","author":"","license":"ISC","_id":"@preply/video@11.0.0-alfa.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8408e0263432dd1d84c46be0e19d050ca12e129d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.0-alfa.4.tgz","fileCount":362,"integrity":"sha512-GegXRX/W8bRjiqPkDYdkFH2w89jwY41oxfDYcMhrm1PKNMV5Mg05w0IHL1yfgx+OoBIEqjFXQI0nZLfdXCy7uw==","signatures":[{"sig":"MEUCIHIV2C7Ntkv2NS3z6hejbPKrt+qI+elcuxagoJtKAt/dAiEAkEf1FVx1Q7Nzt1SZ/FQ8DzRwPPm2UJFtdsn6RcQ3SXU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14133471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJehn3dCRA9TVsSAnZWagAA74YQAKJNHCYK4ZCFKTRehGzR\nPWblJWHaQjsopVfhMR6TfGWau10EvLNOb0reZ0wj+8Gq9ZHG3U6gyi3fpBjT\nCcC50/7C9Q9XUqSSRRE23fWtd2QWLZ3Xn2+MT32I679Th5C/HQQKkE6i+h8u\nqj3ETYsddsciOzlP1IZZaW3eahs1hGljWpaX5zpbgCBs0GgaGu1HT/1oP/JI\nmy1HF19YJDvIJzFzCiNz4koqytRpLJH0dvWFjAJN2mztXM2tPnII8tekVXUv\nK5OVyAvAMZ+kWUfxxrLofdlWKbTvJPptZCS0135I/ZbLo+hcL94rFRj5o7oS\nUVMjhZ+P1Y7JO7H1D81bjezK7oGZ/os82OeVRubjpkWmbeQMMOWD5NBOQX7j\n+08qYf1g6ZeW4VTLMu0+NTPJjDc3ZVXfnu572mIo/zCSCcSrfs/B20kV6a++\n+KvHXjnnR+/gB69HHlEClaWF9dqW9I1gwvVKgD5A9hI3gXklPIG5DM/XU2fi\nJN/0c3HLNwgUV61BV7ZPbwAK1vcRX2tUHnhpuWYmRNh4GpF63KojOq4QdxoH\n4RlaQpMD45Y0nNGRt3b19VtwjIrX1ZFGKMDfuK3vfGBNvRQCBf7vLpR9hY9Q\n7iGRI+RnR79J6Qu6Fpt+0yMAIirPn2r2ld2C0lqaDA5Yj0WvknbeI2LDMCHb\nAraH\r\n=AXMD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.0-alfa.4_1585872348900_0.8147076480009205","host":"s3://npm-registry-packages"}},"0.0.0-button.less.2":{"name":"@preply/video","version":"0.0.0-button.less.2","author":"","license":"ISC","_id":"@preply/video@0.0.0-button.less.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7ff3070f2915bb9e1f4f4a3623801c35973a7cb2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-button.less.2.tgz","fileCount":340,"integrity":"sha512-sszKGjNxmIn6MG71ChU9kfOzlE5lnK1tEM0aXrUPAYG/8Tf3iRoMzNSA0OM9QpbzBcSX1WIVkS6r3XmuVXqwfw==","signatures":[{"sig":"MEQCICQtYDVsaWyhN8r/pSSh9KozD5yRVQ8xJwslad+pny9MAiAPPeSOB9z97PeYDl9PCbMBCPzatbkWycPMpuzRfSNIgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13406139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiy7RCRA9TVsSAnZWagAA4fgQAKNQZHSpkGzsCGduQVK/\nzrTO+Sa+dwqgs5msgNgWskjNWfva+b+BwEV+80b7fi4lFwfYHT1WepQ5kb7k\nLoe1avzuC0GRbPtEFRVLRt7MSkgj7YqRwFinyB+SyrbKz6qZuJXx/A9cC/Sw\nbcWjQHe+uHUbXbk2kZQJXqhOFoO29K+G1sKdFtIVRVK4dX7fYBf5f7y4dT8o\n539k9TTdwSTR1oL3pJRJsNzB1jKrB9EtpwBdmnjF6zasVcFl8eIhgrEihXXz\nDt25xCg+BkfMyOiFixzSUfQ4zDFBeXr6kD/tFwQ0rqcW0lpUas/DHEgjAj0l\nR5thUEvW6ToSxlre7eIYcjf8eKErqFIIyAFlIvHVThrZWt6UXf+JNJKWBduI\nsx9WI9CB26rkHdmiTk1k3FV9HRGAs/gGMno1dpxE9cuRQHoMQTK1Q84y3Mxu\nzoTAkRK78f31Vh/RUl8IUURB6tPZaPUgRf9Bhw/MBib1uBzH3GmX5KorEWRN\nLzXRr/s+HXNDpNlJ6IBPPKrmmRvMoGnswzgjCdhq3gYDeEriMaPeKKIUxdgm\nJtb+MIOTmy/p0BjceExpeIX1trW9y7cp/y3JtqeUzcPYhFqJcxaCKOKf8Z/V\n9WkFt4dpiToX1UYMu3E1NUIM6IW+lKIW1VxGi1dvZLB31qHRvIxHI1RH/CFL\ngu6L\r\n=dU11\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"^5.4.15-button.less.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-button.less.2_1586179792946_0.5492880589281828","host":"s3://npm-registry-packages"}},"0.0.0-button.less.3":{"name":"@preply/video","version":"0.0.0-button.less.3","author":"","license":"ISC","_id":"@preply/video@0.0.0-button.less.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"289c942132b80a99a86c38dd0a96b1f2a53d3fef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-button.less.3.tgz","fileCount":340,"integrity":"sha512-rmIkAOYxH04eQo4tXUg7VI1oeMZ91OzX8Xs98l0Ck3S7SGPm29riCKiVog9C79Rb9Md1zcjHrhwARzNyXfVpjw==","signatures":[{"sig":"MEUCIB9XM/f+yyAeJJkcplGwH8WbiKHG5iL1b9IwfbHeYhq5AiEAtbExPty+PensDbn8/+Tyb3ELfWQiVvLXERLOdwbvEWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13406137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei0nUCRA9TVsSAnZWagAAFQUP/349MKfh+ycvUikPyXMz\nmNvPcUtq/92pPkm0MsYWcgxu0N+TIYr8ULUcIuGcEtJEKVbL4gISdn6JcVnU\ntS2dWU3YH61z4UtOFgeYC8dTxxeP5ohwmlRHh8QHYpsmouwG7eyhx6FhuFd5\nPnGykwsIpNMgktW2+KaJgweo6tuyTRYJZQswFGQidlcyLiuBerryZHcAUmNe\nWCzzocoWxA99UUUuyhkzfY1AG3D6kP2gXQH2/jQHYkUJY/yDZhY0CpHGshLL\nAuQfMD6QbqOU/y9VtjdMVbyPNrV2s1nFHSERI7gcQ/bwde4i02O/zxYbekee\ntFNq0vo3UpwTSWWeCJH2z96WTWbN5ANQT8YOorZ4DLofQfK4KHtTU7E1V710\nEuDxmX1umnsbUTe4k2bN8RlrBSO6CMKMxgafPkRVbiL3nZb7Op+DdPW0JWHp\nNPHgQvFav+pPz2HpjR/pdStQMLSVA9jK0pRGNwYP+RNyu/WMOmi3ZCLY8Abs\nTOPsp7YQj8A28ziNxQvatZ3QEdTxCB/3AAHI6drVRin+80GwGZEYjvUPquAH\nuH5n8WJXKoll4a6pS1txxCzQPxpTWy7Jh0V3Otsq0zaqxDvuIpS0Y6tzXOpi\nLrE0C9tIe3TWK4VlnuHrT9M1qQEOugD4Y3SvPeY2Y6JxeSkuUBiEfwxtBuLK\n/1yC\r\n=w6DV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-button.less.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-button.less.3_1586186707364_0.712718347696349","host":"s3://npm-registry-packages"}},"11.0.0":{"name":"@preply/video","version":"11.0.0","author":"","license":"ISC","_id":"@preply/video@11.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"33b01895a62eeb6e62455dbd316388192af34563","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.0.tgz","fileCount":362,"integrity":"sha512-V5yKUSEQ8GHdau5qRvjERDOl068X9528IgiBcj439rJwghZwSCo8ltOEsFbqiqiIdXyUJ0+46eFHJyEAc9p5ag==","signatures":[{"sig":"MEUCIAy1HqAnzBShdHaSlWJw4+9mZLgBoyOwxzd1B0mHvvFBAiEA9o4UR8Iwb/dp5xOCPGKGeC92FdFEnCTLhVNfCDcO4l4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14133554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJei2hxCRA9TVsSAnZWagAA9yIQAIRQVrkFe5lg9NugrKDQ\nybIX8TAd+ZSh7FdqrzxH0hEAEQRq1ScbYssVX7Ceiu0f1iE8XxB+aVmRbltI\naOLK4npDmaWPXE9JAFvmpBLa5OzONQixCKsStVtmqqvni4Ps/wLOgucr+ZU+\nw0UfStZ8uQ7GWgSYhIvdOEOBv2ZZmh7DyFZbRvMoKYKdBHCXaewn7fGoobD7\n54IgFurul4mLo2cMhUOgXQ9mty3AFrwWqfWY7SxIsaAdUeF+MvTOR0dYxwS/\nTwMfNG3HDjuiAw99MuY5Da+jr9YTBjlJGrnuyL25WQG3dfi1fUl4JZ+VY2Bg\n0oPxMfJl5jdaOUXemoNyACLGvN690JCzutre+QK08xtR+Y2uCWnGyEKSF+oq\nLtCtT7ScNrhBIwKWS6FF9VsMgQ25YF8sb/Dhk/rf4gkADclVcP5Oasovjf8J\naCb0uP1ew2uLbT9+9WFirb70AG1OFrBlkuDVN+nNEZlzU3UFEsP/TwSVDOuA\n3fBj2MjN4/lfdkxlG4jklOwnMT/93BGbR6v2YRFwzcUoUEsk/5YywaU45m29\nO2qieDvIfHjfQhvN2TImcvj742G3hSoMFWq9pfEXpRESzByo/zXXaPq6AVTH\n08AoFCuWT56sONCGlHOSB8gsw5JHbUuHkubokZW53K/cLEFIiKlo9a+sZ5GW\nc6AW\r\n=0S2y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.0_1586194544434_0.18674803727081057","host":"s3://npm-registry-packages"}},"11.0.1":{"name":"@preply/video","version":"11.0.1","author":"","license":"ISC","_id":"@preply/video@11.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"850e0416afb5b13c92755cbc1b35cebca6b902bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.1.tgz","fileCount":362,"integrity":"sha512-jjUmYNUNoTe7j4WqcGGAYJMPFfwyJFD6hma8xMQARswsoa1Z6Mh6fxoOfGlNo0hrtW1fBmb1cyKeHYI8PCq5/w==","signatures":[{"sig":"MEUCIQCk9v8GhzahXZv1MpB8KJyUiOQFbUNruV0E3BhenviIXgIgVcHuu4XEVPNVEI5C+0vYJUznXvNilQejaa2mGB1Kk+s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14148142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejGyNCRA9TVsSAnZWagAAGGcP/2tcZzAlK0JE6HPqH4Vd\n5nxv8NWh7wvqfZVIhhyhxZS5hZ8stjzgaYSLevSk0rmqIY9BFDTClbosoOKB\n7Y3ajLc3+D0SiuJygyVJDwHDfO4aXXDNoIQqqCh5BjR/w3dWHs0m26/+07Wc\neF7gfblm+SPLoNk02lN0JWEilBp0gMIszaMrApGoIfkmaruDQAow11pl8+nw\nLUhK88g/a98fdpRrqbrnyYExRa73c3m1Kp0rF9cjUkZknt5BfFfgHtHoYkpW\nrjPLQdG/u1EqNzBQtNU3ooTC0it5mCuMFJKJQ9wJ5u7J0o0F//5l0GvVtlyS\nAIemmEguOUjOFLOk7a6qIB/0uRk53X9iiELapwpkY0n4xBAg1ma9PBm3G+Yn\nAdM/oWfwppVtq/3d4MwmW1NQpwMOY7WJdMqShYqcz8ZcR9Fzs0Ims8dmoObP\nBZlA7/nmLuqLy2SeBNK5AyZ6w7yOBaCBbQlFzCB+w5ngb6nbFf6+ZrSTLt3G\nS+dXJK5xPhN/+46mZvfcOMpnknyGqxpWb7M7aemQM9uO2+Sl0FOCCSoPdMBh\njnPOQc0au2gFVgyvrXKmM+lUI+QFu0brhQv9FWl3QYIe5dbG3GqMgRCi52N6\nFu+yjmujGriN9fXQNn3BosMUP4FnxsuTZd4wtwLUKn5ZTGVYjRoDqgawM9Dd\nDFZo\r\n=lbfG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.20","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.1_1586261133045_0.3684032152509147","host":"s3://npm-registry-packages"}},"11.0.2":{"name":"@preply/video","version":"11.0.2","author":"","license":"ISC","_id":"@preply/video@11.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c6aa8fc3ee68a948d6f51e1f9f4b87c1c91944e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.2.tgz","fileCount":362,"integrity":"sha512-fwYMZ/9sPD9c1HoCHzinAdroHMark/384dXWPstG5kykIzRjTm//iEB+8WZ9GfkyYcbcnjgMvCjuToVH0OfQLw==","signatures":[{"sig":"MEQCIFB0n+CHLc4iBBV2Ojp7b20UQvh9r1pue42RdJ+sGKCAAiBgqB9zge+f4rnUPbAsG9ZDGnWJ4k0Z3OW/oS9FgL7xmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14148142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejHq2CRA9TVsSAnZWagAAO5MP/1sR6Ug6bfd/gxvGd/sI\n4iATxAmkjewu3wWMQg7h8pAuYsTdPa49HNscMDqw3FtOl4lef4af+nzcVK8c\nhS4FJa9/39C2bvAH8gJD8l/Caec5CM6P9+WF8YRwHktjV9N+2dDTcund/f6B\nVpx4txMyoe103Y9dP44TXonQslVoFpRkZ1s87eEMRuWZi0VOU5Y/uFt7ky8s\n8jUa0lWRSppFG2v2PBrmvPslYeFUoYhT6LRu1spBZHdDG+AeAH1wjhDkdM0J\nLQrNFw5aJLrvfNHtp7AVo4QXPmMH0YnwTNk6Xvqh8JGFxEb0VhXt8CIDNsRT\nMJ533vnF+ZMaGOvCMd6e6N3XiXX9IOE4gsbrRbv+M8htKUYdBVUeMNGXaRoe\ntJv7mnKB6ghoYE2azYq/fbXaLSGFaU/1pzQidEc6uwmkpxp3MDMu+udmzLRi\nORq9XBKQfn7El5hSx6rIO42tLKAN0HLBvOmoLkvB6kAUM/AhkszYY4ITPhTy\nqn91TJDYo3eOZfc//C4MH8bNRCpgwVPWYqm7QDMN25KCrCktCQqQh5Io8caV\nqCqh7Naf5E1qMs3k1e5DEudgXa5NUcouGecEKbymR9xdUngcoQIUTnwLTfgq\n5kzWgUqlSjLN2rDgkkDKaIulEWNM5PC7KFDktEXRpa2GtmOR20jYcwqfKBWS\n7NyX\r\n=7M+Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.21","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.2_1586264757669_0.564937359472589","host":"s3://npm-registry-packages"}},"11.0.3":{"name":"@preply/video","version":"11.0.3","author":"","license":"ISC","_id":"@preply/video@11.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f7dde96b52afdb6e1fe1ea4dd35c074846c23660","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.3.tgz","fileCount":362,"integrity":"sha512-QN290tCupSQJ7Nx72ItiqiutLVTHqXU3/gEuorK0d9EPy4mlVC2W9YtiAUf5a51mLyxokzoxNKFQVOsrwmf0TA==","signatures":[{"sig":"MEQCIEGIZ8f/n4cUxdT9UOczob/408kxnPvFwHKFxk/4hGjjAiAOxYkpT8lSh+/mcjQgnKGqJ4TSkMID47TpNMlOZ/OMAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14148372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejIK4CRA9TVsSAnZWagAAT+AP/0jrgWDp03BGx6KJUb+K\nXmY4/rrGjzU1T0nlsVYQTTqbutw3OpsPzY+D5qCoBDQxZnT4KGZoos7AoZq8\nDODloJIghJGCi1qi5MlHlGuInBironLOK4R5fZVxuBiLwiquIfmsLssOgYhO\nAShzCepd+p8XZAdn0TtBmyXsxFENnxYOChtTd6JHmJPh8EM9GgjsiOXCgKax\nmEFQuYXxw0CdfyDaHuvP9FokNjUb9LxetGdNbCk/wuqHu0TcBRJgqznHoXiL\n2zyXtJwxBgQSWK7s/IAi97XGaDtKM7y05J38ByZKFxHCz0UzLuYq9kMiueX2\nsABojBgbUWSwp5rT0ITuid+T4Vqj5oNIjJjSa6RvSAwSsB47+K8/jF9cv8vU\nARe93BT3ZP3XucjqGl/cjw+ZXgh1DYI5rsPlmjGrnaKt0K2wO379b7/+mT6D\nBdBFe3pnOe0pS36QZqa92ajaiiPbWUvfsDwKqoH92TaEr8AsM3WIXxG0HdxR\nXuqa1x5SyUao+9jil+Jl3wHlYcOn7LNOSumBZqV5r+8NFWCPq9Jg1oZDvh0f\nCsBubG700qCBP54XMDp+Fk6XO/bAeXuQEOp1rCulURfDZLeB1xOYQWjnwwPX\nQkWUpOVtQ05CmHWmeVmH04O4pD//9vTPEMBlVcSKbHrfAupEwXgMu8Aecd/t\nO7Lh\r\n=VEkz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.21","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.3_1586266807265_0.6853043727311658","host":"s3://npm-registry-packages"}},"11.0.4":{"name":"@preply/video","version":"11.0.4","author":"","license":"ISC","_id":"@preply/video@11.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"44e7664102b0ade4b4cada66736eee0846b44df1","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.4.tgz","fileCount":362,"integrity":"sha512-rdmm9cw6z6paBfG+7mnjUdUS87ha54eF9vjPz7ljijzwszHBcOqmDQ03fOZV17Gz04naIE4/EK4LvJPvCWqVXA==","signatures":[{"sig":"MEUCIHcGo4EXM8NF+k5cgNgKLfMK0jsGy+kWAoVBtxTRbsEaAiEA17JC3I7igEOqS9LO9AfSNYjY/bIwScmee/JrXxxKLF8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14213299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejKzCCRA9TVsSAnZWagAALJgQAKRkBtud69ucf2ndZ7Qz\n5pLuk0gSq/lOUO6ytdsvE2T6rlgVBXT/lnUuqsIxGaM+aAJ1EvV8/3JxgKgs\nkex8D2OGRU37h5KzuT6mRrp91ujcnHqBh2VOVlaliTzBEAHmlXM9/N8Hr6Oc\nCFpadEoNcV6S6FQ6K20KWtaSdXysSgHHbeOjIEDHuEsVCWNjvWT83W9v5ZZu\nzqOe5bboq1DN/um12KY0TUvU9xYfmN51l4EIPNcI2WxKb4KGU4G86dsbVRv1\nbaHKniVmLkFmTOFEHM/pUZwth2UIFVJbCQbPcJK6KlGeeKBLfAHiwuF129FZ\nvGy1CpA+rBi+I+02ws7ODnwzPtzFFWE+KyAhcUcrk19izOdMnmwcw/6Fb48w\nZjGJa9k2V8bq81wDZ5LMJUTBuVt+CunpRr4ApOZdxvT8dEkDek8zV5SuJlZl\nnNUsxuK5fEJLSe4DeABt34SkgUQIH/sftxjoxp2NwriKNmKUEszHPRjPsrHO\nrnb+fqOcwldsbilsClCIVcFTNiPqIPyIsdF5xSK7m7xEYtjRnphd2uNdr24e\nlrvc8J/N+DEeANzU+m2wnB9f4eq7kr4J9HLzvHz1XhpzV/8OSw8OpVm/0+WP\nQP5ljFeC8aWn6EhzJqPN9nuj1RAzF4jUav7/h55K/3n/PX/ym9glisf3cNj5\nJRse\r\n=dBmS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.21","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.4_1586277569454_0.05551249041091988","host":"s3://npm-registry-packages"}},"11.0.5":{"name":"@preply/video","version":"11.0.5","author":"","license":"ISC","_id":"@preply/video@11.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"09f19cad7aa72421b111c2998f40825023cbf48b","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.5.tgz","fileCount":362,"integrity":"sha512-ohXkmuwL7oyc7pu4UwrpHVPX9e1hrXR+YBsI56maun8eWwWtzcinClLrK2UgUi+S00pvs1PzZUAFTsBJhKN0aw==","signatures":[{"sig":"MEYCIQCZuR0ip22aoZgopoRlY++OZx6NxId5B3Vk3dOoAMqL3gIhAKWAtSMNA011wgZrzgeGpiAZNscJTZsnN0Szqn0Ciie9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14213343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejOwGCRA9TVsSAnZWagAAACoP/2dHNEvNLM/Fb5Cn1Jwh\n4/XEhLmX3LA45svsvmRg7kLfnqxbgLvEDXcmHmeQTcEBIvxtbto5bsWCQEaV\n65B+vPtcZcZyAAH6wxot+/M98dmCKRalI+9RebL1BoiS7yj7VAreXg0fSlCu\nk9w9/jIcMsI+OwhHg7i/vtkI9jmwm/bkzi0/GU+mp6+1T8cmAmu9pIRBVUSa\nQDbFDORxwwQdO+bRBwBirsxKKApgxtW46E+FDih/PqP1+MHBwNQ+6KAcyeZv\n9VbS0kb8/FfuI+rZ+mUX1sfDxtnro90SEQ3YFYcpvvhs1osgDC/2APmS4dUp\n3LNlMVrYAxXauLc7MrSX7tkE5OdaL6wIHGPPk4KQHmgih9XdkJZ9Q4rAGM+z\nW2qePsv5M25+9SQAZ5PHG231OrZvD6Hy0Hq0PI19/44WuIdIBbKnHNfV/YKu\nlyKgZSebWY9p/d+ZgB136dBGnEognruZgZBbPsLQgTtKRVfJ+S0GngNI7TJe\nVunR5UTgwS3NLNSuAQj3Qm3jQBuS45bagY3rJUDQtWR35qEZ/8+dc0+UgR8o\ntXGfT1YQRydPdtCx1IDG8XgtpmIQUReJxtfI5UuUkqXVXukfyKZOnla0ME71\nsPOfYXrQykyiRDGzm2xySxMYUlLWjTFsJZ1gLLWxqOj+7eTx9H4CDcSAeB5N\nX42s\r\n=2E8E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.5_1586293766226_0.3217838237959951","host":"s3://npm-registry-packages"}},"11.0.6":{"name":"@preply/video","version":"11.0.6","author":"","license":"ISC","_id":"@preply/video@11.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f4fdab13b24f7fc014b917da0a9f48300da7abe1","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.6.tgz","fileCount":366,"integrity":"sha512-Df6Dxbj6jyUAs3PrFFn8YWljkNHc5+TO5z+U0rFb6nO+7hULzg/SqgCeQ/Fo6Yz+CUXafnh/4t7R1ti/cWXuzw==","signatures":[{"sig":"MEUCIQDLoxzS1gqraVdEK+G8KrQNRrBnvwrkmNmBgOrYierbUwIgcX/BM9uXODKiUt1iaiaZ2ichf4ui7p31qwlWIj3S4FM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14654588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejYXhCRA9TVsSAnZWagAAdSIP/A615upYR6lEHExK0Cl0\nqeygcCCXujqfEkx5r/L2fPSHdoXe4DONun7a5aaa4uDupaPznnyCIUCWc2oO\nAKP2n/js72DXjsD181kGPqMhh/EpzxWe2Kt3CTh1yg3WaiwKdQtF32crrdDu\n+4btSWkD83UdqsOiIAPWEoBJSn28CtaO8xpFyRdYMq4/Y0XQ9NkaB1H9EQ6G\nhU9YFAZUzdtR0eHtOeAG7OK1w7Vi4L+pQUL9erc+B4hkJaPhcDcauY9tjJ/D\nNSu+IjO2RFiLWU0w16ngDgANLftWekdIYIuO7M+GCwofSaOd0VEO7vNBhzop\n9/j81p29GyvMAi+Twa7h0Da5T9lPG5ujK2P4Vl51TAGqp68zCq4wJ47rFNQ6\neVB2ZQRWYeboDM6aZfRkpbUSTpoCJS9ukDelhBQjzi1dLYmObp45utXwhmNY\ndiO5q8HMnl0x8r4tuUwK4lkn9T279ZUpvVsyAZiuaKyMk0TED9u7z9OPP3Yt\nlZvwpQ7oDID06yjDAkP5Oope2cwi3kkidpsGijcY15aOhSDguCX3wEYCeeSB\nAuhB+X3ROBrcavpBOlJoxgbvZA0VSmk0zvvoaGrC8gehNdtcmlnKNuw3DLd6\nMutVk7hOogzfu9HvePJOY7bCOcnK9rZMDs2C4/GH4BBg0TyBCWFqn/SIV4gD\nuNKL\r\n=dbtV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.6_1586333152807_0.4374824021730117","host":"s3://npm-registry-packages"}},"11.0.7-alfa.0":{"name":"@preply/video","version":"11.0.7-alfa.0","author":"","license":"ISC","_id":"@preply/video@11.0.7-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b0f277fd6c3727bc32c6bdb06f2ebe419013a6d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.7-alfa.0.tgz","fileCount":366,"integrity":"sha512-XMrtwZfJa3TGdCkWytnVJTKr7UJSnHBVAxtVyqFFFggBJH6pEA9ZwR+/woMh/2p6+COdEYMO7BKQzJDVZX3Kfw==","signatures":[{"sig":"MEUCIBAOYKsVQ+3yjBpgNdAx/Au8asyKHNgI17DefNl74Xy2AiEAoSnuzL48c7jBsZwxdx5P0YwB+PAQANoZGCsBie7fkFw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14657038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJejkF5CRA9TVsSAnZWagAAWTcP/23k4jQogSpnQQVwO6qz\n7UI2wVWYsBMYN89thMdBFMjbHuKHmWovwh0WJcpWkA4YheZLIO21tEsWOLFI\noYlCRtJBC2UrXzSXBrbA3D3pa4qjKA0ED0m7UkKpnIhxRlHZVRT2zPGFh1/r\nyyKgCABvCZFTjfL/8WbA3iCrDUwCrWENaeqnPvmDp/F2P3RGMAxndVB40Fpj\nrlriMh0yfzXY0hsSimcl6AVL33AJqR2yvB7s+QNk/NKhJoUksvYgE8a8tO3K\nguSBAkil2xJUCuj92mvIuC1mKQ1kw25FdbYb92weoTHF3Es6aAkomcHefqQN\n2o5zCfZlCairyc4UQ73KVqWlkqwmjNrgtddCBNCYdukAjho65Wx7MALDynvp\nxXlwMew3HauBNnFyz5g4cICbswwHwlFxbyDQFM5DojvmjJVUXW9nQxjj+eIL\nw9KMBfyHqETjs5cGuNdwJoR4fqzxWaAxkJ3/jMkyjvpCxAcp/idoVducY13C\nA3p/bhwrQEmWok4gkoOxzhiS47Hzn2MAMH8ODYPcq0HbowJfaB1HqoLuDEqO\nO9smcgdV/Bi073VpuF7eYV1vB/U9nH6bamWTxwnnw48HLSTzPrsqQhELHjC2\noqxNDr+ttsCVUC5DFjCs/PVzPrbJRxltxLOA/jPIKSxd9au7UyY70F1oQqTC\np2D5\r\n=roj0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.7-alfa.0_1586381176866_0.24317374570774852","host":"s3://npm-registry-packages"}},"11.0.7":{"name":"@preply/video","version":"11.0.7","author":"","license":"ISC","_id":"@preply/video@11.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5d5a7b1a80fb06cb1ea09979d582a0e09f6548a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.7.tgz","fileCount":366,"integrity":"sha512-8wz/1W9abxJ9gdDzS6GquDWcFiICET7Z3k/qWQpxKqpVOSbJNGtMBVmaiS9BKAok80m4ZNsuKEEH/XDRBAJrtw==","signatures":[{"sig":"MEYCIQDRJrzXDDtqfMz+PrFxG3JMQZNy5b47l/z/+ppB8LUdIQIhAOJIZTuLf+wtT+s8jUl2RXsOenuUaQ8gRegDUIiccKzx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14657121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJej46GCRA9TVsSAnZWagAAYg0P/1Y24x053b1BrXGtFGu+\nrVTGYNFzu5lwWQ6E7VcdUfAR6cwKyPQ6IEpmaEn3bEHVBb2KKyk51D2L6tlX\n53muK4UuJzY2rq9oP9cw5zEFVkdHmV3QR39yefWDdfJVKEb2N73KBMB8oQb6\nlfhMpgiR1O75YepDA5+AJznB2FOSGjmUwcyEGvUd/Y0US3QXCO4N6dIqIJ23\nSliYz66f0PgTQh4MYWaHV7MuxrHFEQiVXGtEUspHh+fCDBLDNmxaO4zlewuk\nz3QMbp4uVFYovoZwPbRJrT+o0N0dfmHmIsCtDjMFjAvpoHwoXhZM/t8d6VNY\nGJT6OBSsyl2+QTgbQ3ONBcMrInmN2MPGELxOAhapshPs9XY1EbP/8ozI9Df2\n4h7M2Mef7kps2k3Mh75sfKPRiGO+rJyQ59hlJn0zlZ9/jiXiVDXvCFvhFuGL\nMNJkOV7aQB1CA4mYqdTF0J9RDFpT1Lx2UboNkxJGC+/Xq01EPvQPVIbjn8m+\nvaROJC5HTloNz87IyjIOMm6EB12cpijj0g/WxWR2J5TCJEhR1rnajkO0z4ES\nu1bksjvefPYvRPg359C83mMDW4lViThWdFe+OGMd3bOpiRtWEB/Wz5LhMpkM\n2H0c7NJLVlhB41uALdbeXePpf32O7ZzU66MSouf/iuAvmyprAcBUSjnjKrk1\nyQhn\r\n=CIcN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.7_1586466437835_0.7460505758986538","host":"s3://npm-registry-packages"}},"11.0.8":{"name":"@preply/video","version":"11.0.8","author":"","license":"ISC","_id":"@preply/video@11.0.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e2efc4021b91515dc2effa034d5c1f5673313b81","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.8.tgz","fileCount":366,"integrity":"sha512-tS+5dokkd2hxv282ckIEswpAMIZ8LcglFTQ7FGedj9KvWc8asOUVxSbEXsVIGBpTW6Tv5prVpuakgXoJ2GbCww==","signatures":[{"sig":"MEQCICYK8ywA1Xxo1icYoNxHrXmkEWcSH0DQfCbWlQwnM8XwAiAr9hkOryGbDb5Nbu5rbXLlNNFog9IfEYb3dKSs1ucZPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14657121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekFoRCRA9TVsSAnZWagAA/v0P/0NJTjA4WhfPBqpb0HY7\nPVuBcLJRzvw+DknKu4JCpOH7Ovhts8HHj36/SMsYJ48bTsjLCTp3k5M8uMh9\nq1h25fFr/hT1fU566RsCs/1lOmd07So984l8YiPokB+y/iyeynuc3VhyxRyP\nsVS8N0yHyg3h0UuceigPBOZEPkDRwXJeWeqv/oXclb67BSB1rI8o8z4/rVDw\nXszNi9Y0uOxgMr59ofMcvQ0rMd/vpinlCNM/+0PM/V8n1qXLKhF+XOEf1ESD\nKCVraPi/NGcas/sAVMo7nRKzHHBtMuCO5ZyDINvRl6a0xQDprpAYalXP2WEm\nhTGeI+KNQdQUnUU76Eh79BffpvsEMTCutio7l3LwygYgWRW3xaoNvh3f4/o+\nJa/vGlRa3oTrCliqsePl4SoGD454Hfe129NEBQzMVcsIM9um4ZnJzth5oifA\n1AVZPAL4VUBTpYPK9bCNGfy6+qdalrNdGrxOWogJKkDculzZqyHmJ6vJIstE\nvKB547SPO1m19wmfCux15woUSNjFlI+OXiN5VQJjH8/+RPtNZDKegb/0fBPb\nMzSbvorQtVSk9OI1PYRwU6zC09kE221cMx7C0C+sHaS1BHfSO7MYlwKEebcP\nKV68MlraDTv67OHy69SZmQIPJAiWP77cwwJ5uP4uglCbJBLi3Ly/8onzcmYU\nXTa6\r\n=Euig\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.8_1586518544580_0.9205255320756751","host":"s3://npm-registry-packages"}},"11.0.9":{"name":"@preply/video","version":"11.0.9","author":"","license":"ISC","_id":"@preply/video@11.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8223edcb02091b65f2ad31ece5f1c7057d644cd3","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.9.tgz","fileCount":366,"integrity":"sha512-2jWmT+wKVFEbu0mOnlzXjyy3PCjwedy4UXOl1KlV+DVfv1L+PWGk0cp6sxT/Fet8zPnMzEM5X97nWLd+71TPMA==","signatures":[{"sig":"MEYCIQC0yy0Wddl+oB1DVPcAV9xJDhIT49PDFHHEKeZsz5jdBwIhAJtPoAooPW3etMP1itXMruLmSxXlHI1Ja4N+Rf7vfNvQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14660822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekGIPCRA9TVsSAnZWagAA3ZkP/3O9PIhMGxF/X1a0DWC4\nnRk9JW9nFd1nwqEzU1uIHLXG+JtMJCy5m4S6hT9FGbgP50WraLAwlVofA2UT\nhLc/H8jFsAGBeyHKvI/1AiU6KgsjIsWXj0VGsjrNJqUzCxqXkQWoGhEOIyKz\nCh2/MaOCl9vFHSRaIyJsk1BBMJR4P0o1m13vGZyXboeTPwD79AfYC2JsFtKM\nfvlc/qVtzOCn0MEdEchlrDTvBjEYvI1XrXley611yEZJemLNBtWiMaj47jK8\naHGlsuoWsaY/pMdDlzYYO9tU7/feN6tB9BseNvdR05tfZL0h3xK6MmjCsIAA\n2ZIc5KgkwfK6o1OFmaXvh5OGIHMhETJbKUnUIwcv1LqTiCO/eTWS0BB0iBrx\n/jwPalVJ44Bnt/ZYWYXeum17BSXmc73kor7qZcxdJ648P1XiQ4mQEFgZwAbP\nYIVtYMtYbjjkVCPlAop88RnKAIM03mrQLXgDaQ+c/PElAPbOtacjxMBQjGUB\n3bFsRYGbiYy0Ox6DoXlSyy4oKXwxtyRKgCAAGTBooQ4enZE8sJxy+Pol1l4S\nkD4hL+dslSxihQF6pOjB6I4kVEwwE6hYE4HhgzYx3LsI4tyCzPCLTR84EAxj\nWTZM1XPuT/J3F+ZLXeVqOwthgcS0l1S41faYERHShIT7t0M9Dm22ub9bUYKv\nqWf/\r\n=6IwJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.9_1586520590866_0.7312069919348105","host":"s3://npm-registry-packages"}},"11.0.10":{"name":"@preply/video","version":"11.0.10","author":"","license":"ISC","_id":"@preply/video@11.0.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c691329395b4b77b9c4a6a3c07c9db2b0ed4ebea","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.10.tgz","fileCount":370,"integrity":"sha512-CFRda7wJbVWOetlRyWGUQOkCxTnpQH9YvNrxSSRtkqur9u5SyZw6a9d1CPPDohigcWXbAPGCh/scuKD2N8Ci4A==","signatures":[{"sig":"MEUCIC0z2gRVVvPS2qGgbjgBS3RGQck3E1BWx4LF5exHEO12AiEAiJw4LDndD8DloXOBasUT+phGdSNs7KPCwAXngAS+Jzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14863473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJelyvTCRA9TVsSAnZWagAAvwYP/3oBaU7bB6+DH7mOhOVP\ntsNOsA003DhZrbA4uvaOOQHxU3QYxMdqd7jkJ/8XPFT69PY5MBZFZ0otHUIo\nlbgwD5jLc8MOVTT8PlTMbdu/PAJTPnw8BMU3veHYqqe5B9oLEpNk0zXg0PLm\n/fBCm9kGTlaBo9sFMBBFU4XE2pkaIsuvUsWUS//ZE0/cUpHE4nG4DfV0rj/2\neBPZJWV2ptGlifpqrgr536l51LRwGVv3+6qh7mGNIAMY7gLrIuP58EiGIr93\nNOfPDruwhHs+9N3VjFZsedfmLcH0Bb7gBU/BsOt4K5fhKEbCwyoYyTaWWqo/\nBuMTO0Room7IlzjRzlTl0Rz9rLxsJiHD80Bo4mTAYwpwreILyDgFm4iQafwR\n58/xiIbZSam51RYJw2iJwdWHVTLjmSNtnUEoLjBZekWgXogpGc1UrvEbBebB\nmP6k+fXDFAYi4OA+18sBvzR21w3ueb1DP9HrmRlEuvh1h+sJM5Fk5y1thC8A\nesUof0en0KngE1Do9dkqDG7stXE1yQXalrN4GVCDQg4nU3F9q2H2Ojc03BLp\nQzOBoNg8WCAH9Y4Wt/JwL/S1JqmeQrSEGAfIsMhfaJCDpcr5kvDBCYbdHrnJ\nX5HLPUGf4PAc7BtsoG9+RAh8YP1eKkNeWx4Lhcfq3eTIR0AeI/vte4R9bb0C\nBLrM\r\n=ma6P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.10_1586965459092_0.45548641984816207","host":"s3://npm-registry-packages"}},"11.0.11":{"name":"@preply/video","version":"11.0.11","author":"","license":"ISC","_id":"@preply/video@11.0.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4cc15251a108a8413c4ce709b5818eb6a61ccfb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.11.tgz","fileCount":370,"integrity":"sha512-DQdnFoRvYg8khLMorbYreQR5SMHpp/0kGFfaXe2x4Njuw5YWP28Sh0KwTzZ9ntqJBQDwyGr/5G3YYKYOwo0Zbw==","signatures":[{"sig":"MEUCIQDawCZFegc57NRziwbS1ps/aoiLFUC/8ohbHQfNzG5XZgIgasAhZxcWP/96ZHJ4vZrQVbGNYwpK6usOuqq3UJs4h2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14873673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJemaOTCRA9TVsSAnZWagAAuO0P/03i8rr/5XAtaLQPGPht\nC1WeZ4vmtpHt1oRwYfJFpZHJtTg+ViAHZfNaItuYG+6fwJjbn2Vh2/D9R3Lc\nGqwViJfyzs2frB+1v5nr9plC/0mdz5haddTvNOy7DWG6z1Tl6JuepJznXZD8\nE8wFlSCttVmriABd5i9+pbVv333sEMsrX1ihFlNmqE9rEu8GNQE8bOcLq0xa\nyKuWDXb3mJ8+zFtGgR8SBKtqVon71vmgAvvlnVuML/CrfQhgTO87NPUVIcPd\nebXRkXx3bDOwb33ADj1Hjk00YKVz2djl9FdiSRZHsyb72xR4N9M+dLiI8AKS\nrCbscNywftNKYlqB1fxwidoYD/kqf+4ld+nqjhjrgXpx8eHPQraUUirOjGmR\n6ppgiEaHhom2jUQvZlFgMYXIQhZd6F8s/AipXOug5Ii6K0uvjwsT1M+kTl1j\n1xqBxCjoNFgsdFMUzfEy4H2xRnY35QPP3aEhpW477kdfRRHL938Vyd3aGfXJ\nO2KqQQGy2/bky9OO6alorXQO+0doHm+MdlUMxDJG8hIA1w9yrSVkYjZ+6/0z\nvAwI3DFT295wDIWcWkEqMGPx6lJ1basfvanVWjfV+eRBsbF9yKwkyWtJ5fdV\n/Vexfdlok9YnDqeYXVlpdVkO80YbEZAEv5mMB/pHWjoV79DCYflJx8OYYa7l\n9p3K\r\n=CY3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.11_1587127186650_0.8059471459560217","host":"s3://npm-registry-packages"}},"11.0.12":{"name":"@preply/video","version":"11.0.12","author":"","license":"ISC","_id":"@preply/video@11.0.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"95d9a94d6c118eb2f02c2c6568e06282b50b297f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.12.tgz","fileCount":370,"integrity":"sha512-LSUyF07h1hWJWnGoHQCAovdcoUSPlNN39V5l491YewUxGO9zIWf3ENKn4HNixB48WA08TA+2yyxkhUKGMVch+w==","signatures":[{"sig":"MEYCIQCch0SWWLtxiX/WHVD6wYZl216oKgsPlHPs9O49z0cgCQIhAOUdOAwx7iJgca4I9NC5z+JNC466PZ/88iAB7eXC3xL1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14913492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJentRkCRA9TVsSAnZWagAAvCwP/iPAxTtVZAbVSwmgAXEz\nFbt3qbe0urjh42GkkRPieSjzp8XBxDnVTYGcZwJB+3zYZAMxoSs0GAL72v3+\nI3TbGkSfbBRFZtNGY0UaJ+ReZEuZXRphkX6Pg+jhf1qMvECoaz4A/IrhWkrs\nknbbHTcnqhfdJoRZs2bK/ZByntBGLdDjZVYANcdErOnyMLStVvxnpCgQob4G\n/4x/5Ubr/dqlmKKffM/bIfSuQR5jhRaq5W5c9nr9C4Wz6bgi31ogkoRcNz0L\n+j24eXvcJq5SG47bxABfye1/Zrvwl7WS3GPeMkDc1lotIocda5ZnGCqGVGqO\nZ5t7tpFVSkeD5HDkrOrbopSWK9so9dSMH/vaGkRoLaZ1kT7YTdgFmyXZuHPM\nZJVylY4GpkgkR+lRKMxtj551xNv5mWk9gSNPULpZW00/mrgp7PCt99A71MjD\nJslVi8a4VRusXCJ4JbU6wc44pox7BBfRqrnUTrduQpQwXm10cOLTVpjrMG+W\nZyVER9lnIGNvSENz3BgoqHBMmkjgpFP826j0QdjFlhbFL95UpW4Ub1HGtAfp\nj17OkwcRRAZgUxaArISL+P1/T5sKl/C90PH7qZsImDFztpJKDbcB3IYLhWWj\nwHv8wZAn7nrD8iQs+M22QeFzYa7yRto4AXaGouRlACzW1+uWo2MxtnZpsddv\nFn44\r\n=0Ejp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.12_1587467364000_0.11450793683524685","host":"s3://npm-registry-packages"}},"11.0.13":{"name":"@preply/video","version":"11.0.13","author":"","license":"ISC","_id":"@preply/video@11.0.13","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0711893597d855483f1cdc13b9e15df37ead60b9","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.13.tgz","fileCount":370,"integrity":"sha512-SNKwvFZAU58Oqh3axErOEe8yFqx4fwO43wAFnpD6oRRKycixbqq6cey6bDPASEZWepW1S98JUUUp7vwCEoSdAQ==","signatures":[{"sig":"MEUCIDme6teC/2VN8kc8B/75wdzy7FjsTO0gYDJ2mOC8HJtbAiEA5gH9owT3OcfMnTUwFTTdKDvcpYwqp5UIGr/2WzzdrE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14985352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJenulgCRA9TVsSAnZWagAAlFoP/1vDem2gTbvXHAjb757I\nylJM6NP+uaMuMI43LqcDORMslNAiryCyh5ZMpY3pjTIUL5+PXpUtxHzjsZPu\np+id0qPSX3LDUXbkpK/TJZNkxBaBC0EvbV5fk5OIMAky74r07x0DvbM/1LCz\n4mzr6pbLtGVcNSidB01knjkcn4bBtyp9Rp537H/YvJrb6NNYzGBjryI+nZLW\n6eq/wQZXYgNs8ynIhVjpVhKA0qPbXR8c8mStVpm9QNGANx9K3Q/O+j4tqXPQ\ny6UDOh94slDAXaoT3mfQJbh5jFrVSsi01o6GGHx6OL6zj716VDcbwga6XP7z\nRaD32bD8D6/ZzDc9R41rwgq8rv2Cnc7lA/1M/iCcuEQobsAwbN1UG7iAds5X\n6F6I3sIIJM+lsQb0oz1mfKA3zS6ETCHVDQr/krujIE1JC+bNG+emvVzrvbVd\nMN2rAHBu65PR89XJirur3kn5O+pwu2QkD2iK6+FZSvKtTjUaMk3wiSI/z9rG\n5A0Difx1/oXBwvJJys4FY5SerB1V0vnfWV1Ryoo7a4ttCNOXJZUV1D3nfaVD\ni4DWSYgG32C2xxx/Lk57CAjSau0DeKIwMWmowMqv7V/K2wc5cuJXpheD6x5b\nCL7YxLBoCAPT1xJMY64GlEDMatL0LbF0W1tQstq4ZZxaEiYAQoDoheGDpb8A\nGX5a\r\n=t3vr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.13_1587472736071_0.3080332075770258","host":"s3://npm-registry-packages"}},"11.0.14":{"name":"@preply/video","version":"11.0.14","author":"","license":"ISC","_id":"@preply/video@11.0.14","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f315eff622c373926ef5ed1f905860dac9644d2f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.14.tgz","fileCount":370,"integrity":"sha512-JcLScunIYRujuLyPV4Dgqx2fCrfEPNdPiAu/JIt0WeUbnKJhroL4AsmpDgp/K8vAIvcf/4RbCXUSExVWhyH5zg==","signatures":[{"sig":"MEQCIBlLmrR9r5pKixvN7FmeLtk3kNWLtsktHAi8LU+Lq1D9AiANbM9qlik57nVAW9TpKD3/CDykogmIAh5LwmK1uH/AnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14985577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoAjiCRA9TVsSAnZWagAAyg0P/jcSq5R7ha4XSJdqYUlO\nQFjq7lk/brOU79td/UFFzM3t0oherFF3bi+K3w/rME5LWdwKr/MBSp6D6C3D\nMGhJGsfekcJBduLaY9l1I/4IypetQObJqS5H9DSXfcjehmDcg+ZGhms+jFWt\ntUZ++2QoHCFuteZjhJ8bKoHz0ANcwQ9g8Bhzvd/Rk2v0NnFT5Yxzv7HeMKqD\nz17Lx7Pbhz2QAqKRbz7Dgg474g8agn4cxeSTA1KcRntqY7ptXMxDA0dj0EEP\njydP8uAeD2XLWmIvbtf8zFvS7rP1kcpYsJ7WGzWI+jnIyjDutVd1Lv9NA6IV\nzzHQmBYkT68AM9SIRP7Ve/lGeJGyiUrKP4as0971rMyjbYPLTeZyn7Q6lsXk\nWwHnLwT7WwItI8w678w8NolKtJMwJSVIOkVD+VcBogSQA1A5D3speauHccWW\nCXL7IO6LIac0ZDO13cG/7qEEM7qmlf9l4uiMk+hI61aa5mjvzjm9T3g9k+7y\n+V2FqruQpkIIifSk6xCTmY1IDiQd/xTATTneBEPsTMw0XA0v+BdHaLzuqNs4\n7ncQqfAUPXpTXT/319Pxk+5Q9YVoC9s9V0y9pK7w8ysY9o0osa0alr5gRAdN\nYSx0U9MLZ9gml8O9DoLnOSnqdQ0h5rIYByjldIH/ZD5CBJOoncs7yxv71toM\nNxz8\r\n=9HBC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.14_1587546338017_0.5075170280179586","host":"s3://npm-registry-packages"}},"11.0.15":{"name":"@preply/video","version":"11.0.15","author":"","license":"ISC","_id":"@preply/video@11.0.15","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0bb44d8ba09f5e97a48f746020ac28d2df66c7aa","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.15.tgz","fileCount":370,"integrity":"sha512-fYr5uwhLEO4KFs/gi4UhiZ/WXnECKZKNIb5Qcey471vvJQRN5BRoHiisnFU3KuFkUUsDhbeNdZLHXlLToL1SVw==","signatures":[{"sig":"MEYCIQCTpVXgPAbMQsYARfNmvS+t7zprUvAtQg7rilumo/NFjQIhALZ6/fPy0Va7YGAAwiIb1S2gM8utET2Y794C/N5Qxso1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14994928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoEEtCRA9TVsSAnZWagAA8x0P/3dTqij5jH+BH3qUn5pv\njPXbIM05gFgnbt9rE5PmaJz/bsEy9O1niASO8wAS81s55nh2Fq8u2JMEmxKB\nJ2erkf9Dk18ZSqKWCuLIWhuDxE1RnmAbK751hriYO43cVys4xhZBwhQZi3L7\nHCId3ViNWZvnC/ylikoKK2fo5p7hmnI1PUH2oShx1k1Ix2NYMKpDUbACuENY\nR01gLiM/hZmFTWaReJ56wcDVPyBTEwDsYbAvUHvmk90ajBqEjTgDxhH/xy2a\n11NqISEw550wIkzJ2JRbUPpH/fvaLsZ4+bpbi40+7MwU8xQ+DMA24rBOWC5O\ni+LTn47zAfq1dlxHOOV8k93wZVLLLQ3cNCivUGna6RAOmvGECdQ4sgB94ETo\n9dEqVtL3sWyZLo/kAnZ6mGORKQYPeRJTxfI6+xojQ23nTs6hG6CtQTNOEiNr\nd3ImXrnocuvo9ztHfNK32a5W4ISTS7b9A1YvJM2HK+SZ4nNFVwthPZNSwWVl\nhGcatB09cE5To+X/WmXgl3aJIjjI3dOdFforUKkeL1QAQVtMLxwvRX3eS4I/\nrJZN0O05jSXfuHqL5alTKuOR4BNyD+D3rpNles4IaSTi05K1lHDtDRgwrIfh\nXI+0bL7gxoi2x1ZoetVFXxNSQH+EkRnsuOkZcXX2XIQHjjv7JTH2v/SCaoFA\nHgF1\r\n=2Y3a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.15_1587560748609_0.7431065283276825","host":"s3://npm-registry-packages"}},"11.0.16":{"name":"@preply/video","version":"11.0.16","author":"","license":"ISC","_id":"@preply/video@11.0.16","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e99a7111152545f5254ea440779d40953537187d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.16.tgz","fileCount":370,"integrity":"sha512-44aZzTgGPuK4uSvDLBDVTd/GdPyjaO+AHUAVv7doU/HQ37TBpdswSF8o9ttRVPGeVvP83LICrTwJpDpzYIAjoQ==","signatures":[{"sig":"MEYCIQCHSl8PTMAIyj02SXDv9ZpXcfgzvJaE7wddngIPfad3WQIhAOggNPc6d7QdNLxjNS96IanWQ1b9TMH2df97aLKLBt/U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15018466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoE+pCRA9TVsSAnZWagAApf0P/iuQ+fA15UtNeuulugMk\nfQUNFlkqM1WzMoWSn+Ho+jfNQShZ0oysQoVj29AD+9ckomh8l0hhFcaDh//G\n/JkcqZB2X9uec7p5M+dNqyzPwcER/NZqNKElrz8kvmdNdNtF0Axyg13bhU5a\ngZhiwdiKwCt6AX2LamsiyhJvmaUvyHZ4TQe3V6Na/pmpW1zAjAgo4+2X7UDs\ndA9ek41dWWboLP/6c1E5cftVN5rl+xVeTF9nc6W3HxHNRjWG0SEAMF8jmqMU\n+HC337goG0HOANDuiYKnZMUAgpEvTL9AftrkR4SHAunKDRrXB2HgAI+RJ57S\nM4ynkSeKRmPytw8nPNibeQW2UPiyXPfGVt+/48OdqgxpCzpbs8hLapMsmsw6\nogss81ns7x804HXLLWjteI7+hKkNwJxjx+nRDR0h7u0+0qXX8CVnC4TIrIay\nMaork9kH/TDvwQI4HG5jM5kcEym/Qb1OT00eiBY+aQAX2xXV+Jwk4AGLkGhV\nijmT1aSUteNFV3J0GQ0Dsus68JtRxBJy8suLGhnHBk2skWPQPy2k7uVdMoiB\n25oM2xVYvuG6V5mPuHOgnUlV/A0BgFiHBihSkvboocdGZy0jt/g536v/fLvM\neIe7s1RtaJIl7D1v/+iL41dYX1o6EjnGe9/1Da59zT/rSpVcJPX/MI90tqfW\nyaT4\r\n=D3va\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.16_1587564456642_0.5917925640315507","host":"s3://npm-registry-packages"}},"11.0.17":{"name":"@preply/video","version":"11.0.17","author":"","license":"ISC","_id":"@preply/video@11.0.17","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"435497e2f5c49a34044f6b89be012e9f8751a45a","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.17.tgz","fileCount":370,"integrity":"sha512-YbkUquYFj4M2L3jmg2ur4/1F6mTcy++qRktNWpewIk45emnwdzSei8e01p78FDAeIZu1q/kf0e2CO9bdmxg/Lg==","signatures":[{"sig":"MEUCICwN5XfVeMwniKGD/ErBR7WjnNk/hHmvBJGAfHK/BWM/AiEAxsFMghg3C9XkhBsVq9yJ880XglcpWrFdkkzf8isnvhU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15018436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoHJdCRA9TVsSAnZWagAAOSEP/1eizPnxHr+sGjatgzrp\nQ3QeWx26eY7wKnQplcxOOY0zqbizZ8aHOxtwXp6CAlKSeWZFdMgVXN7PAqAY\ndgmrpblRPb+2VjN7WDfK5Uv98bX+WVXDe+GlE9PRi/xXAEjsiWN1WXzYIh10\n7P7M/yZVNyRt/2pkohxoMXtGMFofFNeps+6zO7obswInJsoLNEmiIUxfrX+1\n8KKBwM5OUN/X+oMOsAibDF29PvyEQikAQklcygQP3bebJ0fuvGYJYFNfvvtk\nOpDcQRoyQjQxsFGUrjbMITr5HeplaNfxY4vk7j3W2pwYfYkB+Tz0XMlyRoL9\nDER20ibrHybMO2KDYHwaXHuX/XQvf0yCPmsEUPV35/zU5oeLpNQQ8x69bcjB\nQvwE8Yladx//nN+01DFCuJX8+KvGYtX5wzu7sxX5S0PpJftR7JrvFbHcssnZ\nMBMHtnb+8E7QmqBHtuaOMRly6Y9R4PdV+RLyy+xo6MISoSjkABMj8tuFIgc9\nVx3LUaxYjJvR5J5/Eeu64AUuL+YUVX3T09JlUJlnVdVF3CRpDRI+um8Y6T1x\nPsefpXlzVIYzkmuhLrtKTa0WA4V73FaIFlBxrqUnpkTncfG2ObbZ2eTqDkjH\nNGW7XfVq4kJV/aYaX4rM7JzSaoEBSYfFGr5DPf5szw8aA68fzJz+b5pZ5bWI\nCdJg\r\n=EjCn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.17_1587573340575_0.5604130671927106","host":"s3://npm-registry-packages"}},"11.0.18":{"name":"@preply/video","version":"11.0.18","author":"","license":"ISC","_id":"@preply/video@11.0.18","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f60ee0f0d94869f5175b22821e3418e94a992a8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.18.tgz","fileCount":370,"integrity":"sha512-xzQEZBZlZoz/Q1iHzrjBWz3XPWYqE0YFwNzgeiV8JBYrljKkqNsNoXCxDkWFI9Pe5I+RCKH7xTJpqVSY1hpvZg==","signatures":[{"sig":"MEQCIDKWfuLgVz1pUCaacTVgayFZtUcNwLDRyrVLzs52WAFTAiAyuQo6brQMyIzI+HIpinyDCSBmNF/xjUiQeaWHPjT5Qw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15018900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoIfBCRA9TVsSAnZWagAA3LoP/REDE3/gNeAdA9GSiD51\nulZmGcsoCrGJQtLEA9HqiZNHkqwJ+Vi7sJJ03u0RyCuS8J5i23PSOHiGwe0r\naUjZZzjKX2ZU6wo2Dh21HlvrrtiqIaNGsZC+aHykZB430x0P8oJx8/jlWh4z\nROaXVIOcJ86Hz81e0rhfOaHsFzcn42R5Pn3uARCiZcxBXZOlRxvwySMmxHwO\nrg53ikCxLczIid319NaI9gVrCrn6dWTvhsUp0sLmeUSPRRk/v2wkvXLdN38W\nfMJmf74FL2ynLvuffHywoMDU+5JpzIhg3PzjfN23qY62BAOeNZF2mntBvyOi\nlbQTgBHKnjMfzYb6XET8+TP60Zt73jWzc1RM5/6VYkp2rcWOPvMOEekEfgqD\nJDiANOYtShJGxn5Y4lCilCPQXMSF4H2C0CT+AUsRxIg4DMkm/Qc2KlpVXBeS\nomva6J60RlDza14BHj+NJVYp3yLhQkUT15UkRzPnugKaTDRWO69y+hA3JNAE\nqhaAvtMZlxziclh212+hjrOHOUiH1oSspTlpIxswhcmVfpoEYtKXc6V3yVzd\nc17QY5QZ8hDhwFm8AcavrdILF+UOF3yjdCXnf9XzC9F/8eiC0mVoeCfwosOL\nO3ZyPTRT9NijbTk7Z1uPvc6oHdmLungcrls1ZXGY+l3XjNY+olKYDYYLbgZP\niETX\r\n=RRgN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.18_1587578816777_0.669343561604238","host":"s3://npm-registry-packages"}},"11.0.19":{"name":"@preply/video","version":"11.0.19","author":"","license":"ISC","_id":"@preply/video@11.0.19","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1eb3e19b38a73af47a5910749542767063b3be7e","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.19.tgz","fileCount":370,"integrity":"sha512-zvPNfsToHS4yZuHRaAxybtTOOGG3Si8JTVfsOUL8+NfRgvHxbSM4Qiztrr8NhDXN0RA1f534iqKRqZNCnb6eRw==","signatures":[{"sig":"MEYCIQDQM3n0M2VIJ+PiEFbSII123MicWHPmd1fQhzDoBqAnegIhAI4bHXf6l1TBDDOrkreNs0P2xZnA4oncICGvYEylrVPf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15019995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeoVOfCRA9TVsSAnZWagAAh/gP/RY7fOEGmfu0vNPDvsqx\n7MmmCwuXVmgnq7IpQVVsTE5w4kplCCeFD9gjqC/DVZU7LklkZygmKDjDQol8\ndEbn4egMzx/IPhjQFtX1W7oqMEPLychsDIUHKvz9Irvb0r1SUjEnHRnjZKj9\nTUMtGCvTC8dDYf1SCFUGlDBiXLKc2ySfD3iZjSMwb0HeORk3lpzmvqqHhbP/\niuBgBNvnBE8/1w2eAr/qPse7i+hoL7hqPxVQWVGKDDzmJwICSZDPTAQzGwpR\nweUHQR0MlvJIuMBg6bWy2AGcE0Zma+CmEgmdGRA1ZuDS3K+mIHSbBxphvthh\nINEFLynCDIlUxGt3f6mUg9rbGCuool8egdg5+Tw8l93GoJ35l86f8YOmcxv/\nCUsmbiP8VLOla4m0tPZQVizK2lgeZsGjqQ5nly9weEX80Kule6ZdPpvdl7ml\nAxjdYnBEspKdYaRZo8ZYOrTzUdqkV3rjv8TS8h1MZR3whw3LCc6ekCz0K9fH\nLjO3RF611YWKvGtvagwXY1UtDtLZAEU1OP/s/Q6ryaJ4cvNxX7yvEMivx5+R\nvVJi0O6ueYDjY97xT/gB1IzDcPQbV85V6Q1S9u560A6keGY64Koc0ApnEzVh\n3GyTwyrhC7eUUjh0lYeFoJWctWtdLiiyRrDQ3b8ikwssI3ttS5Px3LUxKb/j\nyxr3\r\n=qAc0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.19_1587631006488_0.5802337970463476","host":"s3://npm-registry-packages"}},"11.0.20":{"name":"@preply/video","version":"11.0.20","author":"","license":"ISC","_id":"@preply/video@11.0.20","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ddca7ca6f4988aef8a8eaf36d81f125f7f52c86f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.20.tgz","fileCount":370,"integrity":"sha512-OJb8vP/EMTGye+vKHLvAZZeAng5kDaxpCOwsEtU3C3mRWc8mES6jXYI/mV3AY/7jEUTCDZuEbhHYKD8KN82wPg==","signatures":[{"sig":"MEUCIQCtshMKMewjpzzmKfNOOsUpJDGSgCDKalUSI9ECIpudlwIgULXi8cnFYYoOY3rBeqGJsamWNlsv8n3oupOgBczwx6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15038102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeorPsCRA9TVsSAnZWagAAbA8P/RRJmMLgS8RxPlTF26cH\n8Z1+oWw8HVDNP7jicOXXxQp3CMbj9/SNrpo+lrkizqymTuyFr7xHNjhBLXg1\nlepN4oKwjKg65kPICOC+fbHiHeGtoFjKwyVKI12ZBvaYnLjixrJf7Ycj+WDW\nJRy7rQl5ZZUNw6H+OvqGJ6yr6xBgczyrDwa9lK2+8pDsZIA4XEiFAwRu6Z7K\n6fr8vXkX5EBi3i6qqnpmr16fvCnuhQJpkWJHokAMdAGYyvZ3x0UIGMGAm4rL\n16aDH2VRYYUxfGVmA3ftlxxzdPU99hZFsU+sc9WtvDySBjFp5guMxDFmx44S\nEH3IJnYM2OjBDBkDk/rU4j83vTM+mNFUXkOBQke4iaFwKjG1H9lLqmwojOS4\nRGpaeueT+lbt9K6Rq4cc8aGe5YvRkzv0DY53cGolDoXXF7sXDYAV2q0F2W9O\nhSoONn6z1zjR36yXDFrUITkpeFF5kcKdz9N6owFPU6lyr2Zdh4Lko29v1yjF\nNCch2R8mIteiNuxS0OMEb8jXqOgaJsNx9Mf/R6IM0kvZA3N59bELxFWDmMEj\nsY29m6rbkLy8ccfvukUkb2h0E2OTmSqC7k++l4DBroQDC74yYVRYfMcighQA\nT/4MOTOmry53b6eHy/vl20IshIWaewpJ9Qy4VvUjIzps2bak4TwaHYXL1BLe\naJis\r\n=aEMt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.20_1587721195567_0.6325246835447274","host":"s3://npm-registry-packages"}},"11.0.22":{"name":"@preply/video","version":"11.0.22","author":"","license":"ISC","_id":"@preply/video@11.0.22","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fff1b246f51034305e0d099a300686de2dbb53fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.22.tgz","fileCount":370,"integrity":"sha512-edvHb9pbIs3ffkEgoi2MI9YcRHPTBtukExwcrlYiD8ogcaj5QBW6YLuGhUdEPMPn4+CGpmcX+4/0kUUJKysw0w==","signatures":[{"sig":"MEYCIQCaPKx88SKXB0zlacreqK2iifCcJtz5R71SkD5dvlC80AIhAO1g5mm7RTiwMitbtwiQ82aD+c7IWxWuUYcG72yx0Vw7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15044600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJep/S1CRA9TVsSAnZWagAAML8P+wSPYmAunyiIdJhGwbi4\n251x4qVjgrd3EfFmMNGbf1bPdB9j+VoeoQ6JvIGOjTZpIa2Wm8G7w52tjAte\nMVdueSnhelbcYQ1Q2P7LDAOpnCoI+W1Ix5q2DLwEo79S37ufV//6/oBFEiLH\n+vKIjcPqoxPwuYZmhxJLWkJGdCSspBCpzHHXiZuezg+qyhBMlE6LUz/ylzzG\nTAxdcy3Mc+Fx6EJlPzFX/ALRSeG8sbn4fGw68cT4IJBzmvr/7o9J6pfLxczr\nnv08fr3s/LzouD3A4G3nOreHbAMQArSrs8oNWzQecAAVFZwTYDmgOEk19ZES\n8hWNFjdaaZDq9jH9Hb06uv9AMosMh/CbUksrNEUY5KUoM51Sur2jQ4gjB7y3\nizz9IOuDKH/oDYyOkLZGl0oOtRpQLs4X5Blslxm0F0R/c6flqhNVPkl0XWGE\ni0r1keyvoGQb6SMMHDwTfp/048XP+4Id4Fw9Y/HljAgmBdw940EllCOJY7c9\nhQnDQyVYW4iYaZWn1lSpSo6B2GVBg2vRPhl7cxPneN6HG21zRNbB8Z9Srnl/\n6Ksqvrw/dEPnVyoH6tcSZ26OPUqswaadLmAsTW5Z2T+JAV3UShC6jpmTaVeA\n8R8qIOVAnj5T4/fZVjSsZSZkZN7C8XhVi7YH5oZlzdUUayJOS+9+c2dLfZ1x\nsGtE\r\n=+eCc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.22_1588065460280_0.6367624045466145","host":"s3://npm-registry-packages"}},"11.0.23":{"name":"@preply/video","version":"11.0.23","author":"","license":"ISC","_id":"@preply/video@11.0.23","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1e9f31cd6801c120f2ef2a869575be628741527b","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.23.tgz","fileCount":370,"integrity":"sha512-tFAMlAAYBKxbL7O1cj/A/zcV0vw8EfVkumP41SCkDQ6XRaTTKjTZ6jYtZxepJrkEOwBpmTGbPHm9A7kT4zu9kQ==","signatures":[{"sig":"MEQCICoRP32Cs/achaNd11fsB0oG+Mbsy0L4xmpkKIJBon1FAiA1KxmJfnoQulAZzpTItNT2fijsaTxsz91l9l7KXxucBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15094239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJep/y4CRA9TVsSAnZWagAAVegP/2qFuDiotULaCzHjx+0v\nA9nmRH+q234w15TKqWm/KpO0EifKPd/egvgXmBk8Wg31c4QHxBv0PHc2q8x2\nFn7TOOT93am9RYrZR7BB1ToKe9SiaO5zkHwq3RKF/n3muTsh3ng8+iF49DfC\nc7KJlfIFU2W+wuGh1EPBfcIW44gXCAF2A72qW1ER8vaxdNNYy67aKgVGaRj6\nKvrtXHBQ+YASpX2HgLf+q8syJnNhkHZfdffHotk9zDPySUpqze8lCKW09UFr\n9KdARnTY+wnBBSHWW+b6iGGa5+eUjneN/eeXeFNyuuo2VfI19XGFbXX/Q4yh\nPN4W8NoIvV8L3AMF4hlCsk5jJwJEo5nwSHVQe8wHxx0aOaWc0xFhcCUCDmzV\ndEZX0iHMEFgJDPspSvlkK1jT2b3rub/yEefkHY8TIA+NIVZVeO9hxcOn6lei\nyIz3EXbN+0NaRpZeVhoZt2m9/QiBfBNouN43XD85Dl0udMPJQCMm59XDJElb\nRtd/UhOBq9H+8dNdwSzocSlzCYy2dUpfm/dBoaQGWARRCRrNSb+kgAqlBG2U\nHvgjUcDZKNXPhu0YpdLU7/HOB70alp3hkswHEENNvaWKi9mkWXz4FRAvIXOZ\n0Z2azscoSgPam0wWgkHDFvGDeQBCMkyobgBLKyIdTo/MAIWd02DnOj2RoEIm\nOU1x\r\n=edyK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.23_1588067511718_0.20493646235347707","host":"s3://npm-registry-packages"}},"11.0.24":{"name":"@preply/video","version":"11.0.24","author":"","license":"ISC","_id":"@preply/video@11.0.24","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"72ba5c4ab16d242c7659b90821d29a71afc2f887","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.24.tgz","fileCount":370,"integrity":"sha512-Ov8JrCJXYlwfxZSR0gZdDGezr7S535m+mDTEHDtvLVmfNHhraUxUdmMPZliD9pbwv2TFUgkUeYGVt7pZ6yZ6eA==","signatures":[{"sig":"MEQCIBJSb4KmerzEMq8sefwXR+LvD1IKLDz8LnhswyEAC+rTAiB4d2cXd80P+H8p0RfNmZPhz+eKEAG5oLtzq+CQTZuKMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15098646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqEE4CRA9TVsSAnZWagAAYogP/A6Yvw6gsf0snAjf1g4b\nhpZtVYIUmFNgZw7Z0wvYwLqFx//20dRRf+RIovtA6kg7wXuAwfF1fNYPEGi5\nr42YAys9Um/JeqLOmc2grr5sXhQbNV+FjEMg4PjOIrRTnv3Q68R3IwXLlKRj\nDEv9YT1PHaDxh3IT1yDBCpyE4+oRJI22P9hEcAUJV2lMVfNj1lWKTu3s03Kp\niT2WNYdG8tAKywbVpeVHMnqg4ooMobrHya0vy8d5JQgq71JVx5IWe5fm/+kN\nsjfxD/UI3/EBKcIXF42Nk7OjkDA0BSqQkOpNt/OIg0vUd6cpsEhs753AdKZm\ndoUU7YO4kfLMfTf4iANmxpH7OUtzXZMD0ny2PKAX/ShypBtQHOtZp90QeK0t\nfMrEpYBMvbqxJTEcIsr5dN/+WTQfDbcNL2dzUZemraDGcnorkochXaTwUf3A\nDbDT5hw3mCGld5L/uFGd4rqIaZ2rmPaNLV4a6r4x8u5jDwIWLTjTBpJC8XV0\naeCD7PvO5fBrl/BlR29b74t7+giREc69Uei7YzXUSLw8oYYs+nrK5PID0uKM\nMzWcpnfNSL9vY6z04ZTFlyMv9nNDa6fU4inEX5ZIFlIHNo9+9JVuKjkZt8Po\nTCs+zfUdrmoNcaQAU7muKNsKLK3BJ3kcfXIO9LZC7gNCZuSCfVe1bWRBgdFu\nBmsY\r\n=So6g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.24_1588085047451_0.0655336910706934","host":"s3://npm-registry-packages"}},"11.0.25":{"name":"@preply/video","version":"11.0.25","author":"","license":"ISC","_id":"@preply/video@11.0.25","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dfac96b396e7e78e4f126c4f5281c8e2142b7ce6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.25.tgz","fileCount":370,"integrity":"sha512-6OqLL50WltxtBsTvsVuQG4YWX6OBPNv5fZU4vTirTa8bB5cl8hQtIQkllBRMl0TfVxHhO35dyqsz3wUysaHecQ==","signatures":[{"sig":"MEUCIQC7hfMLUJcvgNMYJc2G3hgEhqJxSqdjcjxYLPJRVAO0VwIgDUig0evw8BGceZghd9BE5Yz4YjTFFt6CWCXfRMFsecE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15119160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeqr+pCRA9TVsSAnZWagAAGaoP/30YCMDOU4M3F/Oknl23\nnAUAEUF7iTtpaFdXB5e43M/tR6uAMarWiV0jjXnWiKZWmXDHOkM3FlJjoIRK\n0tINxg0Mky1NbEjwWWjJxFYeZbHl3zK1uNI5XXuDXm/zLIAm02PwEvXD1Glm\n1Qw8wlyO77k8tAphrRP7YSJWG8YhW6+ZxEdz1DYAHlUnpmJu14aCY/YEpxf+\nXeUb1qs0WdDZs73dtwnPX06Tu32M6xIPfJu5P6GokhqmHoerqB4SEFMUVy7i\neICzaQcKPBhKlATbdPMeiWR9VgJbLG62lOfYTa3c+ApXPBjkpcg4SjZRr7Gk\nCTlQo0zRaNtjEKyFn0L7GhEW9tba058/auJOmGm4w1etTVL6gwPtXkDDmCdz\n1rsNuDJpUxWqk51Y9uk0QUQc+4Aurm9OsaZM5xTgoZU563teILAjnMBx8FcD\nljVBwJoPEDgC8wlLhFVgoZabEO0XtXD5KCJQ+NING/btYE2N5cMqUHe+BJl0\nq7h6SKPUVGcxWkGMVSGKpCydStvvRCmi+RVh4jXWhn5CeYWHCWwk734uQpSy\n42yg7DzRzKgBeYmAplDK6+lN/oCLd6J3jRhLelp8AhvE5lEBQewv943OTb+I\np+CISK0LFLIdKzC3uebOICbeiCTELExTemkAtE1Duel+MASMaGiDpwDIeuo1\nra3C\r\n=hNbf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.25_1588248488308_0.5352966211838639","host":"s3://npm-registry-packages"}},"11.0.25-pr17429":{"name":"@preply/video","version":"11.0.25-pr17429","author":"","license":"ISC","_id":"@preply/video@11.0.25-pr17429","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c1fad7d0fe108065f2e6889c8937876c820d51a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.25-pr17429.tgz","fileCount":370,"integrity":"sha512-D9vSufzmK2vbkyetDaQHNRSUXOG5K0WyPQ/yx3pQZ8Fllq1/EEVFDYGsLEMPs7es0xI2assbqlHt+U3LiIMU1w==","signatures":[{"sig":"MEQCIGTM19ur5fcwpE1XKE6nZx0x8MyHDdD9jFD7Nf2haRCSAiBdf7DqumtwbVG/xA/1iWMKNadj14e+heBWSZ3AL0BTHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15164342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesnP1CRA9TVsSAnZWagAAa7IP/AqVIELpVQpsZLZqR42Y\nF1oCMjfUS8BTRhbUrRqlr7gCDw9EOcCAfmMpKqafnpwSzGEb5eAvW9tEfpCV\nAG1zDgiKGDzm7YjQ5mKgvl7sOP57pXWG20jssUkVNoH/5FCTZPJyFBUIgbiq\nULTjHjfjMVPrWuAnVjpQwx9sbk43NUNhs8eSZAqK4cZiFwr5iK+t2G4xF23O\n8SPdwShLlHfM8rA72Da83E6OIWXA7B11eTwLaokZUpu4HYSmFdSHuQoAj0D/\nfj+O83DjEpVd0l08YqBwnB4SO0w+XH0LmTEdFgt2Zot0JbTgM5TOROkmUpvL\nbJ1RI1XWOcosADq6SKCivjkhQXiS4SZ2wdFKo1VHuPWnbKSEYmCBk20MkCMT\nOIMtjB4rr+Dq653umxlkJ0/Oj3MqvSNna/Fa62etN4MzHTcaydhesGi9Cxrv\nTeJvhl0CTLJVRjM4EepIo2jiUp9UglhflLuxLHQuUqfCD8xT8IodTLEAJMJ8\ng13uVJCQKtb4o8MgNvUPjO5CQLgL1cxAbB2hTsEfcr1JxVy9KQ0CIwkfEtXW\n/7MD3DY8gnDNDU7oRcYAxNU1umOE384wXvNiUeXKDAv8zCoW4OLg1Q7JMvNX\nXTYrfgvwBelJgS4GLyir8wZDib+qusEcaccyMD0uQdIA0+RZWndeP6Ji6gab\n8WDZ\r\n=/apy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.25-pr17429_1588753396483_0.2769388033581204","host":"s3://npm-registry-packages"}},"11.0.26":{"name":"@preply/video","version":"11.0.26","author":"","license":"ISC","_id":"@preply/video@11.0.26","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0c6b85fcc2a19f8ad10c1024481507442c1c75dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26.tgz","fileCount":370,"integrity":"sha512-rs90jKjmdZEsy3ZL2GYKaWIrswDkRKx8VdwHpwiPfyDOQWpDJ5PgzC7oK/zKo6pZGxCsT7CjUEbkl9YTiI8HpA==","signatures":[{"sig":"MEUCIEXvXc1TkxKMjZYLkmPCSOAjo3Eke89FQoME9qGFB9gbAiEAtVnYuA4w1ZoaERCroNfEA0cbsBWuCuFISnaF5IVNLxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15169902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesptBCRA9TVsSAnZWagAANxcP+wbU13ExDxG9a234Zrwb\nxaouVOZG28nTTJ1akElcmOoC3HcoobP7aBQPvdYzNylxN7ZENDcyZmHc46Cg\nU5fj1Ym3YjGo5NghonRfrp+O6QnY/rJ5zo8HEJDgsZNKrIuC4CyUzPSb6BY+\ncOCejS48D4jEgzABSG8lX10YyHynMPC0bK3lqrGdWkC/A+QXqkRghrtSaWl7\nNnhn3PvxwUha+jtTCDYu2knl20rh0RVFI1cV3lMKQgSonc0hZBkiPUpyEKse\nZ4PAWDggMVVoKsGf/6V9ll563Hmgi7vPfXeo3LEflbhDOqFtAGU9JXLNePxr\ndvgL0sBp1+YZjjWsQoARgPrqf0U5WrSKLkzfYNijo3Mr/meuwjCmI3hYHDOJ\n2LK5TFUvJtEw7PEWqc/U0IEX/iiHTHnjAq0Vh74dbuIESUh192j5kohzPcuq\nbf2IGmUK28gfYUkWwWSj14yVJw91IcjP7Remxw8a/OPqDGhsE0uoTwnUBByK\ndXoYSacGb3pmGU1LC1eZAggro4gO6HjcqH4C/wJwoX1WpxZz406wlbOxADYi\nnf4QXtZan2Jlju5qdxux0bdP4XrrJydo8j8GB6IyyO7gp/ogFi90MCcgcSr8\npVcnZBprQTdNtuP4GYoVbLufVkGxChbb4tHf2ciNlcxNvS/CVkZSLi1IyrAR\nq/md\r\n=CXOf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26_1588763456602_0.07670680531301843","host":"s3://npm-registry-packages"}},"11.0.26-pr17455":{"name":"@preply/video","version":"11.0.26-pr17455","author":"","license":"ISC","_id":"@preply/video@11.0.26-pr17455","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c350d0b5e076801009f1c8cadad525437110cda1","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26-pr17455.tgz","fileCount":370,"integrity":"sha512-smwOtCIwgOLGDtdlfvxSvxjArent7RUxaEXtHbFXlJWipE37XVJhOwdJD4AKvYo+3wQL5tmTY22ksxZn1CLaqg==","signatures":[{"sig":"MEUCIQCRu3jTwVkeZ79PZ6Jgu0AtPEop08RCqRel1Oz7GfFRfQIgEfniWYBXtvARLgiJf+NE9KwRO4m7pWd34r0Y17sCzOo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15187898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesrT2CRA9TVsSAnZWagAAGZYP/3Hjou7qj4lnulaSkmZg\nWyqQgUjJ+JGXbn77UaWKJbU/H0MUEo+NCQd0bSum0e7RqLkwRw4Idg26zpTy\nEUKv3w6zF6gd8aiTo5Pps3suK+K3y8yU7pY5OdeI6MgvDZEygXNoJjoXaAAN\n2w3SvLSyAvRZG7XTPYSMFvcreY91t9DOAGJ2RN4FNy+vd57npdwULSB90VME\ntcbvlH7D5dAQAuS4KXBdGaeUrlvDY1tc4a0Xz3yh5mU48EADFiL3PzDit31Z\n01+vMWSzfXle4gicRwXnAmxiQSwajHhqAjNqDn34ikqvu+LJbco8KA8nB6cn\nau13LVEJwDq/FBjt5VxugGg3UmksmddPpTV92V6cOHLbFpAgqjLA9lIVIdPk\nU52Q2++GIX3LbOXvhtSzl75kLXmcliJEs4V8LtUumKaEvfC6U3KIG3eXU0Xj\nDaBdKBBzhxuAQbtw0dBtn1d6nX93uIMTngFhiWVe6SRD6ba6FYChdp4ASa5X\n2M0dXqr2Z1wae5a5RHiczLNaMAgxFEKa9DzoZLIe+gO4WCUUb0EKpke41TMZ\n25o61GGgkcHf9L6/r3owjkx/pD+A3xoX7glbYH0pCtbz+/V4Qi7MPyXeC5qr\nYh39iQcfu6aWDTp8sYes9TJ+tyXwF+yim7eZJ5vHSw2lWVg/uXMVp3gR5Q5d\nesRf\r\n=vAxB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26-pr17455_1588770038023_0.9982166025274075","host":"s3://npm-registry-packages"}},"11.0.26-pr17455-2":{"name":"@preply/video","version":"11.0.26-pr17455-2","author":"","license":"ISC","_id":"@preply/video@11.0.26-pr17455-2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"45d03b2462ace2c4be406a969f2b6b0f854ad7dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26-pr17455-2.tgz","fileCount":370,"integrity":"sha512-MFyh76sB4rbv4DoWGs9kMmXDldHAZOdYqw4367z+3qC0NlT7BuytymHpU/s2Y0GurpW+V2QaV7OEb9cZCo/VAA==","signatures":[{"sig":"MEUCIQDUox+xd51bBm+xtnVeMphvYgAC/rWvKaAiNyVlR0C2hQIgfqNhvuXk7M/YVkqs6fFylp0zQELPpXMU0veT+C7cvi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15189193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJesspsCRA9TVsSAnZWagAA8vAP/2wXyFLy7jKpCjmFqVKb\n6bM3U9fqZoYxdSE+DZcp3Ek/0NsnZ7W6JdBLRg5ziogGPyQWPmPWbT26SSxF\nwX2e4D2Md10odLvVJEYMjD7qHFbcHkSYxnDew+Oiyl2p05+r+wz3FN5lFQzc\n5az06LnmDeejKdHuMVRVbITV3AOp42/z3AJpZJLOW8PY2KZTcXLjGm1Z6Y2K\nOX7YNTHQ7Ef43yeWIVg3uLVy4uBsJ1cE7wSUR8rrXCchVa/uyrra2AIAh6n+\nN2v3qesGtimDCRQ5D2I0iYjRuED54lurB+8RkiMO/nuRdkdUIBMHFeNyXij1\njKf7r/943W01jr20zrCpyiBk0TT1VIiRILcfjSRuiwIVgTvOwt6OEe+au86g\n4u7PEwzhekyOaCGUirud6ly2X+wi/5x1rzi8ndDuXXj4tIJjxvMYg5PfIex0\n2rrEp62ReAUqn9k0tiDZtD8F+q+Jb0AI3Yl7cHDqxrdmQLuOPlHjvsvpiKaR\ntsj5Z9IUmqdKjGz1CeQhNTIwnGFacsbU8MjnSf9sWwLfp9Wwf6NzMY4hYseJ\nRkaDhGZNSy/Yg/yUJ4JEpfAc419OkbKBBnXA/6JKT2cnZyNC4lPp09GmQ598\naDe55fOZzamJdym9hIXoaoUu8CwiqgV0XaxmMHeeq9Yzqbl/IR4j8YaCrgkF\nMyuL\r\n=ib/o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26-pr17455-2_1588775531305_0.6967046947908346","host":"s3://npm-registry-packages"}},"11.0.26-pr17455-3":{"name":"@preply/video","version":"11.0.26-pr17455-3","author":"","license":"ISC","_id":"@preply/video@11.0.26-pr17455-3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c3052cfa808a93a60d521b7126d359735e3bf4d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26-pr17455-3.tgz","fileCount":370,"integrity":"sha512-GdadHvkIImTGkDX7EyNedr93fFJ4duy3rsULYbdSBPD4w2LfSW7DNIiaEfuFyx2nX+T9XHs77dQvD1nUhhMI9g==","signatures":[{"sig":"MEUCIQCKHP5nNkLzSbW4I39C399NEzcj4cjC1c6rTXys7uAHNAIgel95aYJljH7b5kMLAB+Asaa/5/+4a3G5Fym5pUqbpWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15190534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes6zfCRA9TVsSAnZWagAAPfQP/0TBf/GoBp/dRPoyeSwR\nRmsAokTaurFVV8crXCr41/L1AvXUupF8LOnUKjGOTi7ZMDRJzNYmGXLhCs5l\npaIo5oIXk7fGOi6UtIzfl5A7kEs+khOdptFZgTZAvTKvlT9Ue21fnbBAHQ3z\nECIUQkb1NHiDiT857aF4ActHiGbOHoueybqmWJcB8fI2SXmVTZhHIoUwdLtB\nuJvOvEaCFVb/CH6/9hco/YcovuoI9aTUnkTyVwHnjJfDSjf3vwOaFp+78iaI\nc4hcpBr3VFgygtVnIF/nxuzS9o6qqwtpUlb8NC2aLXDiKeha31GZYbsGqMWJ\nl8jle3tOrhwQVSIGgTh2zDi4W4rz7y+yyZYJzGx+7CzD18ehXOEirxY0DYws\nGiEjaVkX24sHhTApkx3hvkqN0IfzZqlsWaZPCR6r04kqbgc3Zx1GMpNVWb8p\neHckd/sFHspqRaNcx3nSxiUGdau3P2viLV//+asea0mkFNB99+s+0BeUG/gE\nRXMmU6o4cd9nsmehCI5MPdm1xLQ9QYTqOkj7kShP0aGcdNBpCbnlmcs4LYXg\n0uGRrfmzmjciplfivQmsx8USfTB5HyFrRZzElDk14fPCmL9Ng8hu6GfgI5D7\noZUF/ldPB/mmoxI0y4RQh3QLsWNczkVg9/qEiYpvYRpc4Q/1lugN3KFiqWep\n5pus\r\n=t9xa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26-pr17455-3_1588833501256_0.19475787160531","host":"s3://npm-registry-packages"}},"11.0.27":{"name":"@preply/video","version":"11.0.27","author":"","license":"ISC","_id":"@preply/video@11.0.27","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3d496a047d929eaeeec82650a900ef2ac89f1d99","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.27.tgz","fileCount":370,"integrity":"sha512-DUJBl2sdBVr+xwqd7O2CoZfKMZ15kUgdUHSQJGFeH7yyYMczIf/J6gEcurnHnV1p8UTPvCh4OI0T1nQLDgzcKQ==","signatures":[{"sig":"MEYCIQD/BM/Td25iODPqk397BKmigki/j74DEFY4T91bu+OW9gIhAK2GdjF2XHXkaeMMq54i7sN5irva0lSNaVyhc91Ktf8I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15179073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes8sqCRA9TVsSAnZWagAAG2UP+wRLfIqx/URmJMqwlII/\n7y5Za2N2jivQvtuuKfcSOnbawMeTl0EtYptj0UjY924zBzlIf8l+6HQmDFH5\ngAeNeN5jBygXw/68Hggf4hnWJakY9psoRvx8BLG6RkxQpNBDu0B/cGlWa8ds\nu3DZAWNoOkd4ab3rq38DA98YBr2KaPAnLcEUpAeFpzSjVnHwC3OU809RUY/C\nBC9aitTTyrbzOuLfyJsf7exv9GGClaHzwV5qsv+mLtzF4teWtW6T1Gk+UvsO\nXULbe8Nfen+gwQ1GrdT31Pvy5MaK5SvrubHS1Ay6tuQZwRgnyLG9rTwtI9ii\n/09Zr/PjwqxhACTclkqyA97TAq/2eQT1hNJaU3fVPSNywFGiOUDcF5osF7y8\nTwmdX1LsnL11ItA+s/CmkAR5rwnkrmXoUMXL1++bLBsBQEqTuZob99BB5E2Y\nT9IrMYv9jJ5ht0r/YUWkXI5mwEn/Oke1OBia4+IfkMH4B539yvwuxiLHoOaI\nzf4O3sTSecuGc3O7vnVjBYFCC/8sTyPuisFxa3JpHdjOTJuwx2BVmg9pfeez\nEMjQL4PStm6DwmBrFAh18KRC4Vi3Jm0YCuyTd49N8g6nSuBsFBUDksujYJbf\n6PyLjxPznjfk7txJLon8TQlmBdAV0oaRAob9iP7djv95jZHgyhtozLXy/2Ai\nWT5P\r\n=qm27\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.27_1588841258056_0.45105780486899016","host":"s3://npm-registry-packages"}},"11.0.26-pr17455-5":{"name":"@preply/video","version":"11.0.26-pr17455-5","author":"","license":"ISC","_id":"@preply/video@11.0.26-pr17455-5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9d89ce07a846031e65bad3955d430c7d82b9ce95","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26-pr17455-5.tgz","fileCount":370,"integrity":"sha512-D7JMZ/NpRooi5+yFF6r40/dXaktxnqo9Zyvv8t/ZcS8juGaLSVZARO66Z1oRt0iXi3H/igJXynnLZsbRNQN+jw==","signatures":[{"sig":"MEQCIAt2bPsPqhKg4tNl96EIUZOt4pGu5EkMSA8YYft7CVQfAiAjJeJI27plrXtNwoSyWALg6rPhRt6ofw+gk+g/WFLBDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15179083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes82NCRA9TVsSAnZWagAAYXUQAKUDV6NndJd98iMzYvfj\nqyOXCaLTFU8fo/E9T0mrhc+NSWxfFXNnIFbaQ1Hz1d56Mf7jZ6N/Cf3Ee1hn\ny0gkOz717yjDiOlZh9wLiRf2UhKSugJ2Y7mckS330brtEd1A0uolYiXC3dQe\nx5cdEXdqgyI2RmnPT7B6BRS8fF/JZTzG4MNuUZEo9OETYZSa5FvfMnsCP4uM\nlq2go7Rk9zENSAuoXNfaAl7ua2X8OoveJoRvX3+Xo2f56Rsagc+Z11tnI/Fr\ngZIRs0MvluuUQatlhVP6mCQMWJHoVsx16KQYCCN8ZwRJJUnpoOpuSE+fPZ4z\nqh99sFgZeRedT1AJSnUOJY5sJGI3Un4ye5CZ9uaTVIowLSLLAshwelZrCV0i\nvVDhQziJU6ihnFgdhsj2S6AWzmMPdVupWCU30AH6KUNKSq1wNOdyQaNXBCAN\nrgz15tPkOqSpngWq0jko7DJMv1KZyRmssKenWXvoT94yjlUdhRLXpltf0D7x\nrQrhF8+wuaV84cw2H5kks059glSBC80JIKn3BZSnaUXoycJ0oU62gDS1lwke\nMKOKy31DEaGK32ydnU/X09opyuE8xH4QdW1qN4C8jRvlx1osRQX1OFPl9GUo\npLUyGy3whRoCECdeozh7YPEOFAiA1nadgn6i8CPZiV9yQhzfrdCzLtAP/fCC\nbEmi\r\n=Ad75\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26-pr17455-5_1588841868967_0.7932673828305041","host":"s3://npm-registry-packages"}},"11.0.26-pr17455-6":{"name":"@preply/video","version":"11.0.26-pr17455-6","author":"","license":"ISC","_id":"@preply/video@11.0.26-pr17455-6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c99d1355d71dab13e5be4599ffe599be346b8497","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.26-pr17455-6.tgz","fileCount":370,"integrity":"sha512-X4xvgY6kiVhqhgA2THivIf3/E4ORiT9E0X4liNm4px+6kMepBr9XJV7xRt3oWOLeye2Op1DhhQYPjgaTuSb6FQ==","signatures":[{"sig":"MEUCIDc7KrzNjg/WbEZrNp8D/nX5210AIjKtclIcVi2XjhCKAiEAuK9cnZT/pT1xXLO2pXf8sK2xi25e7czRzIWEsqncQ3U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15179608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes9mpCRA9TVsSAnZWagAAixgP/iqRROLeoxzI0/Rtq3b4\nO0zl4LkmiysWsGb+XFQtZBf1PVIA6V1Hkhc6jaYyADzLdm2DmXU4ooGBzQSg\nQEcB24/WzCrD7F6U5UUqgbvg8ET/4vspR42lh4MzkrDo/O9EOZApjCPCUn9q\neTB1WYBhpb/toA2mUdvSSSPkoOOnbo0FyWx8O53Mld8nTl7IaopI1EI47fG8\nPqoIBNiuiaZsp10kD8rVWP7JoGx19ctuF9lNT24TdKvu1i9KzVBbmAdbuzgA\nnnun/FEJCoSUCFnLPCmFv3MhRgbsFxipjivFW5GdnMqi/gLRcqQ3H7X80+/E\nPLoyKZOETgELbcOiKq6QQMJ4/h9t6ueIk/Y7dhXndLPqzORljp6/tQy8u9/t\nGsZQFePtiB2tV3euo+xv4sFGl1wC2i0KzNVVW2R0VNgPLFZvREKoApIYeuzU\n9N3mxxldwf9jiy2dtMXghzDfZXskUdDY/IPS/+51rBXMzGtbKNyOjlVM3tyP\nf2u7yoNmtoaOVuA2AtzES+GtnAPAVvXRR/JlNuK7PGGj9pyMsrtXLPxJmcG+\nAVF8+IY16ef79DyVH5jGeevOaSoc0AId4kZHZwq6g9ltdkCfAR5YnatW9XiJ\nY8BEOEU2DJr4q3Ljnj1QycxifXUxMOQShduxLyIlDOtIdEB4kPQ4Kvn8Ir6Y\nIMmG\r\n=0klK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.26-pr17455-6_1588844968879_0.4839930703402513","host":"s3://npm-registry-packages"}},"11.0.28":{"name":"@preply/video","version":"11.0.28","author":"","license":"ISC","_id":"@preply/video@11.0.28","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a1c5dd3207b45103b652fd4a422df4a767a7a2a","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.28.tgz","fileCount":370,"integrity":"sha512-9JNUqg/bI0bHVnX0vKgEaH7etkCqJErKPfDsxQuKw8nTOTle8ssV3x6Bul/ZyBF2t76deaI/VzP55Z66JJ3kQg==","signatures":[{"sig":"MEUCIDD+edGgGFDH2u4LKpktj9VF5HSwBocUyEQb5ZFuEPCvAiEA11c8o7JodHo65CjwTrGNGzC4an/KWskHDiFkYbult5A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15249870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetBZRCRA9TVsSAnZWagAAZbwP/24YoJMQkSkwin7Ols4i\nooYzEffBNUlBW2f24KXtLOeWYqBCPypS+k7QHftpozIdhqY8KkkHG/Bag+rs\nC1GoKcul64bgRRKdNiHSSWyYVnDZC5aMj/HR7QGhvu0ANnXhqOmU+y6P+kTZ\n5A5t2q7ohhqb55+u/fUmYPfLk1LjkN0XbEnBxC4Xb2f51Zlh6SsmwiHVvF0j\nBAgDtGCN9rum4JYGwi/Bd8n7fhwHBENsnPsQsrb01eenlEYmMpPWzsGe3bcD\n7GZmVWO6olhvNiTzYVmxX51cVo6KocCCTtRpuoMIZ0W2i2YS9KRvLBWAC2BQ\n7Itj3rqU0Ahy8QfITa2rwIokG2m9yXfoiqhwKlS/7BcyRz7CDJICiIJYsanG\ngYLLZtji/qubnnLXZEdXDKrqN+ohucBnVoBMOErpzZ5u5l6wSzf8vLIgr3Th\nGsyFEgl/Am1hRducC71KK2arUCSuY4eRz49h+eMOTNhT2ewOzLNrHvekeKU9\nB15iZEPWdVNCT6I5uG4QVp+8Fa96ZjTXZBjEJNRSIheuufVT49zf8CANeeLK\nd5uOXj5I93vEnvUA4QRaBKBbYeSBRDYXIB2zEGhaonsj2l3MVcp9csW5p1jm\nc9GEr5TCouvM7OSJUYxaaLMYOys2FpwxUEmhYzKkIJta7IriBch36+H02f9W\nHDLn\r\n=Fs0c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.28_1588860496721_0.2508856576333127","host":"s3://npm-registry-packages"}},"11.0.29":{"name":"@preply/video","version":"11.0.29","author":"","license":"ISC","_id":"@preply/video@11.0.29","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f2ecc2c7f099751f214fba37e00311c71f062b17","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.29.tgz","fileCount":370,"integrity":"sha512-6av/ch/VCbycN1S7xBJtXbH/e0QhSpmEZbnmz9F6xdV5Ie8GPot8JS9Q3U8hS7wbZpiA1RDt1BGljjV6MfW3fA==","signatures":[{"sig":"MEQCIBvVjE1Kt0rq/4dbatS71ZenYdwd5pSwTRBP5vLhlX7tAiAnhonjwezEqYk0Yw0Qc/8dsTQN5BiiRYrUhk2K2u/Vmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15247713,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetB0yCRA9TVsSAnZWagAAgXQP/ikRwWiI0ytRMFL/7kua\nltrxOBh8eYeWkcEnWhfK3fAkMxO1SVUJRxM7f5tKiN5hjlvteS1xv1VJ35Tp\n+avWszi7PozedNgjz1kgkBIp39yVUIygR0XGZ6LXWOR8wGY+zQXFNTsFEYA7\n+xRKusB/2uxIKnd7sC9+cg6vJWLbiEtSp/b1iUxUGWPpSgDHODB/TZkdZ7uP\ncbAIE1hvr0nU2I+AD91i3WS09ifhXgwUfSSODYrIOnzStc8lc0bnN/e4J2A8\nyzyRW+ELeEjmrGFZbIyobqbVO34UkQGP0wxmTiFOLCcyu8U23P+GX9GsNYTD\nC358H60C9n2BmxE4bxfhx/atVhDeeBxpqNU07m3Sc36pgG1gsVc2OAjRBU+J\nFvkiZMVUXguNJXQQWZIXUjTsV2UgCLengl8XghRQVIBu/xPNLz48F5s5+g8X\nZMEmMC0m2IyD3EZkpR8zSbTnv9fb8x7MAxN4+RAm2PzcK1LxzRwAIoCd26Ug\njDtmMYnghSjWEFQwzdLV4E4cyUQee+XkvNLQwCNm+k/k7L3o6Aqrx/N8UShk\nS/yLqCK6Z1rZ8Y2TRQ2ONVznntLD0tLV/+zJBfszNTBZqs83/YrEPU4YYD37\n/w0br/YCww9LEmq3o2Mu6+cDcpWDVf/UaUCFKn4stpt2akpu9BPLn6TuI2MO\nqOPx\r\n=kVgB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.29_1588862258193_0.04575952779300785","host":"s3://npm-registry-packages"}},"11.0.30":{"name":"@preply/video","version":"11.0.30","author":"","license":"ISC","_id":"@preply/video@11.0.30","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b3c4f96eaf88a97d436a74e9990f961864f8170c","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.30.tgz","fileCount":370,"integrity":"sha512-RC0LXZFeZDMpb+cYI6jMf2fEfqvsYuhfN75PXYua610ciD31sOwfnHXTUtXJjI4kyGXcQbk4mLjoea2XhK5A8w==","signatures":[{"sig":"MEQCIBG0dG3fwmLhUyx77iAqjZCBifN9dLUzwOpZvpMM+qGHAiACc1rY+SxJfOsyKqBiYZcVeZKunDgTIf2XKfF9YoSHsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15251811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJetSLUCRA9TVsSAnZWagAAlG8P/RZYG0wRcL1L9AV0miod\nwO+53CmpflQj+PqklHCE12+mKUzFPz/6Tc46cHd4sXVPYLW3qxQzRq+ubuDC\nV0FfyYoMYiloDT0q0MTDOTnW4kV8y5jze3MSJQHDXyaY+f3+1kF7hZtBPgZB\n67ZY183K4R7phdOo1IxZqg+0Uye636A0oDuAWPSdOaK3YEFhBdavaiUQxYIE\n4Cf7Z8YMIYXlfrcpwazzH1v4rvHpsMfNiFB6F9lKBIz2S9SbqakIJTbueqD9\nb4puTnM2hNCWak63ttoNO/yw8P4LYbljo5kWWQZVdmVcK1ECGTY3img6/Xhq\npqtACP8mz7cLVPEhTqCsOJmRXh8uoevtXrXqcUdRqHNvhvpRmxxSjB6WeRJw\nvfN4mol9AKhFuBQTZUbp30VlJ7mm2/cVMpN4I/r2iiNX+ldE4lkteE6/4Yjr\n4tDfex6Oi1urZ5IFufumPgDDO5VNzQ3N8L7XCnOQPZDikv3bvN5s14py3QGR\ncb/ys/eK5WBPZwfAZNzRqFlTNfwmx4ezbKHxF+hFDzyDx0ZMVqDzxNHsipah\nRt2/hv84R4W1caGCAQ2QExewgk+FAmMlrsK3RsifiuJj8HhY8jMcIWvaC1Yd\nv86mCizxZoJqv43RPL3bf32tl8C+LrPOuYxNnNYQF8UtH4t4V0zM+Lj/9yJF\nK7I2\r\n=jHGE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.30_1588929236203_0.08356178884023047","host":"s3://npm-registry-packages"}},"11.0.31":{"name":"@preply/video","version":"11.0.31","author":"","license":"ISC","_id":"@preply/video@11.0.31","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f1f360fdc128518c25be92b10e8422bbb8da03ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.31.tgz","fileCount":370,"integrity":"sha512-q/rwO/tZxib3ec2XZScNLNhpQy0Q3D/ZsNNNnyUoDg5VbeItDE8XynrcHH0L8HZtWxzXG7/x7K9PHTKhPX3TFQ==","signatures":[{"sig":"MEQCIDuWg/as8KUydantNW8VGBdImwNYGRiYIoCH4auLJMInAiBtWhDu/yDDvCDuuP026KzR+R6vLw+Eg7qZ4kTQ/mFcpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15253025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeulM0CRA9TVsSAnZWagAAjoUP/1w7/AeKJqygKWXzBgLD\nWQdeNVDcsc5PFlogL9+Zh9jIniX9O2MiX1ZHnNXF4do7pqX0tAYvs09g+d2s\nCgN32YpMbgF2rnjMhsm46nCVoQ83c+GHHvrRw6dLghcmU228J92p+/gIoYXL\nD9MEEVS0YbvhQsUxg9vI+whJHsc+WVyhxE3FItXDZ8B5PqsHV7MM8+jhK6uJ\nPnE3fk92itX9MKVWWsaXtNzrayZizbX5FN03BHGKwpbvFnv34BkB58DQV3Ae\nGHto2fQl/jXVY37yGlV8fpSocBziMfYAtA4sMzweAdy/A3NqlXubbLHlmNjJ\norQC37EcLg9kf5kd06NhyqeFe9qHBoDju3QZCbeea4J2QaeUpucy1o2adj8E\nOlDudZuJUp35nwdegwYgt47haH4E/5QoPCtxckoP8OmEY8CtdyZ6SjaRuqIY\ncKkuYOE85Uwsp+PsobIDlUjpfsjGrwwckhTwea9E+fLmyDEbdqTBBFGrEfMW\nxzsvJGVSznbDZIvZzBoNmTJAs8gXwNnRIS63OurdzrKEL9/pBHZ6EvMKZAjM\nu2dkaNqS6SyY1V0KyfeM+myonwLVDuW1fLzoIOjPnF/FaSHv7T5bi8I9s3T7\n0BqIMMzzu4Dzmd2pvTI13NYoeM9T64llaF+zf61Zc0pRv9UOY+vI249OBnsW\nPJiK\r\n=HzIM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.31_1589269300009_0.661469763239775","host":"s3://npm-registry-packages"}},"11.0.32":{"name":"@preply/video","version":"11.0.32","author":"","license":"ISC","_id":"@preply/video@11.0.32","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1b251ccde77c091833551b0e77b9cbf3c916ed99","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.32.tgz","fileCount":370,"integrity":"sha512-hCW48H2PYVlBPlJEPAPWoP2ACWvOQ495FYLoXJ5iLN72rt4zK4/iQIMz338SEt65pYPAegbkgVORPB/SoXUL0w==","signatures":[{"sig":"MEQCIDXJlgpY/8n1m3FPnqUV0pczfsJCRZvdVr0ikiyzbjnrAiAwwPlr6S8BplxVNIA7tqbqlNE7XBefhZ19ksYeCqwvvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15252545,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuoouCRA9TVsSAnZWagAA5EUQAJvCu2o1QKoMjodFfAJ2\n3fX4pkEmFSCg4EaKPFLQ+ls4utvgjOliraQufJYe60sCttE/C+5Y8KTvspRv\np81iAc/UZMIz9/Y9/Swle6OPpiUbKdZaNOXbTgDeXQ3A3gvmCtMCbjNfilJB\nWF5aCWBzE39sO/0hLnVpNuLuVwyqfMpTqE1TV3FST/F9DahKL9Qn0ZTnRFa/\nbdcFGEp9Di7l1RPuHsLlbHqWAzxDJl26rcWjxVlPbPjcZwNxXrYSUH6sBc9L\nL9F+5tXezbffDoIW2HbbrJe+w0Q/DSSbk3eLfPzouWB11Vzqrvb3FOY4dY37\nlwnJoy455C0x2sXKiTVWA76TsIyKJ6B+cXiADxxm3FPwSsyZij9g4ppkSbNi\njpIeZUDWH6SNepT747v2U/FhYDAHaxh3d0CO+GG7/sXHaQbpWHyOA8fWdda5\nbgechDrBKE/oRm1hqCYLTEnIAiOEN513HJxg2o6Umz+GraTJ6WKhZhbZHUmT\ncHkKdlSR/mEXlcuYVyWytIHAw5ck0NxTX8o2Tn84oTxc6YlFyAd71RxC3X2H\nRJ1A7MneE+Lqc+c0PomWwUZqDk5Rf5Roe/bGgw/OP7bTq6NJ0esA67HeydcP\nCQL0epG0PSrEDCRpxhLADUbMWWeID6SOJeRegRHzq9HXDKzN8DyWsXd7O/FQ\nOxXU\r\n=QTJ3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.32_1589283373921_0.12262218445603645","host":"s3://npm-registry-packages"}},"11.0.33":{"name":"@preply/video","version":"11.0.33","author":"","license":"ISC","_id":"@preply/video@11.0.33","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fb1778a1ecdff7128a04a1cfc26566585ed69aa6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.33.tgz","fileCount":370,"integrity":"sha512-hp+VzYRQ/DubA1hfbdjUzPDG3ijVB93wjtK9mwvayecSfnA5Y91YD9KqjBZsxpLw/X72LVpzaQVQXD7VRNT7HQ==","signatures":[{"sig":"MEUCIQD4wfH2aH5FVZpKVF4XsMHt8PWY4Nehr8HJVvDrmPmZJwIgO7W1ClJVnOfUybigK7LE5Z2nso9wbww9uOvmhvQadzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15252916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeu6RfCRA9TVsSAnZWagAA2ZoP+waR0QUTgakTN27kCHgf\nJOnLTcyn6vnc/fGy2ssIl6ykLqcRDzDbIjQ6zqtDM7yHfhRqhrEjcSzdqOs1\nAgWwHqoe6cQ4g67c9sQL0rKiPlINQiIFKOr2R46qkHbxakDQWKbcXrzDuVkL\nf0Z72jHjkSEKbpyPjXINLoty9CjHyyS0dOUGk52BzViVfl+aqlocl+PamvjS\n8pWtg5wwxqD/gzZdta/u4QFerZaLiJIHqfkB2Jng/HylPLpmb4EYH2bYfrBS\npR9DWKG82k+dJMquyApsa3ql1jHD2oURBhtBh7Vs8m5epjRXVrI/nTLHrxU4\nGEOFd6CbNiUJ8n/Tn5xCxLSLt6kMeph7ZlbNCsu3C7ZiOUkqcKIO7JWZeasu\n7OgHEJXVC1RwkdshhAZesZp6+kT6fJY0v/YR4KOhYV//bx7ILSNovmWYPPy+\n0xW2cM37fxC/MxTHKeU9CGAWIRss3F5YzroY3C2wrlyPXYIG+/jfyxpPyafQ\nGGes1HmyApyU5nAz6JhleQZk5Sz8f6hpn+wk3ARLfGcBAm/pt/Y8nEQbjseZ\n2dutIpIMXVgfylizrDStReuelGZzS0tRU4xdvSz47lb3OT00gn1vPRUAo51P\nGsFG+Isma5eVl0DxTbvjstreD7ky+I4iLvxYKeHmQSpWimVYTTCqalhq1D1g\na340\r\n=9lHu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.33_1589355614591_0.7041681921670584","host":"s3://npm-registry-packages"}},"11.0.34":{"name":"@preply/video","version":"11.0.34","author":"","license":"ISC","_id":"@preply/video@11.0.34","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"40743d0d79a5b600e5195aaba93d327ba39f1e03","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.34.tgz","fileCount":370,"integrity":"sha512-YJYOQw7/nFYZDI6a9eRJpu/uHV8y2LKZatrwKFDaGWQdzLEaeCCe4VthtdggH1ybXIAdF59/WxZR9XWoLoRJIA==","signatures":[{"sig":"MEQCIHUaV591LHMTg/QL6ebvpcjcDXVxRlLYGaCKvt2fkpepAiB6/oPO6qTkWyiRhhtigIC27hqdweH5ZgNNANWS7+3IXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15284033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevQNwCRA9TVsSAnZWagAAw54P/Ryy6T6uql8uCIrg+DWn\nx1pcluJmznB2pU5UP5hlyhnAyToFZMQ6uY/bEtDtWsjxhjtrENbKtQql5Zwq\nPk+oEzshmmwxcnaGscZ+LawccDpTLw/63UWTB0ZxsUWr/jMw0Y37s1knuMzN\nCiIxWO5zRuf/rqxFg7UiZIZW5vyp7K87KQtARMIovwtHtBsHuKnj2Hm1Hh7k\niBWbdkJh3Cz8qeeNGfeCesBkL23JmNxbDj6OyLKQMUHRGgywYqRuZHETFEJX\nPtboEjReJewmFVZhaUc/6Ck00Z8smPVnkMbwbRsNvHn97XYWzIxR4i0HXfLe\nLhwYK5CfsbGAONLqXeickoz54OeP5N1C5if+gmckeDhlJu1aUT6ciALxlXJC\nG3t28AscC45yBVUZfoJ1D50qjYO+Jbwb9OIy/bxiszbf6XGU31Jr/gd8hq9d\nGod4gI3gqqqRsK8sbk5sbdFr4iErylRy5G6F1HPrln4WwXnhzqTBdONWQZBy\nmLTdh1rAGSKoj7syLOEj+naqDW1j6PGdV4PoazoGurtWAARt4VklNhRjO3jB\nppi2P1v+wBrkW+KzQK4v+Kk/6ZxWqsACBkmxYulO5JE0LjeGYpN1es5G45ca\nSkqcDQXLu6JSEPCemvJaAoC0MF47yrGEcGRqeK7t6PRxyTk91JFgn9hECkML\nmy0R\r\n=Qkii\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.4.22","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.34_1589445487968_0.3218401242643214","host":"s3://npm-registry-packages"}},"11.0.35-alfa.2":{"name":"@preply/video","version":"11.0.35-alfa.2","author":"","license":"ISC","_id":"@preply/video@11.0.35-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"81aafdd951bda7b0387d3d7f78d1c6bdf85c659d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.35-alfa.2.tgz","fileCount":382,"integrity":"sha512-NCZ4WhSvRK6LGXUd/rB7weybfPX0TxM9fdOF3tIipFPOhT9IXRbFNazanioeHYsLcVkiNPETvjlCuBIPjDGnSw==","signatures":[{"sig":"MEYCIQD45YcuMP2UIlKK2dFdJoZ4ZTlAWNmjHfZI5qFWDRcKfQIhAMMRSQqiH2+M3s3YIILDBt1X9ESHApqgYxqJfqG0pU4j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15746741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevVccCRA9TVsSAnZWagAAa2oP/jGHbURLdG4DDmQTapwO\nnxeCCtlYsvptnFw1iDWlZp3L3x5FzNMezmT5vdFxFzE5t+mC4SCmfNv9odR+\nOkb7zy8bM9RmZj3OUezJArLeroNLKwOkeTDIsTGiQNBBUjQuZt70MhX7yrmJ\n8wPJcOP5TSScKxTrUYZA55nlmDxdbrdQWX7ULScGViVYB7UgFnUZ7WxZV3z9\nTsvWIfW+m8kKBH6KWJNTUdsqCjGyZosbv9zRyvqoEwoWPfiapvzKs1OhF1aZ\nKRoDgCYrBOcs0Lj6NliCRwkcVPmLAoytHhTktmG6WchV4GTV/AEoFXmULYxd\nzwABm7D2M/U3Dur8z/+F7lJaTs1XXpaEIPvachd5eg92JIxqqRZv3tkGxQBl\nLJzGtZYnNbDZaXbOiq0Mw2qslMNSJMs+wEjMcAXlLwsPRSY+t8pXm4mvQd+H\nOOBrYcwhzO/Ld4zR8igs9H5ceCuQZm1dCijnsnRBEI30WILiNgZ6dEPqG3Q1\npWuLhF6u42ejQcs9GX0AzlQ6hYRnJgtfsnZ6TdpcDp03lWu4/GC4vjWwRS6D\nbPsK15NvZAmZVJYgRf+NxbD5am3pNX4hTsrT9dhhjI8j1RxLKNO3UZ6rIlZx\nuKH7ToqG1wLtPBKiPRgMPNIvmyyMm5UUNa9vqW4N+IjVT1NeVNRG4sH8nCfc\noqdI\r\n=J9nE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.35-alfa.2_1589466907750_0.6410748991401398","host":"s3://npm-registry-packages"}},"11.0.37":{"name":"@preply/video","version":"11.0.37","author":"","license":"ISC","_id":"@preply/video@11.0.37","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5c959cdad3a022d90fc5ca73fb3876f23957670d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.37.tgz","fileCount":382,"integrity":"sha512-0h3xHqXvHb9UHcVDKaAdaKh5cewrdaKGxXph1FDwwz2rWwsOk/J5EUIW6y08gdb/fp2/x4tk5+SduhAUKQz3Ew==","signatures":[{"sig":"MEQCIHaC5Yz48TT9eRrBspgDT35bruKPg4GQCQLsV5LmiVUhAiAZnj9JBQu7Q6RAv1ELtIPBhirI7nKUAeDE/tAxghzvsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15772877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevm6CCRA9TVsSAnZWagAA+40QAKUpRcVYmQlokGcdyr5O\naSBNbzphrJWT9HGt26vbyrRQUOj+Rzb/QO/O8S6eaXrvO0YPAgu8p3aSbW5x\nPWl5+UDQ7/YD0L24CxrE2uPzACHH/h3tJCZ7GApGJAGf456znMiV6YcYJbE0\nnihH1Vpe37t/OtI8cyqy3N3AFIbRaS1cri17wEKpdLkAkkNO0AXqNhT8eFdh\nKOmnD0oOO00ug21MTaxJsIuUDcil9KMuJNcSqP1HbyeCUdUT1gZUGmNVEUOv\nl/tJMS/FGO6VwG+gP5ffYne95NP7X+LV6M9TWy3AQGUutwbNsDbjZeaoZOjp\nNujKVPudG9dIg5XYeexgIXEMBD/62dfW8j4dYJx6EP/CLzTWEkYrpj4HLnaD\nCVLntztvAVU75yC/MghhfTdl5dUtBRKKJpzYQe26vC26ltjOv65FKMyAr/z3\nlYF2b6iDDgcTMWvdFTpqkzDDWptjL2Cz4vh9zHMpp5QCqwH3nKne/Sd6CzHY\nIHA/65Le6MeTj13nWajz6eXY7+92gj9PfZt3aBMV+jBgNm/4FevRq63sXS3S\ndIuYmIX0WSkHe/PcIsU0rjwkS2+kni3grscoEtUhKBDUgLk0nuV16BG53dpG\n++eQcR0z9MTaTgG9NMkWKv1lBwfZTYiIfeYyFHQmpXPDIWelKLMhTzUhzSj9\njS29\r\n=5sJD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.37_1589538433516_0.6771729741238643","host":"s3://npm-registry-packages"}},"11.0.38":{"name":"@preply/video","version":"11.0.38","author":"","license":"ISC","_id":"@preply/video@11.0.38","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"96a2cb5623fa7016785539d92e29329028bc3440","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.38.tgz","fileCount":382,"integrity":"sha512-D8E3caGqLUiwfOd2Uw2s0MRuoeN0auA2ADsQ+GDKqpmXBh6qk3QnS7+rZFeWXSrOQbz35MRlBQBc9+dmF59SJQ==","signatures":[{"sig":"MEYCIQDviPgPhoGzkxZGQTaNctxzGSqrcfFR/l5wn34iAFLMYwIhAKy/EnBXjy2grXvxG0p4cB1RBY8s/MQ3tbDGwf3DAdIX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15773339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevprnCRA9TVsSAnZWagAAqK0QAJu6GuyB2s3h5JCT9VFG\nzuRYoSzoQ5wECuKfu15VM35jobBAYtTzGF7X44+ItRwM0h73fDZoDKiExRDD\nS4w6VFmsYEWnacCY0Liop9zKG2r1zVJjrrsKiSgW6/pt7YyW58ckl79KlbVM\nizmBdfn3Tx0v6rqoHG+WM+HDjUbMyPwNcqm36NEHBdj9/5AoacsOeohXFIOl\nAYfMDucSuKJ2SD8/3cGgqlkr8amU/Wlibxgy7c2swcoY80F12spgE0rBTFQu\neDbl+B5fGZsBGG7qeW1Vv3vac8eZm5sELCgs1nsew/RVhUKZC3prWodCbz9G\nIhnNsDk7De3zlzG3GrhmCwQ0Dh/ZnA2KTY/4tSpxLUQHqxaLEhIYzrm+Fgda\nspVpoTNs0jbopMH6gHwgs52ZyLJcKAvFGxrNC2ygUSQ720fRxS0HDasZeJen\noPBY6MEvyUww8S4zmJPshhYoHSEViX3GjWAeRbfLVQnP1jCJqg8Yczib9Jny\ns5e4lLDGCPM8+rjz4zsmMOIGwkYFTr9O+13lMoOp9C0rjTuOXqHFRLvnInxe\n+BRl7uXUDCoQj1uHZdECHC9TbpS+v3gEQKpDl5I38EoR0Dzptd0bBmH57oOp\ntxeV8eV5pbva38BEvvZBRV4rNTcJtntcscjXOgQN3FkkMtY1Ad0jjT5PeaAN\n32u8\r\n=71Ch\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.38_1589549798706_0.506118423580509","host":"s3://npm-registry-packages"}},"11.0.39":{"name":"@preply/video","version":"11.0.39","author":"","license":"ISC","_id":"@preply/video@11.0.39","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3813adda0b744a4dea47f908bf2c62991e94e9d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.39.tgz","fileCount":382,"integrity":"sha512-wx451WFr1r/MtHj8I/OT1eW2nyWMyAmd6cEnamwdWWzjOCv+ngWXLEgb2yqlVXEb584aQ+3cZxqqr9XYF0gdqg==","signatures":[{"sig":"MEUCIGETFPkOAVLxjDkF9S9rT9LjXhPSrgVGCRL9I3Hq5UHAAiEA+y+AySky6MJybahEK/Vi8wLaDgk5PEoFGdibZp/5gyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15773095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevqICCRA9TVsSAnZWagAAcYwQAJikoLtfgeKnU/cKsa2M\nN7nDET30JieAtPyAI27zejjv+LYD/xxgKxww5RxD7MPtRykTvCPujmBtgmWb\n+VD/t46y92so0gEGN29H6O/Nm60PYkCRP4sxmcajDMUYG53Xb/ViKrybBZQF\nFBY4ThF61eU3dkBS9Q0PWa4zNKGPTSyR/xMYLVqagVntl3vdE4bo/cOMs8zr\n+ejisdrU1wIZT8QLy+bvK6SRrb6XEHAuvEmWq8DM4MVV++Xy9kE2hJrUVR+c\nZnxsERXmp+zbjC/UDDgClcSvWx1rWIvckyBgBhcEpUzEUH99K4bLwTgMv4y3\n2dlcSwYYbWcOTjr3K50lD08VQudPOev7B9+/dYDOxrx+0lEWuY0fqDSey9i4\nttzwuUplYvsC/7tGK4Abjch5vUtyt2xmfAmp6hv/bsM60kxoRElaD6twPUAC\nk3e4qDLD0LKsuedh6Bme7jkqkRKQJJzhEAGW905ridoxFnLhwPDxUrg4lI0V\nV2Yi8T87rcFN7PUjL6YSzdlGVF8Mo7FD7SzT4GK4JmSoIgXkHEbJKCFDyM4W\nROqAIrrpp7Spy9GiN/XBThOnkpKCrlT+Bh2cW/8VRipLi+BfubZf4yNBNnwf\nHshLwQ6s57xeiM6RBSQmmmzSsxRh3WY3o526o5vlchJtqVAzvW6Yrs7T5z26\nbxO6\r\n=Pma8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.39_1589551617191_0.8378506900241756","host":"s3://npm-registry-packages"}},"11.0.36-beta":{"name":"@preply/video","version":"11.0.36-beta","author":"","license":"ISC","_id":"@preply/video@11.0.36-beta","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9de8715097d883ce636be29864bb884769bc78fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.36-beta.tgz","fileCount":382,"integrity":"sha512-8SjD5D6aNNv8tRuRUyOzQT+lTFmRrG845rlMkb17jhFWsJhRcl66brdOKrBVkwl5ge7tOI+x9SBNLZRF/nYxVw==","signatures":[{"sig":"MEQCIA84dhcygsnPEP2ObbUKRHg98ZnY9fIPcZQI2n2rqaKIAiBpyYZpX3Ed/4XFoXUIlLD1kKU/096Gc6wsF4Pk6Y7hVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15762592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJev/v6CRA9TVsSAnZWagAArncP/R+XpL8XuK6EmTvimmN/\nCggdte567K8aYfDt46a8YB7Waea4GK9gJ7UE6kMcOdc83N1aSdJ1aL0nn0GC\n9qrSz8f4srCuuC0l7EnQj5Ch24Y+PSwui4ZuZTxpbtnhwSoc4C/YlJDW5jl/\n/3KfXVAq3XgadBMf1BurD4J5DTLEK18mM6rkJyTZpmAMIPi5bYBuSnfxM6n/\nSmyk2Kwm1w3TLf0Nyh3VMguWCNsD6YMGJSo710AEQ9fPiTNN8+QZbfUp0nvL\nI6iqa6IePQ8pAndXbc0Zi4Quyr1Vwq9dCEiGgqe5N65xWEls672fEnuj41mR\n/Zk4BGlyDmBp6rtoSR/O6D89fw3nYQf3B5zQIKQWFbHHMP1dAfYC6i00LGj+\nDon1zMCwdVIvKJlFcGAsYinuCr2P34wa6oYxWlyvmHU9/IDf30pAtIVjQWB8\ntC93aHQMsN9QxOMtZcVDInLNJkc7HiRCBBXs52Onb6Cgt3YHq17UvjZMLaoe\nJLY6UOeun63BkX560NyNQOP2W54kaAQr0dZuktjnQMj5gHFbNgG3geY5ISoU\n1HzAAnRURTZ+oM/B2dlQJX1zGOHXKAISusQ1ZSom/tMWXE6i1JpRGR7whwGd\n9AMHn43BMzuNxKvTZa3GQO/IjZk8axsCVog0qqH9bewSxzPl5qW32xETU6RC\nJdgN\r\n=rgLN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.36-beta_1589640185579_0.9543274420739221","host":"s3://npm-registry-packages"}},"11.0.41":{"name":"@preply/video","version":"11.0.41","author":"","license":"ISC","_id":"@preply/video@11.0.41","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b76d1c22a1c5214e06c922156a634ea34ac4c645","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.41.tgz","fileCount":382,"integrity":"sha512-FqX1ZB9z38xpA1MHwDBzNK7NKD33/UUCE+j3jPbGnS9Kr4NdpQGXIXjyqH8GeHXqe6eCdesaskp8bDpC4vOIqw==","signatures":[{"sig":"MEQCIDXDi46fhyADXlLg9PXresZnDO6c+GX+zWBshTC4dIi+AiBHqdSUCY6WY9LM37JJ2ucKKxvsDrTAcBi5xFJSaekiIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15799294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewmZZCRA9TVsSAnZWagAA7H4P/13XG3M/nidC1B863JYH\nbPe+tQLgNYe2bp3AtVV3CXXgzv2E/AXw1EMl/QU8+gQ1WvP2mFI7Ue+8E1Dt\nh8908T+a2oTXSYMnBtEmlxUvhvnDFQZpyUFUyghcdcqlw4tahk5uK+hizGtq\n8XxkWPJv+Ln0yyCHjqQAEM5Urr1/D/lunn8qvoQgKi2wSifYfm9Lm8Qc3uZH\nalnOVlrMoOBG+PgTPlbvyC0x+X7QbQ8CqJyxSn0Y6OsMD/Zdew1Lhw1qRDKu\nfdESnex/PcKVcz9adXC5SK3OgJQ7WeFr3Rn1YDus4XlbCt/yPKsjfHb0erXs\nmerFsSkhqO3/4iY27x7yNOKp8b8jCR/XAu4O32qRgi+N0nncjWGjm6a7u1y1\nFRZyIRza37WGIzcGliz04MgWs2Vy6oJkkRT3zWaQOHyioBV5YlIlJYrviyzH\n1h3sVP6MYkmeeMkkrv0GnjqIYHLIO/zSX2hj5OKGajLWK6DfnAASQ5K9pYA1\nR2azN9OkLu6VrQvTEUizPTeo0cxqAHuxDec1uFePwe/Wz/oh2OCNkNnDN4am\nkwAiyDLPWyoCKv+WKGDMHFUyv4Q6lFTgP/f309+f8Nd2e7CuZNVQRTyqvfxL\n9craROy85i1qxDLIHU56ZhvGzA6/8a7ivhQQvqFX7/xOvqTdwjlF9eHkg6Uo\nLzQD\r\n=9uht\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.41_1589798488636_0.9719543233108583","host":"s3://npm-registry-packages"}},"11.0.43":{"name":"@preply/video","version":"11.0.43","author":"","license":"ISC","_id":"@preply/video@11.0.43","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e053eeb1399a2a5dc5e092829866ec45d791005e","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.43.tgz","fileCount":382,"integrity":"sha512-1E+CYjbS1SzqRAyv6VrfM1l6WkfXMAf5QFFb0vypwYEIcNNNnJJOrn1h5pihPCKKb0I1vhwWtWNjwVkE7oWQqw==","signatures":[{"sig":"MEYCIQCFSMDo9PByovqLOje3CdvKzNF7sSSlPJxhFgZghl5SEQIhAOLcxEPzVEyRXCK81hPvVZ6rxRKw6shS/maSkcmQy4V9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15804701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew7nLCRA9TVsSAnZWagAAj4oP/2Vm16ob1PmT0ZW7kpMd\nd4GK9qJLYJOpGttNf0q4PUdUFwkeb+j3H97vaAlQJJkLP4EyhhzRj4kBwkub\nWHxeITNmm/ay7pN7NrjC3k97gInyTGmFasU0cLLWNtGSO5SyTBBGKCnZuz41\nZn2udP9IVAaaYUvM+T42n2bnEQsFFIB0/vVHbUEc82uU34vX2MmlIyEqjm7s\ndPiBYoIJfwN5jVcK1Ich/PhDkb1PI5VCE6ccc6OQGDpY12kdcqQu7j6TuskD\n8mzRURfh0kxDPS2bHnGZLEWCnDZxWkBAwbDcHVjrOAMreex6gXx4keIsu/86\nRgtoykkR3aUPeZ26bA0rqBeSUUOagPwIqqUB4SB8uwhNDgBJ9BXagqZpABdA\nkj+xwsNbOhaEcabs0BB3plJbrX2MXUpGlzRW7zYS5MtoxrwwhWwIlSXWo7UK\noD4gp0sQZeK+OTyIR6huGkALBC9ROosZJDNoCD0sGsogAW+Xh7zeqM++Nec7\nyyuh5O8QWxtUFwOS1iuokbzVVWLYgnfCqOzLOEbT/cvhIES2Brpii3va2MWY\nXToKyPJ8ROmOgFDJ3oMDNa0wR2UfELdVlfpuHIpinE6Hok93TZjEuZ75emPe\n/jsWHoUniB/sLs52EyOskE805FHFBCwxTyNDc6crMyGt2OUYpQkvni2QkxEL\nYBqi\r\n=6c1A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.43_1589885386976_0.08442961631217982","host":"s3://npm-registry-packages"}},"11.0.44":{"name":"@preply/video","version":"11.0.44","author":"","license":"ISC","_id":"@preply/video@11.0.44","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e851d0f1cb3b3d6e3b31f7fff84bfb6f84b1c468","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.44.tgz","fileCount":384,"integrity":"sha512-GZdHLbSc0hAkpocCHNaKHIPL5xLCEgF1Du8wufARSRgUygWrsIVLs6j1OjJSEpAQp/wTGyssL22FFoFmVNdfTw==","signatures":[{"sig":"MEUCIQCpxwhWn4cx4auyBLMyZwZ20l6UnIcVBAXwS/ilVLNgrgIgY2aNuycysEZ68s9Hs+tDpjhe76SWhnubEjrysv/CGKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15810143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexPUcCRA9TVsSAnZWagAAYdwQAIq0xtzQQkOMHF3OC7ay\nxA+L5btXABOKPS8wmse5DCHEH+4g8I7HosTmABDXmol2J7kvPr2n+yu8cZS0\noPcmzyUxhY1aTjgeoWdGWGECvvUmva3IDXUpmZx3nIJp2iM2pJyrrxiyaUMe\nRNrpFFEOZyRBuAmEFT6Tqslv+HPWp1SfeEb5T+HQnXo4wS9VJ0FU8nJWg3lV\nO1S2oe0mIitrWWtTra0S85DmaWe/tuOErYJ+74Ak4JWG7pCeh/RiHqZTPHDM\ngnaGGrZdh+NBJCY3mQZrN3+pbzJoqbVG629FSekDa5rHcww2LTozfjPrMlXy\nlju+z0gMFfJ2giGfmH9+xFqWAxqyUd05jfG/YbgzRcasiPfvT/O/npwYLaOz\nPJBs/by/B+stAxNAckQtKw/56acWtRbxnERrRFwJBKbTfADJ2u482wu1y9FT\nGmIdG4Vw71ASOa5W9Y2LJ2exwkYNspyO89L+bTxO1mE25eewG72OVa+tckRT\nr0TIc9J+2eFKFNdnuy7WTDPFI6mJ6GJMNpRZALaUTQhSjqpr4NmjAfZe4CBE\nHb2bTN4K02/ah/OMsdKAjbgx9Vr3wDhNaXXaVYpidkHtxxmHGutdHHjbD5vI\nyhgIEKAte8vONn0sgqgBr+YIA+RRaNNTduNpZJ9jBn2hkdRsZ00pkcEu5xu7\nyvIo\r\n=P/w/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.44_1589966105165_0.1191918339617537","host":"s3://npm-registry-packages"}},"11.0.44-alpha.1":{"name":"@preply/video","version":"11.0.44-alpha.1","author":"","license":"ISC","_id":"@preply/video@11.0.44-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a1962834b923703d8409400c55fec3f143a85712","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.44-alpha.1.tgz","fileCount":405,"integrity":"sha512-Z3zIyyj4F1hfpZuGIHpzE5IYWmJBEgA+5V1NyNhLcO15sSPPns7P65B86NmxpBoZm782G53dc5u/xVLnnmyiiw==","signatures":[{"sig":"MEUCIQDD5J0jDRPVGyfevILxfekTH8zJ4MiIOPurxu8g/a3KIwIgXr+J1sum6UbgG94okl6c/HCRg3gzyxd0xDTKkyvzt8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16053690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexPb8CRA9TVsSAnZWagAAUZwP/0Wo+UGUmUofna+N6+LQ\ndoveScLKzqVOz8QYcU+oGgnCB4Bj5kosvGQ7RGIrx/R3+CLXIFDNvo6LI4hx\nc87I0ln35rLFaIq2hBzIajfCZkt6m3i4bpsmuLRjrGJaLmEW1m7cXEA8qu2N\nL7ycuOOJKKJiY+Wrr2MWpmPP3MwyXDfLurcIMY89OOwtlZ54NPAjoZzAhzPH\nX7bDF7PDqPIAJFmYFCUGWxbVd7SyHwypxWOu2Fnm97zUkk8Us38XpUG3amLL\nA4HvCyTSWU7nDk6f/9hGNEf8uwlGBXeQP1kIESWliirFTynn3IZYCTM1oYiV\no5AmpBpuXN4iW5DzEaqd1ZKjm3cxQ7psJtEsP8Iv6g2LW9ym67D+TYdEBinz\nR8vLbDEEonc1FPt0DXaSYX6pfngZok6Tk1u/yJLc9RcsPS2hOgLYg/aN+Jfg\nOf6QZEv+eIyIFG3JJ4cCwG5pDnJonvAh/7EKwIB7Z9ZShk/ECEQswldnh38S\nCp2TzyolcjEJnIjAdzy0I0GJhjDJr0AFYebyZmJ4OuE4R/dKfqLjbNLXYqs5\nvPmhfTVevVYCXF7LJ5FChzr1cA3XPz2AP5o3EejjKd4qbEv/NjjIN88/c6/k\nBTezA6gYxv/a2F9iYJ+zPPrSpiejLsWZ41dwVa5kAfpEP28ZPdS+lvJGyrBa\nh60p\r\n=aHX8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.44-alpha.1_1589966588296_0.09483702979613962","host":"s3://npm-registry-packages"}},"11.0.45":{"name":"@preply/video","version":"11.0.45","author":"","license":"ISC","_id":"@preply/video@11.0.45","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c1dbebe425c8d4e53bac8403893218289646c7a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.45.tgz","fileCount":384,"integrity":"sha512-lGwyyEEdagPMsF7CXiEv5IESCQhmWO9Vh+aAud/fYExvoKB4OrLBLMHiOYF2W0RX+tItjofFlnATpX4gywwZiw==","signatures":[{"sig":"MEYCIQDB1yBRgIUcdg3LZW9cPEJ9YkSTbFRE7hrY6JdoCg+xRgIhAMUMvZpBuo0cNeUZFnBrkrKGbt1qsZAphu42KwFjZVCM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15810262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexRA9CRA9TVsSAnZWagAABVUP/1mzmRsqlC9bwiB/X78U\nKtiiTQsQl6JCQl68gTwWxMUV+D+kdkx6TEU80fz4Q3asaMDyEq+gE6ZfvvHB\ni/eKpmOGbip2zKfI/6CeUF6pomzcirV/iLAXOLTkugZBgP6zLIoWbGbxw6r6\nx7+Fey1W9DXzvAAyBmxGKe5I2cnErXmzmKMxIVqhN6vP1UqzOMp26iPhMHfw\nyPkY3FXTgcyWavomsEYfo4r5kOTTiXJV7/M1nD++KxgbdezcvebyWqYlkFvA\nIVSIVhFgLjPw4I1pAb17tezHj6A2nCR1qjG+laPXIYPkiY0zLgk2YSGKJ38x\ndJHEQSxBIR/Svzti4bWpRMK2/fYX32xKNay6HOa174mRn9QXnE89+6zJ8pul\ng6ryVwXK2AB5V/6JdvZRBYSKGFp9l2nF6y49nDsB6em3BO3W4rkRBSDyiInQ\nmDgCRHjc6ZQdt8nZ7p7CPTyNbCKAxyKI27eOBLXnrx4J2xK6FoC97toiWXZ1\nXA5xXo+bP/fmov1nX7k4lbYl3wZDvLKAj3BJ26VCPSnLfZ2AsNx693UpddS4\n0sCciLzThi7GJ8YwVeqdgTChIW8Ydg016vWqHywQU88Hd8UfU+QdPvKodaRf\nXX60s43vIRpdnYpj2MLWuv84SLRPDTX7zVnzfcljQ82HC7ThXO9hnw+eGv3o\nbOp6\r\n=NKGp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.45_1589973052474_0.2683620128193249","host":"s3://npm-registry-packages"}},"11.0.46":{"name":"@preply/video","version":"11.0.46","author":"","license":"ISC","_id":"@preply/video@11.0.46","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"85b8099adf9d5706ce64d894e56621989dbb0493","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.46.tgz","fileCount":384,"integrity":"sha512-P3gnfhKIGEtLMa6Ppv9pnX6KVhKqAuSwEd9u/pjONDWrco+Z+zxKwDlI5SKs07+Cc6cPMA49YgdhYXBTWOszuw==","signatures":[{"sig":"MEQCID/7WIoI9bv3Abn19e7PxrmcN1bV4hQyJSnY7Q1j5I21AiAteo5nh/qqPOSMycckAW/U/+OQdEc7p7WGrGuE5O3wgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15810952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexRe4CRA9TVsSAnZWagAAwJ8P/i32u84A7VmXTMjWZLey\nQ7R0eMFVP4h/HKvvNUPguAxoK02uGT+gzc82i1VZNhvgwyTjAw705RqHKSDZ\nu0X0XVwYPDyQLym0iLNMhSUZvLQPU187sr9fGD4G/fb82fjZbH76q52D/B1V\nl7wrXUBq7QC5KPNBs+HQ8K1xeb03NRlvFDM/tQ5GXaLkjJW3VCheX1T3x4bX\nD29MV7QJRzM+6x3ua1lw63171SO6sYpwmFMz5aWwIL3usGda3cfJ8YJNltnt\n80BEsFeSEoWR0RLIaCXVGKYgTzGtaohhzQIYnyhMUXqnsjv+NLfKDpTPOvjk\nXEnv5Iq8SeU4T2i2KWHZmznlHuA2FVaqsvvex6Bvat7+JbBII/Or77RTTju7\ncbtvUsELy7aRxAfPORti8HqMriQyJ8imk07bScfeLb9AyYtPwCj2PFqMJrJZ\nk5wSfwQ1o1danQ2STPg2ElMuQzVDPeV9AF3GuuJtdOg7MF32lr+T7oEkfJ9/\nIbA5vRIEns7Y3x6L0UF0q6oehwq4iphpqQPfaNUS+t14hp1OfZY9Y/1DXa13\nk1UjgKLAYHmKTKGCRq70sWzyE2qT/uHWYuhayZ+XbgQKnK4c7tGVJ98o+Kon\n3sQk5ushC78/dDoUIt2y4SbHxDl1xp2QWQKW6f5D/NchDEVDtyXQwf6f4Zia\n1Ilv\r\n=u+gK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.46_1589974967853_0.7489631869804878","host":"s3://npm-registry-packages"}},"11.0.47":{"name":"@preply/video","version":"11.0.47","author":"","license":"ISC","_id":"@preply/video@11.0.47","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"eb4c25131e4344bc1ddda3a8e67e1ff1474dfdfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.47.tgz","fileCount":384,"integrity":"sha512-9biszmokupbcy1QQaf98z3nrainjrqXZH27/Dria4DF/u13a3pk7cFPRXNYma+MQCqmCQn5I/dR3gDlC+bf8Nw==","signatures":[{"sig":"MEQCIGwUoyl2QRHQUdnhfCF6TiZ0aCpd7lhGZSLFcsMsScbSAiAIU4p19EwJmZkfKV20v+5OSSvh2t7/op9/wGmXBmz38w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15814922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexjBJCRA9TVsSAnZWagAAMHwQAJXN3rRzlPAcygmsRws/\n+cShETbSgkGJ5DswQr/W/KTtK/298kWrjOJckghU3medJybFvD/eslRjUBfj\n3iFP2ESIJvjnMCz7h8/p7MTxNKitBEKMY5VJ3oeud92pif2NOQ9VbEVmDqA0\nVqvlzE/xvtZ5OUlalK7ykRR6Jx5HDvui8XyK9UUEBMPuzxtLsWMS+oapGSs0\nYdk2RSZZ58rwy40ILDw/oOJv8pWbl0LUBk3nuvVCScofFfiSy6i7LPQrvd29\n0RrIDaPYaIas5evOCM4SsNqV1i8zqsndbT2jBTBXcu0lAy44NEwLH06CqF7W\nlTuQY8sbKhyKI1uxGSt5Z0WoJX44idXRbCJUcwFQFHuV9MBmkBCPRpz/PUL7\nDOj9Cu+zS4Y954gnxk6J3xqwQAurJlkEdrAyxKPjQ6BsFRPidzGsYcgMTYtm\ngJYHVvcGecNPRiej3glFzebvS2nBCeWbX7cyGTDhbg5SNsz50tKLAcXHK/yg\neC1/arqwOse70i7GLfkEQ5+aKPfvLlCUdWuo5+83ZMFyvilSdaweCFiaykUi\n29TVaUkLR9zsUwl9aAztL/uV8SrpLZcXCK37HtYmjdGMOurgvItl5JezHKsR\n7jjbNiVsWuxcF1OqlXT7vEbVK+eYJhr1N+t2uUCI6R/EE7ps2Busgi/eWriD\nDxKb\r\n=4PUv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.47_1590046791242_0.8521202473418537","host":"s3://npm-registry-packages"}},"11.0.48":{"name":"@preply/video","version":"11.0.48","author":"","license":"ISC","_id":"@preply/video@11.0.48","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8e442f651a43e03bf291702e8681345dc3514c59","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.48.tgz","fileCount":407,"integrity":"sha512-kiQwazgM0JzX1lfy22Dip2+3GW5G3V0rsCPpZoNNJ8iJiSrE9MeQ1g7Hqcxq2wHghNw1Ny1aLr+/k4YXADd70A==","signatures":[{"sig":"MEYCIQDm3pgnTm3Ws0TNFmMLEpZxrgdP2XGUZE/pEllQayscBgIhAJ0Jry9bbTW8mnltE3I+NXJIHddxjCoiPGTZWFRf+TEQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16181187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexkwNCRA9TVsSAnZWagAApVYQAJVAbci5FvqrYPStG25T\nPkIBtKegKK+k208joKgm5AF0SzNiJVBVmzGoS56K9ulBFl1hritmsc6ade9u\nKjD+jS0w29yzK7Tw73XbiSFHUwbPtdxsYpc8GPjHidIfbjlD/7wqOWkI8yjl\nseRdsbU021soVG2X7OnJ06axumbN9fuYESrhvW77XeDmm4KbJpPZZZ5nozpN\nkBBm2FBm7IORZGJlfrSRl1rX59tz2k8T+WxdD4QDu3nU0BRkm7DI/TsnK9sL\nP7a51TtKlxzRkc0Hyj/t69r+K3BkDCY3rYgdxyHf20Sc4EoWQheUqNukV9zb\nyzP+9SDI8y9k96FUvpOc9G8RhmE1/4t5onVk5u4Q3Ol8yA2ZQf3FRt6+u3Q3\nxGbydh5FzzWAAgs1fkAi2ANtquY6Si3xvTzTSPN1RXbUatGL+h/B9tTItGGY\netT2Qmz2UwWECzrbykuTfOmoTb0U9yXX1pzc3Z7kmG4VsTOUT0P7z9Un47gc\ngk735OIU++CjlgaNOLUioJl8z4jl1gwsr3LBt+er5RYoMGGmln+hJcs2k5lf\n/bmLUQCDM8r1ZgPZVamfiaTGjkuVA/pihe0zSNwu2F6YwzqnIClssD1lPEQ9\nl/ANjxBkDRRZ736pAc4KYmXbfBsebFHg+vS1esRH6i/DysAw0b9vLsa0sjjk\nk37t\r\n=bWbd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.48_1590053900816_0.4996174138149363","host":"s3://npm-registry-packages"}},"11.0.49":{"name":"@preply/video","version":"11.0.49","author":"","license":"ISC","_id":"@preply/video@11.0.49","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"491e7593a20c92224e28185eccb41d5810404b75","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.49.tgz","fileCount":407,"integrity":"sha512-dU1F6TfbcJ6a1T7DP3WbAGL9UeirSTnSaD68jXbYgbiszmIZhPbY4Uvx92pnKS91sUELZY1ofrbaZXZMX+U17A==","signatures":[{"sig":"MEYCIQD8x98SR2OBjF6D4QYjCnriOIpVq3bz1qzu742pGunNcAIhANDXp62CHQ2b3e43k4bIvXXR+0r1XFC1xDJE/B4WqAaQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16176013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexmfTCRA9TVsSAnZWagAAsqsQAKP7dcLhrGUsPDchNPYV\nMjVK7J0wOco/i1/vuCCG11GddbGbLbRbJPYvwz4XZhFgwMbfHt8L8Nh0EXSd\nRIRa8D0VGj/QKvHKMMOJiytWwZbdhE2ixnLcG60qq3yDBzZ/DhVhyi5jgwjm\nu+2aZRCOEQHqqVxnCe0D+z19miLhVG1J+TxnJ6y3hlaNRYIK9rTyOYotvlWM\nLA/qvtshrOPPkWyrKvtGc6EXp+CBZsG7vxKfMd4ITWas44xA6ygqNaW7MNX+\nrZAh1z/u3HdDWqUzNJpQZ5wbr+p40tGPyLs4v9FG3DnmTV+8fWnBPkVCjWU2\nTxBNnwsvBRbx6KAmRBa+9zwm15BxdeWQ7ub9n2S71Gj6VH+7CEQvkg7jqDMi\nwZdrN2mqwreTuqKLN3eigcUhv6fP2mbQcid4fmf4daAtVEU7oAWCXm/Q1xzK\nfO7woTfXmMRJlMb1e1Ffa6LJGogrvzK7HAjW9V5zWTa2JKq68GivJRGmgYLr\niTMLEX8Aq0sUEvA9yH858Phx7UOjqLSCDBph8MfBB+vkX/yiqWU5XxWyEsLD\nLzOxI1jhJcW2pnHOufUzLgi3QsJELTzgn/HwVSVM4gPoZP3Zgw4JIuxZYgjd\nj4YGp9UHASYTxedXMzGjpNxT25Ue5970ZpuN0jUUKTAhGN8h6f5ENlLneYtL\nLcfI\r\n=ORed\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.49_1590061010482_0.159502424866226","host":"s3://npm-registry-packages"}},"11.0.50":{"name":"@preply/video","version":"11.0.50","author":"","license":"ISC","_id":"@preply/video@11.0.50","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"28fc8e2ec04649b80c845dcb6d0b579a6c55cb2e","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.50.tgz","fileCount":407,"integrity":"sha512-Qf+UZDix0AcQNy5uciyBLbrMfx0vaeg35r+4YMrmnwMOcYOMCvV/zzoOv59yOmLREyz7Qbi+xx6q4jFR/JPSuw==","signatures":[{"sig":"MEUCIDwm/NkDprsfwNwLqLo0QDZFpPzhNVR174MF5nuuHSnWAiEAyIrPrK2bcOCUHi5GY3+PNtGoRy27ZIiMC09w+B58uz8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16241849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexm9oCRA9TVsSAnZWagAAzfEQAJLDttNEeAdBlc/5kp4L\nzEtHE1tmt5CeOx55LCmVd5aCQrG0n503ED1b8jlUUYB3/QCjfjTA1jAkATuA\nb1Qn8dojl9kwyjsDcyX8yGpo0WPAh8pUsqyERyYCgvZOZdE5myS9Ceds8XA7\nxsS/xAkGkj8dT0FngK9OJiPLxWOr/m6djTp7GAqMF2Bw4LYkZFSxZPJ2YeRr\n2Vhua9mxEeFhXOwbloZZnMKTC2On/R1+VXzLa0iVajvzxgflNwvb4GU58M8z\nVqQVD++bwVclpNfvAzfUw+TsQQ9CYsekRkaM09tmYe4oqO7+fsMB598GSOxZ\nFxezdc2BEA0HLVI+EdGaa3ms8V5jjjTsfMoBc4/A+hsB9ojwqjoM+Vpbvaqr\nXX33hki9dvYo/cj0kgRdggf9uFc5uwHpOVhzMXW6Y4XfaIPLJEifzz7RSIOY\nmVM1ZxSXdWNAiXiud+T01xe1psBJSEoMkhGf/5XdJqFtXTpJkxPgS67wvm64\n5PY/95GL4tFtVAwNmtdsL0SZzrevcPqcv82HowPdBRay3Hg4zWg0E3kq4Snb\nkWAHD5sNzrKJCfTwR4AXBSnYM28T/UOdJqLOZozng02yD9S2uJbEeCbYgbAT\nlAvhrUFSmhmX3YNlwq6FIkR/+Yde+6oyRy9ilWZQFtnboPN1npGxN980YVa2\nIAII\r\n=Vu/B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.50_1590062951652_0.5444376394829424","host":"s3://npm-registry-packages"}},"11.0.51":{"name":"@preply/video","version":"11.0.51","author":"","license":"ISC","_id":"@preply/video@11.0.51","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e442765d6690a0d7dc18eeb7098fc883b19332d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.51.tgz","fileCount":407,"integrity":"sha512-FHSj9Oe8E64gxkEnNm4gZw6V8wcXxYdwUb2WfXR/knTtDlWTb/TJzDmIsDlLgjvBCMWZ5z/U4vT+EW66kcoCyg==","signatures":[{"sig":"MEUCIQDe78nE471TvUPm/2cRTgippMXz9MWyIrvCG11HEsY9xgIgd+CRl/mx3lfF4dBMoCPfg9664/aeZv7Y6le1k4c6A4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16257729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJexnYICRA9TVsSAnZWagAArwQP/09klPCBKWulyvyyGCeo\nZWihJvqWtfSNr8aPTIZIxfTOePnKzPQol2sYDy3t4st9IMdjALW5ObxSbMvW\n5VHTBH6YEPcW1IsE6sw8z0F3ipNNGe+Spqki2W5ljSLJKTlTceWpxGZg5A3T\nZJGr9Va50mEX5y8DRarImqI/9+qowmhf2GEuMjpaGT8lZszlxHnKlnPbCIAd\nzngtTFFBJ6DTnCpFKfIwFGASAcoBfAt9kI0FT1aQ42QabFg0BPex9Psh2Z8/\npZ9UCUCnqkZTF5cwRR3Wt2Wbkq/fXCUeaS+9cAOPi7LYM+/D9M2QNdvIB09/\n8ZdjvJ8pBILEkjO9FNb4+kUQDlM+z75uhyPOHakRDWxZs6w2SxrKdwyMTsDq\nXJDUsaWsPFBf7D8ZZTA+t26PBfM+IEOW6/wpBelRe5eSkYaM/2XA05QXkk+z\nm67rH3J+BJn5huHLUgHNAJoNx7qCDNq1ph9POQS3mhJoUf4N3ZHSAW4BwFXF\nLNHKkNa0Il36rFfAdVw85JP8Ure4D4XOnayvS4P49YeQIsQmOLuJNF4PhTY5\nRsDvJfYCB3Mdj4Z+tN7M98xeGNHntafKVenS+IoeXbC967zLaPOFqys8Q+wz\nwMqSu1jG23kCREnXG1YhUrqeXlg6FTOJBs3X1YcdNzHqlv91b4ka0jaWqpe7\nNkuG\r\n=CV1q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.51_1590064647622_0.5674330877485889","host":"s3://npm-registry-packages"}},"11.0.52":{"name":"@preply/video","version":"11.0.52","author":"","license":"ISC","_id":"@preply/video@11.0.52","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"056ac9a0c8664e507497a42599d8386c74e298ab","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.52.tgz","fileCount":407,"integrity":"sha512-bFmkPKPoh/oByXSTaE9DZMogq2xkOMonqLhVrmDl8ao1ZWHxgdqCVA+6H+3s9M6Mr8gyywPE03aL4SBiWSCuQw==","signatures":[{"sig":"MEQCIE3RGeIT29ufBgvTcJof5d9SV/dmviq983Mc0lRY3V8ZAiBgdzMH24kyzIXBXl0hw0vbptmmzaAcWDbHBOkocaLTOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16258179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex3ueCRA9TVsSAnZWagAAEPUQAIIuaitBG3C0cwOEl+iK\nf5KyNrc8fwauasci4xYshZTWOskQwfRN7YUOQSferWi/mSZTaeeY4/fI9Hfn\n87hAUPkj9JTHkoA7QLfwnhW50eoUYjn182SgwS97S+WgxEBK7xZ/BAUxsRvK\nH0IpoxhHpY8qw1IsjQr0GiVGTiD+JBL/njOTVFTnzSqEsup5/g0vsIUFnDFx\nJFpwinVO4U7B1IqO4hDhjZjBjKfDqHi0Fvyzb8POybtr+eBrnPxxoap70yn5\nUY4b3j2R91kiUY/0hJglf6/RQgYRPrtgBhdVFq5ZiwuGE6Hj3YSSgQQxtJzc\npIW4ThHsYtwfz5H905O5Y9ABI4sQfIs/BVZxAgkajPRIkR6xsfep5XyUzpsH\nqB5maemLOKDSWA6OYSg7+cmqTNF0euvBrrTTFJWDelNrnfDHrdxyg15OO2mP\nPdQVrH7lCUGlcFOWr73TNIbL3mnfeF/AlssjGcvISyiSiRsYSLUqtcYGMrTa\nDSTgum7k35uo/2OiYnrr+sZDdwQkJOaK0HbYp1RS/I6uO+u0dsr1YyAuROkW\nrZITgFD3TEWaDdVqMMMJ+V31v/ws40fSF49XGTgF+c1Ko747JAKqp9MWXMEr\nJ6TGLBq9lMgiA2YODRgfKnyaok/NGIijjwqC/uRT15Ue/iSwdGT8i3hNLnEU\n+cGh\r\n=eZDS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.52_1590131613475_0.28369757506574733","host":"s3://npm-registry-packages"}},"11.0.53":{"name":"@preply/video","version":"11.0.53","author":"","license":"ISC","_id":"@preply/video@11.0.53","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9c2e1ca2e28764ea3f978592294f438b929bb9c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.53.tgz","fileCount":407,"integrity":"sha512-BWj0Ey1XeEDxq1GTFLRSkUmSlD0txcvLFwNRn5RN5cXVgNkU+wX3M5H+E/7kpvVIHOnJlFxar78agkYih3MiAA==","signatures":[{"sig":"MEUCIQDrGOa1RJ002orXPhFXHhOGZ6fewpVHCtC122GkkJsV3AIgKvj0kGdiSSd8vxi02VcO+jIyZ6HAHsbmyZ0zT+WNMVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16245654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex7mtCRA9TVsSAnZWagAAcUwP/08KQxmRUhBe5MsHVNfh\nw0DZtdaYr+oYs3WLIfYSaREhCPOZOKMqizxFdD2uCvTZ5LX/GIVEYl47704A\nfDFT9WafLar+2R6W9pfaIcTmkpERJJT/i8vDXht1DMofjmg+IEgUH4VMcQrg\n9sVuIzaegl0USigZ96Q8kp6UOX3dX7P8R9/KI1eK+axvlrgROQaXhpM8+WYW\n4RMB+zPPtWfss585ob39B/Qg3fctwSjaKJX+nWMkaLfROLpx669U40Afy1YJ\nnE7PxHh9DuivMR+jGKj21jvifBTz8C1K3/PrEAY4VttG4Eu6aOJcfm8e3TuC\nkXnH2dnvDiUVFH8CjvuAqAb6D0RSMkQ2w1am/c3gR6hDvxeWpLzzR8oUijC4\nO1bKnhkLx5q/tRO9DvhW48r28sBYqwq7XS+zqxXBncPJ/nnmzeoXcdQ6TLr7\nldIhXtOf7t7L1Ts+BO1ThE1SZWn+P3/VHsj3sEyQuRirrWFIKSkIqUHIpD9S\nAInMHOjUjwe7KsMqO40TExjChGToRscAXN5lgaJWESAZl3GnLb0l8XO/vBg0\n/o/Ga1n4j4v5KZElN4LRwWzm0Exjp0qhadVZrWaoVHY5QCCruMSY0Tgcrq+H\nsr1HZTcR0qq0rAzW7Xp8BAVkTFdkRfNJQKb6qnYoTGwpP4L7SznyBgP00plf\n7BWr\r\n=ZxOp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.53_1590147501081_0.4821900795817342","host":"s3://npm-registry-packages"}},"11.0.54":{"name":"@preply/video","version":"11.0.54","author":"","license":"ISC","_id":"@preply/video@11.0.54","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b29d723f02450ca4ae4a69d76dae137a6c0db8be","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.54.tgz","fileCount":389,"integrity":"sha512-YDMt3LcEGXr9K7Lxv8XO2RUcpklLKH/P65T4+wv6mYBZFEsrJZUjJ4DQss9iIBdt10cjAl8B5yVWGcDtKsZSIA==","signatures":[{"sig":"MEUCIQCJNIamWyZBNoIfNZxza29nnC6mRuzdySndPKZp+rqXvQIgPa63O+npsGKxypa/Z4unvYG/R9Q6EC0F5ZzukudpG48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16712931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex+SyCRA9TVsSAnZWagAAu18P/A8AmerAmswK4z9rCVyo\nJkRMf6kRiQAXC3i71K0fmvm3nSYiJn97nqNrgkVmvT6Idgw2u9sUKhI10Dad\nEU1RoIyzHc3lubmV9TwVaQ/zjKOg78gceqma6r880e6mHem5nwcP8b0l0hXw\nVAPmzQOxmkbVHYhLRFwFyapUvefSjaRk7BHErlluLtiOaZGvHGbV4aE7GyGG\nDKwLTnZTeAPV/F1zMHBrsZW5S7N5inY5Jkrlw1sLosSzJbVWqk9Fa3zB2K/I\n7OlEjj99iu8A3Bm/wJzZerQs45tEs1oqfDhVkSqAnflZgd6Nv0/u/iMImNIW\n2Mfr5do0s1D0IkKWPSHKihTjqwvFgZJrmX7PURHxoc2Rj5ohBk/KSRVhWCqG\nUOXnyd+sa9/ySxKwxrmXG2/6csvDoI6j8TWm6rEIEpYby7++p+qmWC3LkXEi\n+aVpOm1T3bRpsTG6zeXvD5X8ZhK4GkKI9UH/4EkhZ38fFOfwYepLzVoDh84Q\nWUa7BE6YwT1UzgnOH9LskgPArcUG/FvpO6BxDzaeK3DqY9HxcBORsKYhbmS+\nUv13+3y7db6Rgz4YbX0aS3xTU9wuFJKVneUeLmM46TV2qXs9W2LO50ot03Hv\n4OHTe3pU2S7hWXjH+xUssMhSD4RvnXHTAUkKC+wlrrm0Sw24mVesSfEvb9Xh\nvHa/\r\n=+WHT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.54_1590158513144_0.8291375341419163","host":"s3://npm-registry-packages"}},"11.0.55":{"name":"@preply/video","version":"11.0.55","author":"","license":"ISC","_id":"@preply/video@11.0.55","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b32fd5ec2e06531f5ccec1eb1ed2f1d999785107","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.55.tgz","fileCount":389,"integrity":"sha512-BP6S7p43EuP1tfmDSNHgYkd+YVb+38O+W0MYrPJrv78RnE1SoEEx9V9a8gHXFRmaokyiF7sBAaW7AIOsbnigKg==","signatures":[{"sig":"MEQCIHHvL3d7ecoUEBWTEV8xkGx9/FkmIb8OWVJxRzJhsu+1AiBGCmx5Iutn8mLKv6RiPDeT/NxDfMT+pXhaNZYktp11TA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16716167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey2GdCRA9TVsSAnZWagAAGBwP/1xovHGy6nAPnfc+YV7D\nhnob1e32VBNzJPN7gHh0iHHLRWMz8sA2YAHT5qHn1fPwFHzxlgZA4MJ9PtKN\nACsfKH+GIyj2NgYbU7PQGc/i8fhy3SQ0JmsmL8+J5euB5LZdukp7KXyPX8Fc\nKJN2WwCPrvoxSnHsdxwNkqrBz2C+K9ccf/BmoNGX7L2YLSNinej6Rv+R1/K0\nMv+G8G+emc3/UbtVIBWb+WUaB3n4OIqihSvmLR5YM1mpab39GgxgbUlBsFKg\nT7S9+qxmKhw8gCn9/yNktdnOTIio3j/4Iut5Sa94paXBiwdukDJuc/0cZDXP\naUIkoZHMu6JLrZGjGv0i4upkHOzn5p/5nTHB+bZ6rP1KROciN3pkPg0uZr6I\nzFqvUTHvI0sMwp7hrvO5gFmOiiiXQd/DiDo8VriZuiuNIV6FBI1oEgDz7jMo\najjZT5AMxUTPbCynKERQqsdhmzW8uu9LPA4CvkkLJ7U3l9q+isr7F76HD/Cj\nO6cARnviP+1+kmYeekab78tEG0A86IQGahUAKRRwIaHfSH+FFD5o6JqWwCkf\nzbvN6GiFqv39m1pmw0HUC+Wso2Vl+irk0ZV9rDI4UdjrDQXWmmDn27MbJ2Ep\nKMvlKEGZgq8Sj5aU/FjWXuxOER41Cs4KYpSbsLk/muj+j8zQFwtu0pV+X0uC\nOfXw\r\n=6KUT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.55_1590387100326_0.48279814384370834","host":"s3://npm-registry-packages"}},"11.0.57":{"name":"@preply/video","version":"11.0.57","author":"","license":"ISC","_id":"@preply/video@11.0.57","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"730bde871825ba251613474fe7fb299186baed52","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.57.tgz","fileCount":389,"integrity":"sha512-x1J3qjCYSDsA1fjDcViqnmuOO4QvHhKf2Vq+XMeV1Hlll7OGYW/zAgULzWXVbkxGGjXNfq5yWGX1TqlpYxaSVA==","signatures":[{"sig":"MEYCIQDzz9MR758c++TTgKofV9mVhOXMfng20O2s4jHum/JG1wIhALwHk7Ar88ep7rN3MdKOtv7v/b8mBFh9JPHHP2+DW2vw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16757309,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey6FmCRA9TVsSAnZWagAAYKcP/3rxrbMI5Ul4wnLwyk0z\nojGym3Yta/QODywLzwUIUdxKAaHpeEN2gLDGbmk2KQL3cNHLvlteSwDJoTWr\nqVahPxx7+aI70tWvHSfGY2r7p82E9agjngdioJcR2oUii5aOck45nUuf5883\nJwaVvpOud8nfpvKDjTq/0er3te+YC3HSD85UjEs9Cy9UrITPfRD4rvx/SbWj\nsMtW1Yr+WrEhAWLcQz/USc5yGsTd/p0JMv3ELwfb3WaDSlCKy3RhX6EqNfst\nlM5t+W34Udembaq3Wn/SbZgJQEPVQPlzQIZNkA4JpzBVLQtSiZrg2f+6mK3l\nJ/HzZdZJsw3a/RijGDCyLCykcZXqpGQC0qK06ZYgyAhx6iqaz+cpi+JtjDC+\nB8Yo/zbndKlEI2OJ7Jijpx5QBX0fnb0ZVjOXu50VAZWjJXZTNIss3PuLW1YC\nGK0fMxTIkSYi50romuR8rYwVwYFhA8Ev1rTHqkhPjPhe3W/B4GMvKaJdkacf\nTc9geGsJTXh2RtyimTGjreZQYm2SWZ38gPTydijmdrUkOw4e6liJdrilc4BC\nAAvMlsvskY2OB356//w06ktQgDPIyvcenh0XTMRvTuETIrSc5MtxE1wYFSBS\nWTIyYw3Xlqh5hyp9Ba9h6mjWrcuY8M5gPMxxvjTBN9xZoOxfz/FymS8rNPCa\nPgLB\r\n=c0Tk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.57_1590403429766_0.8121549272270556","host":"s3://npm-registry-packages"}},"11.0.58":{"name":"@preply/video","version":"11.0.58","author":"","license":"ISC","_id":"@preply/video@11.0.58","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b9f57f18907182c11dffad0608c31a4c382aabbd","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.58.tgz","fileCount":389,"integrity":"sha512-VilVMB+/HcW30FyPymxMv/gdiTHIL+zMxAJaScI57QzowKhZkqnNLHYeKyBeSztheWm8yQGVwysvUpWgOCQ39w==","signatures":[{"sig":"MEUCIQC+FBPgc9To6KoX7KoX8ygrkHcRMysL9TbPYLBBNBIAXgIgUOz4y0dlOWAOdaruMEc41//AbDGcPMX0FNQFFJYfT3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16769564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey6dmCRA9TVsSAnZWagAAQ88P/R4uDOrU4t94jnTEyQT2\nsHDFjAH+zTftyyp/HFzudrznI6pqmIqlMCHkx/dN1Wp/imrn42rm6UwuoBCR\nWvLWjA25AQtuRSnWRAj5Vp0tfyyElUnvDw2Y2STjGAeAP3LRqorPyWQOObzE\nDqdfB9DapP0Khq7lSBg9uZL5b+//xuYAE0mndh/VeHn5V3MFa0hsn+AbPAy9\nuVDDWbpysh/0jxY3lvKspQQBq+JCPcGCq5k5YJb51PoVWq7j7J/6N+ALfn39\nHRanEAj08bVm3kRGKK/yRrARHokWdFdRS6CgG2X7vpIfjYAI54a3102msmu8\ngCQC3mzb3s4NfB5ohLj1mV4SAT9FwJTrh0dBgYcfhT8giuBqYl0WcshZpWb+\nUqdAzz2J3nvc9QrJbLLDQJVvITNLPjH043YJwX3EJ6kx6MyN+s9Zl4b+ALYA\nPKRNr5oD9b51c/pQ3aqLGxH2BHdWhCSRjnb6W3VWf7wxnXxzMkUIulSCdzTo\n0Pa91L3pGl56po8nRAP7iSpqkJKDyErdKTlz6p5eesyaORyRakCj6Mc3QnJm\n0Y6VAqpcPZr8aN8m23LQ3w/GSqdda0NNCxYsjLYUwUkKBuouEGiD/sB6mWAe\ndweqKzTdVQyYHuPHQHDGjwaQwSkgBb7jMogprnUH3wil6QmIB0KwytJbZchl\njbHo\r\n=iyST\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.58_1590404965498_0.8026393235650024","host":"s3://npm-registry-packages"}},"11.0.59":{"name":"@preply/video","version":"11.0.59","author":"","license":"ISC","_id":"@preply/video@11.0.59","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"961a864645a517161d91f775516fb9f28d16addc","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.59.tgz","fileCount":389,"integrity":"sha512-MJ79yhuDI5M3RzTYKScTPud46xTFHJ8ncF6QUvbY1Bo/6wywjUGETO48U/MRT3Q96AMfXqqn3iqJTDsCk+w7tA==","signatures":[{"sig":"MEUCIQC/kSS0NBhAjWM2XiehhJAey5MpjbyzDjwOwKq8mIIQlgIgQbk1TQNOC7rWV7C5ZRjA5JKevNT+FPBtcYzCQQQZ3aI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16768034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJey8uaCRA9TVsSAnZWagAAptcQAJ9FuFeAQ+TDXczBk+9b\nV1eRTOXsWwkFZq4r9RhQw91EIT8lIF1rQHo+gRILTb5vZPO20ub9DLealkYT\niFO8bnh3hgJQoe+GfK9uUYAxtY/NMA3wETtsNeOHAuK3acx7+ryvuUwrs3ZX\nxq8g+FIvrGW7v3l2CnIajk69Ft/dHVGHvgGDKrtEh5gMqx1ptGNYgeEzQDgn\nz7sxFOYVfIUvVgreEi2TPyHvMhTXj2AZHVDalOWwikrwby1KYQH4znxOlG7M\nkxwfn/jV7GQgDlC0mwFvO7HXrhmuUNurRLGoHbS/mR6dYnsgxU7vXRHSzcfs\nfeLIcoCiSbDLuHqG8eA5agtqKR67IM8WPsMb8f0agO0aMp0DYwb6prxJuPFa\nbA/d9lqC5qUQxjtbq3nD84w/GLw1KX9ypuw54gQC5bZzaKL3qSjjTSBr1P0w\nneDb+n46xtGc8pkB3FQtdKoCdAsolN495pmZiE9uTIhG+Kg4YJcq/cxdkGm2\ny9yL98glzXqX9QrTptbczgFej02tnVka/YIqFrvqDgMg+i3JLLWKhZRAtVqN\nXgfhTM29njor6O+dcXBdTC86GBDa3aCOMnzUEeWbDjA6uhHmtHitoKDQjW8Q\nX8AoQ1JnO7nzTnvt2S2gI9oAR3fOVi4Gz2HEiOJXfh8tCiZD2RXstfNNMYen\ngEMB\r\n=z70N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.59_1590414231910_0.43523667382297626","host":"s3://npm-registry-packages"}},"11.0.60-PR1162":{"name":"@preply/video","version":"11.0.60-PR1162","author":"","license":"ISC","_id":"@preply/video@11.0.60-PR1162","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"37975368bf3fb0a7749f95f0227ecd9141bc7d30","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.60-PR1162.tgz","fileCount":389,"integrity":"sha512-Xo0w0ER7b9orlMMIAXijavBZzSBPqkH9UIgqgA0Xpb3t4qhSOoSpFQcghr/coV/t5sE/bHim+ONKYJiDqrk5QQ==","signatures":[{"sig":"MEYCIQCBnDBo0NmHF/5cb5EzDsT0WdhzdnA6QR0TjcUE8Olz8AIhALzfU149iwQVnF3/jGnc5rQJJou241l+YPF0nG7QP8qo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16832799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezS/xCRA9TVsSAnZWagAA+jYP/Ry6JbfLZk3e8iY0v4MQ\nYlnYFhXl8+gUwUMHIXQ7e9yLv3uANqeY9108YHYgWFxg+u7DutSz4gNLQefC\nFO2gAWEObJy1z194qawmyViBCmpNIMJ+4zylTVcGLCY8ThmoQlohzUiPFxyg\n1JgGJwCeeMgPxaQohMjFtFBhaESuFbVYwuQ9mKjkaaQplE7sz5k8t02sEzHX\nOyENBZXT5sMzaXA0o9m94QuLaFM5wsDN+Ba93vj3i1P3nblq/Gs41K7gUlUo\nTwrl4x5s2C6lHJFX0+Y06VNmb772n1RXfveXILwINmX9Hfl4tjjGPGxAMx9r\nIclwjyXXHt8e1AzgL9zv71xAzMESQd/SKTmNIPFa27i4gIwtIwHLCew0/wY8\nhdQn74Cn74IXaNXv1thz1p9CSL8Zx9BSD05UTNEpZ3vjNXB34Del/vSq2Mad\nrr1P3n9Qft70cWvf/gvEze8GCbS+3Q1uRHFc9SClfePdgu0wfY3nT1FG500s\ngadgs1IinDaCH8wsIyjoSYQLCFa3dgeoMWRuXfZTe88rvO2bfC0g6CuSefgb\nQiL22pFZuYTVQpBp8IELktOWRYIVS6LdmeHyKG1QSUHBTXLOqvv+lFkSpojb\nwc9x7OBZqvfIW8CuNnzUiRlXdRZqdVgS6tDFg8/Z+Uty0c5glkNAcvFRm6hz\nd0lZ\r\n=iWu+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.60-PR1162_1590505456178_0.9758768331583945","host":"s3://npm-registry-packages"}},"11.0.60-PR1162-2":{"name":"@preply/video","version":"11.0.60-PR1162-2","author":"","license":"ISC","_id":"@preply/video@11.0.60-PR1162-2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0834d846c9c0be78ce269e84b30ec98f0702471f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.60-PR1162-2.tgz","fileCount":389,"integrity":"sha512-QZ7FMuIkLnbR4RRCIZLBHSuJiTkilTnYmj14pM5SeQhY9I6+d2uk9ZBUOhKSFFoDD+Xs4B+dKRJHTl32ZoMAqQ==","signatures":[{"sig":"MEUCIQDAfrdIFKCNwOLqOKOeI+oY1GC2qGbZlbI/zP5HH6RNUAIgA2Rgc2+GEUfwE5mclEeVinERoZwlL/mAv1jmjTMG0PI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16828767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezgpLCRA9TVsSAnZWagAAF6IP/jxyTIRNRhZEUZMdS24n\ndnWf3I/3Ed++8Z4WwsGx9OXbNu8rf5nCalufirfAsx10OJWIt1R6t1PgEBr2\n4/tKLL2bih+G2WKSkG4nrcCSUe4Ea4nuNZp/rtrpnMxMWgmNUZoSnixuI38H\nwMt83P/lFLDFeqdlixaYQDOnqysZaI32j9jXOW4KK9udKbrO1mmzp5AIiGul\n/nv/sYdAhgcCvewVOm4sgrw+92cYBUCfWZLjWWY0rbnrZsc8aId3S3XcSQ03\n9ggMvWXqbhN31RKGVc/RyF/04UFkHiLyVNcd4ONOQqg6GaZywRhOr+FJaQDT\nayttFY4ZOe03UHNA5v9l6auW+8eHmQBNC8C+oe0LqtQXAnD1Iiub+RNCHPRL\nTeqD2eu3uodbdss3re8DlPGfRwE9dKknBzftdbSieraCY8HhvHQIOJ6JraKT\nr0QJHGGPXqaYGe79LjO7ZbSHBH3bf9m6h0VIz6VqZwA1A4dGQFUTNBiqtYVy\nYZoFQdOZyVLcfzLRVBQsjKN7WoL2ztpBexnlbyk4TMzjiSdZvEv5eu5avzTd\nlkKeZhFIETgn3/cLLJSDnbYd37fscHMVVzxBiOEhu6oF8bxTmHa6rUUPMV+K\n/7iHiERmCNXx9TFnUOEZZlO3hoswNsgq0BwK0PC/uFu/aeMouYwx+LfmhPGP\nzw5e\r\n=RQPO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.60-PR1162-2_1590561354876_0.6477360726143395","host":"s3://npm-registry-packages"}},"11.0.60":{"name":"@preply/video","version":"11.0.60","author":"","license":"ISC","_id":"@preply/video@11.0.60","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"00c7e9182e1f541a6a4bb5ae98664a4abc0a98f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.60.tgz","fileCount":404,"integrity":"sha512-9x+hh1+SRX230Efzs5ExSlZJw4Fy6UVkBkLi3iJrPalWZjcEK9DI6G3u9WXNMyGb2ZZ+lnf2eP+L9j2BFRNalA==","signatures":[{"sig":"MEYCIQDy3fsxi5Bk+8012oA0ibSZxw8Q4QI25hC3TwY/F+JFrAIhAJDqQviWFKQ41SRljV9qf4LkII8eMBKbxwT03dSn8y7C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16973280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezjwqCRA9TVsSAnZWagAAlmQP/RSw9XJ3bsdph4dGcHoT\ngwd6AbiWjb3nACEAb2RNuo60Ls4KMzFjs/PexeI5/B2uOZF6yz7qb2ogd7Fl\nyasar5EpwBvc9uJWWDRSZ1DhCUZS19lxlnmjedfm0k1O2LbRIm2rRV4uJhHw\nUiZa+r99sbttSYzISfw6V3szHoz25R3liip3zzDqK2e9CcXdwhuoJNq4pgly\nXk0jx7XjkaJD20KDkgfJvouhlncx066Tcr+LCCA0LC9XZtGbpaw6+9+wTMhl\nikbzVxbZE6Kl6ixP+0ZheC7SxMMWIpugxWXZ2agrUHWFLmEdUrc5m3LnCT9+\n/znRr/5SV1bcqvQuGMTirGifWcirnGNZJ43wwsLZUr1A0j8AVl8LCMioWdrg\n24+ubOpB0NT+jAN2GvxidHrkFBN25Ej+McJ95EvSQKEuy+MV4cJ4A0M3zLb/\nDykelWYhcP+86KWNar5jrjZuFbgQsYQBb3F5zHA9VjCjgDVAQ/0pJLoi+8lN\nF/xZ+9NvK0F9KSCp447UCOB5E+nT7/aX6xS95w6PUzRXiK7UwWr0dDYN5Qnk\nvdJ24oXZdRYu4yzrXEL0fmDgMTpn/OAo0fHAjKyahogC++xfh+tBw7nP0FJ9\ncaNCsM/FfGVk++UwGfIHU+a97soBQy4BVOSjC1sV9l51BURqRbhytO0r03Pf\nqwJ6\r\n=BBg2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.60_1590574122128_0.8811024155711771","host":"s3://npm-registry-packages"}},"11.0.61":{"name":"@preply/video","version":"11.0.61","author":"","license":"ISC","_id":"@preply/video@11.0.61","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c3f97c83de072cbf94039359a14bb8a9b4e5400f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.61.tgz","fileCount":404,"integrity":"sha512-sMbAqHhJacDjoEN/N8+llLnLCSTwxEi7cwFau7iiX2utz5VnF/pFzebs5wL2zaFzvx526r3elas2kSSNNX7E+w==","signatures":[{"sig":"MEQCIGs9ehVNcwtBsclnxpFNGY8Slp4W8YslviZW7kYL4zUvAiAYJyeHdf0NMeFPOvfpA8qlHcWCJvQA2HtXe98zd2kjgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16976423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezkLJCRA9TVsSAnZWagAAuWMP/A/s8DuAQm04BZ8ni3WW\n2wr9cOCMwH6kygTUhIltwJx7a6GK4SIouIZ8x/m+tcyeCxs2CawURMdyCWhP\ntISk9wKqqqk3iY0BP68v84kP3bQMzs0sw6BmaqFQ1YoLmZgJUN5Ped7vIv6O\nIW4/rQCKlKHRRVOyIxXtQihM5j5jOxucRgA1iEBa7/YnMQeIr1Lte02JzhFR\nrGyW5jFN+LSPkUhaELHY3mTAgbtSacuUsfdn38ls5qzux83T8GlPynf18UYL\noYZBr/nKTepVg19bROTQ1KIOM7p5WKjbP6ukl5RDkuEjQykWgUw1JJbVYIa1\nTjKUkcldm709Y6c6FHlSCFn9bT5JN5CwuStYufLhVdpj+B9Z7uKwjqdI1UXM\nUgjtgP8Z7muo4bM5cWLsTm0ijDGFBBpsiLmagKLIJqFa4s8rjJ35/lBtnp+4\nL7akqM52HAk1AO42gXC3TJ3KT4EtU9AuFv2tK0W4ttUgUUBhwo4/ZbzSVEWY\naUCzKCbOxBKbzKcPQVy+WsSbmNhixhvfFh6mJzBi9+mvoUw11ULh9jR8C2pw\npJnB4F/I62qWBVwFDDh8Dh1Atz77p+5IdWHvHbojVEO9c+qjGE+8vWWO02Xq\n+HAeynPBrDvyqwijw37FyjyalArsfvXDUfTsZctwxOhc1Qxl6ZOqIZW/KUP0\n0zel\r\n=dlUz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.61_1590575816394_0.2122845254993908","host":"s3://npm-registry-packages"}},"11.0.61-PR1162":{"name":"@preply/video","version":"11.0.61-PR1162","author":"","license":"ISC","_id":"@preply/video@11.0.61-PR1162","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e7283e9bb63bf31f974c7c43111fe038a7a74a37","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.61-PR1162.tgz","fileCount":404,"integrity":"sha512-Cca7Jz1+9WQaubyAf8WViDGuAXyOfUTBAYd4cceA56jgYh3VW1fxeWkB8rWY0wrBM0akhBxhmjB9ocoAmQsWRA==","signatures":[{"sig":"MEUCIDqU2BJZB2fMxpj9V3lfxkELerBi/VR85CNwX6Ud0BM6AiEAj+mu3DpFnkpks/ErRlGaNfp0UBz4Yva4vv2kBJB6Q/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17048805,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezligCRA9TVsSAnZWagAAd2IP/2mkEXI6E22T+oNCdu7m\nW7dkqOte2g0OKEbqR2SUtrT0/+EclEe1l8mJapQZEROUmjcQHGS2rf1X6827\nMPZueyX0LZTv+WFERLap23krhM84TF2QPPy6EmqbzMz5wyRSK1QWZZk8N8AO\n4l3t0+T4nJhpZ5FQwKZj/1bmlcmnMIrZx+I/ZVsQetdU9ytpy4b2S1f3UnsQ\nfXtro/XgL3aSxcmgaDCRB1XaYO5xUAMD/Jxf4Y+kwHoR3IPtyxQA6KxlSroZ\nyz0S47TJoJpNyZ7pxYwdU6vJ8TBc2SSv7q8E2kv9/ebgC5kNIb6h+Yu0ttKr\nqb8q6k4zW2hZYZNU6K0nnmGHbBxKlJXUcuSZIh6+Y05vN7rMmAmwxW7s1TOS\nkIVJq5VlgPXuui2Mk/jmL0KOfJuRMMc34i+77ja5TKQJOn9h6aFgneckl1ug\n0Cik33wQIzFqc0LIQkSEPkvofGkDc0Ms/yzE+7o317MZER940km/mSgvJ7c1\nXcG7BZM04UCWou9UsgtY/Apox5CtGNGCJhLSYstB+ni8CSo7ArfoCJUTj6gR\nY/npBUDurOBmh2eaJbVL5o/N9B6jukVMAkN4u+BTcOKaNXydXLLcjaK2ChLb\nBsX1NkpaPj6UJtmrvij4MUjGy/Bp53S62EKBw/rDEgQL/Yj4fCskObdq7G7N\nMMe1\r\n=Gbfz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.61-PR1162_1590581408053_0.9750973835781471","host":"s3://npm-registry-packages"}},"11.0.62":{"name":"@preply/video","version":"11.0.62","author":"","license":"ISC","_id":"@preply/video@11.0.62","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ac9c2f6cf3c83b3cadf187378df7347e8fa28ef8","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.62.tgz","fileCount":404,"integrity":"sha512-59GvPbGCQOw8hdJQ3RYgJrPWOY47aFZ8P+i7cJqnErySRBDY3GWFkGFXUV38N5FuUqPBGy76eY3JjWY8tY7olA==","signatures":[{"sig":"MEUCIAiJSSaRyy81mDeR/OPC/xWcj7zgspxQkVawOLTDqvXRAiEAhrcbeqp++cjXcRH/IAY2SLEg+FDsUL6F7kzW604I2QU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16989158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeznPTCRA9TVsSAnZWagAAXysP/1GvTu/IJ91Dq0hdbh8I\nrwHw5xE4+kgw5LwsNej5PWPbDo0lOOgE4iTKaFqtPx5JmyyCIUdi2SDWX+fZ\no+Gaucc13EuuRNs3At8OJLpGNgoekyk8K0r/xVNjIWB4DBdqu3EY6PByOy+5\nkp6E1RcZHB7JltO4ce5kB4wRSEOYsINMCnFDA7EBgv1mt8qLc569JaKSZUWx\nk3FKhzBOzARPU8wbS+sepYNLVF7UnevjQw4L3VDmIhIU7Xd6PTBr/3d5QGSA\nsTBxmZ7iXiPVVRy19ny+ZcHGykpZULSh7V8qk2JmNZXhpqTo6fCzf4Ogitt9\nU4+1sFukFF4KhpSooj3GN4a5e6zF0RJZ7No33bPnpjs9v7RgaPCn24hfDN/q\nfOt0VIYtSTxpukQ3KxZOGHWbgYLFjZMfZkKpNHsc9mkCMaAxhfUQGPuNowTA\nfar2QcXRcLjy4RjfniAEh/mdmxu+4LQ/u2b60VJAoOLveHnyREwXpKmgDmzZ\nGwgy81J14pnrg4IdnEAB1eMAMY2Grlfr1fc76swXQnXSzc9QoaWl3ujLuniv\n4epASxDJrXpvSqEDeOM+TjN7IRcARNXsyYawtr4WnhTcN3b1X/5vIS3xkkLV\nTRQMHmuKeMjfKWhmC8ZHWPU8WYSUQo53HRvwYovekQDRV163YtcxGjuJwwpO\n5VxG\r\n=JtSH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.62_1590588370547_0.5108676177759839","host":"s3://npm-registry-packages"}},"11.0.63":{"name":"@preply/video","version":"11.0.63","author":"","license":"ISC","_id":"@preply/video@11.0.63","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4e112f1e9f89678d462fcc3ea0a5cb5fb4f243e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.63.tgz","fileCount":404,"integrity":"sha512-0MzN24Rmft4UFcc+N5VBM8QXdv1l11jhBdQc0EobRbNFCarwDuWyXMff+KhkVnuDQMR0b0kl/ef4Sg8xfkrvKA==","signatures":[{"sig":"MEUCIH2EFCx7zvUuXzNpKzoWBVrlWAo/YQN/uNPmYT0FJo3zAiEAtN0cykCVn2ilM3tZYQULafPS7XVxDWLJo7rtAU17diM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17055433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezpCCCRA9TVsSAnZWagAAqxQQAJ06jvyQgnBXVxLC3rzi\n4J1QaS5dBxp3XAxYHVSs/BGcvJqO/GfMEXzMjvywmCKpTg6dAMMw1iJJdkFr\nGAGcxOYQlfha1WBTddYEEN5nQD0VUm8YjY7NEGfDUU53+6L04J40sR7r3oFK\nOrcGK0/lBfaqJHtLEI6cBWlSYAXvNSwi49f4c1P0r7UWplKYjuBsNI5Qx3IO\ngrqrbnjGwZNPS96NtHTe9jHhB12eBBtgX22bZ5QdCeeu3ThBM+fcQvpS93iz\nkUGlnuVsvCgAJoVdPjos9j4sto4BOLqXX3vOX/YzELXJW1L1Agy5EvoL5lDg\nzTcxsmByoqwZx/y5N3YftH+A0r5s9NhCylsfBRchMiGqlI3/tqzvm0h9dKMh\nkwwVh7l2l8yxgLAbRmp1Ykb28TY9hMzZ3rkU2aHcXk/vY2jOkPamYHJTdCjS\nqWCWWgxmOkchWpfp6RoYDGIAgRhi3MCNqDjosu5srmwJp9bzoyqhPmCb0iix\neinH3P/S/latepl67Rs2pHIq+EKKUO3Sdr84F1VHQN6XoYcQmRPz4s7vRQLc\nWFDBL0easpA0QQfBqXQOeo9Tg1ZMYRN+E/tNNkziwQWwRtZZk6hteWqtzc9O\nPeXNxGr+RtjXCxcyezqaQEGYoB1ey3jZJaFylZYx1rHQnLIdye0Yeyuc4GuG\nEEet\r\n=Cwoq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.63_1590595713978_0.3415916419036862","host":"s3://npm-registry-packages"}},"11.0.64":{"name":"@preply/video","version":"11.0.64","author":"","license":"ISC","_id":"@preply/video@11.0.64","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2e3409622e768565de3949d5a08fc794290de4b2","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.64.tgz","fileCount":404,"integrity":"sha512-Xt9o1plBfViMnjtYNxWCVPMnJmobm5ZdfGMnSjKQ2Vif3nHztf7y5qvUXDZcQ6EUVfnjW5UoqkmODHAlNbKv+w==","signatures":[{"sig":"MEUCIQCrQBi1NbjLo4xPu0iGIhl/3/Zg2jR6+V7JwWdZsUeLaQIgMBMVP/ItapOe8n9FsDFphhNai8fyu4Y13/vYdT11v/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17074404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez5sVCRA9TVsSAnZWagAAZ6UP/3QISWB3NrJ5SrJjHIFe\nyDCRPQRFZFNbbD+cvK7tgJSB4a9DPbbnqzibcqsAZzWAScRHVbORRO5I5Ktm\n88X7NgV1xQ6dNeO/yF2iK8YDLtq8vKb/HOw1GbtRvyqVOnUc7zqSUXarGWi+\nUEHCc3KEfsVW7t7s+AjXTVVKDSXNO9sS0L3EX4I2mpswPzb9xUiK2U83NQZC\nJxSS0XsFUpPI6Pxr2uKBoBt1wejSEFXovk5lhDPdjPkVXtmqDBos0D2dfTx/\nOhOTN0Cx/haCyuWaK+zl4YgFPgX9OykKZuZ2TprnZos82VjlKAd2HOI3qykf\nZ6yWDNK/E+b9y8DBJYma2R57DcX3UlyvCinVJIdoolbIGvAXusu9EotgEb80\nRzEA1Uqflbo1XV1RHlBvEflkHn+ebxvt0zvRkDfDTXSnl+q1fyuIQDAeC/G+\nQ22GYe8eqsPJfVUNbDWtmQZlgnG5a/XGluJOTf8S48axN+R/20JeSYMEZGNW\nc/zNyRg0RbJYB5sAjdMeI1rJGFZatCqf+WHsH8ps6Zfgv6JM+Eiuh/X5TceC\n/8cdetX8oUXFn/dal/CvKm2N/seazb/3hV5WrfKx9v53VHJLmpX+QYzWxO89\nMK6A6P1ewtoZWft3eaWzWv7H8Phg39tX38UVLLjWYfs7N/GiOGNEggw2mZG3\n38Kp\r\n=ZY7O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.64_1590663957130_0.9766150845163013","host":"s3://npm-registry-packages"}},"11.0.65":{"name":"@preply/video","version":"11.0.65","author":"","license":"ISC","_id":"@preply/video@11.0.65","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"43cfc432f29dff2e3cc7ed9d8bec21a94e8e8296","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.65.tgz","fileCount":404,"integrity":"sha512-JSY0Z0S4k7Sg53MTgBKVU7CsvMXB2LlRynl31WF8F1o2SDBtErnj4/mhsgkgV6qZ3ckZ/EcxRfdP9SWi14s8wg==","signatures":[{"sig":"MEUCIQDBJzHfG4Px5evOlPWHa5uVqV6EffDdsv5BGqwy88glsAIgcNyd2uKe1f6vOvRouk15CYUbLGKX44NGg6eGV5pjbSg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17077691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJez75ICRA9TVsSAnZWagAABXkP/inMRnLYK6s0eNfdZGW/\nGhmX1HcNTWWHRfm9gwkADHX9KON7Z3TSwfsqMdNRSk2tZ58334Hg6c9cn6FI\nut2wA7KIKiVGaWQIdgEo6njcil+1dvGuTAy5kjoUQ7A0BTowOkVoB6af1o7S\nNTbrt+LdvWQTJSiftEe8cqaBUKitoVi2cEgHjuR8yIECIsx4BWznH64erpsj\ngn0O6RGCyxu8ftmEdtH8mphuunBdynunDD7VHfmuArqjomA8ep4JaF9gb89p\nABPasT/QsIwe5yH3gt8Age8QH1cXpjiA3uKxwIbT1mmEje5ClilI2iPvVlTY\nYWzfoyNKei4QrXCFM8/Ye4WZ63wvMvGgAdCWlQvyHo1Lr1VNU1KYQ6AW38Vs\nFoEn3uybo6BfV+SZaVLOkIgn9YNXDaawg7ezLgAA2fmWxapUQgIFWH5ApNuj\n2oJhVZcmZHFuKbZil4/L6yj2lqSqEVDgKypjjCCztp9NqCfgwYlKlJzlwW8P\nqA1xWIvNLQfjS45PHFhB1j9If4pBVBJWcq4VhwPKbCSxpelMQRf1JYqp7Oqt\n386QVRbrB5tz1uRKrTubcwn2ruO/iqnYSw+GHMYTB6hECprRpgdU2UfQszyG\nfLhZwfb6WjFzm53cgJn/FxhM8mhcQk0kYcJVri4Ju0DUc4D8xUUpSTZcGjP+\nVWxz\r\n=1pH3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.65_1590672968191_0.6666041377190528","host":"s3://npm-registry-packages"}},"11.0.66":{"name":"@preply/video","version":"11.0.66","author":"","license":"ISC","_id":"@preply/video@11.0.66","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"bdd7f173b6b4b535221ebaa3cbc0b778d7296fda","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.66.tgz","fileCount":404,"integrity":"sha512-UCW0YCVEXJZDkYBAnzqlqidrXa2hrQHL/CPooH+Pn7SS8b/fFcatSDIB7CGVDqpRDE70hiRuvV+cmpMMXtU5hg==","signatures":[{"sig":"MEQCIHLUhQQfaDmUXf6CvoYLn85ce5VYzbsud5q06qchvYxVAiB1dQPnZyNFb7yvy6Vw4vtUdC0uGC6LE7EqJgLZzYtHRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16942257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe0QNlCRA9TVsSAnZWagAA7IcQAJia2ZP6y/lquOHg1jp0\nY8S5Oi6OSsYawXVICyWUoNqoEiapzV3whCmEAaCI8xTwYENrTVF/JOH32VGs\n2mEL2SvPAIxl1Ym3XuFT6XphMkgEuIKTv2IR7qyHVeRKn6U3FdSfh13AevKB\nE4xHAr8nuoA2n1+IIEhX7KVsPKkbj+n54aDes/bZRHANRXyshWk5h6nDa8De\nkHIKILTJ1fw2JS4HSXKx4DuqXrPxX+cLD4K3zaLWQ6KI4NfGH7k4gvxTAdY7\nWdemj8FvR2UwfUJTwEAmbynDIHZFUDFS6AQqPBtEH9uAZRMmNQ0+enN8fvhd\nCO/tBlk02tojGoeT8Y741c7ZiTgdGjbWQwGw3YAkujpvVN+L9J7QiLLFHJXU\nIeT98X/8JhNVSgRf+VEQftlsQm76+F1SQjRXgTUFN1tP73/BQGQRORZoYOlR\ntT+fVFA3N7Xrxkkxc8gwAAbqu/BZny07kMgu6lz2ihq5xYYdfd47cdV6fblu\nIXT3Uqx8I3TbFtuugy0rUxguTyiXKCUZXPLXK2+fKkSLMSHnkiG6DAffhqmh\nJTcrsu8P98ihTcRrsmWaal2GmnVKTYWOQAZOrWmsqxlMU/b1bvqnxr1Ylepe\nv49+xjEvZ/mU018bJQEp/0lOtC9sGEPvVcrulx6hA4oe3JODacQWt4AHzNZn\nKHz1\r\n=93dK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.66_1590756196795_0.6110687748535915","host":"s3://npm-registry-packages"}},"11.0.67":{"name":"@preply/video","version":"11.0.67","author":"","license":"ISC","_id":"@preply/video@11.0.67","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6b293339cd9e03f01870583fff7e5c3dca4ddc45","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.67.tgz","fileCount":404,"integrity":"sha512-M0W1uHxktIwO9W+RPr67/dMfQ52Rgb5LFKVu50r2geI3MzbJXr9pV+ajAz5ZSqWga+yUn4ygmH0C3RG96xkU/Q==","signatures":[{"sig":"MEYCIQD7xZLtu2KmXzwLOx61p/bQ43LZ74uClgqoaKllWA5+lQIhALgBYWl7YOjEQqEZmFd5pL7WAx6GXfL1M7mnSxHJevh/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16941117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1KljCRA9TVsSAnZWagAACVsP/jSEAvD6PGc/aGzarhND\nyAI9cg5YFeCVsHB9AmJcA2cLKxbLVOb3+6sAgT0B09KJzjOXDKb97r7yFeWP\nfia3fO8mrRWMHE2WGbiM22SPnmQS7Fx/Pp2Sjr8L0NEgGPHu1H776vIa1u32\ny7eg6GJ09JZ0iy+VmPHWBKqNsf/zvZV11MFpCvkQwVryD+N/qczK/nBJ/4Rw\nI8DOr+4/U40Q3kiF1zihy/mob7nJNIcHr3dAnEVhn5y1JYM9qyKtISMawKMg\nL+f5fqbL8B5tLADXEgPHgqAaL/scg2JXCg6M4TQ1HPxMJ3Svd7EknaM3TTdV\n+uf6FgpsSTzQg4A9TrbBsrFDluKDBwFMb1ZimyHKjxqndNpSs6eZkZgSpFZ0\nD4YAbIocH700xa0h/LvDnXmjrjNei0I7IsQbyA/J8u0hGiHEDmiPwLdrqxIR\nJfOBLc13npI+Om1T5jtkLuPzkjYD76ex6M0lnC8nzAEJ7AwHHf0GBiQEfL+U\ns1CvGdfraA8zJHzT2PB94C4akBK/DwWncSJpN1TOajZSNZxPqdu5cam9JvRV\no9raXAiSv3V1BjshYjqyZqdQwRayI8SqAMusw6Hjsy7eWyM85nAtHVzgNeUL\nc28VeBZ9tt8WBUNJLE0Ekc87K6lYm4+fiv2a2U6EggGZ2bwkIoJeP3jdE2yX\nAyFs\r\n=zl/+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.67_1590995299099_0.410269887504902","host":"s3://npm-registry-packages"}},"11.0.68":{"name":"@preply/video","version":"11.0.68","author":"","license":"ISC","_id":"@preply/video@11.0.68","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"05dc5729fd1ceb813bcfa8792c6e7a67912b150d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.68.tgz","fileCount":404,"integrity":"sha512-8y9jykFNGNpVrLpM6AKpv6KjM2GQ5IvV1WwvZWgPZovSKG8GP8SaUDt9sparU7hinBS5FdRaEbdy6KkShgW0LQ==","signatures":[{"sig":"MEUCIHtMkjdYzdrqOFgzitF6AUuG/Zon84idMfEda45aAqwMAiEA10wjMhyt8il2/e/meNXqmp8L0oZhZkTuuwdZOOiUOTs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16944237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1LfhCRA9TVsSAnZWagAAeHUP/0WSirriMxDNzAYsUaxy\n+9EkLBsur9MAwf16C5l58EB+UHqN+qGOwwywHjPpDZq5ZOvXQm2P2yRr5jdD\n3M7EZuhRatYonAfQ61Y80sIfk+/uYEdQLM9vRxBHg5Q2eLMP9kyN1et5TN2r\neOwEZKSs2jQQaziggzDQO2krzSqcwtWnx73scIF2+UXWg6FfzjSzKZ6RUBH8\nu1FTbFtjHRymJYIq8fT3lhbvweVENZ5qzBC6r5p5Go3qTpoTGQpS3J7AxKBD\ngJdFb3fCTsTfMDIPvZAOcTE/amqGes8Jo/w4JVlhAUJJJUgrbg+nth1SsUDZ\nI3CtuFjeFE+TsvOMiqyPQ1/IWFyfNByO+A16W5q91ojm3S1JwsAG9O/gMQ5R\nXGF+jOu2OJvHvPsul5jpXiH2nQN5xJXRHuA0f/LMQTuPxWs3CoKcwZfgZppi\nKXXSoD3uqsoPGPRoNVVZ9fum8CmDJO+QykflZ0U5cQEElBqFl5zLR2MgNsx0\ni6AqDLGW87eGbWGGYEapi8BWRykk2uuMrk8/R5dukUZwM0GMPat3Wv+yAOtP\n4LVT59p3rrQoHZdhoKNQJvVy+suQEpg/7Z3tDnE6aUhX99ht1wDoFRtpc1yn\nlvRTZl+fQPkhMzNP4uSHsMtlvI5CNhDOWIRF7NKtB4cBQrpCYJpB2Q/i4vBT\nBPEJ\r\n=yOLe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.68_1590999009058_0.8844614574786651","host":"s3://npm-registry-packages"}},"11.0.69":{"name":"@preply/video","version":"11.0.69","author":"","license":"ISC","_id":"@preply/video@11.0.69","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9c9b935409bfebcd464c04bb29f2154fc51e0bb5","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.69.tgz","fileCount":404,"integrity":"sha512-Ckfig+51W2tpiVuM6FPKE2O24ZLQMowfqxMYlzM6oGZAonoms8JAPzD0z0FVXvU8R6cWFSfK4+zqlDGfydtTZg==","signatures":[{"sig":"MEUCIQD4ECwa7NVBqQWpUBcUnFUfLtB/SqYUWlalym1ixGYD5gIgK0xdGttrP4Ou1i6LDyU2IhlDvmqpJ47NqRCjhH0TYwg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16937131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1MbmCRA9TVsSAnZWagAA4WQP/jC/qItS5aky2wUa18Kx\nc2EOvpcDXp8WgP36rKmg8V6rlUo+GXV/YfyGJ4oJ5tpsngsjxi+iw64Cxsy3\nSXJkK8UlCZtzKMBrUGV0KgP91PzCpNUvw2WptsXb5xnAun7dAZAuOmhLYyv2\ntAhRgtrwyzpTpshCJj5crpZwX3zndSYfyxHFU6DujTAdtwBA9NJWTuH5Rgq+\nF6WBNp5nl0W0TFGyYWd1gElTlo7tUzAYAsoJBlddVqPBlrlIMihW31xFU+9w\nPT9JjgfC9K+1Eh0A9w3gkOT/eEjfRz8YzfGwV15TAjL9e/NI/im3bhvF3BKX\njF+xShg9r8upHESmTQLkIePqF2czsRVfYB4SDlztHXjNpU7Q9a1MG49L9CVl\nfwEMp/j5+9pouFzm6pZsY38eyla/6jr7Rm0w9k7NTFJYlzDzkkxg64IMh18c\nNQApwLrxBsioOD8duu3PpAHbqYgPZnzpDotYypYrDzS6K4t86tSXZT6ABfNk\n5djqaTG1B8EWR5oEdOQf0PlmlOaOTB6W7zYaN7uc/aEAWROI4eLNGdwl0BfE\n1EyppThkUgSbP77h1P+rdwZ64NgUfxwadI0GxRO8m4tO6KI8MYLuWbhXRk4H\ndZwLI5JEpWSVO18s5oBKoRKTLgcWxxKcXMb3vQgjnMtAsxBLcXdEH5INT4BL\nH15Y\r\n=vGkO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.69_1591002854314_0.06694290504757672","host":"s3://npm-registry-packages"}},"11.0.70-alfa.0":{"name":"@preply/video","version":"11.0.70-alfa.0","author":"","license":"ISC","_id":"@preply/video@11.0.70-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"634296b862604c10659f9813cb0aa315c996d43b","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.70-alfa.0.tgz","fileCount":404,"integrity":"sha512-9fGZLpIr8DuEq4aCk43VKiMfVPLygBgyBR9KL9nRcWQuQWQTsZue8MixFJTZWsy6zhCimYoBjA+XgO67Knv/hA==","signatures":[{"sig":"MEUCIQDapOBe6fjj1NzMLy7PazvrE8oWxqT2mnnRXR33vGWUWgIgSnNdaJ/Mt19GXsFzF5MCBd3y7xNIn/Oj1RBkUTo9fcs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16943776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1QtxCRA9TVsSAnZWagAArgQP/iDkay9ddhKpcV+G+pLb\nzfIGRTzvUNMIxxFUH49zHUpwfXS6bOUAJYhAGUTONHSBQ6yVolwhVaq9XHAO\nne2evgXZ4qpknh0AJRf4nCHjQ6vj4AdjBks7aevP794UfbHHvaeV3Df+znZB\ncOH4ycY1t//9uJo/i2+WEyDaMZc0ytkfb4oT2c3m4GPP8e3sIynP6BrrC9n2\nW9Lg9QYA+ezLHoF6Ss2u0Bf7EoFMJQjCJazC6AwPjySMtnv/14ltTyRJJGlk\nmviW8R6xrPOv8bY/k4z8nXphstU8JR0u7vPwcmg/REnG9zJ02ND23Hz2GVkc\n/7TAHsdvf4KaN2/VKYfH+YLYKc0eElfDRrMZflJ1wdELuSnpyFVrdi7Dbyp9\nLr81ksIH6QrufKwfA+y7u0Qx1Ch9ehkQODaajFeezHF+JXC5Spbp4A6Iqnav\niNAtvr2X8pvi6v7qCWZSdOTAWgP19TlH7NPfb+9jW9VLNP/yDA7JpsE/Maja\nOeLcaZhxm3KZyQuxeDDZWhibI1P1TN6oHVvyUNmZtrMul1Ag31rEB1Jp1+PI\nkjPO99tbDsieElRr+3s1KswlqZccqFPSnduOQpC0Fe+7SNHMYahustIssfdK\nwflsO1Gk4BJMjXiuWbAZjLaaLNetyrXbSoSCREKuYzGHDGIHZBcmnRumM072\nJIj+\r\n=u1Cq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.70-alfa.0_1591020400795_0.0948007496089236","host":"s3://npm-registry-packages"}},"11.0.70":{"name":"@preply/video","version":"11.0.70","author":"","license":"ISC","_id":"@preply/video@11.0.70","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b0278baa20ad9ddee5aba79a0d0e265ff2424a8d","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.70.tgz","fileCount":404,"integrity":"sha512-U51wNmQJOnUT9jaR6uOwLOYT9wvTGGBodFfuq+KW5kf5VFsyLgMudkvX3mTw0GmHp5HKW9sij2/qxUALR/bfcw==","signatures":[{"sig":"MEYCIQCvUttxAf/3J7D2CqRIiXpLzI5IUMKiDCOlK5HvXOAKiwIhAM7ceopzjc47Blh3M3vdP+i5sx5w5kxmbKc13KXv0522","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16944676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1QyyCRA9TVsSAnZWagAATykP/2EiyMBZKLbKMpCUO/sl\n90TuaEk7+mUD6NbrPkfDZ++Z13Kagjge3sMJVcg1nj3nqyE61/fiIMv5wDBc\nFOge47mzSkXsJsCJLDK5/OCInZfTCESPM4/WVOOdSQFXn5wIGt4d8+1HglPe\nLbVPAtnr/YI+Md63cZhFQPw+hfCshk5Xy4gKcnhDWgUB+3U5E0U6bVLxlTYp\n4yY1B1N8siwkglFylycGkZl/WqUOrlHbyiT+aYgyhq/TmhBmm9MGelLUreZO\nIqxpr+UhcMQd+w+DIkuuD9XlsSgZ7AJ8ttmW4J7eM/CF8Nw9+JHD7SP2FJ4o\n1PU1B76CKgrNOZcZSHeWCAGUbm8sFj3YyL1u0QGoqWpBj8/96zRmDeI71p2C\ntW9srQYf/Mj3yAZf/Ri4jcHzlZ+8al61v3GuxSe7vSrhRP+je/1doj9UpxzM\nUTb0+x19e8jlQirOY7aO31seeb47TFJVQ2fjMkwVjO9oYy5clBmvxRWaSU3i\nrOmwtMctVNo3lK+P+0HVHg3Q1deHGckdX9Nm7u8qWyP2+C4u+gvk2/3Y3+GP\nzm4gTKOcsEqXpyYlu7nijK0u+uTyWHy8X6A5A7dIv+tawOMfGSusEQwqcr6/\nSy0mMbqUPgsNwVCyIL/qLPXmn5mfamafoVvtoKk4j7ld8FtHRSshelNS/wOE\n284m\r\n=Xmuk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.70_1591020722097_0.5314428628331671","host":"s3://npm-registry-packages"}},"11.0.71":{"name":"@preply/video","version":"11.0.71","author":"","license":"ISC","_id":"@preply/video@11.0.71","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a8cba500d4f7c77c6b3e61be8e7a06ee6ea61687","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.71.tgz","fileCount":404,"integrity":"sha512-/9cSHVHSsO1hRc5K82eYJ5fCkTWiFYglnYuyg5+nyH+MSFZcZVc8BFC9h9IkHQ9rNwVVzY6bzBTWE/jiSvQddg==","signatures":[{"sig":"MEUCIFO4SW7TW+6USMLaPcFVz2f6NwnLFRJADrHMWT3Pi0MXAiEA+vbhzQhlj734N4aeIbexykXj08b8Oob74Jub5bjo6gQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16951104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1SISCRA9TVsSAnZWagAAyTUP/RcVtw7XDS7TkHEHqYIl\nSKbs15p2BbBpF1iaQil0qZ5UlCDkqtLEgmrKscNnedIrxs7VQA4C/ELTWPM4\nQRaafLjVaePnCBDAo/V8fqbSfns6D/L8ZWtCDD5DBkuyhq78/ClFDiQQLKuw\ngT5ij2tirnxjS2vK3lproxeJev7JdUZ6DQ/yarJ5ZBp3NbhY56pcgzoKI05H\nz9G7iPYSgZIpYK3PbBfWnTwAGr7PTrmEoXWK0KiDZPoo5molL8vQyaoEVxgn\n6KMhk9RYaSNixgVavzcD4trC5BYn+xIb7Yrd0QJZrhFGPEXKJ4KqSh63cJTc\n3neS/EuLXNNOV0FlR2XfK2DBiJbK+1ezLUXvDW9C6m0qiecULKWpn68FY2i4\nksnVZIeqHsQE1LjLZdAySIMjQO9Ms0y5Lm6z3HxML+wBOL+liyLz8iep0Lmn\nW94vHgQeREL5hj0jix0V2iQJ7s8UkZHSJbmVhIN2DZe0fk9/M3qXj9GFcC01\nyCikf31vXbkKmWjAWQWA4LfNbvX8i6JEIZjOG2KZMsU0XRzTs5c8UEOsn6mR\nIc+NnbaFSMQUvr/aDBldFxfzFXD9CKpv1sxkCzVsCHZuy8lb9hF1hzZhV4Pp\n4ryu6SuvhKJ2FPN4OWSxZ/G+3UnLzauPL0lJGjoSqlOT9Lvo54QoGJHeZ5Zo\n9gG6\r\n=G41R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.71_1591026193554_0.27487326619276997","host":"s3://npm-registry-packages"}},"11.0.72":{"name":"@preply/video","version":"11.0.72","author":"","license":"ISC","_id":"@preply/video@11.0.72","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3d15c5d7f3af7740f49189b0097e1742a213e619","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.72.tgz","fileCount":404,"integrity":"sha512-rz84fnO94RfALN9bO65eT9KXkPcL9jESIeXpnsyzTIIWbPRGuBLNZKOAauCbwtk5q7MmrPA0nutj2M510lCWyg==","signatures":[{"sig":"MEUCIQDnFH/Xt7PTrpd67KOLVVbPRopSN85QEIwePgcjSQULOQIgLuYQoNLKbwawbujXr92uo1BV9yJ4xvrcHnyOon2NlJ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16951608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1fQVCRA9TVsSAnZWagAAxLgP/RxvBNzWCrVPBCJ1JXeU\noSxUctTTZO2ei7XDjZW2gQAeBqbvd85VHERGVZayuYGwdR+L573eCh7hncdF\nRrL6GtQwBlPdyfKmznosxs5mIwWIume+yWlf2WMTHj9SJLNZYHPG1ojmIHVl\nDYfOto0F0FSf+ciZ8M5upOp7Oj1O30+j6D64RHVTDpFe4SqqYiL0kFIw0QaC\nBltDlx0F1vPpJ5SePQjOa1MZb7fOgF/DtBTMAJm50pZhy0hDKFDHXSnB5ZSL\nW9fZCwSXQU3m+nbXXcSx7lrdV5jnhU2RFh/flQBMgNYl2P8LoPJMBVj6Ng6c\nVWdpV/3aGmHh0in5xersS2EdwvLfQZwjOCyWeU/QtS9991h088+pI32En90G\nlWXxSXiUCLSTeMaDzF1bBdO/SBKK3QRHyo0Th88GZ3Pji+qA6hx9HJdOweF9\n91NmWM7SpN7K5+yb2nMdznndHVS0zC1drChHLioL3kWyAbor3uIpaTGpanSJ\n2tIGAT5XsV8XccgVX5Z87d5FBKT7uhX0bRkT8UHkjkjxpEJ/kc72zh9Y48Kf\n0o4S5zwsYNE6eGrseIhpE/Xaw1TPq5Q0plNSNeK5OwjdEoYCnCD00WHNO0M7\nmxmL3G+CmsEpTsgjNUMMdTlvv4nbZnY9rSGkD+z/slfR5WUM5SBVi3KuR93v\nvrdc\r\n=OceO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.72_1591079956973_0.9438810647328892","host":"s3://npm-registry-packages"}},"11.0.73":{"name":"@preply/video","version":"11.0.73","author":"","license":"ISC","_id":"@preply/video@11.0.73","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6045470b9f50ca5afe9ae16db5317a50c71005f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.73.tgz","fileCount":404,"integrity":"sha512-MV0j4mbk1gC0UAmyHw1be3b6frF2vsC3j6hHSOdoE0/6JeaZp3QRf9U6wcB0OTrJsMXKlg3b/sDNvYTglfzw/g==","signatures":[{"sig":"MEQCIBcx9BVbyJSjk1pf9Qhu0AKeQ6wqiy7J/GoVpqDF3FfTAiA6E8Tvty6wIV/ziwltRFC0xm25kfBECcCregBKHZubZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16955113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe11PuCRA9TVsSAnZWagAALlYP/Rm/TCxux83NX14DFp5A\nWa4OknCvWKYFSvCfgpPSkMZxTyHwBtQ8YJSdPkoh/zo2zNz/sHAcJOK1rGW3\nPQNUjgZ8o4DLt5CIexUdqEht+EefKb8VyWrUOHN4cdS5CNdqefo0qbKI3w9w\nk0XZJcNDaUi9vAHz4XMDsD7W+/4Er1tx7AwqOijNg/5GVB6KROqXXAiYTauz\nslhvDcXbqxwE/nTHIk8KuMkUNyZH5lnK5AGypmyX0LpdtIoEUaC0zPzm/JGG\nM7s3d26cyPSYtTzwT+HwJ/OZ7OI3DbE0NAPT60idHRtZyOPFiM8ppeRrskTQ\neLpiFFc8jesJaHuvyZofCw2QJzunTc1doIb+dVmIKRIXh3rqEG7MBegDtoDm\nBPl+LHgczT8aME5oF1bHsDmGDSl+6vgrjoHznFkE1j/wJTgAOAwMvzuxTU/u\nsQDqhw1W+UhG8kkvYozYgmFefmE+rALziPnCUPnG8PBFOfqE2rLSD11Rf9hT\nYzosl/P2FfsqlcR/biwr/MvkWjSDKgHWLQWTk4mojXhy5kyJj9EIa5W9QxGf\ni3gQH71Hkd5/t9pgD3ZG02UjILp/YiMZpnxu4DWobjI4my0GmOua1oLgtLH5\nx96Nvxqsvu6do3o/VkEfuSCwn2lqdOhTigqmPSoylTiwrMfyUbfNqez56nNx\nuKhc\r\n=sqg8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.73_1591170030011_0.1494901025550035","host":"s3://npm-registry-packages"}},"11.0.74":{"name":"@preply/video","version":"11.0.74","author":"","license":"ISC","_id":"@preply/video@11.0.74","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d51961d75ca21a637f9964bc552d07b6cfcb0894","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.74.tgz","fileCount":404,"integrity":"sha512-XVL4xQ6wjx6DvY1ihKiPiOVcA5rHD7hyhRgtsd/hPuvjba1dPz3xXhEJ4x7RqyAKM+KmoiHCuo5cVgcS4B49Dw==","signatures":[{"sig":"MEUCIQD59x0hEmjuFLsPJziff+HKtQUtK7u2vcIAdqHQ22CXfQIga2iIb2gQwKyRUKWoxRAUiYelqyI3D8gCypayP/8iJMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16955289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2LmuCRA9TVsSAnZWagAAeCoP/ihyBfPsHbyfTeO5YN6u\nNR7HUxU2Dgx+6et6vXGO+/7yo5kE6DerWBBYJ6B1LLimH0xKvhzl31tFHxAN\n98ESl0j8Z6J8/wyejRpubBEIkDlckJzMfIyses5+OctjJyM+m2dnP36HqIcW\nqKHFdOq9NVMfBcE07ZSeNwQbNb84UjjRBXsWlcJ9K+dUJYu2xNDgL/tKj6Hg\n1iUlM7t9XEzUbE4t3LPpX6Uvnf3hYbcdoQ5ygYbXWtiO7dp5MZEmcqm2FcMX\nQzsrCcCdRWdmNVj9AikZHWqsnf9jDAXW5qN0xxmaYfBzUD5Ubnc21ZvSoGrX\nhGKPxGkhxfyoAj/uNzIMbH6T8m9BCyCe1CXl6kc/7TWbawV30aTycpRJFgmz\nDjir3iKiUzMFDxXP1DTxg0MkFY2E0dx+COhrjjdwkWUBngaMZEqgEdPOmK5C\nC7N64xhh/745wwB0TPVcV7Lv+Dfzta2bw4Ah3rjZKSEDld3qfuO1ci+nZzhF\nAZGmBt/dUQ0m2ENr221mS7vuYAKfVUB21FRriznxAONfXDnm2K9oBRL/YRvH\nJcNCH8tQ2ffucH3q7bhQ7NDHY2FGVCiV4tAS1IHajwBymQVgFqwE3hPJYLPi\npI4IEa42517zxjwQTDK7qU9QyECHb0qap/jWb9B0l0+QMsAU2sB5hLZZim5/\nMXa8\r\n=lIOA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.74_1591261613690_0.9522811957600215","host":"s3://npm-registry-packages"}},"11.0.75":{"name":"@preply/video","version":"11.0.75","author":"","license":"ISC","_id":"@preply/video@11.0.75","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ecbcffca3dad97bda5e6527b5c34ac5d6f40d028","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.75.tgz","fileCount":404,"integrity":"sha512-MV0dXVI9c7ck76sy1zKZh4SHKNwQuIzowpEVALqP/LW5fOzhN2luOx4kU1b0ZjRLHaeHFPuPiMY+7szgbzziWA==","signatures":[{"sig":"MEUCIFhUSpepm3XptK6IwCW4scwg+Vx3yhp1CcoVTE1qQdJQAiEA+7BHgejt+AJvryqsWeslbkFapfr3vjMpJrd6oXI5L78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16981011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2OrqCRA9TVsSAnZWagAAcEIP/RAFaNxqAnYzqiAdjDyM\nOGo0HTvv/Eis2B+IasiZWJNGcaRgonUxvAKBYwCJockGaae3rl4UNJ8+B8tc\npjJQ+skhk/WiMcYBAO5xQod+vhgguSQdCh8J93rcOSTpJFUkRDFmspYVpXOk\nvLdGFVpQZWonbKmqsMGdBmsUbJAn/QfqcEbzXlkFWjgdnv2joK0IBx4E0E4s\nqPvfiac0T7pt8p8bOb26D2EcBnmdXCXG8dHSwrXM2kIZDSBZ3LT8MNBFU7FH\nP7XlGes3DP7LIZDxmaAeGF8Hce1NSWJlfz8C9GwP9Y59BUv0ryaekFc77lHj\nocoDG2s75DHznPoHFKMLNuRwzYcnKM3ugPF9i2WXJTz7YB/50lBVTUvHNJgE\nfnSuaydV00m2BUHGS87ZSBP0diNqo3SyHN2VzgQHh0GOOyX9JDRews9YZtLp\nhfDOdhWlzMkINkAohkBV/9Xw9XUtM5VCG+Eimm9SuwJonYpQO7L6hVMEY3Y9\nx8SRncNe5EE9ov4PEwSmmne25egClCXCO40oCFwjXob5i0l7PsomCIeAV3sn\n2nvPdPsLpzbgXOfSs0UM48VcOdeZv2liwiTz/yDfkSaED1BfExvfosh4QCPj\nFEZjPOJwUNWWOAd1XSuiZvEpWta41snzzcK/G2nFFSy3fj3PBYacP+rjv0CE\n6po9\r\n=as66\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.75_1591274217833_0.11493174083015134","host":"s3://npm-registry-packages"}},"11.0.76":{"name":"@preply/video","version":"11.0.76","author":"","license":"ISC","_id":"@preply/video@11.0.76","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fa606bed7acf9b634abf7eb8388c7b923901f646","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.76.tgz","fileCount":404,"integrity":"sha512-Om+sTO5cAXW8DnrC2195JwRb2+v9fIWm/B0WDpRgF+Bi5w29m8iP7/Fsg1LCuhNw81PNkM6HwcjrfRft8Q/HjQ==","signatures":[{"sig":"MEUCIQDruvzzUYbqkA5hvayNe8z/ovALETQAXyZ4ZCS/JSiHmQIgeybl+91CgU6nypiRTFSUp2N3ZJX0NDCv15q6CqBQyqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16971258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2QB+CRA9TVsSAnZWagAAwKwP/3j2aIYMkoxtSrPl1P2Q\nmZ9gg6hBcgmuWjlHKul6sJp/BY8UN19Al/mwNI9SNmHmnN4ZV2MgV6712Ono\nFMfDUVOykQUVNiG4yK9WdAjvKOMluXA2AgghpVZV3mdO1UmwugSY/sTw5Lg2\n1kLZtifeZAg9FI6DS4wGsoNxDW9SpJPG+opOxAKkk53Hu71XTt+JJC5GeTta\nOW2pMRm9ke/LKbOaNp7cUxdBRJVZFqgVUI0TvrFwQ7/b3y9ciPLqGK5rOnGj\nc7XLKQRsvxG6tRy9WmQrwTvxPy43fouNn556A00DQRGHqpZEyr0lXuOlY56m\nvyEjzlkMgUkhP6cHS/NSFKmG7ozDOHqngOFuUCvABTKdqUQYozYSCap6PbcE\nN3YFRh8VrhS4X1tUwy7dByePCqCZ4AD5WWc3v2szT/M3pOUwBBfZEi76JWkA\nnrQbldU+Dr5B87uKhZVaV3AABhxOUqQ9MjLVkoX43NK/DSzb4QiLcgx7Y4Uu\nLHmGSCwAHPSGl46ppHZOnsh064Lo+w5v4dq8ov8raf8aFQ0GXzoqIc3b00M0\nWLIek9fmvSJaT6TYmCrJ4nJLn+eEsrUpg9FRg9B0gV4GI0vk9H5YaoC9cSkl\nujY2iJjirBeepDyADG+szzDudQnjrvPZHBtkEcZhdejYg3RXTEqIBUUKM2yq\nNEkD\r\n=4/wm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.76_1591279742157_0.19465795976497735","host":"s3://npm-registry-packages"}},"11.0.77-alfa.0":{"name":"@preply/video","version":"11.0.77-alfa.0","author":"","license":"ISC","_id":"@preply/video@11.0.77-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"68f2c42526818434fa7e399f513cc1d159b6ab9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.77-alfa.0.tgz","fileCount":404,"integrity":"sha512-MefvTDU8Dtmu1LSbNXw3jjOCN4Cw8wCXk6WFE7B2wHlgvnWQniCkGQ1c6PHsIN0Jbyp4o4WnVIqUt3ajrCdIVQ==","signatures":[{"sig":"MEUCIHqnOY4DxwjC3Jf1y/rSsrZwlPtVDuHYxEbLfsCFEWc7AiEApIngjqbjDW8RLmgJIMXkHg5ikozHRqNlyxMSvXqx69M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16995086,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2hr+CRA9TVsSAnZWagAAuvUQAIYVTS5U5WePIeWRnxKv\nABjavYgfaeWzOdA5f8RfzFBb9Mrmzm4lwfBc+yWJ+YjO7yDTJTyRPqXUFwXg\nspHWgtx9aPQe3q/eOt3oucToHEirMyBjy2/7s+oQSrsZAS0nZwTixwrW9LUZ\nmHkg3/FoHaq/f+AnpCgKniMUeIVI/O3NVHPIRfFM97+fQpCO+TzcAc24aatB\nsekc+Z09JGhRsChTx84N+vO/j5KbsE8HPQtrarnlF1K3wH02/QB9INqyTV3W\nOM8faWqDRCyXJIak8MgzoEGvsQzyx2MLTeld5odPSirdYcA/1Rn+HuY493xS\nojkd7416CD9qR2jNRfK5F8AYeeWRpgoYuDCWrjaTd7twBBPIEm+pRSbB+tRU\n/HjAaqVCcuaA/Zixf3np/LueSvoZ4aQA9mKjXbt5SvasFiAcJvH8jxTaz4B/\nm5Y1uYFgKgd4xl28xj5fNqIybTpsXnB/HK4tFVA004zCUNLwBxsQUN5a0ocR\nW9CAEdfayUAxE5pRFO5FVOGNv5h16h5hW17OXbk8INS5HuvvZqhTYbiWMJCf\n0YVa6Zlby4+mBlfWDJrHEOrthFksSZtE9cJGjBgvGtEa1x9gV7V8V23/e3Y6\nd1MEZN4HUwLCA0sJMAKvsKqDo1CYt0Ja4B0UadEW35wEHC+kUZ1WGOn9c1LL\nVvTd\r\n=QNmr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.77-alfa.0_1591352062283_0.4059272222924062","host":"s3://npm-registry-packages"}},"11.0.77-alfa.2":{"name":"@preply/video","version":"11.0.77-alfa.2","author":"","license":"ISC","_id":"@preply/video@11.0.77-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2c55fdd93fa7c749dd221d70f305153d7bb9eff2","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.77-alfa.2.tgz","fileCount":404,"integrity":"sha512-wHzsSJA/8kbulHz1TcQCTEPdf4zXEj6RXAKEI48NY+IIn1yKGK0J72MKlQFFKVadVQwC0pBSkGNIu5cneWlTrw==","signatures":[{"sig":"MEYCIQCsdI8MVHMKL8ZbQf5Zm2jN05oLERGmyLUrTf/isDfXrwIhANNFkJIToEl3vJpyZuTaLp8uPfDNCKZYF+g7/RRCzYfO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17013823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2kdrCRA9TVsSAnZWagAAbkYP/3HcgqqAWCL3ZWkdJ/Q3\nQzhLGLtgmG8V43e9QVieGVpbyha5MckhlO9P9ToZx9kN28ngFHOP6AGt0d+U\nIwsRuqluJ8kBO/p9k5y0GjKxpD5evSFaeURPyO6k0A8Gn0G7pA+AWP4viILJ\nZLmBZgbj9ANNuUkGDP+ygcv1adwl21AMmw+i1+9bUpIBE3b5gcE7DVDH5KDL\nrumegg8n5sbwxCUdK8RUMkodiPhGV90eWbMA7dJ0G56CgPTBtL5OGDTSgsWl\nObWGPuUN+JX56OSwkkFiDEr1Q98UYCgqRQ2YhD2pudUWCeqxSLLG1IsMBJ3N\nRX6oktx1VT50aR0/x2T2q/cnVwTgDra9c5ZJPpfSxurxvBLml+eVkAataSTP\nJ99QISuyUJsK7Pp+p2Cysz7BS2fhFViUEUaZaQuFAUUMm3wGTbxw3eJtTwCP\nsprh5bej6ophsbd86CovyqllItgRQ0lhkosOscs5oyK9NEOszf+lQMZu1r2h\nUxLEEA4SKpHhfNoPfLl3GzAcfJ0nr2MPIR6DyaQG5hrDfzHqe6aaEa9Mh5z4\n1LYelEnh3gJQuT8a/wvEIMRETuAMCy2VssCw+UXJt9NMoKupNQAESw7UfaoQ\n1ew9NXvDShzYkqjhmw8ddewpwdqbICyxhios+mWS/pdmV8h8DRk5mCM27tdm\ntdI6\r\n=8l6+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.77-alfa.2_1591363434481_0.10291156888172193","host":"s3://npm-registry-packages"}},"11.0.77":{"name":"@preply/video","version":"11.0.77","author":"","license":"ISC","_id":"@preply/video@11.0.77","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d74e7c146fa24e1caa8d655041cc19bb257925ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.77.tgz","fileCount":404,"integrity":"sha512-JF46lub4OG6QS3DMxG22H0lUkk/cQtm8u3cDmnvOZfJhAMNf80BVp9SVmiocaihVDBd2++OHUQCgDZyOu57QsQ==","signatures":[{"sig":"MEUCIQDvhDrA6RCbasZ+y07gzwcucYd0ssiabf4Vj5RuUNR0KgIgLMjRsvzX2gaxhdgkGczECOp11M9qGeVvMRUlj9MC+YE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17013580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2l+lCRA9TVsSAnZWagAAT+8P/0rrJK8tq/EgE52+S9KZ\nWitZn9EHPbG1zNMPNyjLZpg7f4spNHVUPXsslObqleKva/Dz8RisB24af7RA\n9rAtDEWKVL9FsZXAPlHC81eLlCh2kfHClaRtGWfQWpNeVwwn4TcLckh1Lfkp\nAS7ktjbfTGp72ATZjM7LVRr+9G8kxWMwXge5nm5j/Z6y5X32X7cc9u2N0F3a\nT4d3QRs5jGj1kkdrgkB3wGqNinzJ4CqKRPFHQYOReIXn48j8va+qvh8Z/8XD\nWE1xOQwrlKQOWwlxOKLNKUCj0hyXpAI6WiP+WVgBpOQ/RzezdOoDS9lObQfc\nDZBNt7GEoWoaGYTkxlQAd8+DlWMpCLLqs6HuT49pP/myXnKRevVybXaoTxzm\npTSjYuXF50zwx0Y9TnyvetVaM8KLx8HFqw2SjZRpX/PPMdMiZs2QQpIh+w6L\nNBJHimCLy1wxem9IRgseQVe7wj71EWeUCSD0+FIPBTgJBromHkYlz+zQeNu4\nohuqOmmT84JjWUkD/r5mTSpLw++rpRunxzgr2tu/bQWyWAwD0ef6MjgE5TIQ\nXTwZkzUF8byy/VbWhn7shVj2e8LmeIH+m7GA01bGfOrhvXRQLqZ7GKjhhs2E\nx7Zs1lJQX/LLzjZ3Xp6ClfXWBW7hxquasDfwMVuxunWrlNnbCE5/537uNynN\nxnRq\r\n=VcbI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.0","ts-jest":"^22.4.6","webpack":"^4.16.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.1.0","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"3.3.1","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.0.2","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.77_1591369636103_0.26573928123184154","host":"s3://npm-registry-packages"}},"11.0.78":{"name":"@preply/video","version":"11.0.78","author":"","license":"ISC","_id":"@preply/video@11.0.78","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fa6815ee829fc6d0fd975fe3ec78bd21a4c91725","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.78.tgz","fileCount":404,"integrity":"sha512-DOsLYH4LFoZVPMF9w90z6jhY5T6+RvObGNOxka8NAvlKggW20Lb6pa2GwcrHR58rXRQhwlt9iD09HzbYJgiqQQ==","signatures":[{"sig":"MEQCIEtvnGq1lNtnLL1je3+qrmFKruR0lDg+dtoPE2VVxhfVAiAqO8u183PqMlB7ONIUaNFVlFarOha02HQYEehlL/4YAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16346612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe37vcCRA9TVsSAnZWagAA8P4P/jrJxBbZFVxioEwKVEQi\nFFg7RIJdtw5JYYauW2u/SAXJv4W54kNOoYrMLgs/hzueXlOvDCPngBn1gyNR\nkCt/tQJtToIsZ2ewWs4lCW+NtXzWxM5c2TO2gSuY+Ebg0qHSJERS4CLjjSMj\nK950mqcOU5pKI8XPlxAQgKfge/8snFkc7xJI2edOlxvNxQ7OGT089lxG753t\nRRR9yZXNgLAnNNfunyoKq0gjpyMzkuX0k2ZqFYpT5LnLN6VjPkJJV3D0MG//\nw1RlW66StL/lHKibnNlge/AwVH4cRSZsBoDdZkJMsy1k20Ax7AhwVEl54cdd\n5zWPv7hNPQlL/oIRIRrDaQ7pAiPDgAhyYgxbFNnHrKuvuj4/DgA4vlL/KfMg\nifa/zaMCeZLsixAT+Klt5v7cYnv1m5U+/ng8+nFoQMLI79HMrvd59eXXWeUY\nqIhlOzt2lES2u7SAxTBGcnX9Wp43quxOvpmmMALxnfSaxj541Xav51C8PwbP\n2BwBp2hxHlpd6aFGqLCg2k1ZrTtudzdhAYdo30Xq2mKWEZK6KeCp+tXRqIHB\nfzGAO8E9Tnvl54/TF/AhGPy5+27uzt33wIf03OV1Jlwl6pHG3MgH3lG/3QcR\naw2F9k/j06qznYhe4fLWwEXdc5JRgYrPNGO6zTzzdDytIxPW0rUbYXso7xZW\nGPeD\r\n=DAIB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.78_1591720923316_0.9387861387657261","host":"s3://npm-registry-packages"}},"0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec":{"name":"@preply/video","version":"0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6a415894fabd4e5ba30203bf72e004d701c61595","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec.tgz","fileCount":404,"integrity":"sha512-Ov7NqC5AUJpr3b51LQjoB1S0A/qpg6I17g83bAA5zT8N0MLy786tnOsIDwMqaxsNuY8R5rRTuvrmvSz2IBpbQA==","signatures":[{"sig":"MEUCID7rDy0T0P6tpP/s1Ls2RiM0I3EtX0PIIdLwURSpJrxWAiEApP5pGFXBaR1rPlP9JGNc4CzCRSxGdgTatFIYEnOiqRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4Jf3CRA9TVsSAnZWagAAhf8P/1PFy3LTFC5C5K8aRl/Y\npP+vvb0cGkFWauZ28KlH6Le4PstNwaXPDHpxXjxnvm5t2A0l+nZ1UMiRJSc0\nfTlcaz8qSBeiEtIowmTn9WsgwVR8kjdYhj3D3zebfEZ8rgUsaI/m7mpsIogl\nx1UlXCK88wqzHK5KA3XV9H0Jw1TE/Dqsp8Sjch2Oc3WCkHtHbSwg3nNDNjHA\n7W3ls9Cv25DiIDWhvBquPVkCOnOWqz151XVuIf+AzcfYl6lsKwde4lIAy8mV\nDubDauL+bqxL0zn+vCZpjKnAZdet9+tms3bMFHgGLNwKA+IcTGKqF7T2MOmx\nGA+UKaavXrPBaQoWiLaLGAbUDykz5uZC509ozjqB4XOfb+Qj33QhM+X9iCpp\nO/3hJM7fnoNd9Y6cWSSJ9EXGflkrREw7NW+pMWFpHC4NUIzEJlRK1T89+K0U\nkdFqkPdBOpz3NJeUWWqlqCimGi9Fl6+/Wc3VrEnedkF2cjk9tPAShp1R0H+G\nC3cg1WWWNvC3puI2z6lp0ohFd8kwUenNSE0eUWVdB9D8iAzUP2OMl9jaF76I\nztTFVUhHUq7jmwgTc0svvZBWEzEmiYxggRsnFxEqQZLpOxwsyQzkIQKkgkXo\n+UBYxrJwNwc8BuIlC4IWQ5Ihxhzo+AJmmrc6rebBGOE1GhEEwb9ucLJ7JMhp\n3Y+s\r\n=DCbj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec_1591777270465_0.6268769920048365","host":"s3://npm-registry-packages"}},"0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4":{"name":"@preply/video","version":"0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c78cbd5e400941ea173d9d4dfcb0544bd475a03c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4.tgz","fileCount":404,"integrity":"sha512-WRZ05qirLeR+/kEd2R562OaYPVH4noHvB1o64eWbnqXGvKpsD6jlpvfIZsdSgT8laSCC7nSABXBnKx80IgrBgg==","signatures":[{"sig":"MEQCIA11kc+Y0/Oa3L7amCh3SO5gronA+90WV+Wh5aXMIqHyAiBf4tqd6kB72JHXWdbkZTt0kmDo22lr17u1WdBT8Gu4Sw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347363,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4JlrCRA9TVsSAnZWagAA8fYP/AwkGJOWXAiyWF1Zzc7k\nnORK5A++xWKMBuNXRmwdmlu7wInoDDNEWxat9SXAqGI9mJ7sN0l08WzpqJI1\nocnpIQdLuKEiTpkFhZbPCT44nH1jISMTO7roMw4gPvdwIn4wFne9pxmDY5hn\n2cSxYNp9AM9w3/ctQbhzs6oBSO8T3RhYkV8X3BhSgKHsdGGVQIqft84hpN/9\n/uC6962aN8hzG+NFymyIGO4s22NDETcopKOrTmh7ZfUzRGPUnEuhH9/WF/DY\nEL/3aCNrN4dpF6M9nEhex5Yl5HazNPn7BpqwABke1i0Ljjk4mXkXnqJqtUlv\nUM/5j2hxWpWka9RRJBmRvatGNnv3xgAqt3l1ZLDx6m4wu4l/YBDAqyNqOG3V\nBGsTx0jS5DXQKZDRnd7y6t3w5OMWSO+bUxZdQ+szPt8SQUPDjKM9+VisVKyI\n7CCDrE+XC9TkIv91Yj10pOjhBSqhRWrNQHIBF+Xjy+tc2OhuUI1jPgwH0PWa\n84EH8CG2+K2SRBGNIUOiDHVZLMMtFR6qU1vePJI1/iFpV0V2B3bcICK024rq\nu9QqEZuNzbPkXe4jrOkrcJ7Gu3OcD/TejT4fKGtIwBtrQBeVMG9QigHxSA79\nNopmpThWoAgVF90chj6k4p+ts4LAeriwBtBTLQ8jlO3Z1XniC8ntl3KPcCkD\nTNb8\r\n=AZq2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4_1591777642649_0.1392436222226805","host":"s3://npm-registry-packages"}},"0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425":{"name":"@preply/video","version":"0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a6aaf49ac08f22f752948a4aa82d38c78cd760da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425.tgz","fileCount":404,"integrity":"sha512-yf1hO8LZ6RlflDNAxuTjVRuTG3l0wpgScqRmDunVPQaCbThEQgWdtuqlPl4p5lX+rjrzo7B2AoFjgJNlMF1v2Q==","signatures":[{"sig":"MEUCIB1sk9fQ0XxcBOkCzNyIcEdtIA1ihppnlLvlGBb5DOWIAiEA7P8rRp87tggRE4Wir+KxTR7cQPxnhKXjT1UYqqeU8fQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4PP4CRA9TVsSAnZWagAAIxAP+wSEomtH+oY1awsiJMA0\nsUxFE/au/KgoJwsSskBu0ak9ubXeKGZPZrfiwyS/8xQdowwYGQRipV/5PAjZ\nFU0WvwKpxFhiA5e0y2I/t94k09k2rw1yPRhn/e8Z1f6ukbt3jlzIydalDLdN\nkE3RFUb3U6hrWd9O85sKMVVralk+TqU/bDx7VkBkpuUzkJdcOGukH5JP9muL\n2xBfJaZTYklHqnM2t3fREcdZLskEoz09wQB9bCjFtkefHttU4afZj5Y6Wg7n\nuvBFGNUKy845sTiMns/Uww5qST85MNGEX9oV52HD6sqnxswL8dqAMPbhGV23\nr3qkJ9wIgmXcp+Vl9gSrhXpkPq8opl/Q5kS7PCalEEKYz94jnHdj9b1ygWy8\nlfEG5bOWgToJO1AYg855d3JCrIKjzdeQjilY9q0QG+ZrkyNLPIlN1WWdcqHs\nfDbR1tNhPKzAVg7gm3XGCpzIpNez4FljcSRgSwie6xUcHPB7B/NYU/OLiSNc\np092pZGi6n5Q7+MdyiXuJpDQk3n4eIhDc21DbadM9COA5PTFsJv1M9Gh/S1s\npjw6yBuK1OZOQxXcuMa7n2VsPwSDvvKqqtG9oKETrDVjtwujvQgyoTFcbHuQ\nnNvH0Jp4OGalVB6YWteoYHuMEoN+4qloekGu8f5dbW2Kgxi9YvbKqnQKq+ky\no5vh\r\n=3Xfb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425_1591800823953_0.3884007864926209","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a":{"name":"@preply/video","version":"0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8d62409085c48ede8cfca667d8f81fcdb5d4438d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a.tgz","fileCount":404,"integrity":"sha512-asiNrcakp0OIted2rO7/Hp+c+Sd7KBD8LZLHepVgGKLDt34NnY24r7xNxgoj2b+hpGj8PCViL9e+L4AopQDDsg==","signatures":[{"sig":"MEQCIFZuW361PDtUezs6H0CDMIx55oTXivhGaBg5dhIofZj1AiB6AzXSXymKdTZFS8mgDsAgNIEiEf9yUUhiDibZfjyXXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4fjPCRA9TVsSAnZWagAAtOgP/iw8kj1Yk0gUqsThxs2J\nGDuyCNJLogudfhlGSRiEquCk36ha9PjBHxYPcZnD2oYgaW3R16XhsAcJ2PKZ\nxGlJfmQ3SLYE4UGM32c/TB8PDyzfnYCOfQc3gSufK4JN77ZL4JTIrGOxTmcY\n2orRfopwCLUSnZQ9cxXl7T5l7rG3D/lzQ4XkxesaWcW/AXrwp+lmqpqiaTOW\n67dMFgDtExaOsilRVkOPFHnxzyLsdalIjLvScwOfYpLjzlXcZGF0yPxjuvIc\nN6srhmKJT4cCM1iEbHmP0NA0fjeQ78jDDoAFK0jBf+Fkt/wVVrQi6OfjzwRu\nJv6fwJ3ZoX3yPv27dqPvCYhkBGb6Epc7NW2/PHsRr2dgXqvJyxSS1DtJyr10\ncOGqg/HeE4zTgOQogXLoPryBNf+K8ynUdnEA474EvqvZZomtajJ8R7RxppTT\nPm/V/l4AlP5wqe8qDWLdYAz2/Xm/EEeLW4hyl94nc8LEAZQ1UztDfTfnTchn\noFTUOm2twf0qkveKpg7GVqs8zszMBhJ7PQvlcm+3ZsRnQGKdmA2DOrC2HLfG\noUEscx9q36TSQaCMh6elzniq2nYP7ZdAvZpaU6pFb3WVfTv6PEzxtynJMjlg\nMBYGm3Cq90Vjm2kXB2bhf55llKelvsDxa/URpeKGMeW87x7vcgkwDdyrLfmA\nLzmy\r\n=wxXU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a_1591867598622_0.834132069448009","host":"s3://npm-registry-packages"}},"11.0.78-alpha.0":{"name":"@preply/video","version":"11.0.78-alpha.0","author":"","license":"ISC","_id":"@preply/video@11.0.78-alpha.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a0871282850b8f252b1a1b88dfb5fa169e54dc07","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.78-alpha.0.tgz","fileCount":404,"integrity":"sha512-5GzbH7PaCwMnrcdCucydoaWf9/POirj8JTw66C293iENObA0ulIZkUtd7YqWRsgQZhxFE78xHtG4B2NmvJEAIg==","signatures":[{"sig":"MEQCICcRo1gaxwrm6Kv5tjG99CO5eB38+gufS5RNjjnRulX7AiAIG2JV6zazlWHEvWXX4TvU5aWLIlAdeHXlsQ4LLRN9nQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16334627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe44PMCRA9TVsSAnZWagAAgroP+QBZg9R0IttbsQ5RdJ0A\nJrwWUPCuArQL86HGDojWaha+5JpvyP13nEsxJ7o1sD2r8bB60FA6dgUvkdc5\n1Tn/AkOBgxqF/OGl9L4mOKmXefJ4/cXULArDT5BL0K30xH+1Hkan+4ai8Lg1\n2FmsWCPltZZSPUTZjaGxjHlnkiesUXQbWpQxCwmk8jrXg98UTRi4RbjJ0Xf3\naslf9LNZTmimZY3ahUVlIvzZwAbQrje5N+0owfIBnirrqH2/Of5Omu+iU9+A\n7PSd25VgshJdWCW6ho/cBYV7JXbOhZQHUHM+DiKJNAQxHywe02j0DVUGT54k\nwsCWJBRbm5lxY9H8weFv9ZzuZBSNb4FiPDvbUG02FA7qdcxppMYY8Sd/Acbt\nEV22ukj8cxnw8Ruv8fS/lGhQKrtdRyO4cQSGkLO5/gRho9HHNrFpRZUfKJr0\n4H12ubHBX2+pDrNnERWQIQnrsLAFLW1SMTjv0qcoYSyeXCkd1e5SfsGDJd44\nt806y7ZFHVBAhm2xHxJklF3WCWUmgIajxeNKBgGEEhFjdzEe+0Jc1XyZlROP\nAfNAZpH+F0MJrz+DI48XbSdeQKGEvDYOOboPPB0Fo6ltY/tyGf4Ogk/9apd6\nyrahkIxo34nme4Q6xPXXinDvSMwpS8+fKukhaEykxTKCxyLxd3Z54ddxWO2a\nmJ0i\r\n=XEM5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.78-alpha.0_1591968714995_0.3047589001423179","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41":{"name":"@preply/video","version":"0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0abba10dfc1698872662c7cdc6ce9116d8c8b33e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41.tgz","fileCount":404,"integrity":"sha512-8kEUg1ijK/VAgiO3PUNMnid37TV45zKeqx6FcY/0tLJzECxybW7ljWBIMvMU72osUKoYPYuIZq535T6vGBIcOQ==","signatures":[{"sig":"MEUCIQCwUCVQHq/p/YMecAJDgst4IQwk7dkjDY0VrxW3CI8YwAIgHLTXqAOXIiGyx1oYEq186gCmZTPiBiycOgDjfBSUJ9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5z2KCRA9TVsSAnZWagAAIVwP/iYmJeITvaa+pD0W5D/e\n8R7wTMgPgKWul6vlIKuxSnqIX15xxVpxHVkjCNF1Ga8EiGcs7OyC6JYXXXgi\nbJKBxsuJ0oAcFLTJuNFwwyQyMRLN3tg/vvpGUon6cAQ2Vc6B/ockedYi/01y\nnJXOj6Ojcoi9aDlxxjBr+vV5v/JNV5hrMfP1LGx8JApXh0VzAfCjO49iY3Kw\n4T8LuuUlbkr83LBO7ia19RBpqawoA7glLkc8xkYr109kt6EDxq/w6DoNQYy8\nq5A3HN73jlUuVee7tokhtyWGCAAibPX5eydY7QpcrMY59JfLgMBaXA7rqcGG\ntqQepL34+uOHcWu8LiW0ltLgUjZlpNp1TkYVmvuZMODD22sgYDeGppanBzBs\nKPn6HTOapZiZSGdXxmpzxcwwqQFFobxhWh/MhJyBYn9yY3twbeDR7skxQzSb\n3gJEchHsSv8mNv8r393kSwb9ig6jBTxErJBqsqLyDKeRc4MG3aIEmxg2ZjJQ\ni6HyGXjzDyAN632MMTU8ssKXB/lE4GbaWQW/pIZ4soyfaBWCqlD14ZvlDya7\nLwr7Wi+xWcpSgJ9dxc7aaBReGhFEFhjw26cLSApD3IdzmZ+26mqabV8mmpRj\n9MTDCUT3YntgKcDjgtWX9vTFMBeGwA+oYSxOx0PRUGLeETJxUGqojeUZzKM6\ntbXD\r\n=t5A4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41_1592212873810_0.7442579684294783","host":"s3://npm-registry-packages"}},"11.0.79-PR-18851":{"name":"@preply/video","version":"11.0.79-PR-18851","author":"","license":"ISC","_id":"@preply/video@11.0.79-PR-18851","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"73feed4ca3d7cdf770cafbb80f2513fc68ac2fa7","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-PR-18851.tgz","fileCount":404,"integrity":"sha512-xeeaLEMSpNIdbg8JhWdhjscPX/mQYTMq8m8jG39QXd5Hum+lmxNobX3504baeTx1kDoQvF7SV/FZNLunJKiLRA==","signatures":[{"sig":"MEUCIEA5SxHy2EzkxWrndGcWtkxHN8EBV81A9yYX/5RP+ZEkAiEAjJbxGC3dJWraMMYdztAJgq4x/kDI3OG4gIKiYhBZa5g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16352293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe52z3CRA9TVsSAnZWagAA/aAP/15T7SGHvN7+Eba1OZRU\nATwOJkB/xncwv31MErO/NHf0f8l8fvF2ZUjIeexX61iyTmmk058PPfK7M95N\nNPryMns6FhLcGuY4je471Tn1ZH92ZGKlNSJGaleq4TGYzGJUbklFFXV6yokF\nhZHexrR4X/XsxlIMjaLsVMwUBTXOcFY7H/T0KqJTCluTV/uGAbeQ8G4b+SnU\no1XocgnsakpDIe86d1PTk5bp2x3qpVyXFL8sXNVJwJaXUg30CUVzakobkPSQ\n6fS5jpATUGn1/UwjO2ds+lVyVSwcVBez30ngfrOJ+UfkZfSA/AvVWs2IEhlE\nyxDqByw8L73YlQwcSexUCrNNI1UMgfCGm30R/eCidRsPQpbcJ9F9ODJ7SN2o\nnV0rJCdAB4usfz2oQvvmch/dPC8pCyA5FaCSivLIHYCQlsEB5+Ayikjm3hbp\nf3xZERbQ+2TrYEm4NoBL+WremVPdG2upy1gr8r0wfh0q0EiNbjjji+b88NVX\naL+j7cykL5pFyBc5kUyXuFvYZkw/4+MTGnlOSKHFEF+2rsK1I8PLFZLwf+lS\nEdKx/+joTApWwvEqOujihGS64lwJwGzKlvDKY2RRhXQMO9R1EHlOxM4GXpFj\nFQZfCeNUGiTBH8tmLij1sNufV/HiuRNTdSuVFlSbefDz5ltqmgXobjFocFJX\nP4Mp\r\n=HOrD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-PR-18851_1592225015130_0.6044719044206301","host":"s3://npm-registry-packages"}},"11.0.79-PR-18851-2":{"name":"@preply/video","version":"11.0.79-PR-18851-2","author":"","license":"ISC","_id":"@preply/video@11.0.79-PR-18851-2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"154220328331d57b81e73724b1d56f34b2792bcb","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-PR-18851-2.tgz","fileCount":404,"integrity":"sha512-FWH7aVZdl5xMbfVkjGkDwDTfOHeDwxEYP5i11Kwt1LORqL0RUIScOSo/iq9luq2dIxpw1Nfd211iC7bMm2UjLA==","signatures":[{"sig":"MEQCIAMa6g/obZqYSMzE37Igki3S/ShKIPJvzDy1UU9E9A6JAiASqZISHZHFG9OzJs02YEXkE1vtnaN76HuAZXAV8zp2qA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16356904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6I13CRA9TVsSAnZWagAA6kYP/izeqMECTDh5kL4/SbVi\n02sXOoOGA83zfqNrOx4BI9m5AVgv0Bfc58MGoh4C/MUvqeGV1xpQMENr54Py\nK9nTUSt2tUbOf9ttRbOvtC6HezI84kXksv3FpHICHEl4Jz/7bz1RoF6C1VDO\nNK1HnmsoMuz1drUGDE3utROlkLt6yxf+O1EtE/PA08bjN226d/kKbCboLrQv\noMbT866fESDhQXaGFF+lJZJxzytP95rxl6n9SWhn1YIPnbRpWQmycuebo5jN\ninAjzOTO7Lqw9+jLMBwEGz5Us8XkVTtAQNGOjUq2tTY4o3JCxL871jlGl6JT\nZpt9437FHWoV58+gBvsk4fLxQOlBm5ZQjVW4O2ZXupjwJUfdW/9kfg4yyiNC\nCXxu3m5Qy1CvmHx94A1nxQ5Cy/Dzv28K2FPs12UyuDMph7XyJy7vD9CXzo9l\nFMh8gYAQC4IuxA1lOln+jzGEWf5Q4eEAtJouRLv+uW+lJid1KzxeHnXNI8MO\ndhfnmm2t+FMG74XNYbe4ccILWn6PQ6YgVMgHqSXz2GsgNP8vzAn9RYyFPokO\nmH6ZCpktWx/oHOEUMt1swWU62m4AkMyPn/zacSC5JQ6wgPOcc7RAK3s98EVt\nvitXEqyJCgyFpCHB4mmoGKY6JTa9tkOnUqze/oVsVlp5zo8+S5WZenCoCOHD\nINa6\r\n=2e6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-PR-18851-2_1592298871236_0.13084372396966226","host":"s3://npm-registry-packages"}},"11.0.79":{"name":"@preply/video","version":"11.0.79","author":"","license":"ISC","_id":"@preply/video@11.0.79","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3592d938ed75280cd2b574bed65a609372ea58b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79.tgz","fileCount":406,"integrity":"sha512-+FKNAI/z3SmTWlrnXvR4kYShdOcHIYucatVeHGwImeBl4kp2SyxD7Gne8X3psKOteQI9qWzWilx7LeppEnNxPw==","signatures":[{"sig":"MEUCIQCVjHmjcAEhcoS057DbqSJQeegwJtVubrzvLIy3o0TIbwIga4gfwflovO9uhCVLFvgcwofqlEFa8KhXphPyZ86BBOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16338723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6LYuCRA9TVsSAnZWagAA/pYP/RhcP1XPOJPCG5pnQ7VE\nmlsTngktCLTttWNqbC263Rbo7aHbpG9+wOkd1nAO5T/UwJgNN3OYS/kWE65N\n1bLpdWkdooFS++Qgai67ACV8LY33eozl6uv0Xq+PIgg2Eyd+OkLQTObbZ63f\n98fKrYobp7nXjC+Z73uQADDbnsb/QgmzS4UgSW2pmIX2YKqTBjk7unHVJNEx\nhOFTZmxS2kD9KiNndItoLHL97lTwxQiwkL8TeFrbeSUxAfLctM03anaroTp8\nzusE2CjjjXH444jEYeaciVtFcEIgGkOdVtt6syq0HZYK6Zm+yGbw9u2FtEc8\nS4/ueMDYPT72QGKo7V10PzM6UJML5Fz//QMQ8QMwQmm1CqKWX+Iwrc1nd/+n\n4la8TFMaWY1ZxMLkQ6DhxaQMIrqdTN5PNijTGRs/LXpQBPnF8tl4RoeeNvy0\nBGWUp5WktRrJK7u+rVwqP/l9H8ivABWqShKOqO6dUVhRGdigYN211bSRxlty\nhpt4UvCRaskNfljWU/dV7Ge2czR6fA7NjgLqgxeD9Jl/vMiu2Zkmpnm77Mru\nP94pgpFsfKWDH0zVOn32mjvDTX/25KmntqglBvg/HH3d1cUFk1IoORU/gA72\nG3L5d8anYOLS4B+nTw0xz9Q5K4A8wDGYoIurIPErcNoLQ7/6oFJnGnyXzMXT\ns3jQ\r\n=q7/m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79_1592309293785_0.2979487540706669","host":"s3://npm-registry-packages"}},"11.0.80":{"name":"@preply/video","version":"11.0.80","author":"","license":"ISC","_id":"@preply/video@11.0.80","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"705b607b6d7ce2293e3454f4eb93dc90bdcf88ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.80.tgz","fileCount":406,"integrity":"sha512-Qq9GjvvzwMJ1t9gznz61h9iYhD88CdN1Awm5pK4iSl6i1lyTSM59cndS0PheKvbIqR7QqujHtindgYYT+ZspYw==","signatures":[{"sig":"MEUCIA1BE39x5uWN3qBUNRvkTAfuOVyi0KA6UulbKEgk+p8IAiEAy+QyQNCuTSBjOg1uYZXpXNfzX6iq+FySc6dcS1TDpnE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16347393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6MtWCRA9TVsSAnZWagAAUtAP/RZtifGF9jMmHEKZITzo\nrCY8TcO26KO3C8bBnLFV3r9uUg310n/VEiUDZ27QCtbuwzmqnRLyyXvZ4/rg\ncVjo3tt7l1Y47ZSklfcaZX5orOwBSVp5DJ8ysrCo/vA7o++haFIEWLetkY8L\nzJdSJQjcP2Ovm5nvtgmdOpOzRjVdKTKQRQpHKjPFvk/yGm3n2ToFFym4iS6I\nMG6oh/1aXi5OVIITgSSsD8lmdqPRaYaXOH79UN8LoJKgjTi2D24YAq3RVtd2\nrpMM4/e9HI9FsggKkeANUm3//Pe7j+JN9G35bsImZ53kKUpmZHwNA4l2jGlv\nYk2MxVBxj0KXERvypugehN4h1LqNvpLADTws6zK9QfSSlPRI+Dn7AZ61qcm2\nfbY02GKUCd1qxjg6VMXDHpj0s2vidbcm0Rle9E2bOoYxY8dFdE6Z5p65leX0\n/jiKAUtnqWw4ttLaOHsYbFN5Sne9r6r+iwO/tHkZQotzWzGzpMBkmZOeWoFu\nyUrMfA3RMoEcOiyfXqvzbojQ9UXuAJJzY9IMLL2OTFTuoJHSvRTk23HG3X+m\naM1dPvdc8FCKo47yvIDcN1ghAwT6a/RaNwVjuv8zIwSRFfiIVJ8bimoD0RaB\n1Tmq7W9Pn20YbF5Z+NH3HEQd2boW6wIceSZsTyecwWLz7hwJDVGJGeCImz0i\nom/w\r\n=Pprr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.80_1592314709715_0.5568241784533852","host":"s3://npm-registry-packages"}},"11.0.79-alfa.0":{"name":"@preply/video","version":"11.0.79-alfa.0","author":"","license":"ISC","_id":"@preply/video@11.0.79-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"38943ee1d93c7b4ab1e633d85b17205d78b4cd6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alfa.0.tgz","fileCount":419,"integrity":"sha512-+4a+UttBDr9LUWvaP88+St6XL768FIB7oeoOS4jHTswRb2sKykQt9nPxocsW05TI2kAv7og+YaNkXce86uMrvg==","signatures":[{"sig":"MEUCIBUabHJVtVJDEMSHWufZfA/8TyMB3h7fjoW6QUV/d9eCAiEA4TGUPEIHAilHsC8pJToc9sBzV2PnMib3B/2niU5M3sQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16484448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6hN4CRA9TVsSAnZWagAAdioP/0DOCMDptzYuohLHhHro\nc1H4AWhfUsnXl/g9y4t2j7hbpvFxyNdeD5uhoAb5FOHBH38gcGCOeXb7f3X3\nN3QQfgiRblIj5CCCtKWmzqbgoe3XwAYzI/ECLzz0oyxpXQ9dbAbXEsc0hWiS\nqTl5m7uu+Og9fKSAE5XROp1g9GThmZaCFITjRgwvvLb1NbfobPBDaukt9Mjk\n6AzAgencb1/du6fDk8dTSZoN1JctjKufV+P40yVIC98/ysNn4v2CEiye7ms4\nxeQNXF2eUQOMR/iDp4TNc2jScR+NfI79+/I1i38xZuph0q+55GsNVWkfg+s6\n4C64ctq6dueA7fn/0c69jyi7LCJoCl+VRIhHZg4GYJYWYws7QtZPLO+8M1g8\np5X+9ltQx9Xns4KxGnRMcH7Z0CP8oWhVR83WOaorgghYCta1M5KVDP1HGuqN\nipTcOK5k2qcKbJ1wzjeTSDykH66dGaXOFREFnEkPhxlcZa72HH9MtZoW2lRh\nPfgdNQ5UJg/SnRjGIbaBW9f+r0uVGth8WFl5VdzQT32JT5/vRYoi7zmGEQFF\nDqJkOqnQE6fht+6a6V1AMOHpdiNMPhF4flVFwpfGumPUA1LRuYfj4ZkKhfps\n2flL3oFY7C8GTeN2fJ7iU3NQyKN9WPpfr8291skalnhQsQfztrLqEZIEVdbZ\nRron\r\n=enjr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alfa.0_1592398711254_0.9305612940957584","host":"s3://npm-registry-packages"}},"11.0.81-alpha.1":{"name":"@preply/video","version":"11.0.81-alpha.1","author":"","license":"ISC","_id":"@preply/video@11.0.81-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b58c1aa5bfe73986cb861b5a4cef7feaf014482b","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.81-alpha.1.tgz","fileCount":406,"integrity":"sha512-BsFm4qG1oYFg+odzCcrAF6oJQaq7zh87FCjixDYGE3EF2w1cPlvnU0mnFPDRGv5xbUYe8AA+YUkfD5rDTwsQMA==","signatures":[{"sig":"MEYCIQDHjM7ss1szRLr9rCBvuvHSghpKlz2S0IIiZlr7V8vqkQIhAK5kGoDocCPUVloalI+Zb12B7ktqZlPMzWs1FaVE+7Qg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16333303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6w02CRA9TVsSAnZWagAAepYP/jFG/j0ADXRa6HWGqdWn\nKtGPxsCQm6SZho6n9Q0/Hra7EEmUoNvcL1Jx2kzQJmPq9XkkIGJD+M9FoPW6\nlPhN+Eh2L54PrZ/83LLeVjX2RYZmlRtrcE982APrixSJ88hfqzcFDHTvzeg3\nCwFrxfZhWA38O64GgW9gneyKyBfYXVzD59FH2VzgHk1MbSuhpcOoKoTGtaG6\nnAlvBAA+VCQuFHlkJ63Wq8LUAbGnL7Vpf2jECYTF7TnpYzcO/vM0agP1x5Ws\n1XB//MTQloUydcfRB8ZpwVZcJ/aZ2IAe/vCGN3fSrSXyYf8hCIN/TJFkfO8A\nOEn6B6mxK2vhNVOJk53ky8KU+/X4wrUEzLNN03fMSsIgA+awq5agwKFpTz/e\nOvpP6KORTLSwQiGyF3w/VS7TfG0OK3eYCQ1+E6KdcGHJCYToOTolv5ZaB8ez\nUDNFrJkS8PFLnl3Ne4Bx03iF7Hs+EsWfpR66B6idH58f+FfSg3Y9GJYmh5Z1\nmEX37EmlERX/WDaNFN5cDRE/sxkLjABffyoSV4mcqqcHxNR9YgIg3ipGdMk8\nMRpe9BMoUmthWWJKN4ixSKnS7Si9YlBqwxzUQmTPmxmn6F3R1SaUOaWbN7Dk\n6+0foceabfMFm2XP3GhSU6GsHJZ6zNuQlJoDWATsDXTLiDZOKVA0Plylt/tH\nmpf8\r\n=W1tM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.81-alpha.1_1592462645570_0.5878500916635341","host":"s3://npm-registry-packages"}},"11.0.81-alpha.2":{"name":"@preply/video","version":"11.0.81-alpha.2","author":"","license":"ISC","_id":"@preply/video@11.0.81-alpha.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a74ba99bfedb5efd72c1fd431c842002fc26aecf","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.81-alpha.2.tgz","fileCount":406,"integrity":"sha512-/vujTNGZsxGN7OlnNCwC//XHJDMNHzYRAjbW98GS1NucsDUHZ0coeS6f7fszxVCmEdbYYV3nToyWZ+YvTXT8Tw==","signatures":[{"sig":"MEYCIQDnv1GgcW//r4C1KT3FTiIgcBO207AdjsyzRzqnolmvVAIhALCMbV2VJLpTHdxB2/9gaP60LSOIcyL2SER41st1PW+O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16333333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6xn0CRA9TVsSAnZWagAApEIQAJuFyrPkOQGV9W4lpGcN\nYBzXrzYYf2t0HEy+ZtzvyytFdHHFf/7nRtlnH4EhkprMvvND3V7qp1hFb6oP\nRvFenUtCx8kR5dijUWEuMN1GokJLvfvIxvBg6OWnmT3755zD0JyzvWOpKctb\n/Brmc8GD4Q46Fxl4NUmwojFyCsk+cmgqf+B4eg+31jj/UtZO8yaH38ifUqeI\nmqYFbkg0mM/p6Rjn3p7Sxse2WLXst7O19CBdb8rxDa9OwiFlNawMYIffIw6p\nbqPiGETzVzsz8oHMQj5kGSe78ZTcFCR3tA5PD5vZHhk/TgtZlIdiW7Lec09O\nBfk1xuMt75BKhKgpjghAhNvgqMUVnMfayTNSC1d8BZGl2ct9lDARPZLLd6ad\nYIcp0TEry2wZrOqENMR4PChLyjW9LCj0qNXSS7YUPr8KElo1lxZ9AKILMf8R\nb6X0mQoF77lH53i9fUtk4OqYk/mynYidFgwg6bZx1TCz33dIK0Tp9lgg95yC\nlR5EOTY2KEDIx4E+3WZNIY1Damv03CYxZGrmFAG7iToKDkztui5F7KqA09rs\nYa1blBdH6oJFgqKxLxUvF9r/RwwGDDjm7fNj2+y1LPZ7g7iH7YYwfq04Fdi8\nY00xmAVYVtNE7lq3BKVPxh47yN8e++BrMcNwTRB3x5xW8xIjxQCj4Lo2dm8J\nmGf5\r\n=n1KV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.81-alpha.2_1592465907442_0.8545875982013267","host":"s3://npm-registry-packages"}},"11.0.79-alpha.0":{"name":"@preply/video","version":"11.0.79-alpha.0","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d730c2d33c925840baf85967b9d803b4f2e4ddd5","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.0.tgz","fileCount":421,"integrity":"sha512-XjqKoZ7bHDrpTs7FgFzM2t++YVuNzRiGwvGqGZ0/ei4h5gScgqdf5DgFeBtvx6ZWBoAv60tVlmaPgCZtvwAzhw==","signatures":[{"sig":"MEYCIQDnmjOC25sVVwI9pz04b9UDTEQKlhuOf/Kc3G0zHyYdyQIhAMS2smDq9Ab8o2j1dgu+c7ILR1gXB0zbtLR/HNPIm7uj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16484590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6753CRA9TVsSAnZWagAAw+IP/2vYW0ZDeJ0QRDsj9KOF\nwhubRhCAYQ/YlqLmnQG7RKVlPLNS3adwVc6JmhoZJqV3O37GII6RWtYnSMlB\nC6ffczYB4qq1U/8/chV8Zgk6JSp+R2ypHIz2JCgvr+eZZskZv9da4583BVAW\nUsqCDmjPS+C5yboKVmT+GrH5m5nwlCRz/uNOYPxLUu74QTDpSSdqii6ruAeJ\nHWV/vMS8PhWPT5LvfKjLtRQEOAZT9G0mR4dBmlQvfcqBS/JtF9R5qhr9lv4J\nLTfJ56EZGjK80HuzjksacR24ef1RukxK78kdspFLh3ije5DlHvj/gpTm+dQc\nciYLHJA6kL3DSxzUpuKo1l8IreeFfTWVyyVYRRoR3XO7BP4U92wTkeve+fGU\nfhS+GOEyT3mNiUtKJcsRclInw/k/jtJIJI7aGk/Z0wsHhSpXMCFj+iQDOmUO\n2LCcOxuUczcfSTaX0UlZHt5RjhZppztPecV5vVoruCwM9oslIJ0pjD4ecWYC\nxgI2Lr/IYwnQ6Wz5bM4Y0+kstFgLR54Ax6gUmAeuSzJDRTSH8LCA6xUF4Kzg\nzj11AAhYae/5nsbJHYUQwFy/JCfegvZMueo7vSC/7dzFX886d/cY04Ziu4BB\nf94N8ZazKvh91B3170cVqyxze1mqb//Sl3/hHcCIOFSaY94TDTdc6wfE40TD\nod/5\r\n=60op\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.0_1592508022237_0.9525131204731614","host":"s3://npm-registry-packages"}},"0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e":{"name":"@preply/video","version":"0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4473f6d82fbc240a279e4dd043edab26c4d3dd74","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e.tgz","fileCount":406,"integrity":"sha512-ATcO90urYwiVHyeumMO4VDZCB507P6B9t+/1kFJMnOI6zwHd0fi9X8xVGzjPLCgTjH96+E1lqd3Oa8/0XxcFIw==","signatures":[{"sig":"MEQCIEuCKl8BX94W/rNesGOI6Uc3Q0VGlfcZVIEvmANw+ze4AiBcZdvtsvaCugXFnUgqWzCkjo0eNHNJP944C7ASBXja5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16348143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7GzWCRA9TVsSAnZWagAAgtoP/i2o5nl7vVVPnZho87zV\nem+Yz4TvT+KQStAICp2ywoWhCiqa0g0/MioN0O5stIC+OBKD/TnD4n/Lq+i6\nnyxb4uPrSdMuNEYbjL7oWtM8/L3XIeodf4D41GgiVR6wz23rmn2mZwYbl1dq\nSh4vFr6NVVwuDDKnuCPAavgHmwi8KBM/2NelDWbn88kt0JdrQcOFt9e5xJ64\nS3MnjAnQoqCLXy7PU6v2e4Y2Gq4eTU2ZkEEb/SDjy+jwVKo7RSBZmsSGqlQ3\nLIcfGImjpWwJ18OOGRS3RGnPyyatC5Hunb2AAVK/CnaaGRf31IluGuO55pkH\n16UAJIfSCgSLfxKjqF2RsRTM3ILlEUAmWzZhxIQabI84D1NN1E7+C9BjCWy5\nYuU3qw3GYgVdWboF7Nm3skUI4Bke/B/hRYSqT25p040SB64DRWe7zjkv9l4q\n08k5CtPkZwl9UG8gDamOZwI972p43SDO3mOBALCMglDpX5gyCw2DMP5S79nt\nuTHh0QJtjpdiahU2gT2/TD7Vq+B7fuFjP0P0YSF2kgTisQ4+7OiraDpeOJQi\nLxVjD/cQyuvfDognrbKWI+VjLktsQE3YVNhqQkcJ1nlspy+tPrW/Jl9RtrJL\n0wSkqxhvcGzxOckLtoJjG7MwTBKu+06nZEUbYsc+1nujXRQefCMtAPfvY8jx\n/Jkv\r\n=67ur\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e_1592552662102_0.5888700649189911","host":"s3://npm-registry-packages"}},"0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de":{"name":"@preply/video","version":"0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e6ac7d3fe473fbc8b795331ee1ea93991ffdb6ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de.tgz","fileCount":406,"integrity":"sha512-AQzQrO16eHrdme1TxIzx4hcUHLKbJdplnJRsZLVfktD3eL+eVPZcKiNVBFeqTTVF/cCxhk6lGW+DhnQ+XI8axg==","signatures":[{"sig":"MEUCIQCn+5jlRK2/Z8HcS73PGfbrGcsquz8Ff+Z9GNov6Ixk1gIgASQCCHnfNrZhxEBZS4JpWxqWolS6cb6qBGPcCE3LYHk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16348143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7HT5CRA9TVsSAnZWagAA25MP/AmVTUsHQr+efSUmzPQ/\nqe3RQgQEa/ehkTigu+jIhhAVYfvqVqwmWjyRMVGoDnvnvaQdOTMsyo19VKZl\n2ixCd8hGfgKz98lRMJYjlIaFOHbOzZ7ZLfNOFTdlNcd2liAni5MGFBAuedm0\naRcc3I3UkEfmJaNgXOBneKfcluTk6wcNtSjv2jlTXuiBKqxUSYy6D8zHhnZy\nCPL8i7yu6QcAYWtW7WfuGQQL/rtb+RknA1XcM/n9VdSvxbhba9bEQKapaige\nKt290UvRoHmo2+UzHt2UIxXB/YORX4hYzsWHaiEMNNddMI4ZEbLguY7U6thS\noOlU8Uu4q/f99nk5YWBaWC31cL7eqe9K6lXYq9+rqqEsx7nwkHntCGts+6ag\nvOFCLuDfpjm1ge6/s3gy6nD2FFhPX7N0N8zjvrHe4WdWVIfq91UbrqK3oQIw\nh3iRfRCniCT3gdqmUN3FZMr4JHRShz8qJwzp3wLjYCZJGI8HPVSk7FLDWwU/\nYQ00VkoiR9kNqshet+KJx+Apm8ag+5VvElFumNErQBkiNt8Ak4C3Q685z/yr\nhUhkeyXyxfvjZolKbIp09kuvxaa7bGOp9zEPpYTl0ZMWun4pVF+UqsUpY4uu\ntPV2sCFrTtEur2Vfle85vNynL/SZFznGS3RKJYQX4uILyZ+Woy2kzB6sDUJQ\nVcim\r\n=xZjZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de_1592554744818_0.06173745554375998","host":"s3://npm-registry-packages"}},"11.0.79-alpha.1":{"name":"@preply/video","version":"11.0.79-alpha.1","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1380f47531083575a4a02f2b766b38d20ca63a6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.1.tgz","fileCount":421,"integrity":"sha512-jNC704FZyoETZ8tq9itEXWULgtGEivk/3ImZ77GmCp4SD4HL5CmFVsSlzJE6qr3Ssg4/HSaf83jNQk5dWeDfcg==","signatures":[{"sig":"MEUCIQDyywcVUu9gccjhlcLUuSV9IXKwzPabVjFZPM5tCf/tIwIgeX3jwSBIL+Dl4FmQgjIkBpkD3ytoK+nSQFEkMy6SrAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16504025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7H3JCRA9TVsSAnZWagAACuIP/jgquKJ2QcvCj9IwqBWa\n7oI+86UYENJqw4EQy51ObOrJvBm0El7zIINLlDnNLlcpon2UeAhfXk9Ik8Be\nhtyq/ac1oqvAAabj9DEiE/zjJnKj2ob+vrORWFbbRRlfiX9dXYw/PC406Cnr\nQzdf5xoa5kO2ZBccL0gL3BMm7XBKgDlCiK3EU5QL87JAnqZTY1xb8BN+XyrE\nYpDgS1E7V4yf4Rs8pf35Nd50doCA/id1iinZjF3GFMHD8VggvpkBfb83IoN9\nudJPugmhMuGumEdTc+iyhtWtiJVDjAzx8F0iyuqVucPEHKnYGVCFFUGrHgpZ\ndNrLViHpi0QpxbsXWDpXHnW31QtSCEl/3KnoWaUjpW9DlNMcQYq+23xMlhc1\nO0N8CXWFktTY+RvrcIoAIyjivOi+4X4++A+C9Pl4+/8lZsWt06GI+MrZD20b\nIJV4jiqf6RgM+Rdz/Vd1ji5McKap/z8rQS9qqspSN85nTBkotDjawSDbbAw7\nt1/937+puS6JmhUVggLXUsznNUxhYi8PD5ayw1uXT+NbP5ebIXKEuyn4qs46\nUxrq8DsiPkTO+HILILQm5l11EZ3FtMDyB0hNiol8P4M/GkEpR/2ZdoXgj8Ug\ndPANKx5K+IfghRqnnCQnJFXqglvABM8DEzsMsSEBk6J8b49I0a5M3ZxKQcBN\n179/\r\n=feat\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.1_1592557000968_0.03218097368042527","host":"s3://npm-registry-packages"}},"0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93":{"name":"@preply/video","version":"0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"02302124e785988dc30c2f15849edc83d55fb166","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93.tgz","fileCount":406,"integrity":"sha512-Y9Mpea3MEFJZYhV4gj82+0Xu9d71jEKA7uXcXVGnlqIEbMI3HxmLorB7ldYLtzPDUNpIY8DYsH8YAKYrYjWYLw==","signatures":[{"sig":"MEUCICBw9rOey6KCNzEyrFwqf3O15wSn3eLTBJcfYwbH/1exAiEAqfq/60qkQqNDR9n1HuZm6r90Pn9hC1CmhgsVxy4r7xc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16348143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7I++CRA9TVsSAnZWagAAv7sP/0UfLFsESqf3MXqKezR6\n1fERtZhPa0vG5ll0Acm6+NXAkSkwwwXt9sCpA3s1rOjElO9Dkf/v38HZMBGf\nl0ud254DLrQ/IQjLUx2WTZJ1OYANAKl4+rmLjMpm6vjj0akpL6ljiGjWQLMe\nIllUvAHuLNXTqundb1QfXu6ldDFlLZtyRWmWMH9PLu8riZmjU9wfif2xECJ7\nR2GQF78HJMdF7gmBza33eusfelFIVxZLhac9pJwRp0Qipf6PtG6n4kPWeUgi\nu6uQRurlo9vVA0E7e4lsl09qFd/p+aWw7YhZzbdMiBIm9D27zWrXF/FTGTEd\ntlHMFA9xMJ3FVjV4b77SH9sgvBAk+IebOyKWRV8L8e9VdNn4+GO/I4R8IKTi\nr/UP+TI+0lg1anH5gkoVNbU1o1cD9g5ZyOq82VsHnnzAGDBXj6YxyVIRLg0o\nvOxZW5Elyus5b59KGUQ3/at7Uogma0NeET/06DmO3IShLpblYaK9dWoRZ5vW\n9NbNipU0KnF1AFpXMYBLjWPRAsYAcfAyQ6Qb8lVRoVWFN8w9L2nUY5ukVHdf\n+oiD3sqgkOn/2FP3DRUBJD3vnM1B/Y26g7DA0Eti+/3Jd7t48TvdALRT2jwu\noH632TZDoiWEXzYscdH6ONvJJjWLEu81CFc7Jfb5Xusng0mX+GLz/GI2iWYB\n/TuX\r\n=MUTv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93_1592561597902_0.527243103658583","host":"s3://npm-registry-packages"}},"11.0.79-alpha.2":{"name":"@preply/video","version":"11.0.79-alpha.2","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0f968613ecd275a1c2a41f116e842f6cdb907ab0","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.2.tgz","fileCount":421,"integrity":"sha512-5ctOTdRtpQppzp0LaUk5zID3tuHr2N+DWoXVTzuepXocbI7xsSVvI1HR53C7+cD6QBGF+nm/KW8F3mYUmo6+ZQ==","signatures":[{"sig":"MEUCIQDysLMfIb4WqVwwMCxvcbDLEDB+YAUDaFTyywuX0fvU0wIgLvUs0/yUX8qELfRcuN7UxXMzEBpGhZPczf/vsVoP4RI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16511300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7JE/CRA9TVsSAnZWagAAgVoP/jLXRfP8v7XkgZNqeXbz\nCg0GlxGxPi+YFNBtGcfgyI4aiVu3rTaoHfI+0JR/CPnOWqTAuECNLzrfPolE\ncx3chrWue9pff80X7XKJPpqlUFKxsdBNoJ/Pl74GHlPsw1SqwBGDefghSCoI\n5FNq6rkV2PhpC4gIIR81GNY0xj5+cK85dsWkpk1l2vUWjNFM6/h/D9JmfSPC\nf6GQItZgSeItdd1X0Pib3KNwlke1u9DBMq1qTsEkL0N3QdOXSZ5W5ipeUFE1\nbKi8LMxbfIRv5a6K7iiHRcRA7CWc83LmduXrB1Ho27Ur20UvpIAvNarx5Mpw\ntMODLJc7svd4ZSVuwTGnFGLEDt1kUBER7kPYDAsL0s/Tl8YZOyQeZdSw338H\nfx4EKVmk0VMBk7xuTbMjmOcv7pEMUrjZpfu2wEL9os3P8YqV8gqseRkHwVVT\nFFU1f6KhHWTvsUQdzkYoX5fnj55XUv/j2TPPCF2k3TSWFeSVzFIkODH7I+4Y\n8SXocCd6okXKiL6wVjbnaFcD8rxST4JydvHrgq73rvcJoeS/gX3ikZteGMtA\nP4HldH10cLAgXxv6VWx3sXIK+v38tVLNFJzrlMPVk2+47xBzCgr55AdKvS2V\nYohI5ku4JlYhF3ggq+VDDVP+XNJ5M55J8QK3VJSs0lkEPEAJaJSJiAHTVHC5\n5kwV\r\n=teB/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.2_1592561982402_0.02985481026104675","host":"s3://npm-registry-packages"}},"11.0.81":{"name":"@preply/video","version":"11.0.81","author":"","license":"ISC","_id":"@preply/video@11.0.81","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"38241a35d1587ad797d427be30e4351cd52217ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.81.tgz","fileCount":406,"integrity":"sha512-e7hLb+gSl39B2P6tfoYpVrGhox0H/bkScqPHglCND1WRPzg59+sg5qblDS55rPllcEUpZO1zNrnwbLCKLWPxtQ==","signatures":[{"sig":"MEUCIQC4oO3lJ042LRqw7vCyGZYwa31LGtsbDBOh0W8nDytacwIgMLVz7oCrOr1EMhxtmFXlLhL/vjMCEptJf9VAGjxEFGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16334090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7KO4CRA9TVsSAnZWagAAJsEP/2lgKy6ripX5Mc4/ouqw\n39jcf7qZ/GPt85RECWxpy+jhXs/pRHH5Lvv6+toh5NQZ6NBbtqRPtqcjUYW9\nlWYm2GkY00JEn/DS3U0ZOec7GvWBU0EWKi5Yn/bws4Q+G8gnQlU3ZNHxsnzC\nHy66h6jrZ8hYvjaU5rqI0uILsWRkOOgB/QXMHOLXphAA9QeRNjGyE1i/SbxY\nZd6iO7smpxzHP7nNU4uRdbXV4HspEem+F7dROHwoQtq7DWW/6H3pgsNfpgup\n3McYuLfYayjT1uqbiHgtByNUrFfOJJATykoZGjLTm0+BJXNWYABgj/uehTHY\nv84g6f4Idrw2FxuwOJ6Mj8ntI9q3NIGRlcvsX5jY4b0d/Eu3+UHNZK25hXwy\ns81aTGLxIFeq3pQvk0bCXGt0SadRjlJ6wdpSs2FTcUs6hnFIrTEzeW2fYPVJ\njnMKqQFzNTovDaBrQF0jJtzsa5CScoFZvGCcZTcyfOPcnnJp2rwO7eO/000o\nc4jOPiMBPGqEEIMbpNiFM9zrPmELk03Byu33s03NaOiWYNOtiu3smKM31pd2\nZUHS7MJjHTsQjAMyuq/kUGWXXr8Pl66Dl6zwUmiqCaPMWOumxazEQgJfQF3j\nNhm3CmqGB9GE7yF/VH/DBvwgeAq1Q2igPJI2+RjN0/JKgH2w0sH0qsqLHnNu\n/ooi\r\n=1YVH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.81_1592566711530_0.6227219159141641","host":"s3://npm-registry-packages"}},"11.0.79-alpha.4":{"name":"@preply/video","version":"11.0.79-alpha.4","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"76fe77eb3a17c967674481e658a9422201166f66","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.4.tgz","fileCount":421,"integrity":"sha512-7SPihp01eCCNa2LzP3pfkm4867Q0WquAg1y66comL+It6Inw+pOOhOfo6tP965gzZD/0hiTQJP+81SLXmHbeDQ==","signatures":[{"sig":"MEQCIGuPlnczM2JCO8aHB9w0MuxwLTfqaiLIeEVig3jRdJQIAiA7yzhPmAvCWzzMpz5Zv7jG6pvrPNGvE7ccgQwhYMnNAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16508210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7LKOCRA9TVsSAnZWagAAzp8P/Az9hAOe90IULeOHpkdi\nF2cCpdq2xD8k5WfOFNuNQX8Q1V00Mg1XeRtoI6PLBtYwG0VzH9/gCUC9CbO2\n2XguSU42Q/zYkFkuzNsSx9vNsy+xPEVtZ3z6gfL9TZhe3Tw+7rYbZ1TMMPI4\nAo+es6SF0XW/DGz4Z8FDT97gjdanIMt/fCl1DAgDKI8BKeZCy2LcOqhnuzbj\nKVKL+kN0OXAx2OGidxBzBtaf3sTvdqMjR4TGHIZUJymgh8Q3Pw3MDy0i9LCV\n7N0CZiQP+89nTgIjftGPaK7ZHfH86E6Fr9kX1i7iVZxuHpUxl+bi4Pi0RAAk\ntcfUUJXO544VZHW2MybRx66BX+LbFA2+MVv6+opQ/i1Am/a9BMkFbDbfXW6c\nfPz20LdiHtBJviLeaZVUNWSj2KmUFC7aQYkWoov8ktGtbe4HMoZp8agD8xeJ\nB7kVbc9XxRYlbxBi/RmOVfbBJgTp/zMu3Z2GOEbncBpCe7LfzL8Jr19jb8Oy\npd3WdlwJJLzz1gEP5isnvaLV/6o9i2TSvR8yiQCcayjFnujRC7AjtxPAcx14\nZNXia+zrUKkui0Rbe2Gay6fRjqh3xTos4bcsMLVQZEejNzqmEJkNQnrwU35R\nyvSxwJ87W2LU0eTE+FeuqFQHd8vG4iBHFr4Xhe0yb9kMonPnSVPZtokOOx6k\npeHo\r\n=EFAn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.4_1592570510161_0.29116208547296507","host":"s3://npm-registry-packages"}},"0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a":{"name":"@preply/video","version":"0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"51b08838abed0ee1cf8631262e2088baf92fb5e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a.tgz","fileCount":406,"integrity":"sha512-DG7rVqX0P+L9SlQvuHdXCgj+1BqI5dSTvIeXHes4oJzGDUZ6anAayWLVwn1kyPc6TOLhhB0YYPHQS0EtfYOTMg==","signatures":[{"sig":"MEYCIQDnq+KY4k3Uxz4mBv7f0Z1IKvD6oLqByiHF0B44ajQ5bQIhAJfNpTUnMJIFsT+YQsEOiSgnwKE+K/otd/bjEh/CdJfH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16334840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7LvVCRA9TVsSAnZWagAA8JAP/2/fNELI1RWO2ZpbCRFg\nbHPS+hxRDX05nibweq+ZSpj7fvOS91W9SDDP/+wr0byaixaMh84ltbpgUgu4\nwPPm3AmX75j98Xrgx4fIZXYQXWG8tinA/pGz/UBqqAJA9MCMwl8QCHdUwoE3\nTjeneiHxP28AT/dqs4lDsiumMRisseFJu8BxhfM/W3uvK89+kwLvrWDk6ugj\nbiokh/ZrEDS1fMzoDbQsA2hXK3vuZv7IhPNQCwJBfRoG7CcU4KSeQSpQW2oT\no+SvUK/kqgYSQc2uq6yss9BGv+OacQitpapdciokkxMQzrkHXVDYQQxigPni\nMA0SV0JV6D56UHNpi+2ey8JNHl9EoOxHjW7LSeTbmiOhO6r8DXFWvn5n1ml8\nfWLKdsj7R5HvF2RjUchm8+2LX7A7+mIp6CsQkCHqePfE5N2nJN4psDeaR8hV\nxYcsXAoj0B9KTgKUnK6G0OJ3UoY1+nu5qYOy2p5alyaYbyyWJfQIC3jZ4Mys\nR52cAdyc1MdmTFj+3joPWEqIjO5cLsHpyotLDQ69miR58XOQyQrFd8KhzII9\nyjEPD+AiVeVXXWFyQ6of8Gs2Izb5cW5YCghqyzhB8ew62sKemVDpHKWd1U2W\nfUL2yksLiTekU6Ui6cML0QEvHAsQ33zY3S/8PZ3UhEmfqXSj9+5KcZHDMf+4\nbjox\r\n=mhZD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a_1592572884480_0.32330590934662595","host":"s3://npm-registry-packages"}},"11.0.79-alpha.5":{"name":"@preply/video","version":"11.0.79-alpha.5","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"786fb13221e12d851cb84f7c4bc9739a158a5e5b","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.5.tgz","fileCount":421,"integrity":"sha512-zqy2tFYGpENRI8Dlw91zsXgN+4yCCEmeoWlu2B9rO7+SDXU4MwCgMZB3sgIgpHG1iYi76jM7OGoxr7wO5cQkiw==","signatures":[{"sig":"MEQCIEEU+B/VtSjGoOaFp4ouN0vGIyLnmpCcv9IVqs8pj+STAiAmcp+p5Mo8nXBy2hZSWEHfpa342ghaKnalApR8gcSLug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16508315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7Ms0CRA9TVsSAnZWagAAbp4P/16BvR3kn38FNyhZpUsh\nzsbQdvF+2PjOGPmp5t61mhiE78pPl0W3kD/qxcYYfhgFizje9sdhthg5oHTh\nPHjeIOhQwrTZtQYnKqWyh9zJkaWuThr5cOucdRt16PJo3WbtrJEB3nSOatUG\n2vtOtze9WnD6PM4BLxwwpt2YNC2s676pjNnoixuGnnyrFtEw/XdPOSIEKXh6\nAnWAxzIc5wHYm1d4ST6o94ecvTiSKkCui1sGmF3AoFK+KrJiFc12Z+d8yqMM\nYBOrd6qsWOIFRtGFa70bmubeCw+Z6xqwoxlRt4xEV0hTaylwXqoguB3nMV4p\nD2qqEPyqnv3ocGGEp8ali0OGSoa74UN7yPo9NHWGNzy0pj/OOzrLtSZIjjGR\nlSyUNfv1/c5iF/wIEDfWIqfKpI0vYLXXRkvorRKLoVlddR3q8bDzKY18mups\n4BJR3FEbcShBGxJrvdqWZtyHSxG/HPkTipY7VhYMGZuo1jj9Y2h6YtRG81oV\nTYPoNRx1xZ1UqjFyxytZ2Pl8YlmfWnm6Ole0k1Au9LBuMe7SVXs2fWnJaQbN\nmIihXwsRrVQJRekO2WOfOZb8n7zW0pFB/mPz7HncAA3zok7BUAwexSY6RZYb\nRq/pruHcperasa26yizKF4hZOwOuWZMi/s154h4m2xUSiQ2p4PGdtHYEDfgo\nNtne\r\n=YtPr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.5_1592576819423_0.9970597024046117","host":"s3://npm-registry-packages"}},"0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17":{"name":"@preply/video","version":"0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c49e91681458a2f097fcf9b81a7964509e38c0db","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17.tgz","fileCount":406,"integrity":"sha512-xB9pTJ7XRN0+5fENDWmSSC6GqV902QydvCOAtfwqID2qCUJ0FUtRx0jkDGPvhcXI6Km4v6+KvYLOYZ3YfYgULg==","signatures":[{"sig":"MEUCIQCnEoGmfcfOfMICh3YcKH+DaLBbr3nOp31C2g92VnLzAgIgab0a+brnurfzoVDblhS57FSXce8GGUFlHG4i0ryL9l8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16348143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7OWICRA9TVsSAnZWagAA7I8P/1JGDMQtTigI+OK6D8yD\ndKVNaGXQah9ArsRGvF56bAxJC6OU8flDgXnN+uF/KtK5PALJzhufQP9PFgcG\nz7htsNSlYUlwXKlXQ3+VWvC3raTA7MxZh/ANyh2G4sAIEzuMcGadu208FRjR\nPtC+vzLaz2zTKZfxOpHayiY9kdFKAIdfPfltjTqvhau5s9MzPJShFz9omzqK\nputWj04AkUhtTJY2jEZq0ZP7e+z3cwHCj8KiMk/KADCdBhSYjwCLRK8dxog5\njb9ShaH9fnVpR/R5eWuYDHIBnKRffXiRjYxvw0xfZJXJRiieUjeYdDwVEIJA\nsU3y6Y6xpwfoW9r+yIZc7crilXqMqYBpupBURO6vPknH32s3AGKwzEUApqN0\nQ21qB+32aRknBD+mdEJdjVxC+iDJ+jb78dPrdrknEC+u/42N/7VSB/B5O8PB\nGoVSsLAa0+UIPqxB1zu9eibosZo+jkS8C+1LtS2dFS+AoaiNfhYYE5WV7iq3\nas2i5x1Ot8xRSaPqJGdRgyi84MCXI6A/XsrNRBRWMd4qcc+M7TKXBVoqfdkC\nwjYf0kO/rg7AbbCZ6R3jEVCqrvAQEQV9mcnkVSsK033i+twfscFm6kXEysUm\nTAxNk2ab2Nl7TKQ7paLWRo64fNs3Kr2Rl0U43j6HOdBOKofoxErrjsBf3Df1\nON6R\r\n=emYu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17_1592583560085_0.9512026364194068","host":"s3://npm-registry-packages"}},"11.0.83":{"name":"@preply/video","version":"11.0.83","author":"","license":"ISC","_id":"@preply/video@11.0.83","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c5979d208319a28b6562e9aa69c6e4249b64d1ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.83.tgz","fileCount":406,"integrity":"sha512-9qdTahgHYjN7SIIiQCqz3zvV31A03bdyMA1QoKcP2wEilShIxT1FyJBuVSngGgeP9xIwKBe/lEivLpys8Ml9fA==","signatures":[{"sig":"MEUCIQCS5azTzmccPM+ZSO1sqcvMIKnTSPBFK0cI436BhAMUPgIgGSk5OFxrKuCCJ0ZrQ8u/u907avJwaXTMBAOEbFF2ZQw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16356425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8FFxCRA9TVsSAnZWagAAQssP/2BUIlgprf/QNJdR0Os+\nQiYyAXSEJGAN7bZ6+/VIsMRTU/kLa2znVxWMWnDHZYeJP7faS4TWPFuFik5q\n1QyH7Tj64eL6XpYmX8IMmhXRAcZzYJYl1RVbhRw8kLNnuFd5bpPm9T/Y1wuV\nbKlJ40qoqlAbtzMY1S2ROSEh5rV/yY60VzOIxNf9yvsnZX8YBpDabmoseDoV\n9Xr8pd/c2tgPtt+iXaQ8T2PGVZDfwAHr+CcSTGYBmFkVpBDECQPrE27E5C58\n6dem5Zr3BhPT0o0827+YkF/wx9h3vv5CfTr8BtJj9oo1pHTACAu8YQoVpGtS\n83gKvao65eV51dFIQMjjB+G7J48Vccia1rKnun8fxVTrfnZefdCNQXLxQhIq\nc8eJHe5hk36Vc3XLb52RkDpvL02mlTKrZEHZaO/kG2uCqLMg6Pu1HrPeBAsH\nTHB0lwwdP2p0zDJdCQLuXc8PV5I4IEbMJnBHzV8C1wa0G4ide92QhaalOMET\nzFDU22Je5eQpfYoZVrHFdMkix5Y7DYfA/QSPNYaWlmx3of+IICZILk6PJoMk\nk3o+53FHZRXnOCQCcDDBuAYApPBarioMZKlaY6GW4By7Zpj3b9yTnTHRhQQ0\nxMF+KUZNYnp8QtBx2TqTlZYz1Z15qn++ZKEU7r1xMCyhjT4iFp0+83vQb1Ye\npRkM\r\n=SX+5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.83_1592807793027_0.26252890068978063","host":"s3://npm-registry-packages"}},"11.0.84":{"name":"@preply/video","version":"11.0.84","author":"","license":"ISC","_id":"@preply/video@11.0.84","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"935da7387c8da4fc75e17d88785cb43c9b5a5397","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.84.tgz","fileCount":406,"integrity":"sha512-JJ+rc3dDD8S6kfmq8d8lwJ6h5sJMckw3wZX0ME7WcddaJGCewcN0++km+mXju+UvEhVAqHhgXt1Wmv+Pd7evmQ==","signatures":[{"sig":"MEQCICGdVHx4WGLpwRSVmXBBcH+s9EvP2C07G7YO5XWGN0DJAiANLvqDq2wvCuBFa0SSYTl/2ptPKjVK+zt4pTe8WsYOng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16360475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8F+ZCRA9TVsSAnZWagAA9s4QAJbuUPF7qL3RKXxf4ODU\nWVskrGhkbl/IZp7RKFZu1L5NrCNgR8U4G/J3XmDQ2+fJpquhPvYWhsm6Njtm\nzThFwcBVWVxG+nw3wEUOlkEN8Gtc6E1wLSkagwb59jU73EUEX27vy9Lr9+t2\nSukBB7rCAVC0ysivGbIuH3yuGFt/WCIpU/a+KtCfvzJKBuW9DwNKRttgrzw6\nX+kRBEFfPWZN56ovt+j/mLmBt1nWyZHZaZwwlE2nyh1muLdmYgGXELU6IDm/\nY1UQynrfvfbzATm8c2IQiOLFH7qzucnAq434HKX6yAhKHCKQs3v45qLt4KaU\nPP/OcYaDw/V9mOkkg9y6r8Ng4oQEGZwZWpaHS2Lfw4ToIFO8WJ9QDtm0RaeJ\nLCfWL0u/95VyVa4maBwVT9UoVdNqPvNKFG8Lx1+ulygFd5aAOfWcWJIhwhFV\nHjaBaU7FxYqgE2zGAaqGaX2O0EcFmnBljsEFLuN5PLsPSoHtHSFfmR3ucaFQ\nsiz66sMuc061sh5JofnEcBz1uh+3r4Ujju5YDg2tizzbTOiWtsDRhHeskUGu\nq+GISN9G2e+vhuYtrMOyCQpmQ03Gn9AOuBkhkd2mUlTppMYUXqfj9mHVyzWK\nqEVOcsJbS+PFxhq+W8VFj9/ffty1C2bdE17tE1FB4BOPHJt8pJog1Fc8Jwmz\nvDV1\r\n=msmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.84_1592811416615_0.6238560143451961","host":"s3://npm-registry-packages"}},"11.0.79-alpha.7":{"name":"@preply/video","version":"11.0.79-alpha.7","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a45ab3212fdf02a6f686da018a8e56ec8a33f770","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.7.tgz","fileCount":421,"integrity":"sha512-s2M6oC9gbHWaw/JMIAuvPl5XwgepbONiehv/zP/OSyly05zom5XKQtfB1SDPDvfaof3Avu+WTiCBzEqTa4zbow==","signatures":[{"sig":"MEQCICUL4dMUZVUBykv9u+aj24AZOYxgwcY4CAh3HEecIwh1AiAJn3gVSsaMk+sC8JJn/efSr8BQ6aIYrtS71EzjvUf0mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16520075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8JBBCRA9TVsSAnZWagAAjsEP/3os7ny08CeizqONsM81\nXfkQPZcRbeSTnJ90BO2bR10X2QlBB7r5brA4IUMQnAjhkP1L+wjUW0x1wO94\n/BYGg6KJytVs6+l33Amr1KQ2KC5Tlsr2MswK2tf3GnQfwJrEURdMeCTIihca\nV0+/wZcRYPA56FbN761bXcTIhDypDTT70LtBCxELaYi107LYKH+TQ6C9MsiK\nn065DVFGtleSpchOj7tL3jSd/R5crTcBnr9OkHMdf2qIxONXRqrkMYMoswUC\nuGVhgp3AvlnY5aSY+gnu4E0Ad7lI/e3mgQD+aaYFTYm2r/f4Qjtz0cc1WhQ5\n9kS6eJmMyJALoA1H8TivPngyPHOkK++RY2HZlxW07d8M5Lw8QtEZbqLXlaUs\n9CAGIiYKKi81k9zPjiasYFFanwRngPfKn9fhjNqCAX8ykR+hSf+we7zGdfQS\nOn2TDFoXmZsROEcd+/jarXESLXLBBIhdjUc90Im24bSHJynsXite5SGfKsWy\nN+562x/W7wOa4sAdJaNVgPqtc5+Avs3j7ltF3bzqPjjAyqqCm3Hd5X/SHQAu\nhFJdgdRK5HnOlhiNVehxXAzqGMq4/tArnwI2dw3lLZUjQm4kWURJ6qzLxzgZ\nji7a4FYZPHMqc7eKBVNwt7AyRv1q9qXnLaEWzAPXknhubtPaGBEn8Bkvdqs3\nHpjO\r\n=v2MG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.7_1592823872343_0.4298274495339942","host":"s3://npm-registry-packages"}},"0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54":{"name":"@preply/video","version":"0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6c00ae770ae4f5651674fa2467680893408cb65f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54.tgz","fileCount":406,"integrity":"sha512-BpJ7kdqd4Z309zOMz2KgrjkhdRV1IwNjxGJ5OV6o1J9gMiPcoG8OSATjmb6EM9aZbwE1Wtz/A02w5LpLoBLZ8g==","signatures":[{"sig":"MEUCIGyeiSgTYDefoYnlw8wZdpMdmKPmXZYCaJEUb2K417WfAiEA6nydNaX/VwUehXXrXINaBuKyEhJhuQQwScs4RLya8Cs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16361225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8JX0CRA9TVsSAnZWagAAfRkP/0lpxSCXLDGZNUWrVbNb\nRbj2Ds2ghXwcZ/64VP3gFzLox2/WRaEcVT/drbnQb1blbCWdpWRw9d5xLTCL\nqeduWNqa9CHY9W9J5kbEiwMHUulXGyJucDSNR0THf60Vv8tdHOD8gehxtSye\nUyKSmvi4tzC8a7oIvQhY8sk/x/W4abVYFzUFaEX0tGpyReGsSkeT+tVOMpUV\nl2WxG4zti+ApeSqEAZ61LihszoMGChKywDy17IVDafPUoVE1pfvBxM67Xeec\nRcxI07dQKcOkkR3/PcUW7uXv9Hd9d7mJoXg4asE0+JYujy/Ff56FOcCQy+iA\n9a6EWzxjG2EXo5KVyjdI4KdaJrYILEUjrmwOjCHeeG9CIhYl8v4oUL2Ps93Y\nna6aTGBlrYTawlU8wRyAKp3m83o/zCidRskedCNuGGsFLXquvkzQ9p+VZonP\nj+CFXHeVN+bl6zKZ0dieC8H3o2kIGS6HJFuKb+A1Z6L66hl0YRV2M98Wn05/\nfxCvT8upQGZpbykCBf4don3C+bdOLb7HczJ8IQWOvHlNjyMGPYk69JPBpsbd\ncTK/mHhYM1/xUlwvG42EOagr3PC+XdmZdT4QPbRa4toSavISUgo8TSy23JMZ\nwOCQ5Tb+RxGUjHuEi25Hh92951c/vGvzXVBbOuoN6BeWH4UpgSsWVSOYvwyZ\n0fWq\r\n=eQJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54_1592825332128_0.8163798817928678","host":"s3://npm-registry-packages"}},"11.0.79-alpha.8":{"name":"@preply/video","version":"11.0.79-alpha.8","author":"","license":"ISC","_id":"@preply/video@11.0.79-alpha.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"85eb5f63d4bdedc407cec794569dea5107964649","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.79-alpha.8.tgz","fileCount":421,"integrity":"sha512-KV1IGxDqAPCSRwVAtJnO0XKLdUz/45Ct2JuwJBOYx7frskwLvBJIQuriF8tTZj/h7exX+aitJBIWpB2DHHF38Q==","signatures":[{"sig":"MEYCIQD6qxF/nUIJoI+zxoAym6yALBHhUdCsrIPImRggO620TgIhAJF6gtI5r4rX7z7OHTZGid5KkPh9Xr24v0/nZYSnuGD1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16519790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8M21CRA9TVsSAnZWagAAkXcQAIF8CAncFdGhs4PArsRY\nKhzfV1NFGQMssX9peB6Xt10CvFBo2mHZf3R7uPd4PhPMgKCWCHpwgOWNfAWz\n+gAFAqe9n7N7Ksmo5/yQWY1vZ7ogtck6bs0xlh2VgRqRx26wASfuJvrplVV3\n3Q1NucIPcT90Ov8KWeoUSiSC8UIBnTzlb9ZqTYFaY87jJiMdouCZelwAP8GQ\nGQmlo4kdW6dNa+UiY45vAjItRmH9WPNSLAMEnkuLqcAUaCrcxrR+aIM7YJsF\nCuQw1ab7/fqnNv5lED6eyo+BdTFmoE6iGNKgYW9O6AxLCHP9sKXwRXmdgzlg\n6XlgrHPuvBgacwXcsSWlHwPeDxBT2rLt9z8tKPXrpLIjlsppUBN2h7zL+kHl\nxIVuBr+cNgaD5wNo7KuPp5l/grVMlL5Z3U+mKixxJVY/isKVhau9o1fzkhEb\nhoBTCCwxcPFlhleoxHUT1JeI1Katw+r/F1lre7LEElfGeyYaGjnvB1DV5HE7\n69lWXNXb9n7mf0bkK9+RAoVLiofa0bKLoryHEqthaVlROHzYC9hocgSiD1yi\nA5WS/S/AsSoXGj5Y2Gg4J6xC3EPNEO1xl5t8EyXgjtRzmwI0Vmnrl9AbLp81\nYULNeSOuTS5DlbE+6/33OptHfe6IVzO842KqVvg8DOW4BJYaC4U6ZS9ZV+BQ\nSMSX\r\n=1ohF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.79-alpha.8_1592839604437_0.7962744154643948","host":"s3://npm-registry-packages"}},"11.0.85":{"name":"@preply/video","version":"11.0.85","author":"","license":"ISC","_id":"@preply/video@11.0.85","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"12def02db77e46e77ae8649e30a0e9e66d09612a","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.85.tgz","fileCount":406,"integrity":"sha512-2UZs6U4IqHQM6GnYDOeAEGREvdc33j360/DwvgNS2RXu/idaylF2uooZpWgtQ3wcvgZBMuNv0m3iqo3xHkOifw==","signatures":[{"sig":"MEQCICwosDS9GUkA7XLDdptOkW+LfP3usYs/WjR/OZClYorVAiB1N3RcjKrseVbRX//8FoLf7fdz5j9trgW7F8bMk375GA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16382630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8fB1CRA9TVsSAnZWagAAdy0P/RbV90mYQah11zmcHHlM\nkXsLtN1x3bW5sFV/A/hKsu6bP+SGanq86YaAYdTIrxPFTmL4zCsmhvkSofZa\nRQ8bNlhnw+VvGqwXwYZn4Jgc6aPqbaj1TJlZSrQJj3oSDhe2N/X4HK09OinW\njaIHMv8otvDmTpaf23+tJNNwi4Lo7UNT0x9hI1ZtG/jsQSrqVyQba/Dc5of8\n0jt6aT75WoHHq7hppaSM5OAOVlPyVOYcD9c+m3Pug3cLTYwEwPpMSvXMuaCC\nAoFKDgcfB9SFz9r8UWGyZ9CYJtbSKmWiVTChXiivdsV9qbxzGehgXmTGBeTm\nZ4rCym0CxsclJSuHUb2fB+d9wK8x9FEoPyY0urQSxIjCLiZ/9hQdtMEwVr3e\n1MXuBKRuDaT68lHnAshaOoSd+GPWr3W2XbNTZEuNTYA7YCyRSkVX5TeTsEfy\ncj6+cc2nt4GZMX48Zfo8uicdWQRbexLwQhETt2KgtTIOmAWY/JZKej97M+9b\n4hpRcF3IYrknBUDZPKLgJmz0bbA2OlBvHU/qshmSgRET0OlspCE5iJD+bo8d\nbl9A23LzLTcg/IwfRX4f98FvSPIpRps7RmX2gP3gGte1L6KjPVZQF/uRIiy2\naR/pNIx5HXjMDikqWS67g8XWwWunAyhpccMR+Krp3nCWVTtlLL9t6Dbbh+uQ\n4bWV\r\n=g2On\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.85_1592914036758_0.5350971942949685","host":"s3://npm-registry-packages"}},"11.0.86":{"name":"@preply/video","version":"11.0.86","author":"","license":"ISC","_id":"@preply/video@11.0.86","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"560dc1da47c8257fa8625da23df39ce6bd337e76","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.86.tgz","fileCount":406,"integrity":"sha512-GWIhx+N0dX8INYPuxV6pZZu1vo3cTUdQ9fKsPgiEyqC+6tFm8V+TcUkdbPZrdhChkAwtt0HF+20I/UTvi+41xA==","signatures":[{"sig":"MEUCIFmBi0XKvK4wSFI3dvWdAtemX1XjcodvRciBsmqjs2u8AiEAvmXV/4HN6XcNTlGLuLF8IfIlQ7A9f03ft59ilryC3TE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16401053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8vvaCRA9TVsSAnZWagAAMJcQAIBUzkqSURzAIOsNfu/u\nQF5bhtanVdrQlw8bDdv/8VqmAe9rb0tuPap6niEsDFy6oFSw3SmVJPN1i/1/\nr3UbQOuqq6SzjBPeKx3quZa76AvCHz5QQA0rYMQucAOexk7DoYA22eYCOX85\n6MY4OuvK3r4tIlgD0puKw8DcwGj9Y/49FhOCl1nKHnzIWAB5JeM/ae96Q0Zt\nTy3T+7i/lBB8lD5MuDGYmvSbMj9pNnL+RDR5YNhchJNta8d3dTM0BN83R141\nSBx41XBdNEZ6GKvhGZI8JeDIF6ctiX6ojItco6EIdNzmbb+uyfKqjnREH8Fq\nzSmsv/Ri3ugIyFodIyqNtZ2l1/rJ0SFBmD7ghU3NSMfnLkacnJ/8kkR1/xiJ\nXhVIJrXVn2Ut6EOZ8sAm7ZW6YJLxtmhNlpNtzibxs7wRLX5FBicZ7GEVhtC6\nKQX2irFcgTSwjStZbhDSS4klVKO3Jb5vDdHBmvmcf7v2mS51GbrPLj5sXZs2\nYzi/RVuV2U/DRcJJqI0+BMPRyYSpyOpVgfTtochpqpBvD9aIOoXzAD6mJOuy\nHZu0eCBRBtl9PwPobeVbBxv2kr68oT3lldUfi+XxGGdBNFjKZ+PSg4cmGzlh\nVniiEZKJIB+piJ+0mUedfvnuMQmUXygenU43KMX0UU1taoKThJbjtAcScJdQ\nCqD8\r\n=k3FJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.86_1592982490118_0.25081023296516447","host":"s3://npm-registry-packages"}},"11.0.87":{"name":"@preply/video","version":"11.0.87","author":"","license":"ISC","_id":"@preply/video@11.0.87","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"81b1027e9d3c494bedca2f08a1bf692940cac5a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.87.tgz","fileCount":406,"integrity":"sha512-8G68fE9cZ86NfLMY9p6N/+q1mZAwBdzobk7l2VVFqvj6ZDQEhZg/TqEybkWl0lnwtyPcWdJZs2edaGknC7WsLg==","signatures":[{"sig":"MEUCIQChI7DT7Chzk/6MEdmTNud+hs9w9mJ6Y0tKd73XJEZp1gIgaPFJ/9D4LAyfiF5vMubFiKSyO9CesymB43horcorNUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16408014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8wLGCRA9TVsSAnZWagAAaI0P/10np57yQAIis8R8I4NU\nmC5WJi1e67QNJs/IGFh/9fQXE6P2nwvB028L0q2oW1vY91Jr/YobvqkYIY4M\nZadii8/hjHwos65xYAWjnr0lenx+iB6Ux8tVR8IAeLzdTvnYT9T90QaPa73z\nCrMXaxt4ZOiIfEvmDT9cy3zP88APjW2vI6VTRxFiWxCqk/MC8VrPMxT9EBJl\nwKP+dZm78Q6WTZayxxre6yiTdsrFH6OY6wmHw4QuofWUZcrxH/oKf+UrdU+I\nv91yLbc00mxypyz3X1JTuzUwkmpC8DQ5b1plNgvxo1DYvS6LJlsU73iAnf0k\nNPBLsAuReWC+kl4CiQT1ziB/sM7VTIPLbnV7De+zJS2xkzLmsYapQe5HTQRY\nkbAzAClhOgdtu1LKEMrPcTLfBZj/uWI+HLfHmckm50J7Knhstt4qJZ1PVJus\n/BxPKQVW/WbjGzNW6pQKbQnrnKiTAuQNiKIDJsTlYvrLCjtVgDIqJtPEdmq/\nMYNvH/Udo/XJh1nNwXyCE4tSXSas5yHOuBzQMJAzsqZTIKFWIVZSjzDhBIzO\nKt810AkFoVpx5ttxmvl44qW0JkoCmB5QUVLdeSrDco9JpAoNe34Dmbd59QFH\nspuO17yKQZvkDev1l6hmSpfysZD9s4eEOCm8b9EWuiiTs7AsLJ0VF0Kkojo4\nh2OE\r\n=uspK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.87_1592984261876_0.5364053338631936","host":"s3://npm-registry-packages"}},"11.0.88":{"name":"@preply/video","version":"11.0.88","author":"","license":"ISC","_id":"@preply/video@11.0.88","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8c5896f2b442421780035b7651536251ddcb84e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.88.tgz","fileCount":406,"integrity":"sha512-oMQH3v5qpUfLd9/KNlD34cAZGBbfX6Ff1ioLjjY1DQ1a+AhDxlLTSUslFHrZRyREX8KXVtpGYJ1OajOU9mDqmg==","signatures":[{"sig":"MEYCIQC7PrZx54nJqmow1jT2diwhRYvAJWdI+uNGH5XZYwoWCwIhAK7mKniXl0wyKLj+dDUA3hdqbJQCwdZWL0KaF5Z/jrjB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16411626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9Hc/CRA9TVsSAnZWagAAxaYP/A4rvSspfODIh+Ylnup7\nMAFZ0010Vx5Kds08FiCrjNpLypZKspCPH+eeobB/c6Hyb2v2qoqjkWfk3Ume\n999lAn/qPw/D/5caMEhsly1WydWBeZ03Tkolff/KEpmZ6WrApRD0nV8KzdBm\n/854Ky+EIkxWUiwYnn1OrPRSmPxJUv9xCXu5gt5QkuP4YxfJoGjTZZ51QVRw\nQ7I5RVJDbKhpfmAVlHkUc/AdKMTiCYPHmbM5BWsax+qwxUJSHeF+UBKqNQ8h\n/9Bl4wbrMBDQutZxy4bg+qZn/MI0hKEEGIekSly0xZztXE95MRAZoYZQW2Rz\nnl1QblZ9lxScLR8ePCU8a9Kx/1f4+A0JELpnmt8ONDmQdki+AR2vBhn+YySs\nEOu+Y4BzZ9DAPWmFeFx7l9k66zOGayQWyeRnXBGHRb0eeGQGDd59QBhtEBAT\nJTJEx73oW4JIvSI4MdxGQstxuM6Ktd3AU4RGGSphA/tS9yZDCsEEj2wQipUw\no9TzIx3XAWy4atHZSH/NEluh9yj+nLNEO69y99Zl1n3tpqr+ZHvcIhAf1lzV\nxD6l0pGHnW4uPgxnGVko6AE/RRcaFGgNUfCc/53WT/bsmW/s+KSnGZqxxxi1\n1jwYptHolJGTQKjpHv+07obx3Sp+Rz9SykDzJNv+3NHTSyB6Hdf9/m1ovq33\nLBmZ\r\n=KcWs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.88_1593079614639_0.2150377918788362","host":"s3://npm-registry-packages"}},"11.0.89":{"name":"@preply/video","version":"11.0.89","author":"","license":"ISC","_id":"@preply/video@11.0.89","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"222e0887ef443eb2b10703e057f83858df21276a","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.89.tgz","fileCount":406,"integrity":"sha512-OC55eZR/+6ltRIQ/BtJMHOa9/+xFQbeyMOLfEeGKmc2pyGpj9/zw7+K1cAb4iCiXm9WaNes9SJSEiPMxxTlc+Q==","signatures":[{"sig":"MEUCIQD0qvvw42NgloW7jiUIPUlHVmx9XNofmr/N4TntZc/JzgIgI5TjUqFpOV/tO5sfSnen0GFIJ3uIvUqPtnVbjgukNNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18751725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9KGKCRA9TVsSAnZWagAA9e8P/2Nyl/srTW95cl54XR1F\nC4Nm7L9UdWHve9X1W/iy5zso+CvRHx4GnyUWsWGY4FgsaFPIwdLjzR0pwNnK\n3AFkA+ss4MnaiIvwpb58XuJrFSKTsyCtRQ09hdQGBspo3DSIv9rHSZZzZYCh\nBLuMorQWLRnQcmZW8CXD46lJMEWyeOv+Gh6hgtPfOsbYt+zreVg58SZBO9oT\nYURoEU1KUb3H3nHy4yW7B8p4ik7bvRw1zgLC+5haLCqD7Pq6QwqutECExiTA\ngrdtzi949GkriFJxJniSDsnV1OelmWAXUHvZQ/XZXGBWAuLcy+OMBmgKxtqp\nSLMPi7LbZIcR92K42mE6SSUsYTqcxdTX1dDVE3CJXBOkaUE61ZNU36n7GFig\ntn+MPuNqQKGMZvaN9Gbf9SYygORYC42r7OlyTXMQkH53JFWEzcMcycaQACpf\nOAn6GWBxscAx5I/44PNUomKYC/nc8wQ1uzBUbevrd9oYlUzMv6Ny+ojTvFMc\nwjDx2w4TJyeJTXKjW/HPHfBy03GZqNOSVo5zfxoAbjVusFE2Wq2zL8wis+xd\nuf3/XfUR8d016+U0T7r0Qmd5mLtst9Au+d2ktyvbjwqTrboTJDzEnlNoTy1T\na6Aszn+cj4SWG781OG0zB61VMTySApcdwl+wKYbi5KISOSZbMiI/N36Ifldy\nW7E5\r\n=QKUG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.89_1593090441663_0.6692911458904673","host":"s3://npm-registry-packages"}},"11.0.90":{"name":"@preply/video","version":"11.0.90","author":"","license":"ISC","_id":"@preply/video@11.0.90","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fded2ae5c7cfd0ab781d181605a8935e1fb86125","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.90.tgz","fileCount":406,"integrity":"sha512-6cZsioNJmWXWlhSfeNAE0wres0n7jBbrplcL9TDJR8ejzRfdNXbWfizxhtkVQ/cRT99S3o0HCXmMRNWRdbtuSQ==","signatures":[{"sig":"MEUCIF9jSpMdIOZ5YOm5eYVppAY1bZzI/yZHAv4kvxTXItFtAiEAwp1vtfe/dRewFUiDF7DClt6E69jnZiROtFoPZZQxZQk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18775675,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9L2pCRA9TVsSAnZWagAASwQP+QHX4AYCvhQikwdMDKD3\nxE2yHA1gukoDPa8hiHCWjP8Hglko7NDCyvk1uMQ6MdErk9vR+iIzGb1OHLmJ\nn59upOqsFOefSWeJwRDutaCExcnmjfLwMf2KJygTewunGAHpa1HSg0GFq8Wf\nYIMdV6EseDjWhJj+LkTD6eM6amjavyxTa1e7Cfmj1IQyBl4LOq/jdh1/nFsh\nspnOvszZL169x1+mPHlmYGWeBfUKOrKfwobJWQYwggUgXxCE3PK8L1NdAx+V\nb0OP5ngQgPncDL+EDlYd6IYLYgpofS+XAKRzpgFdi+ZtNT4svJE+IO+2f6Xw\nUCBTe0/Cv/5QdAwABXkf/QQAAhtBl5TfEmV++HWubKjck7r3pusa5k7uBWBS\nyFevEOgAfh29YDMMdbtwddrFQ4EBEEtkbw6nHlChxPVlorX6c6SAfFC2P7a5\nWUtCNGEAlXxl/IaF7uZJFB1VT9QT7y1fwWhSSk7QntkqQTkx427Hu9myVXNX\nuqGkac8A9yr+A8oz5NFVi/yezu4vz5Rhd2WLzbIDAAhrE2G8LBoVua5Lsdcf\nQvCSUrFBG9LkpqiXoaG/uU1Q4BTlr4dODPTiXz6+BeWNGW75RaBokU0qLlHA\njKZVQ1uB6TrijOQtv6JWFoS55lJI2XODjCc++QPp51CcbNPH3149CdGnf5PU\nTbTM\r\n=SI95\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.90_1593097640334_0.3771683608389502","host":"s3://npm-registry-packages"}},"11.0.91":{"name":"@preply/video","version":"11.0.91","author":"","license":"ISC","_id":"@preply/video@11.0.91","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a8832697eeb12986ac41c26f0615505d659e68f","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.91.tgz","fileCount":406,"integrity":"sha512-P1vwmdwBYj7NHXnGo1gh1GS4jb2bKpA7PDPcuI1xQJv5kQtX1pCDBqjvfgZMDldLsKaHPPt5K6eTZSccznhofg==","signatures":[{"sig":"MEUCIAdTz2sOCtdxy/sBXzWtURd6x+mS7y7/tRfyuLy0KCeUAiEA4atee8rqj5m74hF5Mp4zfbFPYqA2Ev86IIsDEZZU1tk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16452790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9Z8JCRA9TVsSAnZWagAAiowQAIYk0waCwOiQIsIOSxuI\nkGbQ4oMihIW9u4r/hgnl64AAsgsYfyV+ymPJcRoFKoCuO3/GFGx9xbWAJdUz\naph6s5Z40/GRXF8esmwzeCD7qdiiKY6Pe69ETA7b0jeRjy913pIc3tBAiBml\nMMi4kRLzewoCIHDqXXQ6laxP/dXPLcrJgnGzwTsxKYEHu/WTsnVbVyaHp5g3\nzTwzRwZM0opQl5m5St4AhYfXdG5l8G4LlWKCrSQEeYqrzOWSjqmPQv1XGXln\npTK7B6veUqqqpn5eAe0ur+wjALZBdZgU9vcNM35QliP3G12pY4I7lR9k4zOh\nb1UbnDoHE6wJKgjZwaVjp5dsBB6Oyeumhl7Ak/+BaGCw7pJqfBxn3fVcW9AU\nngihHcgFJC21Wyy6cE6qcZbOtWY1U82XeGgIJGnCqPJ3f09Etvtzo/W4U29J\nWYrtadcKhORCPeEkikv4mPaSE1unonHQ0RQzrR+U65R2Ah7DcGNtl8/MkxCv\nfM1xkkeb3ssnLcujKLj0gxR8y5Dsem0SThw2DoXd/Xe1rhn0fArOM00J18vu\nMIcRgaOHvnsMWgYSE2q7wlH840Bf74KqQA2pHSWLTsTUt02QK0oMqOLFyRmK\nXSOxdZFHrrCjU2iCpJbmVIBOQmq9wf3i4EI/4PDiD/2g3zSPYiZqhYJS1Av5\nsRN6\r\n=yd4i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.91_1593155337187_0.3353116265359066","host":"s3://npm-registry-packages"}},"0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590":{"name":"@preply/video","version":"0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ebea0c8edfcbb3630bc48512ae397af3d465f591","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590.tgz","fileCount":406,"integrity":"sha512-V4DosuuvfdmDrscl4fmKDxlKTVGtGRI1jqIUS/wBlWnF4D37/DTeK+u5//WzlQQcTID7o/8aLVZS92LV+HJHnA==","signatures":[{"sig":"MEUCIEHmLypz2ovR9EU+EEbsU16pwnSLanV0jnONxdGX3ggkAiEAshEHuxdM2RTlF8TppCjq3jqwdj/yOkVJxjaURasXxLE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16453540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9cTdCRA9TVsSAnZWagAAlTwP/3KM7TLuRaJPxuQYdTai\nN1t8oHRNQBjqqCXuKgwDUOMxQ0X0zp0/r3POYcUvGqe0A5KuSazTgDj5TowE\nTqQzogzkhMOWPhlo8JrYOeX3P83dnBoxuwfeqr6achw+BqKI32ICIuR+zLyJ\nGYR+sHhGMCQDBw8ZtzIohh66BBE/6lUhfAnLWOW36gSEvUuikMJ+FecYhOjT\n/jeasqxqK3L859twi8bnqSzm90/3m7+RvEO5SMGWZ34icU8jLwMozGnSV+Pm\n6+ZkOOrCr0xhBmcVrbT7EdEjbDCo59MRKW/PRQBCJLm8F0ScVSwET2nxvSis\n+RjdQ1OIi6sX2KzmuYahvYcKOSNNeEijIEoEcLkl13QMq87PYUlFqajGpH+t\nzw8jWpZK8mhlNhPEwK2Y1CT3XixsX3Q+KUB6t/qJZ3NhmXud58F95aA/Fxpx\nD3G68C1J7zGq8LkqGhyES5xI0IWWKxyju52TWO5HOAyXCUv+2EV3Gw5JvZXZ\nz9Ux5kjVND6ZZY+FvUrHxgTj/URtLgxOSe84Z70sTn0JIPgeql09odRrrWpj\nS3abTg4UrnhSZZ7WsUzBOvvVPB1LStvo936pe3WK/P16CRaVVAPZm6b5g2FT\nVKVFJukKw3AToI+LWDnz/fpTV74aHeEJyIjFOSdBgIwS1ToPfEf9w76UZOTC\nM3IZ\r\n=+YXJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590_1593165020154_0.515443434690174","host":"s3://npm-registry-packages"}},"11.0.92":{"name":"@preply/video","version":"11.0.92","author":"","license":"ISC","_id":"@preply/video@11.0.92","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"774616c51cc03ab499caabd0c87fe5ca8552b5de","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.0.92.tgz","fileCount":421,"integrity":"sha512-CD9dqs8dupoPLRDozZ3RnOKLA6UKYUi+vXMma9YZa2tNybEZrh9aV+IC4AN6WnCMVAjI319QKdEg3AW5NW/dyA==","signatures":[{"sig":"MEUCIHJlfJ2s/EMtRwBeHNa9oZolWZtMYyowbdoZ+XifHh9eAiEA1Bgb+OKoLcFGakmbyNI4v8eZEKVy6I3tQ/z1dcI4ELQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16624656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/D6QCRA9TVsSAnZWagAAXzcP/ioULdTFpGj2VQw56o6G\nIC+OCmea/KG88iyngWp6KjHUERULckKDz4BLh11liO/ubeeMbTBRcIZFKIbt\nvUEvJSTAAnOtqijR6qAF4LQNNzC4HRTBsg3a2GYUt7N6aNvHwK55ohXa0SjH\n5ph69Aakf0UHqgi7iQ1a0ydPmrDwyDvm7PEJ46qqZdJh9ezeLWo+VzEyM4Hk\nRiHcStkI460chhpwJVqsTCvi5v55DGDEKm6gKYTH9jkq82OxAIxyhulUY7qc\nn8UvNrqVFkoaGLNM5e7pEbEcJbsE5Bg2nBc7l7YJEtgCQMEQKQdpO2/mWccW\ncxURwjjbOYzf2+AzOKrjoi7RCgCEj37ghUxHhPdaM8vaUOCG2mvY9pLwTQrn\nDj7V/r0KbSSza7UDU5MvT6YTpyVeCzZk5G7giXGq3Wyr+OPs5fQp82HDqbQr\nPwQPWthbJ8v4te7eL32yAKPOEJbNftHyB+4Gf5lgdiSx4fGs5+hnCRYJslzP\nQvkl2uetvprR23owYjBbvYjwvAX+IzN5d9k3ypCqHCM1DPo1XXHsuWabaMg/\nQoZSBqytUUNhQn4Ouc0slcLUEqHOwOmDnDIcACl2LIaB1KBQNOj8NcqhUnzq\n3Tl/ML1jesjTRpwQ6aCsD+bhOXSp/EJzxQ+mB23I2T0C36Ik7IQhr1j4UzhG\nnlNZ\r\n=waFG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.0.92_1593589391692_0.8792393958495341","host":"s3://npm-registry-packages"}},"11.1.0":{"name":"@preply/video","version":"11.1.0","author":"","license":"ISC","_id":"@preply/video@11.1.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"27de25aade485a25b6a5148d63b620bbf1adaf19","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.0.tgz","fileCount":421,"integrity":"sha512-8cbZRAJldjnw+2WJcVuLtLKMUHQj5xgZSwiSRQmljAPzDdaL9mzHrWKces2b0L6WBMCzoBMJCrHiRPkq8sduNg==","signatures":[{"sig":"MEYCIQCLvYX7XP3sX3PzuYm5G5N6ybCaYK8+YIPD92NLrWABegIhAM9CfOWKOVHBZJdDFwNhq2IJvimlesVhkpXKWgtY/B9p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16605340,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/JgeCRA9TVsSAnZWagAAWWMQAJbCSC0j6GGjnpm4ezxa\nJ4dWoePn4Uxtih1YfxnuJ/WhLj2x1tdaydx6GcJiwfH3To4xeu9ArzArQw/E\nmD10GQbN/KB0EanD2MoBynrbzb7OBt587QOXo+wnJ3oizWmjhzJ3902/q60q\n7J78bhuLel9rtceRecvzuu2a0lqY5GqAIBbF7zY0ARajG5ixOYBKlks4vgWA\n+24Ro+cFbTL4KP52vfIGi3wfegym4YI7rMZGmQANu0O+tjJahlpbP8I5V5hz\nVuBSqjh5VgcDMMN+LCkIp3JTaGoZ5zB8eB9o0afT3Gv5BPVrdPFZ6d8IADIh\npGCFoXp36xYgcpqY2pblnVJqch5qWIpoQXYGnZUE1TYEmrL7Lj73I1tMDH7I\nHYQ0Wu6q1LPJ6amS5vFL80PSunmUVplXb9pCJ4m+tuGg3fQ+sEBlSfs8CnoI\nNwolLx8JN6lt0XTBSqJTs2QcLZ3OnT6m/un/A7tk1NUddGiAGZz/5Y01XKM3\nXZXXyDGMAvsfm2iPeatC6tW48TgUwx/7Uxpr9Lsnlbq1Re1ZOq/HyUqO432w\nNhFtxOdwE4YOLSGRBXeMTvgtggLh0MARzqIhqiBAQGRDuC8+caPOD6iczk4v\n3zfq6ZCFJ9dH+mtRwc+drc1bHsUhL0kqRbH8G9/oFY/Neq6QcQHQYtOAp5y1\nY29H\r\n=WsH+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.0_1593612318042_0.3964884645978264","host":"s3://npm-registry-packages"}},"11.1.1":{"name":"@preply/video","version":"11.1.1","author":"","license":"ISC","_id":"@preply/video@11.1.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9e38d27718ea448f5d7457622bf369899b4d6fd6","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.1.tgz","fileCount":421,"integrity":"sha512-R8XOFPBKgJMBqrrsu62MHo0wfqn70WCLiBnQFJM0vABYuvHsYOmLD3ji1Y4s6YN8Z1CTbwHaI2dDeQQ7l0sHgQ==","signatures":[{"sig":"MEQCIEe1Mz0f0ccqX52PnTi4gfO1sQsn7YznNvzRqoydJIKXAiA9NPjoifZiREizhg89NmuybYdDm3y5IWR4J9ZW0B7Ugg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16616265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/Yi6CRA9TVsSAnZWagAAW1MQAJysIzYII3EcdL/qRhEL\nJagH58bdVw1ebYxpwj6OgSinaBkUH6YB13RfnSZ66W9PFPSq3OKt9BPVoxA5\ne60P803J/EmaHSkbgmAFs5lI9U5GE52pPdXWUI7BhxsGnYGR7nxFdJSw3SSa\nWihZKrRQQkFB6+pUdMFOaHsz14oUwnIPML04iMF5Y2EZ6N/JMBQimKa9iQ0C\nZKlIBjDxej5ZA3iVDemxHlVZcutZ1xd+JUDdTa6TtuWTfaXrlvKLGkBPzLNx\n0itqcWMze4vJk1IOz8pzBSLQ3ZW4RjP20mvaCJIt0b4rdqSv1Fj3MhfbBD0j\nVveSXpOoylFtyO4nm3INrlCGlaDcNYsIiro4A4NA67peY/Re1px775shPcSw\ngX2XgEJEDSUsfn8cEQnVZs4olXwXb4wiYozNnor535LekpoaKrGJj0MRtSue\nypWHwQ9tF2J46qpUr+P3iqDJGiCC9Vr+ayOM8HiA/Ij5dLS5q4v0IgwD1FE2\n9PZCRWc9P3tUllaIOe2/Gs9rTDpOgOEkobDK7+O9W3UBwTCj877xT5L7XWoi\nwiiLjYq0dnO4T4xeVc+rHGVJsy7C510glERBOH0+k6hdWvdQhF8Fw8Y62Et5\n1ladfG448d7D98oWuo4CtQbAGuo/6obrt42G/grpL9lz9y0OFgfo1HuNkb/n\nLqXK\r\n=atBe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.1_1593673913658_0.5968041088895804","host":"s3://npm-registry-packages"}},"11.1.2":{"name":"@preply/video","version":"11.1.2","author":"","license":"ISC","_id":"@preply/video@11.1.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a91ff4e57cb51c3bb6693cf95e4ed77af55b4adf","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.2.tgz","fileCount":421,"integrity":"sha512-JbkL8aHJDexAmTfU34Fg+KpycocBHQ+OAlCFtVy77an8noBzy0PQllLasfk1YZ+MsuZj5kzefGJvtdf3WTJkFA==","signatures":[{"sig":"MEYCIQCy0kpdWfZWnUTr9T23zuI11cKHEY1LyAnG1VtnpefnJgIhAIKolsXeGyXXkQcu5KH0NvN77URNMPk4Okd8BbGwLBib","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16616265,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/Y6jCRA9TVsSAnZWagAAUSEP/1bilfusz56oT4dSfz1Z\nflPvk2MvPQV6FETBVf0t5IwhOYEnfKPEMunnAaneWEBnzS8tdpW661QY0uZR\nO2H5iNj5Lxbg4PY6tCbm8cbIypoExTrZemr5SNZGj1X0/74J6DCvkJKP2csj\nKkV59YaitD/cUnJbbVGk+QMV2oUFJhFqJo8KE75IzxZXQxGj6vUl190Nl0JL\nnr/BCEJbyx32LAmT0OkrlhDKOSibh/ygdL8sUyCJpv4+C0kj6+kh0PjatFOU\nWl99PVqKgumDALKaUgEHTpTVDiYqMMyJhLYrWn3gHGaiUXyyRH27pabECFac\nb9p5Q75d5WUqG8IFZxXjrKRPawg9/mA8tlFAhO8fI+jJS5EmZ+SIVHiM0OQn\nqGpdJf6whWwy7Kml0FTYo9JZ8pjgRdjTSO9bLAjLdAFqZrsfddQgF66cMUwt\nD/18c9OehlT9fa/sC9lkDlJAXQ8Cn1ntHO/rgSkVuWEw9vAFecG3Lt9IuxKN\nbp0Ob5Gy5XMvl/SzT1ORVVtEBEbHSdPw1zOtKaMMq1djLlf33/YE5smTwxGN\nm3DDH2qh3AzeS23rXmKxzBVuBwcRJy8mlwbZoDBSusk3ZJ5th84VrMsV3WhZ\nydcW/AtWL/n4bH86DJV7Q585Ky3nCo4V4pMJ+om92eSNBQjwOJX52h5QBZj3\n8K54\r\n=5Gzn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.2_1593675427355_0.9291243336152073","host":"s3://npm-registry-packages"}},"11.1.3":{"name":"@preply/video","version":"11.1.3","author":"","license":"ISC","_id":"@preply/video@11.1.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a3c909291414bf515135fc5213401a2d1893911","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.3.tgz","fileCount":421,"integrity":"sha512-MbGSRGAbK4kMcwhhbfWOROnZl/iHtmWrVOOQml6w/48QP4/vjCAYHUKqOPi2Z3XyCTEeXpEj4OqfA1AqgtPKqg==","signatures":[{"sig":"MEUCIQCGehaq4xWsIEYHHeslEMFY6UcaSDMwOL1UwqqMt4gdogIgeSaAjx7eVAfvetSKvVMCw6OqLZV6BXKhFamC2dKYv0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16663031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/eoSCRA9TVsSAnZWagAAmw4P/2YXf0q1yYAF0jZrlmSh\n0Dh9W02T04c74n/efltW+JELtNzfCVtRJKYdSJW4F4edXydHgcy+Oc2ui0Uj\nw2PFKPlvIcpQZJGxGF0nsTeOwa1weKdpmdQZmQ2lkAGi7/PaJvldUONMWEuy\nhC60MIIIOu4VpjaAETLsxWUUkndR2x3yvdvcO2Q+l994R19sl36mk0AIvy2d\nlwcePqcm51uqT4WTejrxaGZrADuSBHuJqm1oQxbmaiWVkyDHiISaH7U4U5m9\nLwhrt4YiN1ccOlbSCRZILD3RKhKE5b2+vB5YHgAkF/r0Kly8vDBZ0F5Q/5KN\njk/5UgrAXKOiasrnMpxKODTNyTHW4gcB6XOX8mzYyi5qSpC8CqPnO56YH2kc\nUsrLBbpLnIqDUCHcnF7HJmWV6zUtQmibETJvdedngCE8HITsLpLXOgZvDmyq\nzL/w85u70nxvXxXlqWY3rf8aQTt/y/SVgoasyL7oYzHnCl2FlPyU+osr0Sm6\ndKlaLRh4czY4vQvlM/mnyx3x5vZybmZiYk2QN2SC1pFpty31H3PlYlQcHSS/\nQC5t2P24Pr5vxBvJjrMH+xbhABSiKm0b99SyKAPutAdDnZ5rNs6GvdhSAVLD\nyaGs6vCWzWMx474lRNAAcxHNFyNPEbc/+Wu7c3xF65NuMY/k92WafePx8YmK\na9QI\r\n=cx9f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.3_1593698834059_0.1955708498420956","host":"s3://npm-registry-packages"}},"11.1.4":{"name":"@preply/video","version":"11.1.4","author":"","license":"ISC","_id":"@preply/video@11.1.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8c7f514e9eff75aa7deafea14edd24c4bf43bfac","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.4.tgz","fileCount":421,"integrity":"sha512-d7N6gyFhRlT1pNmAczEFk+mMybhBKegA7zNVCO1ViY4Z8HehsaGx27PtuK+5CwUsQpR5LQ+FS7/eI85UzuigoQ==","signatures":[{"sig":"MEUCIQCNF1o5OOzzLmHNRC6OYcQuRJORmCA+47KEZibwgQ3DKgIgUmXftxXynx86vAP5RSv1YLnmRIZe3yRN3ANiEiH6aSU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16708235,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/xhqCRA9TVsSAnZWagAAfiAP/1GF2gg9zyRxeo1Uj3q/\n8FHsYmdW6ijV18zqbLIqdvlgzpNxEwD6GFIXHjJmdvp3cKqnwumTPDTgp2qu\nxzNnd6+wAzq18ux19DDz6VyPo7xKtV3mLcCu9/x2R7n9fA+/FQYwaJHkMOqj\nIzqWRjMGJu/RAUl+aldpeRT11KUspUVy5SsB2Jt+SkpTDXRXji9fIAcYb/4g\n7Ki5cMzGFzPzuCEqJnb/X2INIYYASBbBkT9amGLg1wKF+3wfQEV+z21BKsKB\nVnhdbJs4loRHIMLZCVZ65dPFB0zL1K3uFqjCOF9wOY2BOr+37AmG+CfSXd5x\nbaI4Ji0WonMWcJGvPJhfi4ciEwYlfjm9Q0dzIHnpU366n4q7ymh9Iu9yhr4D\nsHQIK5HXEyqb8AonzSGKWprYEMqVK5jgYmIU2MO+wqjy1Oz1Xn6Fpvf7Skhx\nPSFqzCj2OSBChXT36X7qvpt2qne/EA6S9LxNeJqV1+YGpUvNmqjRWYKQv26j\nFxkJVof8G/jUrzP+OYDLsaKYf77Q6hf8MU9MeIVjCFpzheNGym/Dx3PVc1gH\noYGz3vjyU2OvLuxRYcIUyvW484WTENuG6JcKlDFYPzEkhUN6tzt8ZGmffNBy\nw1SgXCpmCHiPH8TDM/lLEIfRh0fIm0JilcNfMJwmMFwD1/4/Y+rP9z71oHUl\nbwfz\r\n=TfZd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.4_1593776234120_0.10697365440759965","host":"s3://npm-registry-packages"}},"11.1.5":{"name":"@preply/video","version":"11.1.5","author":"","license":"ISC","_id":"@preply/video@11.1.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5db0a05cdc21c7172cf9e5d2292ec264d647ea05","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.5.tgz","fileCount":421,"integrity":"sha512-/KDJgz31rOpb2mAsK8PqZEosdqc69pWTSXq0Ynq+T8IGG4l25tcbKAhT14EZQfC/1dilqw8UjM0E/QppSy0sfA==","signatures":[{"sig":"MEUCIGj/HpewjZ3qwag/bmX1BuZjcuZLnvFkyE2cpMe/kpNhAiEAuORL4vshKtwTX4yrGsYO50oiu3T/B/I4rCf4Iz3oYfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16715457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAwXdCRA9TVsSAnZWagAA7sIP/i0hT1PPlWXaLdLkPzao\nxd5TS6BcEhYiy0Hj3Oef0jaNeoFOUrHdZZxZIYgsau1QhHFmnH8YsQ9nyQdg\nSniQs5qdFdBhdthRbi0eCA2y19j41a1auOgJtqntLxcR8zSzSRFJVqt0fvbK\ne8bHHFqvW2E5BWKPkIB2lauZ04u0i40/9mWpAcwHG0k4p464Xrzt2P1na90X\nvzjkNCUFBk0Zq6ASIJfjZtXyTkWtMawVVtEh6TJk66+vuDQMwT49hg62m7+H\n1AqJbAwHvnMfgW8w/OXy4i6q0yW+KiY4KVpfjCakFX6fS+nVomGvq2g/lPaz\nof4qivfgKB1GtuK+w5nZ2PjZb+aOOa/nzitdyi7gSQ+M2XSGM3tE3lsIbvK9\ngxpfMfnLRNdfhvWF6TvGmG/PzjbOBcHRh4Hf7gHPiwbxGGedo4EFFln3t2IT\ncGo4RGUTTKzaRbTRsL9ARCri4+qIoZ0sLzzC4iHEwd338sWiYjW3B0XWDMeo\npJYkc5h1HRKLISuDJok3os+AHewip844WHU7d0s7/icZ4HN9NJUwPlB4fVrj\na/vXKQBnHkxymlT4xa/lC9C0gZ20fPb5fobOdVrLN+Tdn144ATwxzQLhHbZA\nBLwi7v1ApwbFUHJaqJ1EK5c8aBJshfO3Rmm9clpCU4URHRgBLqfGeqPecqmo\n9KuI\r\n=gKR3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.5_1594033628844_0.7191495993140073","host":"s3://npm-registry-packages"}},"11.1.6":{"name":"@preply/video","version":"11.1.6","author":"","license":"ISC","_id":"@preply/video@11.1.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a7dd5dcb344ec9cd2d7e95705e47c93343c9e24e","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.6.tgz","fileCount":421,"integrity":"sha512-8JcNhoJiO/2sFSTgn/CTxDFfh8QQ80wn2HCsUkHkedYKilEUWxKcpfLjlIKE3f9v+eFXeugYbQDf+xTxgPNB1A==","signatures":[{"sig":"MEUCIQCKrAMrppIVL+FyFujimUa9UMF+p7Mde0EXLXIKi1eL/gIgKCnUz7dL3x4MFPf6BSXoQluSix1DwUVBcFc+ptdrs0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16710913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBVuMCRA9TVsSAnZWagAAc/0P/1M3cbbZKl0u5SIyqHwv\nKeTClLQTQizsfvNyI7kdfubIrVtCghKIFG5VXQoDZz6JCjVfXtjXAJGRr5Of\nBFr8b4C+VTo+Sx39OxKmYbfJe2orFbcT2bMUTRaZJC4E01OIBbwQRIzm/nX0\nnZ9xP8Wi+4Ub4jjbQOJfV/qn+QMKeDGd19xKePT1le34xplMn71Je1LZbc9r\nPtr2m0qpQt2jahrC70kGktIZcFExwthTPgL0DhsqVdFos8hP1knuUJ0DUHLe\nEIKKl5o7W6xrxG3FT29nLyqm95T2K3MCV/baZvXkMjqMNpyW5AYpFrcbPths\nHbOGX54QIspJl/mjgtYAjbzh6xvBE2y7M2nWVoVHRmVxcKn3lFvYo+DFd+lX\naW49/wOPtFCOcrCuMWX2XCSdizEIOQRZfxP5wvhkzQeHsUqEjS3nWzmdlQ6n\ncDZoDOk15Kq3Nsce3IQSiG0U5JuUuEGE2oGCoZznZzWXubXWi2/Kij2FiAJr\nMgm3Rm3k7x70I8uU4J+5Jr48jYU6oo0IlErLi7zIQ6Q3vnst4ae8dE9MHToK\n47TAdAOUBSNr2jmop65kWIJ1XNW+7Ox8Mh+XecXuCDOh/1KhPu8P4ClhpXKY\nF2jYwKOfQcpZmOJ0pAU8n50wnD8iGV5//6n1touYazSo5vduB/YinQLk7EFm\nkhge\r\n=QS1J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.6_1594186635479_0.43696954075046035","host":"s3://npm-registry-packages"}},"11.1.7":{"name":"@preply/video","version":"11.1.7","author":"","license":"ISC","_id":"@preply/video@11.1.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b1cf76da57d3c13473bba88ff7ffb94dbfe24993","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.7.tgz","fileCount":421,"integrity":"sha512-VswierF1zZoXxptjB8jhKQgKX3Ak7WxTTRzehIuOT4IK4R2EJePwhowr9iFJdXc/HoctOpAg1vjmYm1wkX+WTQ==","signatures":[{"sig":"MEQCIG217plxE6chtZKa7A8xrwYzzpj5vJXY8q7RJYPELm+yAiAMhNTL/GjVdB2+iD8zOd/4AyDE+2D35C2D3od0Hhe3mA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16753468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBuhJCRA9TVsSAnZWagAADIoP/RLQ3jSl1ulMOIY9stbH\nku4mXOaCKri03kHv0sfulGiGNV/4qWx4aKQBiw8OlTBE332aPkgxNmHHr63H\nNPToCNF7xbGxlU0Ds1zcNL9723w2c0nODNZmejQarlApN98oJjJjrQ861Ecy\nBeUEWNgjCeW9IZGANWQXmnLMfJRVVC4bAsgZzFa0VXvSTkHUBiseVlzGl0hl\nM7VJjf3xP3FpSpjn9c+8MMv4RXNG8ixcUlDFmpDtPiDtt4t0JDTQz8THtqjT\niYvtGgqkrGMAbciWwoDx1Kt75M81xOhvYC92dbzwQk/nj+lPVu/a1XDOs2z0\n7hAuVg8AcsGfyHgomghPXTTcz9hRbv7wzILSuSnZWwxZoaP2CrRGit7wTmQ7\nsv4b5yoltWvIIMjXSAi0oVM80lRY9aV2Gm9tj/U0Lqbtdn23LUWkSOx3ahPD\n5x8D/3oMygC/sle15Fmsk3zaEWvdU4NmivNTJbdW1BeBlVnQ5v6Qmtz8Au9+\nuOyNTReDUrN5YEvwfrgGn4Tf6fbzULIYSNndi/vk3UFkjDWrIJiq7zA7CQrn\ndlNDHCAzckJidonmIbC0kks+48hmlqkE/ZXvFc37fuanDj+q4xTpryl47xCG\ns4pDSiZ5/u2J8DvknOP3X9G7Xs0Y+hJcykVmrnnmsrDHfTZh+i5woWxG+c0E\nL/hR\r\n=wYz3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.7_1594288200618_0.2333210268815855","host":"s3://npm-registry-packages"}},"11.1.8":{"name":"@preply/video","version":"11.1.8","author":"","license":"ISC","_id":"@preply/video@11.1.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b580cc78a3371792976ba1581a4895da31d1df09","tarball":"https://registry.npmjs.org/@preply/video/-/video-11.1.8.tgz","fileCount":421,"integrity":"sha512-X9mNunDYL1gtOzhYdNGGFLIqAawVFJZq6zXKfW6GYJ9YG2xggyV9fttwJ9PXyLHRXf0qJ70LHvbzi5Avgl3ToA==","signatures":[{"sig":"MEUCIQDh7LP0OazD2mabZX/y0vlhzlJcvue+VjMtNKEODzdmNgIgX+G4zWXmAmKWH8YGIR1KmSqpIlkHaisIf+KU2EuEo7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16766646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBxKjCRA9TVsSAnZWagAAYqEQAIexAFxtUN4xgwYEYz8+\n1e2zMsHWknIMdfWjqdTCwQhehT08DPxxx1NbHmLHb3iLoTA/4BuB+pFVqNFU\nBKQzdzhW0RrWiYBcWwWvl4cSdT03zLDxoh7dcYFCHmZIskAq9MbM8dIgrA+h\nFRVEy8Bap5cl+EIlGQV2kTitHRPFqT5EX2lfj+6utx6fNlgoHyJknLBNWoWZ\nguFBo8gBBLbBco5hjWWxWX1U5EGLH1RsxENn3+IfYwT8kymo2CVIxRzidj3I\ntM036piGcukk6GZPgYv5r+MviwBwsAEjXpMImFegLpdng+udHX6RCxzSVSzP\nH29l8dpbVLA9K7clYLf+J+WZpQvUy8TaBNmNWeKC6OIGt/HqZmU7qjLHXPL0\n/yAIcDCgkNun89UYn8obA8W1ZyCZuo+h4MQk7NBvLbT0I5u4tAZUWJAQDIaR\nxIPUx+cgTZuV6NjO+bwTNwuF/wYZPJS5MJA4o/C1FCmnMwej27A6GPxr7CaI\nYvVKUFK3JLXAJ43TyX+9Jn29yR2AefAO1cKbtnIiKDYInGfPghPJjOEdgiuj\nV3asgSa++LCSXk0Qds2d1T9pgiAMSYKbqBt0HQT6ExyrEMKrE3wuSRqA5pjP\ndXGWvmfYpCZgo4u57iTmksV7sFKRudSv8qy9w63Y2LaAlK5Juz8mm/hAv1eX\nN2dR\r\n=RfqL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_11.1.8_1594299043074_0.9894628550028346","host":"s3://npm-registry-packages"}},"12.0.0":{"name":"@preply/video","version":"12.0.0","author":"","license":"ISC","_id":"@preply/video@12.0.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4e65b9be1891fbf956e3e4b3dbe3cb2a4beb1512","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.0.tgz","fileCount":453,"integrity":"sha512-cocrsDLMtArKpwgaU0cvwDNobBu0rMN6LQuzzPEW5bCC3gveLn1kZcIq6moATLKDivk2GQ5oSLgKqQKyDHMtzQ==","signatures":[{"sig":"MEUCIQCGd3FpyVQJ+wB2PupYEyjQU5t0lphzWPjQG6GSiEJYCQIgM/xNACU5hW4owUqm4tt1No+MPDycOXyaBT4hDJzrUP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20762749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBxPrCRA9TVsSAnZWagAAk3EP/0gQu88zG5uypVkxB09x\nuCMPFci33mjAtY90o4+DvGxV2i56At0xSF1svl1Oia8x8Mria3lhU4ayy4cv\nrJIVuqeEWPNaFSrHc+MV1Q7UzZX2WWltMLojVAZnXZ9lNbz0DcyW8FTtzns/\ns4Pxp70GUAMXLW/qPcPd6YroxJMcJOhbB51m7RAorUaHs03HLx3HWTuFbkMW\nRnyp7HorRm29GF0TyFgMkQQSO1pnu9cWwoB6bQwkBVe2kyFtGUJ5qCQVbfRS\nUXtBgxJWiSXvgPjRwjAi0ihjY8k14iG6eP5xDMBvP9OsT3hoTBWkixqeAuax\n8j0gY/oK/nOcgw9weBvYRmn/b2xMM7A8u5wOI7Un8DC6GnQncv+/VHTd+NgM\n+saY+eGrq+INB9Zj5cayKbkheD9r3e8dVLY3TUPYq3B/BGkq46H77r5HHNZl\naVq27lj6UktQFZQ2PxAnqlqvxMROJfWJDbimH0OtpoMbrRoKiGZb6utv+mlR\n2sFsJeWGfrcikljQ1cSR/ZJMQbYX9usV+RYQMLrVzVdMxpCipkY9zsEfzpH+\n6gsmhvpTeoIYQuKWfnswl00Jep6eALBZRhnd5ADSUdk5p5C/FXpkR7CpIMih\nnfTgzN9eR5FD+FpyMu4neH1wWy3XKpRw6+uSd5pZGbDr/Fa4T8eqGdy3ax+l\nGnPZ\r\n=ATCk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.0_1594299370963_0.5654198626168105","host":"s3://npm-registry-packages"}},"0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f":{"name":"@preply/video","version":"0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d5e897d0ac63b381987095f4f8e1abbe091fc870","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f.tgz","fileCount":421,"integrity":"sha512-6UZvk2ZWEFthw1fKJeTB/ssofigN264/u0bhC8zwkauK8xjqzNSowz4qkRjRLidW7WQkeUgGKgZKNI9vLu48Lw==","signatures":[{"sig":"MEQCIHmD5ppVMdsHegc9S16rZK+Xx3NF3t2KkLvBDWsn690IAiBUs999G0fXpSXSgQl5ATxm61FdgbckB7nrhoRikYYMDw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16625676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBxr7CRA9TVsSAnZWagAAWGAP/0+ds9wFGz1MC4pa2zQC\nfwVouOx5zs4I32g6Z9+87pJhycCVZzvzPdXKf8xPAi+dXw1Ut8fyBfcFG3bP\nMBM5Rrq1ERbuuUiEFMi+fQ8PgtYsbmApJ/8I2sJZzVIuW4dNnU4Wn778E3hg\nGwviJkiLxljQdci1FHEeIQH7iuBFsc4I5Hs/G9c8wUptxcO/gxA3gWLbW27y\noFG/OAiGwJxNtboZH13N5CQdybqSMDhTvUOFzIwPPh8Df79uyeoT+2mIZhan\nvDSs4KOBjlARW2kDS1uDQpzCev1sxO9duQgNq9dgbK7u0NSg6uehh/ai0qZ8\ngeCXOrptEXT6/a9Dt2gcjt4HGB5udn9ofBrgIMMToN0CRMz6k3a0KK235LSh\nECsszyqr04WkU+CMfQIkDt29OzhDwCeNupTiQ1A6SI2/mQMlpcoKaR6JPqGQ\nF3sqKSSyy4dggRUG/ASZqjB0pyECiX3zJeFYOBAlpgtQ35HWZlVJdyk98h2o\nMNrh299CHgrQZzvxyLoKif02+AfHZ+fhyDqOpp2C2DzYcCyJqIqm/vugP6OK\nSQWCgWB8JZTUU6I9102KyBZvwDZbACaOMZamc7TLyblSI8zD+dHxpTkdKz4a\n+xyutN9zBR2Qd3XzhEBDmWOXoz1XvuGtoahV/mEVxtige9RTlr8VkknVKwSG\nvwjq\r\n=cpOK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^2.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f_1594301178686_0.9919686647617103","host":"s3://npm-registry-packages"}},"12.0.1":{"name":"@preply/video","version":"12.0.1","author":"","license":"ISC","_id":"@preply/video@12.0.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"48ef53e795f19bc1268f40bef9921830cbcd37cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.1.tgz","fileCount":457,"integrity":"sha512-4w8LQbGo3U8UEj7AL/C5aEfO1bi98WwLqXH/dWOki+C/l3DSIi8ixzPG3mEK5mZ9obopEuhAvkSaB7UtnVE0wA==","signatures":[{"sig":"MEUCIQDoZf6lDjJHXvbAfbi4HMqsrgF0WQIYz4dd6/QnlyEQxAIgcWgu4mJVDDiQUmXv6Ukx9dtyzT84uJQYwU0PolQ+30E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20789801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBycJCRA9TVsSAnZWagAATOMQAIZGE6jfgr3/hTJ1Gf/D\nsbtQJ90FAiFxFFnc+nbNiNUTrThkFV8eFVwdGIQWePM9wbZ3myNrCm4KcGOf\nsUCC990Q76D9x8V+EnLHiiGG+3656TYLBfKCkvXbvvrg2zx2O53DPFObtutm\nF5K52LZyqawW28CqOTVRUfYZ+iVlBl5yclffZQPfWBS1uw3tge1k2OGQcwpz\neLt9eYjsmTtLgktvhz0fsK1hd27D7DoMynrnrvTHMnSgi43tuHdy9q3638xa\nO3nDQayi5t8cwSw7H8yP4KyG4wm9jkilPasAHdT2McRubWtZKxasGHeg2Ftn\noT0xgma4G3q5hj93MJkOPLhhOs8s7E/KNUCehlymJ8Lf/HWswzJEEB+5P/qy\namXBjufgEeYQP/Q3h42CMWbSeFiNPL2rRuYg8vn+YFwXV9yd4d3Whqq7tjuA\nM+CvcdwKy2IGyvAJRWRkS8pgEZl57udXGipgA6QgPD7MoyyKChft/XP+fBY8\naoL8v8ElyrhFO6TdoXDR6K6t+kOWykTeiMczVD2HS75dqJdLRJH1Qac21xWB\nN+UvpBOFxVThH90Ub9pIo+pWocAorYLf0ASWtCtRKfIiskm/w2QlH4dv04xm\nSNJjvQ4JSs4V8OuDVSg1vmw/SVtJ1Vzgl4P5fEK583RelbkV7Mqr8lsYipuQ\ndPvH\r\n=MqHz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.1_1594304264265_0.8567848747221514","host":"s3://npm-registry-packages"}},"12.0.2":{"name":"@preply/video","version":"12.0.2","author":"","license":"ISC","_id":"@preply/video@12.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fa5f5b0c16c55a658a326d9cab1a3a9a696eeaa2","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.2.tgz","fileCount":457,"integrity":"sha512-NngfbQWbG+QB8HgJTGYKa3iXwnvaXxgjq/JARYkqJL44+UZRlWM7EFfVVc9zHhEwDMIaLegbfq29swPcrYthLA==","signatures":[{"sig":"MEUCIQDNwuutuDEukKBGi3Nh+q5uUvqx72zIriJPLyFz746DNAIgJ8ijAhQtcNf6n6iUOWsVvL2H5+R3LrpXYSWn2E7Sdm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20795786,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBzrWCRA9TVsSAnZWagAAHbIQAKSdajk20OCw9/YwnaIZ\nLa71ztl2kB933Z9LPtXXaj3iIFjkandaN/xLUfZ7DI3t5chDynLaa9Nh251e\ncgmocWBFdTPxhDIzF/XLxS0hdP4gvWn39N9TLE5gzX6CGjwrL5RDN+VW7KMB\nrA0Ldq3veV/DMGz5EGwBy7gr5U/InqL999gaunPm5226mWDiNXNStCN1xzhN\nN2LM1xsfAN4YtUle9y4dexVSZsl2yaLkRqsB5aJF2Cp7+WYHDvXyHR6t9jVN\n7/ZZMPMPOiZp8SgZbh4mAuLzHkTi5TZ5DlUXuVV1+xsr6UmA01dJ3LVmECUQ\nRnJNXHjHC+r3UOhiO28ByHGUipDflCyADJzMAauHfjo19X3LGhDYb0FI2fNJ\nFGbRLLm7J/dPd681torSr4uLD3i+i7Huej57ynZhl7SI38DDXHPrKIWUN9JM\nuQjVagKHZtahk6N/YBxS8VUf13FWN4Dh8eCqr+BaiwOa4vuNX5VlNSE1q+4c\nWMqnLhT0+X4T+OUuVKTC5Gm4Km9gADkrjhUTwlcwbfkNpFNDL2gKQTikdfie\nS3bW1H+KiLI5YkgibxI8LKGFTBKuz4uaCO7h/mWFtXQ21vPPTxOH/zEFTQfl\n/x148Ga+AHcfNf2OMe3tPtpuXsAxaPMoocuYMsIsqntU5NaNP7PHZtWItPnE\nZRz/\r\n=QP/Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.2_1594309333846_0.5773919095748479","host":"s3://npm-registry-packages"}},"12.0.3":{"name":"@preply/video","version":"12.0.3","author":"","license":"ISC","_id":"@preply/video@12.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c341885fe6477ceb037b511578e8b4718a59d7af","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.3.tgz","fileCount":457,"integrity":"sha512-OPS8J+kbmr9RVDq5zh9vUBqfAaiEa2IlY+L7wxzi2yjMbEHB45kSZl62VwoWuqvjUF9egxFwxzBMCDp4m5GShA==","signatures":[{"sig":"MEUCIE2vPOrOol0ufGQ0eky7qUo0g9U5JBhnHNIi8sHT5g+fAiEAnFcBh+++zs/evHVe/pWtRsvydKAz3H63EB38KI5xiOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20787504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfCFT4CRA9TVsSAnZWagAAwAoP/3RmaWf+PuYKn4ovKjf5\nE9ZZdDKnc8aEQJBcqILagQKuMGt+sHIrwecxh07wqn8hNSooaAIquB+UI3JQ\nTB9vECNgQQlmQk/M00Mw9628ZNoadXThhtBmKlPTR5Xq9/X2PjrlP8eYYxwn\nKCiqebq9ebbL0g2FcqFCuo2NSzKwjaZJhluF5QNNMDmexmuFNZxJp/t/2E6X\njf/ch6MMKF0ZiViOuAKLGYbLDh4AFgikrDdRdaODlfrdRdmnQlk/XltmVBPI\nJuXP9qRWI62xxRK/wj1cKGCZRqxMw1qsWAAJHf0ySSvxDmX2fYwAY6EdzoBU\n1OdbWxPnfjd4SawUlDa0sZ3ZxawaEq6Ek61KlqwFw9kAfAEjoT1hgyJ7VWU/\nwUc5edbSTyk16m5ByENnAoUDtPFE/1GBf6lGUSY/3f/dRJhlx3eTMttn9PXU\nlhxDRETFxQepJfGnESKy+Nuikh4bAY02i4xmc8pClA06fOvSIUqpkEImlMBW\n1/9A0p33tz/xqva88942ak2YmqoFfOxlZeUq+sORweVqS9w+2v0U1yoskU9S\nNvmnU8dyZbW0fqOxjCPKZmyN1oOa0VzHkwwx6l4rfefVqHppVH21+GyxN/35\nGSf8LUsEb/TDkcm1Ggq3lwfuKYAIcxpwmIAgISapnw31B465az27yl7QMf/Y\nHoWA\r\n=sc9P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.3_1594381559325_0.08304271961144072","host":"s3://npm-registry-packages"}},"12.0.4":{"name":"@preply/video","version":"12.0.4","author":"","license":"ISC","_id":"@preply/video@12.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2b4c11093eb31e875debd8ae63fc6223be984d42","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.4.tgz","fileCount":457,"integrity":"sha512-MjT3o/hl6ZxhueyaWUtFts3aBK3a86E94Ui8jrQXqtcKcGGiq4nc55JI52oL2kFEunSGE/ra3wSXvtai0aZ4bg==","signatures":[{"sig":"MEYCIQCo9423MgPpZ5hczdgHS5tqe00Fnk9MepJtrTNYCtpqhQIhAOIZY+Fpb4y5i+B8BMz7qUplHGvI0P7GyAGT61LMvqVd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21210049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDHV7CRA9TVsSAnZWagAAP7YP/0TfjtgwTIVoxINHunIR\nKVuDS+Mrae72A+f0Mjuje31dh78QeIChKmqjvURnt6D4FyAzkAHxkvdfsclS\nt2Q/iz3JNWfHhsdtyHdRLgrxVdrZ3dVakOL91VIhC+ksWW47sNQeyGmZr3fC\nYm1fJayjQAZB/N7PVUswP3Q18MFYMZkJ/1kRguzLoMghsyrg3xBONVGZM8Y9\nECM25nZ6YF4jfyC73dR+IM1p0JSkFC/OfZZcABWR6hGSWh4+H1LwpX83/1Un\n8z/QChmwPJviAdElUZbavHUJlmDuasCqhpUb3TLk1m3Kse2QejCN+q+1xlrf\nRSWm0R34ymvpqjNFQrpJlwxXe+NOujVJqltoHuk+yiBUf6CE96JwFhlAaBV/\nG3sRZb9DNgvYhYTy46aD0r02j5QXsb2FHwLsplOOmimpUAidO04Zn+mIpO2z\nylkVAdE7fXKZ3dmrBvFEJX65p/D1N9Ac0564Mf07gYyq46cj9WQMSR16Kh4h\n/n9XzivH91OSTsiKWN/YuBZ/sEB8lUAqEjJCFEymaZqh2HQAPnHnaqTP0t6s\nVcp3PM2rxK1Kf0SPC9lE0xI6DAza4WzgX2DEPoNL5BLPCE9NLzNH+SFdQvZG\nIcavcipFecRqA6JdyzUndhJr47RZJhFq0qnM7IMJfgqp/8BZBDe7odEaGTFk\nCjSL\r\n=4joO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.4_1594652026570_0.05054649816207424","host":"s3://npm-registry-packages"}},"12.0.5":{"name":"@preply/video","version":"12.0.5","author":"","license":"ISC","_id":"@preply/video@12.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3d7ad89a3b39158c3696004ac44f8b51a2223837","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.5.tgz","fileCount":457,"integrity":"sha512-YEb5OKcQ7dDYdtWOyA8DwYvzSfBwlvuXij12FPmKIYksMOI/7+JxHofZEeh7FkGCjSbzpi67hhQgTgYXVCGlUA==","signatures":[{"sig":"MEQCICTiE7phBhcpE8wGnM1Md0h/jMUJIKNx81sd4L+RBgVzAiBxywhzawR4UTTuwViX+Y8TtL4IAwWm+fu9BlN92U9sIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21251349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDsnFCRA9TVsSAnZWagAAg38QAIjZkHUOhKhYVmFgGGPT\nsTCQyzEVelwuVxVsp2ZhlDwUtLpy95fdm8SFR2KbTF2MlGQ9VCD3QvHC3DNh\n1FGlSkjodv3rslGfszzA4DtJjyWkKPD0pEQ17ckDrOFZC3qx+PdZoPciKbVI\ne28c0eIgSN4AaRysCCLt4ombCdd5kEuPh8xNkLTdIQTDyFTv+bMJdaoNdhXI\nI+4Yp0Z6GPDwRU0Ky4D3dVIm8Fq0S1V+32XjL/Xut0/gTMSsu0k92WOHBal/\n9iLkYQNj91ppiCkOTJ5ZpFPXB498KVOF1RU9mG6N6b6/nJ9rD/RKQD8zBhjL\n+mECfvEruXH+TGx+Wh/EcGTVJjSkS4czUU4HPC1cfEI0p4dkc4bQvt9JmQUr\nw1toCobDV0w5Wwu5SBMB/3+ojZbsLYbbQ+cbuSdjKvmN3Q757Jye2bvrPLJg\n2R82u7JXH3MeQkLMNr83YFozQS8nOC1/CEtNG3BSaMa3MWYe1M867UwdkycU\nVXWDG42YbJ8bkw4JRXFRfuJiGY2jlarlHykVvXDvEmxuuanrfowYaWb83KkL\nCNwmSeL2NlGpejfADPIZhSg4/ZyEqlrJi7qiVIjGJ3RPCJz0qL/t39JXx1mw\ng9KYQIRchffsyEbKFeqNAkOi0QxZpoL194FmKjAWR05WvXQzsPZ9OFy+deJX\nOr/C\r\n=i8wb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.5_1594804676058_0.5039032538916393","host":"s3://npm-registry-packages"}},"0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016":{"name":"@preply/video","version":"0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"859f83ecd34ac73f18e1402a6797e2f5b6db4020","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016.tgz","fileCount":457,"integrity":"sha512-CDo4xk5e8xk82coUyTslo0qDlLEbosMs4qkwTQxUeZzEERPLWZLPzNIV+K7AJEFicYKSyd/go1jZFFeBUBLnbw==","signatures":[{"sig":"MEUCIFF/FXSKi9/bmuob/gMZk1AyeB1hU77WzMq/hck3jPQxAiEA0IGjjdhYhvYqmTsRxk+2mhbfPWOnndzemJb1qHViOOI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21252400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDs+0CRA9TVsSAnZWagAA1RgP/0sfYSx7/aypE/wP64Ti\nEu8WTpAy9dI7nw78PNjBwidXKX5jkWJ1c0Ls1n3JUA76vf1OlqrPwEzcTR8S\niQ/aajJRh6ogRAxhruSa7zvlyoElbKbTAnBUteCOSV7efpGKI8vZfLjUMllF\nLK9r7mHpxUqvzpVLH+Tj6AhmJ/g5p7ayAlaqZ7p0VwdoZNFJ2BQtcWs/+6GR\nHKd8kkh8Qa6qVUyzWil6ZrtFrQVL7XqHrKyKvnp636FMiea5HFp1FBV6gsxt\n4dI54J7KTYIXlYJ6knDbGIQaaItm7Bbr7uPhWkoNRsxDxl+QuI3yVKLpPajW\nqkp2go0DxwjdKAFz5U5UfL3geaAtCJZESiOUKDlDGwHej1njhrWAXBl1uunz\nAS3ZrMGzljIuYvMTozmK50AOs982EtQMn6Ib4+8RvjbHR6iR8/7wVqSofvBD\nqDQzr02XyDvQcpIiQsSE8tViLBEDnEfdwesZKzBHayt7SRdD2zzKc1O7UlZg\nPUirzIKqO+JOv9XXJcjT90YhuGm2f2LqrLGYoyGeLH38IAFLPqimdCaHfZfb\nWyrAGoXiw3vvjDt5dZEtzVGYTw8y8SSjIBfYzR02/3UEbDgpEOZNNVfDYAuS\nNerHobfRF/cUqrFS9z9w0+TRDPDCe8ubq0Ez4BQxCuabbLb/MQhHtogJ2yge\n1XlT\r\n=XUHC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016_1594806195733_0.88855352505985","host":"s3://npm-registry-packages"}},"12.0.6":{"name":"@preply/video","version":"12.0.6","author":"","license":"ISC","_id":"@preply/video@12.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d6a1a259e1e018f7f9c5f5a60cd6d9df78818644","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.6.tgz","fileCount":457,"integrity":"sha512-UlpL+gqymxJXapgO0ngDvsuOk3nao6IR93Pkst+cRspc4uXNuxs2gPMfkQTBNETS6GGI7bUsTwVolsTnONdzTg==","signatures":[{"sig":"MEQCIBO0zMXOnBlTOkU7BEh+0aGAA+RNNrTYD7Y7RMooeH97AiBFOE459IoMeZviFGYgkIpaOMZRmtC9XYzGeGC6CYi2vQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21250194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDuY6CRA9TVsSAnZWagAAglAQAIfvzFhAZ5OC/xUUuD4j\nfzDR+OZg5wTG59j8aULfGfQ1VfXkafCVWX7kdZMKSda1STHnOX5iwrHW+uMD\nC2kKkmAxKQMG/RPkYGABnNABfrhfbK5ZTromtx8/gP8h0muJJyZtcZu/xN3v\nlScIuLfGxdK/TXCxBlDl5hwsKQAgoBtCAmlO9inqFfi4jR7jZvmt+bTCc1oV\nbhfqTiOQfEtpAOmA2PkUVFH8LlumBO8ZYEp5ofey4q0k8motKlzSAoaWpN47\ndtpE275zQZ+HkkGL8P0VHP2jelwJm+perUa5CCqqa6JtJAu1BJ4qg0z9i420\nBNOwNcDQo14ltFQBf0rO1rF+pmeWlAtNDFcAAn8Ls6yJu0h7CbNKgyrtTbQk\ne/KbqkFbaH0ZmxirPTX2FsKFRh+DpCWc71Q9oIgjggYaAHWImoo5I3h67DWl\n3yOeudORUQ6do88czMLJ1vAm8KyRNo9gITJtzH3d1gzL1CtahF1QC46KganC\njHDiGhiUlzAhpY8gAoWZ0leQe8opVWGuk5b+y9yRcfDGjym0gapsxBP9o21d\nduSIKRTNkt1SP+6dtLdEDXBuCSRyEkl3dlYqpmV/+JK/U1N6XpnUD+Uwx7mN\nwS4dXyUbmAnQY7Yoki0x79CSN8WFwNv3o1dqvPdcN4jZj8+5QKR7nOn4UEd2\n+RSo\r\n=woAq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.6_1594811962119_0.7097523091939673","host":"s3://npm-registry-packages"}},"0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee":{"name":"@preply/video","version":"0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"672fdea6b006ee39af3b245106eae63bbb27ff4f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee.tgz","fileCount":457,"integrity":"sha512-YO0x/XJqwMxBEF3utKwZncIM69nzdNJDUMYvQ+TEi75eYNgJ4Z6EkHVPVx0xyNqIuusTEfIxnSZWRuHT0bcZkA==","signatures":[{"sig":"MEUCIBojeplBQzgBRkk2v9dOEeRVuRIkUfnxr2jYcKkMdJ55AiEAv1AAbhr+goox9k4+qtAkElcHHLXPA5I+kceSn9/Gq1g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21252400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDun/CRA9TVsSAnZWagAASRIP/A7O+9KlTn1rgi6JIiXp\nPDaXuUw4a50wPwrFhwLNp+i8WYV77XRL6gQE9bJL4dm34PjsWKmao2XF5xdZ\nT6CQgLEvW/+2F6/pHFzY3YthRsJtjCvijQBpuWMNAe9VTKBnjW0+YPWc8DHc\nKSD/OH1zJ0nHGUN27NuZ11fvFo1MywiF/ivEEvvELobtmKaWZay3bZIC+zLM\nv6SWp9MsrZX9uEs1dXUZhy3UEBGy0zoNSRWfD94YNb1uLolM62eMih4yrK0q\nrDVewE2JKenHfulIDHrvuxEArVuk2cCpqfclV9Yy+Gmv6l9np546RYlizmXw\nUD06kcT8TeWZ0Oz6I7d4zVNBNMgMkLDCX9qcSC9S9jZqQtdWINeHg0Vsqdxn\n3LBhatOLijeA1j7wKyD4EWJvsO7MOWbqxJo/Km40W/E5M5+9H8HWxnB2zjCC\nMyj6WhW9SBpep8NPsfX1sKUESwyZ3luzt2iyBVP7nnpQhKr0iG3LM6xwONzb\n6aJsFKvlPijR8KWcoGfUbjWReDYmVjTGtd8KaePOVxKZRKkYNqY1lIby5mXo\nlChLkhyRoYCGog1eoyErP18vWm3O+X3uJmuvKp9UEfYsghgoXMZylvyJ6wpi\npQa9tb+r1g2bhiF5QMff2f8Hdg48zOrR9EoUS+bsuvS18zgIcKoeA/n5fuey\nTZVR\r\n=olH4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee_1594812927296_0.8956907533316825","host":"s3://npm-registry-packages"}},"12.0.7":{"name":"@preply/video","version":"12.0.7","author":"","license":"ISC","_id":"@preply/video@12.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"897b579beeb341809dacbc0130e9cbcef0508a2d","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.7.tgz","fileCount":457,"integrity":"sha512-wFN6ytwL54ybgT9lLZ4ry+H029qTQNRvaOgaRHQkvH36e5i6DE8/TbANN1d/aKcLAfHPk+C1grr0Q2bGW+F1Jw==","signatures":[{"sig":"MEYCIQCW7LmEWJKKYcTaypceSMZqEPLSBLBE4X4MgYp5ZIyIJQIhAJZ15C2lB7admdzhwS6YnV6LqdxK7PFiN4L4jv+KaQq2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21256344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDvr6CRA9TVsSAnZWagAAtNEP/iqJB2ZljbhbqA1xL29+\nHSxEGtf46ZCQes0XslIM1yUuvaaCjDlpCcrGt4sFgFGUSDmmyuLMRXS/xlRE\nQKmJ/VNqFdLNarGWQqed2td8NCmgpjudKH5fzLHu3XVU/eL6ktbcvVb1wiOA\nb0pEiSKQXvh5tqi6MbKjQNzpp7m24OYOGAN1qfuhjHOnuqJgyRHbpUCyNtS/\neyeAyAcudBftYNa6D4vPdtsS3kUFxCkxaY0Yldx2ruLHe0iHONaCkbL7Jt5m\nbMUG/ECTP5t2gVIiG2CaKYzOKQ9NPOuhhSC7wpcr5MtpLiuc5Ok0nm8kWnro\nifOv8t1hs0nJ1VNXMJVT6Zt1LVdQK094tgT/OkqkBhGhE+vDDm2k3vUHjf/B\n/9TmCMaHzWsH/dh5N5Hg4Yf2PyLxRJPyt2Ui3G/6n2ghl3BUU8kJtS8LpYQs\n2/50dxUUP3h7gZfVrz4ZAQEJbbsAoyZYCp+MJgwk7hQyaTEU8/iRAJgcZOE6\nlShASCyECJuA19PAa6nRuxjJ2C0RhqjspuSmYadReQphdw8neFHCQrinVZAr\n+vOzPbhKZTPP8XerpBz07uPsWp2MUNrd/FkpxQmJubs/PDdN0DI14UmVsNLH\nEcIOcgvBsaD7pZi2h4INRsaX7E1LpglsK2Mtue5aJMa8eVuW5nJ/HxEuHa8F\nOX1+\r\n=D5BL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.7_1594817273818_0.9224665626296806","host":"s3://npm-registry-packages"}},"12.0.8":{"name":"@preply/video","version":"12.0.8","author":"","license":"ISC","_id":"@preply/video@12.0.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"17d7ff4ddb210d88eb903aa7ab8e5245bd74d201","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.8.tgz","fileCount":457,"integrity":"sha512-KytXG7qs6oMj0IAACkv99Ir6lxEfHd0B1ALTlEcTGCJ8qxI4dGW2ahx+o3olGcFnTW5YHgK5CA8AFd5RDeLFTA==","signatures":[{"sig":"MEYCIQC40zDhiNego6M/Tdsn718ct5RIr471wMqadokIyOVkFwIhAKPX2WJjaAVVsLqGZ8V475hBefm4yjecNF98Zge0cUoF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21256910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfD/9oCRA9TVsSAnZWagAAeOsP/RI5VskSv6/vG45/iOua\nhVi+Myxtvvw+dnqpDoaass2dh+0ZOP8igbZdB7EvHtFpdQq8lFmMqcpM3lRs\nN7SGcrou3oyoCDR6FkPMdC3GRUvxQd5FB2TWkVNSHXu+h3o6FLfZr7LmtHOy\nlTykFQJptrjFwfLx3ok6LwulTY02iqkmhQMmTZM5yMOyWMhwkYkYFOPV3umi\ndTy2h08/hLUCPUBQd1FvjhdLZDpE6P9wMsjS5dk5pEfD0rUqQenvx4eU1RC6\nYi3wJ5dk4h+hMLJ9f7dMTH6R3JmJwM01bb0tS003jynXnli8lcFMJbNVMxU0\nePbh0C29PkmuP1l7jIpWiwuW3a5Apor+aZ2M2ZmNSvaQAVf3jwJzCmiwjQ1k\njLN/iBS9xeUkeIY0PZhvx1dCvKYyhz2yZxRgOp85g9Ddx90wQC1oCuM2q0af\nx53d+vn+rYdmps6VAP0e9TWOlieF+2hpBfsVUL9Vhte/8cElBxQ9qhaM91y5\nwAkmfDZq2WD6Eg+CfpbIaSM7rSwaIVuigwRF0N/7/fXin2ZURQaeqmjaeVnV\npYX1PvYU9UQeklDQoDlzXX0BVBPo7PbqolwqzfTQOhZ+9jtKXWBuffvI+iAq\nqzlk6NZb46uLiNQwNF+lL/hSlsuw7uIFZrnv5GjOEs0a4aS3vfBloQP53vnD\nGi6O\r\n=9WGp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && gql-gen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.5.3","@babel/core":"^7.0.0-beta.56","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.0.0-beta.4","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.0.0-beta.56","@types/graphql":"^14.0.3","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.0.0-beta.56","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.1.3","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.0.0-beta.56","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@preply/lint-configs":"^1.0.7","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","graphql-code-generator":"0.16.1","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.1.0","@types/styled-components":"^4.4.0","write-file-webpack-plugin":"^4.5.0","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.0.0-beta.56","babel-plugin-require-context-hook":"^1.0.0","graphql-codegen-typescript-client":"0.16.1","graphql-codegen-typescript-common":"0.16.1","graphql-codegen-typescript-server":"0.16.1","@babel/plugin-syntax-dynamic-import":"^7.0.0","@babel/plugin-proposal-class-properties":"^7.0.0-beta.56"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.8_1594883943682_0.00678515584789019","host":"s3://npm-registry-packages"}},"12.0.9":{"name":"@preply/video","version":"12.0.9","author":"","license":"ISC","_id":"@preply/video@12.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"98675fd0fbf92a88a790de07f231af9d34adae74","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.9.tgz","fileCount":461,"integrity":"sha512-drJ8Ye6kqHM2mtDs4h/kjNJsyjBrCOFBn8V4852yTyzX7N5bkCouHR+NlRX14vraGCVNnLkyLbcKg6BgN63VrA==","signatures":[{"sig":"MEUCIQDS09SYgOdAtEcMlFIJkoIj+63250V4Az4Uw6twrSMKxAIgR0pD368CpnGL+YO5Wqi+f12lt/gxmJAQjq/mGKolTj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26608865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEGMGCRA9TVsSAnZWagAAgqkP/RIvsfnDKgoF8yZuuSY5\nFUHc+0Szqyrk/2wWBmEWdTPWtSQ48yK/jnIF3G7F/Vx0StcOQAAsSeVzWRqy\nIryPqnVbeKtrw29FAgLtM0S1algUi9ZGK8Y/nJ5+BGGd+80vqCufaXduYtzO\ntNbS8Srn5Io5nR5CIbqNQqT7R/IGo0v/QjdK9pxfqpflJ0kLH/0+h4uuX+Tq\nv4E0cdvF4Ha6RZz/mfJ3BzwTbRBE2ZCzYJ4h4bKruJdlt1mjE6fC6P0jY7fI\njZb0/Q3/Yp281XVc+YWobtmUmxcjli2a7R2rgk12qCvSD9RUFCSw+MtuV+sA\n5mzExEpfYBeW/GEPUIogrpT0cotAdeMw+rwwOD5+N5PJLgaOalwDG9MrMgBj\nbt+jdMQuzFE82extJ1C3eDCLeV+yh0Qc5Oq2BUdHX0d8HYIp4mmy50ahnD6s\nEGkiqGxuvYjz4uHGeiWiFKTNpg33Y/AfnUPkTTpRxVv6YRKpO0C+VmSueZNy\nYtIhCT5m8me3DxsjEtdrKUbYNNR/FQj7zsLGE209zvZstlzF7iC402Fm2EF2\nhxcVCrxm1+QOaqM0wXqkE64GJizK4uoUGUiGlsaM3qzNKkM19IvOvCz3G+4D\njahA9M/2eFW2ouSfmugGb/C4OeVFycG+F6UgIbrSN+fNrm5ImYMBBs4H3O00\nq5qy\r\n=SKX3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.9_1594909445149_0.2740819381976063","host":"s3://npm-registry-packages"}},"12.0.10":{"name":"@preply/video","version":"12.0.10","author":"","license":"ISC","_id":"@preply/video@12.0.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1a5a936a61e37f5ac35bafe0da16bac43b15c7dc","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.10.tgz","fileCount":461,"integrity":"sha512-cThEFLLD1va7Pu+qr7O35lNPK/0dHbI2/rnb/zvY91E/rPDYBu+Pqjt339aeBCUCRb6zoN6lsKOnNP3OnnEPqA==","signatures":[{"sig":"MEQCIC+X03oOjHuSwGkpvd7cf9qB19k1yuF3tEK832yjPWYiAiA0RzzbM582a6WTFQOM8VS+3DjfXrveVdWQ/gYK8MbKFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26617374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEULsCRA9TVsSAnZWagAAZdQP/2U/sfAveVne/8mimqVV\nMLJ9h0pn0sM3Jh1wnA4d11th2SqSeIX8o+EVMSPiVtzCwZ5/9Em0Mc9zOBHG\nhLgoFOCzQnAK434YXw9nnhpyH4pRfhZmFStCDkrXMS48C7+mgIvYsxh+GXiq\nm2ACakO9apQ2YBrC5PNQdQHEWn6wVU6T1MRqSfylUpCjKf1eVeRY1GFeWdHa\nLhW7aXKzOlg8pnes8ZminW7F9ceHWTEwRNPu12CKdktaE7NQrlQGxbIOgmxr\nzwUsV/VUmoNuL/he/PGHpbCYC9A7QaZSAYlyLjy5NMtgAWHXPJ50Wd8vUHl7\nK1yhJK/h67XgzFcoJKkHddw+1qqtSCtfuyj0Uk1SNZtHHHGu4+s2IFnXhkt1\nRywcGSbUquIl6bPsIHPGCpwEWe4wgwVs2fFDzdBb0oGIZA16jrpdm1jgYQvL\n/sHnaPQjE7wjZtYW5Va7KSWxXKB3/b3yVLJQr4/Tgytuvnpb8ShnVTLibHrP\nIu+sqe5op2xCHpdt0/YqmkTns04Yv/oS2i8xfluk9nJwQ7133k1wZYDx0LSB\nq/soMMTT1pHTAUaxi9bX4jQsAjlEgvFJi8LxeiYBKyEifUInUAe72W5/8t0I\nct5poCeZhYhZjT8JPoVIMbvixm6xhjbyoO6wyRNX0LB5kxVT/sL/XfgsFhzm\nBLxJ\r\n=AajK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.10_1594966763887_0.06097498161597903","host":"s3://npm-registry-packages"}},"12.0.11":{"name":"@preply/video","version":"12.0.11","author":"","license":"ISC","_id":"@preply/video@12.0.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2282cd221e45bc711102beff5b4aa0d0007feecd","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.11.tgz","fileCount":461,"integrity":"sha512-w6AKz5qibva/jo9+/jc0QkmHSEL1puCCzZJm52hKLFXbVd//1yfTVeUOQD8prkGmQgdRYARoL9L4QAp4BnT71w==","signatures":[{"sig":"MEYCIQDOxUwyGh+IAneiTLW4whYxq9b7ucrCI9PGbfTlEpxU+QIhAJLQsQkIdTx+fAhDuUkwwVoK8BVgGCl4RV80gJqUumrx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26646911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEa3lCRA9TVsSAnZWagAA5ssP/39DOuWt5HwwWg1alaWR\n8g+slSNmGVw/HMUHTTWdbBI46yMulcZu+egamBMj8phjdtGU45hSbZqoBR5U\nwX+sPfEtNKOE0Wg9g2aQzpRPPHMGRX93nCaxmYRWg/1LrvGKdqvhAT+tLf8l\nlc3yDJDzLV6qIsSagJ6Sj4Xo7ofRG4cpKxceeNQxedINB7OhhY0OkWndy5/E\newsK56nQLboPuohmS7RSYD7WfKVck84rfsl+D34DwNUxyLCIc5H7qy5+yzmA\ndfoeY4v4TGccJNoMFYEJtKXPMrPTd2RjcVZDxg1A14lijEaMOtQLNVNZky0S\n45aWzLxv8+BoLexLYaoeX/LCRngAbgbpAYsDBjnbrrWKlvTPxGguXBUe1Yub\n/ww5zE8QT75sD1B4oAexyiUszts3CgiMyIgkAGg6tTBTzBtwcxr1/vudPeFt\n1rhnxDSObL2om1OvTDEVDn9DgSo9E17rLAwPQNW+YRs4cedUq+DdKOOEBOdH\ny8EK4bgT2HRBfJ2ZYeEAp5BSgfIbds14frY+RslKFk9JLXxdTLiyem+bEKxo\n5aVfWwr6ch1awrHkYi7iktEtDVxQ4c4jflmuRCoRjFxYrIZEzk4c1Ufpgdg/\nUVjTdPXEhPMESSWPeOA1KBrWOK9u0v5Kv2CcnI+EzbNHqAvlIVUgNPEOncJz\nhD+u\r\n=4iEA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.11_1594994148044_0.9030279962887113","host":"s3://npm-registry-packages"}},"12.0.12":{"name":"@preply/video","version":"12.0.12","author":"","license":"ISC","_id":"@preply/video@12.0.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"36653e9057abb3f3e8705d07ec54177d5ea69f99","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.12.tgz","fileCount":461,"integrity":"sha512-7KMnMT+qARSwt8sYjDC4BikhoFBSULF5xQwwvSvfQxM8qKC/Txo6z8rnpB0pNWJYzTjrRTvJmlUvsP5X5QovKg==","signatures":[{"sig":"MEUCIQCWc512KcaivtzFjPpgPhefTMxMsYpTFtWoHdCa6Q9BmAIgCzPtGlnkJO0GOwgPtb+/VTCssmJ+Xpxe23g8YKF25L4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26646922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFTD+CRA9TVsSAnZWagAA694P/2dvYZlqhcBg1PiOL3aL\nFnj6jU9h2eKQMxrhR7aVTqoAL7lvgoB1Oa74lz96f0d/NuYyO+xZ8fmUlCAe\nOg8b5q/XTL0zio5kIVuqFui66PzkZ+xelcAm4arjbeOR+LxeNdhTkB5XmL3J\nVaBgIn4CUxDxBv7N9xJbwsdmILzDAn4BPvaqTq4TK/Gx5r0lnXfDXU0LOM6U\npmcxrllSqA0P8Wv+pbNwlgJEelRG0UwNYwAioUgOhNhorKmJBave5o8JWlXS\nEyCLa+O84hMUhYT+QkMt6x0uPPZaP93EaGDi+FtJP8Rux/10cPIj7jwPvCh4\nXSUvFhT+69M8N/8z+BLO89Zsu67Y0fu+G66NIQ7ddC6nWLoaB9DzrUYp91JN\niVkLjoaVXw46stVzTdAKwoXnsHsC/kJSml3qNbOi7UaB7Q1wshFr7nKvyIJ8\nI+HbPorBktggr5xsyvA4lu2F/k81jCJRaBLxtLb/dSdNoBuumKhdjmdcXwI/\nWfXXa7jGARwxCDUaw6lNRssl/J1bZDLtg+UcqBVjtoRIWb7XfY/5VaKHeWXi\nlcGgsqYO7uAcuwfkUHk6rupkYt/WBVcSEqbdVuqPbrfUzWneTWPiiyLZEKOA\nJRur3cU9dSSRJuxq7SsMZCHeTNQpXD8Vb12e8wLgQmPSCcucmYJGs4wIGL9u\nKpEC\r\n=plzl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.12_1595224317983_0.15438176074041632","host":"s3://npm-registry-packages"}},"12.0.13":{"name":"@preply/video","version":"12.0.13","author":"","license":"ISC","_id":"@preply/video@12.0.13","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c5a7ff691db5b1264eedaa6e673053286cb14672","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.13.tgz","fileCount":461,"integrity":"sha512-ehnj7LjsnR6hxZuky/b5a5DHbOq8s62UGGFqMkYAWbJ136LSJNH8K/WNwAebQHTc7kECrNNyaCxJ19xnx6lrjg==","signatures":[{"sig":"MEQCIFdRfDDbQxqN0CmN3G3SW/new07LGtT/4PEyWLd+pMpjAiBsHU+VZJyrp5P+2WlyoVzpliy/9sjJkNSEnBXnVwOE8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26647807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFVOWCRA9TVsSAnZWagAAIXAQAIgBmiOorN4ajkxdKCCl\nGPzopXItS9lMBQ5w8PTTsdoGo533rK5zP/qmNDfThie170R0kmqXt0zUFHo/\nBjiDvvqq9s1eB6+v0HzB7YfaxVvvArEFG4BsDDqemFMT5maAdr1kHUodzxxO\nBQ11EziY2B4C+nCHDqHMFICshfMHepKGgtAhpGG4Hf+AaqnuSOdzta5PrbuB\nkTeE0qRqwRFeKmY+gLn9n70hK7GcPcEGFrPOpxujlFTaE1/AaR3ePJyLima8\nncVAm4yI27gUHKFl7imn9vlQTjfUH+FJ0O5mcvKLm17R5Gmuu2g2s2sdLm23\neQFLgC3sG4Av1eb5IEabxvyqvgSmI3/6VrCaONVcBgpJK3w19SxXVP2Whl7r\nG4DwU25xmYr5nBdrHSffMUVWyLoGeTW5w7VME0CrVHllaePW4j7VJY+MiLiv\nK6eHh1M9WixVfP2+JatINHp9jSoW8AR3FFlKXeDaOhCDJ7pW7HhkOkWCGDhu\naZBFlzXpNF/PyHxuvl6a/4uB14kIadZlhaE4ye4bXE+TIvhflC/auKeteM/D\n5nagELuEFk/Ie1zoxMzFtrlEHfQ64kZhKcXJTpcQW3jxoG7wYrSVYeN9L/hW\nFKkC+gg6fXm5T6CypZ5uXqNtcg+2yvebpa07n1zE7yTuPCTL1xQviwmuFCxn\nMOqZ\r\n=OXoL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.13_1595233173978_0.26280652380477565","host":"s3://npm-registry-packages"}},"12.0.15":{"name":"@preply/video","version":"12.0.15","author":"","license":"ISC","_id":"@preply/video@12.0.15","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2920d104ec8f082015a542116fb737e87df9b4c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.15.tgz","fileCount":463,"integrity":"sha512-rnTbH36+qVVEanGGWaoGpzO6goyNKiyry0l4pKtDrbsPfODtiVDhQcamTIctySr4k/Zq3QDChU5dCWCMCJObiw==","signatures":[{"sig":"MEUCIGO5JBl/lQ2WioSKsq2bGIylGKlspjXzWp7gGg7FKqw6AiEA1yVywQfrLGUKgyw/Zm1W4bJIg3H/qZnfbSwBbsC1Pj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26736278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFZLfCRA9TVsSAnZWagAACuYP/0PcQDVNO1sBM5aREflr\nOj2pznGjiu8iJWqWNXX3LY2FKwEeu2s4mT8G1uUvpKD+E3yI3luPyB/r/NJW\nfq+EkRoP9lImMErMrhRP73rpSQK/y3p+M9V496587IJrLMCwv529IPuGLTSc\nttnZm+r6bLXaI1sJpAfF1XwiRhGmWk3tDtkVmX2oKzqn2euXpxV/vTKpUPRx\nQS8/Qqw8G7TljEpCmdI0XZph1kp+7sWdMnO0h7Iv79jPXwxPLABdN5Xwuvhx\nGgZ5o+r/y8GErhmwDOQMrqk13mFar6oAd/tOX7LKXX35CgjD2y9+yxw5+GYb\n9snoh0vOoZL5wldcnPvIDioFVANELdggIaKJAT7GhYYY23BPrHu5Tm1vV5hT\nCsvVeFusAILssWhGdSGzB/qqzEnae3hn/6LGYqjRoul4ieBdiZkKalmJOxzK\nk6fz6+uoFwAUYPWdL9lC6l2GO7j1gN1G2yY+iaB/nVFeSgYnSaJTh3PNtLV6\nnptF0M4itsfwrAtiaUnEDA9RZbFQSD9rzucB7uos2hpgoOdctlHatRC36GUo\nAZ3bchS4DHzpFwxpnukmo9riwcojsqVeTHf8ajUqfJ//MTeQqO3qocy8i4fx\nFuh6ESP9gnuHMBQvRkWNCaoOQiU2sug8W5UlduK9Hn77MI0xSU3NcuUsNtr1\nhV5L\r\n=UpTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.15_1595249375071_0.3119604718216109","host":"s3://npm-registry-packages"}},"12.0.16":{"name":"@preply/video","version":"12.0.16","author":"","license":"ISC","_id":"@preply/video@12.0.16","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e8a3f68986d962f37259d48e5453e3a76a79325f","tarball":"https://registry.npmjs.org/@preply/video/-/video-12.0.16.tgz","fileCount":463,"integrity":"sha512-4BG4qJ7Rm/JTK6gUQP45cvDlTj/uZ8DTJbWN91mmiel1XMEoYkhYrYRX0KiAPfYJEpBTSySvf5x8UXkGpR+qcw==","signatures":[{"sig":"MEUCIQCtRdRSeh1i05JV8nZHaNRefwWL7View/oiiyLZmic6+gIgEAh8NRKFni3rgwuZ842kWLeZB8aFbI5zGpEOuEAkyDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26736440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFbapCRA9TVsSAnZWagAAdHwP/j0Jfy80JhMRHm8NGx6D\nf426EW1m4Xap9uWjltJJWT4QK3H3mONDo5hVLMxtx9QsGTor8hzxdAxts+Be\nJT5ASCj7jZQaFMTSAj9BeZX2bSOxCi1Neha+oLioBWA19WCMpEPsMlz3XGwu\nB23ayNXBPD1kWOfiQFJ3ZzDCaf3Si/iMNvQtugs2BXkuVkKSn1NPMWw7cS/d\n+Ek8AsippbcngvwU/s9Gw/tRPX+A3UEvyc+pcZV5llqdHED5oyBpRKwE3ji8\nMJRjT+CLkSirFib+V7L0yh7jr477mk2qXMzfUPW+DgrF1wvJiCaj+hnlD3bT\ne1HiBrQKSIW7LNyDO//0YRtrLlfDx24gBUMguAO7IdoIBNME0ynuAYEgQXnk\nWy8x1xYNAOkaGT4ndNcAc3+6yz7RcZFUazzwJs3Nr7V7Q0Zan7V0udFwOEgg\npDYlqCrPF9Zml5I5r7Pzf0eZQCDwxBWJJQoDGEudkf4UyQujX3tmQ3ci84ZF\nzK200ug6VhTJcqF+Wt02oKuMcUVnTD3dUAtOXMsSBEzXsEgq6N7/C0yo+pog\nanFVdctaMSR8d9NHm5xoyNh1npGe7dLorkGcwxUTlaEboq60TzncWczV2s+T\n6Mpm10iLQJUUsBn7vsUQXNuyBDWamiFTpKVQVvvDQKU/bj2A0aHPPS0GzT0R\nBAWm\r\n=MxIs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_12.0.16_1595258536339_0.6674377758099603","host":"s3://npm-registry-packages"}},"13.0.0-alfa.2":{"name":"@preply/video","version":"13.0.0-alfa.2","author":"","license":"ISC","_id":"@preply/video@13.0.0-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"59022f95d5e3c92d2c9faa8922b8def134bf29d9","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.0-alfa.2.tgz","fileCount":461,"integrity":"sha512-csRy/OU3MxpD+21BTOX77cbnKeYbRyQVVbgJQTkX98+GFkaZQBQx/GUEwi4G+RMhBPsSIDW8ivaRrFJCWz3XrQ==","signatures":[{"sig":"MEYCIQDSAw7wQ0UczrJWpMlo1ef0IIsrr/0XhtceKK6Z1CygjwIhAPFBPSYx3rn+DUk/kQ/k1dWFw+yVmrPDKXDUMEJy4K20","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26669241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFpE/CRA9TVsSAnZWagAAFRsP/RSfOkOfPC81XLqHmwka\nRa86sojW62nY6eHlTScmNnApvzmBcWqVcII57CVei1HxRJJYR75JhuahxgK5\nz26XZ5cWw1n55ADU99GgsovZkau98B+/gMBdpHwib+sJkY45Ydyd9N3p8ZMv\nag25x3d7ZD1Sr1TgH3oYT6RB437F+tG4UM7H4tFA1ncH0Foe/Eo6hE3q35D4\njkTNNEt1qbV3HnoFIiPFZq3QRS4GYa5FQcLKeeSiwgFOPIwNTWJ3H9HpmVz2\nCUSoGhEr6ZNkZ5TU0uJUJaao3ZSZ5HQCac0gP/cQ1eeiAkfeBqR3yNSnUWvb\nhlSp6WgV1Vhr1mFudKJmUrmCUCG4RZ9Msb+hIagDTm9iqpxIxCtEuD93gS6H\n16CUuNkObH9447X7fM9QAsyjDV4ytWyMRerIVwYcYQdd5m+4roUzW7kzVvrB\n04SAZ8ROPYUyuiB4awmoVNMu2oEDXdIdjEr7d1BnC49PISCcUul9arabCLsA\nUCvnrJbe5QNh062r9uI4f5b1s1QuPJakFtVPbPfL17J5qOSOT9I0bBgmqPzz\nnARyltLx0U/MSCxN03F4Xg2fj++yDNfKql1RoGyaKBVFm2IxEUJnaoDlguJV\ne8WFQOUTQIce76zoOWu9TxyIfa55ppj7EkPSQRNPpLsNTU1lf6F4vQc9e6mk\nV5oj\r\n=I2Vx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.0-alfa.2_1595314494497_0.11143921155744052","host":"s3://npm-registry-packages"}},"0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b":{"name":"@preply/video","version":"0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"defa7cf77bc76f8a27c3d57963862340832c1066","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b.tgz","fileCount":463,"integrity":"sha512-09NHNjEwvMkUKLX9yWEjktPMR39NIz4M1XvOKJK41szsiwBT2Ku2oFx4B4DEwg2sDjQj3TN5rx2/oVFnjFUWFg==","signatures":[{"sig":"MEQCIBpKy9kA7LN7usz/eYsx2tEPudkaV10ZAN3CtXFTwPN0AiAyjcC8/DWf+wVsESeHOieEqj3dyTPkS/9pwURvXo+MWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26737535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFpfhCRA9TVsSAnZWagAAZR8QAIGBRc43OHcsZ+0KV1RK\n2g6HyfQl/Poawbgr8zZvmUi8dDXTmqsgM/wD0msj3akYc6/PLZp+MIJaT39N\n9pOPgg8BLWyUR1IBtxitF7B2bgBf9NJe6SHNB6Z0TwSy7PrPLlMY8hb7sIi8\nxFDcdv9agV6IlDsE1bvY1Tkm8sojeRMPnx24+1FZc42j7F89sPZrVN7oD9Xa\nTT1ErqiSY2tsNLYOQLjcEPGhXO+Kxv2UVwxo7QAPAom+pws6ujZkP6xnzRkQ\nXdZZX40VggeRZGO21eGQOro24sumYu1UsB6kVn6nrkw2gnM0vR8pxQb1+wXa\n6NBR+QLvVKayXXXmi4m8yWywm/EA7YjyLP36XT9vqP67BmWGAM0HNiymJ46F\nJAx9M7dNRG7yfbQkQqttF19q/z5S7t74ghM73qE2XvLzht9T3KsBoweUrh8F\n/+L9kokuEPpk+mUQ72/IVYNLf1DuX4yGgdRGPHn0SwlHzDUOUgR2tJ+I6QwJ\n6mowJOJcTigMVr8wssQapwCTds1j7hCyfZqXL0Ktu3h+8H2DzRArat4YGt3t\n5hvJ/1xV7BOPI27zzlN/kgYNpKEWyasqEWIbn+VHkTbav053bn9azmHLpK88\nR+ejT2xdO8T86aH5cZ97UApjYujPCNANpDTa5X1BktSLI7tEsbN7aapW+7wo\nEFO2\r\n=QjSS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","amazon-chime-sdk-js":"1.10.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b_1595316192840_0.621185555896365","host":"s3://npm-registry-packages"}},"13.0.0-alfa.3":{"name":"@preply/video","version":"13.0.0-alfa.3","author":"","license":"ISC","_id":"@preply/video@13.0.0-alfa.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c99e4c50d385202612c70bd4ea8a647e454dbfa6","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.0-alfa.3.tgz","fileCount":463,"integrity":"sha512-UfpX38I7R5uFOTwA7UuPkwCuVBgF3NNNxF3SAzrnUZyxP6duNra+VkFMzFZlQJttIk0B2zXCrAVaW1ubdu70kg==","signatures":[{"sig":"MEUCIQDhbozVvjh7HzDXFONsnoR6rabV4/TKMgvolZs25bpEtgIgWcaStKCpmeK1baQHW5Wf3ZmSeyhD0sNiZDRxvqAorYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26749532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFrafCRA9TVsSAnZWagAAUyMP/RnP99JqxDipyouG8S7M\nFtvBWGw1Lh9EuuHaLmSgxkMGBp/3jvbP+nS74RVmMIaL5UbSwjryCM+l2aCn\n3aYnu0tlwRykC0TkDbxRVTgBP+ujjvJZ/4UTNMAas3+cWgRfS8z4KbBLzN19\nxOPOUEtVrTRNouK9aur0KMjhgL6uOJUL59roGf4iI0OlgHkIIPNN1zIie/KT\nJ8Cr2n62w4AiQ9hj0QDbLXNbMIHUHP1POq3PEVbDBgzyaQbNCcDHl1rtqaUM\n+5zdQgnDPVg00wWNx0YmyaWST1Zv7Z0IKoJd3WUBTrMk1m8Mw3WNCqK7RVm5\nKxzjkmlTm7x+ZliBjwnD0a/l1ux4JFUFhshkhL1EWDYU/D6pEMLPjdT5wKLw\nVpcU9yQM9/W3++83Wk/82O3sOxUzetlDuSTjAW8/xl2wAILQH4a3n4bMxMpG\nnehfJ6T8hfswtrYUIVXyrj6woyQth/B0z2JPblvBaNV4Bk89CI9sgxUPzKOP\nR+b8qAb+S5pwjP8eUwQHI4szW6dG9rwjJI0XC/XECkbVuCK6M4xKWa9T3HKu\nLRAgs5iwFJRAAmB9V8Ghx7m43RXDp8kdomWQAQvHPhkNsPnZEryKwZhyH4AV\n1zWQFs8fXRVsNUEMyev7uhstlkzPHpc2CvM4Ru1hfSghyqkjHgouAXWDy6wX\nUL/J\r\n=VkFu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.0-alfa.3_1595324062537_0.8673234966247252","host":"s3://npm-registry-packages"}},"13.0.2-alfa.0":{"name":"@preply/video","version":"13.0.2-alfa.0","author":"","license":"ISC","_id":"@preply/video@13.0.2-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b1e0745e88863176c60a60b7ca47dc225a7b1ab7","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.2-alfa.0.tgz","fileCount":465,"integrity":"sha512-F/kjPVyYMgSKE6yRKHgobXHQNgzoXu5spkbg/Hu/+Yp0Fd2sIUANn+NjXa816IWzTUTeD05a4vOoa6Z8PwWSHA==","signatures":[{"sig":"MEYCIQCCOzJ7CHSNDKhhUSZvHDId46+/bL0oJWU265uznpfPUgIhAMSxXFLt7mh1UftH9s/GX/l1fLY3NI8A7x/N1MqVniLY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26754877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF+PiCRA9TVsSAnZWagAA60AP/ipJDYH3GG/94dbH7lll\nG/V2ch4YJhUMntyWbaDEPzJ8KKz7VwGTzznacpcW0EznuBeweviWVDFKhyFm\ntMwAqYM4JqI19EtCkxs15EJ7ClEJF0pb88AILJRHL1612+ihnPGkVDX3tR4e\nP6DFnm4nXCIp8zlghDXx/MpKWJyf8Rfot4r/Mli/rv9/5Qju+ewKND67ujDg\n/s2lTDyxI8xS3pKTuFniLPbek6d/pFhzIgjC1I61x4kmHPwkW2tOTGNPs2Qu\noDmk2qO31t7kRwBM4TuM3NXW1RWXh+28tizchvKTGvkaJ1iptUOGwZrG2J29\nN2NxCGau4JXfuLTzRZ8m7wheiF5wjmhnUMIfm3VPq1kKxpaOH1ltfGh471jp\nRbzt5FvjH2Nuecvzg34f2MLKI7Bafv7nvTu8G2YsXZNyNJrmFB74LYnBTaNF\nXCNhFMlaBGm9iybrVSsuhczz4S2Z59gaucTkiFKeV1Fnfp+S7kH4+TzFrQwz\nHyGWSQg9RGHLZ/SMzYzw/2WP/1T5Gk+oAP1cudAcMrzuijwEBqebQiG1vxxG\n2dbsJWjGOZTLa6nzOGEDKw82Rv0KVzmHf8fC4/w25GmQ8HF2XPuMfg7RcvhY\nUHQ0diajKsisz3+HmOyTVfO99O1JffwP2ce3BhqgLXIZF9kOs8PtERFQQNKW\nwmgI\r\n=rghN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.2-alfa.0_1595401186095_0.7445933253336472","host":"s3://npm-registry-packages"}},"13.0.2":{"name":"@preply/video","version":"13.0.2","author":"","license":"ISC","_id":"@preply/video@13.0.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"361993ee5994506c07d9fd34544f0055713172b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.2.tgz","fileCount":465,"integrity":"sha512-YpE4DOzUW2G0OYxf/imXEaREOSsQTNyDww0Poe3HuHMBXRXNUJQqOMR+G+QJEH61nrfj8ZrDjAeVRARNuTOrTA==","signatures":[{"sig":"MEQCIH9xAfnvLe0spA1cQaczBPWoit05xV/KUsRbPanTmEGDAiBc/gK420uYPsMQ6HUZB/5c60d8pJ1S2jOYGxXGlpMcCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26754274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF/aFCRA9TVsSAnZWagAAEF8P/1p6jlMuA8oYwcY+JDee\nx3YM3j6vVMBU6WLLLuF1wlpLQLJhAkdtV/DJTOT/8YnOAeWinu0Ky6TOajFZ\nBQ0NhaR0X3keYXVZTzzzU48rYJYrSCgSvWK0l/j/pbiFhbglNRvtcjQub6dj\nSDECcoLxdVo3DDRocfoGaUfaATmx4tSCM0gEVYXKCYFBosX3182wjS2zU0L8\niWn+ATdC3nr8NcAX1V4hWpKhYyOCOitCNJvz9cU5MaaGEXKu+Jloo+iXuUIE\nfLPvcGd24Ftk149oxBRO3QWIeAIQcTgE++8f9j+iwNSFLGTM5OXwk3oyi4YP\noJpHAtT+ysoVS8sFT+dv7EL+gy8VnOfQGLvbiEckyWMnvzP8POK8KlAE9mtM\niMXtWSKR8Hf74JdUFDo4oKwkFaV3El39K73t1KLAOyvzr6sRglPTGcdMdrHp\nodZzCaauR2ScXGGK6aDJucJmCOlxu9I44qhbFDP+6wIuIvU3XhbMFt0ch2gx\n1l3JSKYliI/SSFbQI58jWU2V/Pmg8dEX6PcQwblPxBEck2U58wPyEkmw7hQG\n6NUtNzMXKE9O8CC1K33DUpk0EPHId7MiAE6OxtY0WqN9Gv06P8EchvQ9gcgQ\n3EbL0DO8MFIOcR38jbDdGK53BzFQoXJFTTru4OT0ZwnizU6wuqdqMlxMiDou\nPcml\r\n=9Er7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.2_1595405956554_0.8281639338145252","host":"s3://npm-registry-packages"}},"13.0.3":{"name":"@preply/video","version":"13.0.3","author":"","license":"ISC","_id":"@preply/video@13.0.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"99790cb48f24000db9a0dfc62eb53fe290fc9441","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.3.tgz","fileCount":465,"integrity":"sha512-0ld2Gy9h8vJx2z7OLJumn5y6XbGsaSMX3j5s/QMoD+4/zkVDBSnN0ckQ17RQDiPnibLA5YHLrldAmH7A4oX67w==","signatures":[{"sig":"MEUCIQCDv2S7pPlDwQOBmktYw653BybNW0W54rgpAJqHV2M3igIgAZIhWFPXrWwQHDfYWjssorsGGA8hj21DFDA+MmjQpaw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26776227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGCCrCRA9TVsSAnZWagAALskQAJD5VTErKUQBGIw6urwz\nEkPQr79Po91ex//mFu0LstuhlJP24PBYYmhGuKKwNC2lHNSbIcb5qwB73+sX\nDgDAyzzP8EnNPcP0ufQsXCE2E8nS18e+WFPX4CbrqEgzBo/UDk5Pn2oyYdV2\nrcVg5gWUYNWoA1lmDJQm0W4W3MxA7dOOB1+qbeQxXp5KVFOWssZn3CEbMiIe\nHpk4ls20wpHzAyf4a0YsUnqAPhowtGDKLz8/7Hdz3FayJmvejZ39CUZJ9YiI\nm/grzIrVgu91097s7HBfEPjJTBfj0X7lsWa4RY0p1Y4igmYNF8GD4vhS3qZT\njQHIou1IbUjpJYpJalp5hLqs7Hp6ExUvl2TPTGELVPUnJwlhOImcIBgmCTtb\npi2fXoRQ9VxhPCWpTNX1/p5HPp9au3/EkCwWXbVvFlFP7/gpkyfudCM9qZ1W\nbfdT/O99BEfrKhXlhIX7WSc3UNIrvjD3cRZoKCGgxWPx/cEmw75hzyAm1GIs\nGSk/jnsug2yjZw6XcyWA7ksdfBVf4DPXX7w3ywyeNl+pf3gP3gO8bIAluQG7\nIYWESdbo7t/xlPvcV+GDf+0p33grVoMPj1NhMfsp6IIBWE2Pntg19luT4buE\ng/e0YBrfQ+WunEizV3vtz2tPUfCrkRL/csK7UsIK1a0We50vybHLzcvoxd4u\nMIBG\r\n=9wfK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.3_1595416746261_0.06670008187961529","host":"s3://npm-registry-packages"}},"13.0.4":{"name":"@preply/video","version":"13.0.4","author":"","license":"ISC","_id":"@preply/video@13.0.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"120b576d761533fb593bbad49f6fe13074b64199","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.4.tgz","fileCount":465,"integrity":"sha512-MVem3a2V8Nw/XK/gXKOMWjDcErtwospf85uHmkVmK1kD/woAunz86xkXfetCvX2Z6qZQ8M79E6gyiOD4ozNkrg==","signatures":[{"sig":"MEYCIQCCehhJh9/tr/4TF5ahCPrgT8YHE1NjRdIRElM1ZqnAmgIhAIRus009IDZbVFlFjgNuG/bXpZCrjB3oaT8827PgZKD0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26904157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGDYVCRA9TVsSAnZWagAA7RsP/iJDj23rVoji1Xh4W83d\nMBlX4Wvp/ebX1MQfNyf8AhJPD7HqU/NRMUBb0IRb24oOvaewMJfvt00/ZUPw\nRFmalg3stG4xumik3tvVZFNDIXtIaD663i32RE25NPxE72bDP5NfJTdsmUtO\n1VCIN1Q06kVqAOhdz6/gUNRuUw0Q9/GTIQx3I70eA/LfQ4SkEpUuT0Xz2Znj\nmJociQ9mhOtocltF1RX+WatVQ+RdUJDEqfrOPwQQQM/j9v1/5LvONqwMp+DT\nABD/t4MLEvijKNGGmtOiZZK2lsdwuHISBwSkTls7poIt0zMa/S49TIUzFGkl\nqyZYKZm/oWyP15Vk4KLs+L+VW2KKlE7DnpjFUrk2jb/eCzsivIBI+/ZY2ak1\noEwF+Q/jqVmNXkvn9Iqfx6Jv/5s0lMb1Z9jZzQ3x77GtV+x5lY7T1og3Ld88\n00aK9KnOrtRaKkBH/FbmdS3y8Zm7rZyP1ynbWN0bJDsklgPbSh/Qvp1cyr0m\n8CFLQp6D3pJOk74uDjh+vAIYpALM5WxdxZ4Ycq64GqOgcuZCmd50gmmvJer6\nCKhuPjxqLTM7ENyA2C4rK34quIjJdGXJQ2uC3jgCX99IIoD3qvlAWCVtlqIY\nHSKlKaNVAjRwImHHb4OXtJX4Z6MggjGi6Xn7zGvgIdUDd9WUUuPvv7uHg/qH\n/Onn\r\n=egAo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.4_1595422228669_0.3625266545936141","host":"s3://npm-registry-packages"}},"13.0.5":{"name":"@preply/video","version":"13.0.5","author":"","license":"ISC","_id":"@preply/video@13.0.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d51707bd127056e9e5a284e82c3d1c1bb91d44db","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.5.tgz","fileCount":465,"integrity":"sha512-UA0l4ZnhQgai+m/4WqKdcSUzrgi58gfeA8Csgy7HYihAc6N5nE/uG1rM3NQX3npZrK0mzovttbfnDZPUgl/KEg==","signatures":[{"sig":"MEQCICN6ct+J5QFeWc51wOobj4x5AJTJRXHRoupd1J00iOm6AiBXYNQqGyMU04wBAcXlhIDIqggjft8x2i23wNkeJ8brCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26897135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGErbCRA9TVsSAnZWagAA30AP+wXdr/8BnsCruOHpK4EX\nWRfvtHFPoTL0qkegjVeeEHFNTKUbWu5bzbp1WPDlhBis38EmzX7vjd+jrmsJ\nYo4vwbN+NWslYrxNGbmMD6GtygNlHqZAK0Y2QpdNA0Kk7ADMedEVWLg/3skR\nKllqzSrosysZT+AMr/4ING2PyWzlveW9br3v6oqmNQuHYlVrcJ9bI2FDR+f1\nlhXLCoXgoSRjm+K4aWwFTz/CUQMUiHUlYTmVxG9uHJNnG2QLJeI3d0iKcIBY\nyMF48BiZFQ8fzgLttjhOWl/ZBXW/fTAdBaGgz6vvwxIr/WCWxJmgTTRcJIA/\nwJWDWc3dTlh2s9W/5BzDa3zEjb5soxH07Tn6fd8AyYGidHAP2A9my4cy6Vv8\nCVnZFq0WYEqx4dQkkjxj8JHKvGeU8qx9aHdaVaNRJCpcFMxJFhNoCWpTLd+J\nvrYlKtEx3uoj9+FRkctnenYHZzLGEq/FvTN4b/MIm+aHYC4J2V6fpk6ulfjN\nMT84E272xZ6fyY/hFMq1uHoH6ZcuQGUV8OPQDAFIDoUpeXLYd2etKzGQ3xH+\nU9rYAl7eu8YrNl3yZ+QO5crSJfC17e1bLLy9Db/BFvZwyqaJhSe3zUtH2dRB\nF7Y94PPlScTjvK9b3C0A+ZeaPSYLWIghbIndGMyyMra+TFrYSVWqnbPHZCgL\n9QKn\r\n=DQpw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.5_1595427546896_0.802493210549019","host":"s3://npm-registry-packages"}},"13.0.6":{"name":"@preply/video","version":"13.0.6","author":"","license":"ISC","_id":"@preply/video@13.0.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"af99f4e6b556ca7c20d88deace82e9b70af6408a","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.6.tgz","fileCount":465,"integrity":"sha512-vYA1CiRyA9WxJ5ewC8PMYc0hk3MPX6ZCnMv0IBpgCPN/kDlTy5Q7yYnWdSRxxOd4niDNgRH7nfLMoB0VxPNDuQ==","signatures":[{"sig":"MEYCIQDO/Fbo+SSmehF66xhB36JL3FYZdPvxaTnfDAJQkegEAQIhANCZRoHtFV0N+XDk6yX1BZxhcTzX6tnmV5MamAuQdLQM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26898785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGGc0CRA9TVsSAnZWagAAEMYP/1/uXUdct98nE31S2Kzr\nAYv82Lox4DrTcsw22o0q+TQhw+RNRldv0gUUQ1VgGAAWLM2patiz+hQsbrcm\nCT/KQHeyMOGccxgmjUTXbxnIhzUTkkfv0fv9vlRzZ+ZAJxB2fuZahKFkX71o\nF63CWVv16y7JBQJIxW9I9tEnX+1UnK2PU6fIYAl+6h7rbZInHC61F1h+3tI2\nuJjw+CG6VkdTLzyst8faVn1Ny8DVM2oqwOvceWx37gGJoTwRUEuLoKy0u6Ba\niGzZyv2pYDdLWWBUEuPcIR40SJui8gF5VIjO/fzVVDMZVIOHeT/rPjRUE8zn\nEVTri4MOrqcJn6ZoduFzNIPiKb+7qFSAlfVCKFE0CG+iJBF6s3jpuJ85kYUe\nrVHeU28lDzptpupZhABu27WT7JiGuVrA/8qp6ThonZpL4eHCHcXWG0GiMko1\npXGoKnZ8s2AgcjUCqSN0TX0qTVHspu8njvKF/eLMAMjtluUJ+2QT6d8xj1DS\nibQRRaRBj2oA0qYhs0eKauWt5HqccKHTQyyYhyEvet7iRX+KOpOAEOPznNTM\nd/0jb1lIJD1K3gT3SGzMdKnxeFMw46AeOQUfFr6nGs3eI5CQcsIoKDhJOyDd\nQfCilZ4H/DpxpIiCOh15E9EOkDiciH50guiRJbnssApV4lPk2TCzm4wy6KR5\nu4yQ\r\n=I5ds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.6_1595434803609_0.9075582543754517","host":"s3://npm-registry-packages"}},"0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04":{"name":"@preply/video","version":"0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3169efb6fbbf6cda559b01e5347500365047a06f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04.tgz","fileCount":465,"integrity":"sha512-YgjhZIM8V1hdSyT8yYH1L6lvbeKKcl0VOXlSF4bSDm837sUlp8k9lj+tofapihvmpbbCRtyeD/T0anIflX5ihw==","signatures":[{"sig":"MEUCIBtVG6+NMRxzXOv15wTFUsEzIl0Kl27v941A3nfQk1WjAiEAuIb03hnyjyGle7wnUYU/S4O/tThZnLTLML6ZSJ23wso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26897886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGZFwCRA9TVsSAnZWagAAHZIP/R8scjBQDZ20adrLnFWA\n69mJK6is8Ro9Nn0ssSGbHtF1PJJhmVIBZdp19swpHWXjrNb0mrWMeSZ9OKms\nENOWvOxtyUjwkuieCY14Z0CZHC2q3xXlXxKn7+H/N+5ZQOHeE3mvOoEaWl1W\nmhIUe8kcgaV3D7ZFwNvOWJv59irM4m5g+9hgSUbbw8scoODVtt+Tu16nFWLK\n/KNwrIV9fhavTlmUSWD/wRNDisCenUH21hzt+cPDPGw88OLccTF0ggwN6s7g\nsnKC36NcJ1jfI39Rx22iffJw95o8pC3WwxF75QTVqote8eOBLyrhNn/DlbpX\nsjCwYmwnTquuqlqSfJG7VkZn783bE9mkAA9kYfzH6WNreh1V7njweNQ3qsEJ\n4DswPAbMfbQNUKtIqmbHzk1FZBlMcBeI1VucvB3ODcFM8wZNE4BBW1N+eyjD\nXZDd2d6ZVEiWLVu64ArXvzyza2wMMHkLKBgPKur0DCRwVsvEVwl5LnG54vje\nYa5tdHSxx2pJVl2Ps5uOH2hN2loF2GvHijoTyLhOgoEHDV93zJlM8npdipLZ\nshZbERCHR8YU8fVJqvm4lTHjB+VC0Rre26WHZOhZ99iv9taVRO0pM+5Ka0f8\ns2p1tedEA3ihYLWqqM2PwaG/+PFgcOvmHMDnrjQevVwDMEtb0O+7mcKYdPCt\nvn/a\r\n=cBgd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04_1595511151263_0.9245028706517988","host":"s3://npm-registry-packages"}},"13.0.7":{"name":"@preply/video","version":"13.0.7","author":"","license":"ISC","_id":"@preply/video@13.0.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0ecd8704acb822726ddbbf828dd94d180dc372ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.7.tgz","fileCount":465,"integrity":"sha512-7qGFpkmmA8nkKY9enGnNxQKdbweqsrb4Ek+Kgcv8jwAS+u52e2ceve3sDVA+L0dn94NrFAMQpuMt3eb2E8X66w==","signatures":[{"sig":"MEYCIQDzCW32VTyAMV0Y3/ylFgGbmA07WQ1ogHdOETso2rHeuwIhAI2mZeGEFpERuXzcXxswOS7X7Zs3XSYOlBZsSKH7tj5+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26923614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGouJCRA9TVsSAnZWagAAoqkP/2r4AgUR0salHv5Hcvk1\nfKCgOGf0O8t2fKJOHwnZOAMwySstCnMDGlOYzxiz9W148n1tf6lRjPB8gqSs\n+E6TWKlekP9IwznZjxq9WIrOV2kLjF7ejFQWnPkGFiKENXNRebupaodvfftm\n1MQNXg7nBObjaWRQiYrDhhEUMF/upTxekqZCurxnQEOQzw9EppEXAyLclUAJ\nPIyhEgOAvDxLu69/uR+HUPm4rznKZO1o3dfbQdTDguelacqsirK0rmQAETs7\nqZybUv7I99itQwHblIRIpLUHTYep8Jcs2R9AaPeGwbNiZVWARZr1lqD9b0Sr\niABAfALvQWCUwBhm+t2LqDjtF8jxpSnvHiAZwBsRuSzTWOcHhxPBhA0D8RRV\nqWzBKLdKoAKdXF+oFaq7m8NvpxKKjC7kx4igvFauW//AIBuvdNnbm4ZEkJwS\nRKM0j9Cla2+Ud6xJNEMcRUr2U6zclErRe7iHbdMVh4bvWQQUsPVNDuH2DBCO\nvGVeofZ0LyTQT6fG6srV62ZMX1mabjEfaCgyxfuva5hQKUHG4s/CDc2RbLKy\nXIhitium30hznxbWdAl0gASnwfJYuxuDeQuu4a4m/tdBCKcP0jyD6IgcxItC\nvX2QN3kd6eNFKheOPLS2FMqp4bbxKnDAlld8vU7QdXqnuZ+wJfouLUu+Tjdq\nzl6O\r\n=yxWS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.7_1595575176678_0.3180145179665661","host":"s3://npm-registry-packages"}},"13.0.8":{"name":"@preply/video","version":"13.0.8","author":"","license":"ISC","_id":"@preply/video@13.0.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6a8940cb08c7a4942dd11e7db819f32f1de627da","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.8.tgz","fileCount":465,"integrity":"sha512-dtvXG9mAZb92OfSjNxl7++EjwAoHk7WDwxnTzJroaLFUBG6+2un9+/JzyPdJujSX5ahmx8A0QVNiBQfwg28z8g==","signatures":[{"sig":"MEYCIQCaN2MOjeQUAnDTbQAQ+ZiyVvchcNzPZXQU97omF+YnQwIhAPM+KfoP2tJzCTb6T1Fs64yaLhp+tgk7pZfw8OOvar4P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26989147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGq6jCRA9TVsSAnZWagAAP5gP/1/rWpONy4Ih37cEKZdM\nzyHIf+2F1PqSAdG7JuaZcueFP1axk/JXpF0No6xZQghuKcmuH603CKciq6x0\nZcCXcwjXacmIDS0zV3x5+h8O2O3RlkwjSPjBIgJYXppKHQxrD+pORAzUG+WX\nXqDog7h4YYXasOjfelKl9vYxCknhAPbGNosvWqXpiaPsa3wtwpv9QkpODxgU\n/fUmPsuCXII0sJo5pk0VWwx9xrfEgKpTbbbKshKmhrz0zOAKdiRJx4X256u/\n1Jm7APYdATroKvtYT/t5Kq5A2PkmdANuddruiG5uYyHEP0x/+508FMrkJAY7\n5c9Jb4j1EZYq2Ha6+rQ9HxleawsRU8vKAUx5T1Gib1od9yF4grgzyZi0Y31E\nZp6v4v4+nYHJFM8oaMTh5YQJtVGrgDg73T2k1JmkjerfM+8kjPmyxr+fJoTl\ntKLcJ0z3gBJorpXJEfcDM3+QzXDKb+JojhLDI8hRoz47nllBznvYfxvQmvUB\nfHI0pRKhC5UGwr9nlmx1rPdPAvuj+Lj+Pr+mSHqtD7ea1LcinuozGhgrBAOg\nasPjTpo6qPGVJcK9OfpTMc6PuGPuyUOy7cO/gBWkpduFAa/M1JM9QsPK8sIc\n/0oQ4Hnu53XkjXB7bKyGs3CBfC1h75tcDKiO6yFdtZiaXCTaY1HeWDgTPFuk\ncqA4\r\n=3fcy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.8_1595584162168_0.4964296202092173","host":"s3://npm-registry-packages"}},"13.0.9":{"name":"@preply/video","version":"13.0.9","author":"","license":"ISC","_id":"@preply/video@13.0.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"21e69f5961eb22e9e5a79056835cdfda82c64640","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.9.tgz","fileCount":465,"integrity":"sha512-hqABQHilOcYFzImzeOzqoVzmAGSi+oNCvB2ZpgQk/OVqnLAG0RbbSm74Jtz4tC+qAnD9lW/xxwNzAZ65yMiv4w==","signatures":[{"sig":"MEUCIQCyAp+qyeL7oeNhwq1oDFedS1P7gEsaY2L4YqyHEKsk6wIgGfM4nMXyirqDZsz6hFNznUTqS/vUAUNcaoCl0oTcOho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26990581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHnHUCRA9TVsSAnZWagAAO+gP/RFNFJJovxOH050X+Pa9\nCqA4GOPtzHTNXL7UBr/1IyxGyenruSXLcKLaWfnDVy/4sSD2wYvx3ByJf966\nwjO5e8iXTNHYidbpkDoJunRQSwmKaL3xXMXI78H+ULkG9trtjLgZC2dd2g7e\nZC4lApG+32K9mlkxdpueSGFpjth0eIPhwVv7gNhFblFqaHBdzvOszzbIsZkx\nZUNKjr5/QBeENTC5EN2lpQfw/44msg/BBxevMPWhLvJvVYyAJQcJ7nqoIhly\nuFFBWsmlhFCJkhKE1hL9n9NPLqbeghx5I4suBZ1rPcI1Xw5RgkXtLk3Y+2+j\n0tPbnp3V/gUdbl1yx7Sr82iI8r7KljkM8cy7X8YH2yntATknVPe6uzC/iGkg\nfulz7f3kkpNWXheC1ldmwLpz37OZIPAf7Jq/gQdLi7W0ykzC4rjCQMO7UCNG\n20e5BWz2f07OhPvOQ+g88pxl/NfJInVZbD5pDH0pFKXaPn+FJJEP0d6X0wZ0\nEH50hdUMRe/SQ7/psihW3AqDnTE3CVg/1VINHWM6qD68UD9TK7SJtDHvL2Rz\nvXsKJ7Q3xcj3Rd04yxliVn1OloRrD1/B9sHr7qv0voE3GQpMzuje/QAFkZy3\nRS+JAqpMnogT9o6d1eWvGaSVKMBEyAC4HRAegZOJC5OND/yretrADVYTfHX7\n3kgh\r\n=sk0x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.9_1595830739893_0.22649034618836095","host":"s3://npm-registry-packages"}},"13.0.10":{"name":"@preply/video","version":"13.0.10","author":"","license":"ISC","_id":"@preply/video@13.0.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c84f770ac557d7c170cc3bbba1cb66c3b2e47cd0","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.10.tgz","fileCount":465,"integrity":"sha512-SGULklpq7GVmqPajfvBypvCMHapjWg9kXumiEwNHELQt2VtAKGiK3KOgyJUrQRwLFoPJNooCbfnMYsZ3Mg674A==","signatures":[{"sig":"MEUCIHrIYiKbAGNlxB0lFH9ZjMwD/xVsDh/w0kNfTk0abr42AiEA8SH4YvuI23cUwAYcxLzuhK1bM4jZsXn5H5Luoah8oCA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26991767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHoAkCRA9TVsSAnZWagAAuTgP/0JJq8d7vQfX0N9VMLl1\nKMGGSI3WkZ8nVGpH7YpWd3vmYroyOOgffgqyKfHdW6kTuPYsjzuNmNpDGxW6\nPcDfKlVrvVQTiHIg2ZA/XmN5hXwxBZctqGSVo6Xg8UN24ypBPIZ3DJMryxwF\nLLAlcfJ8R0EyzlzQjYYUK9EZQ3uS9FCzWg1NSuX39jF2oy5NKBHHoq5oNCpZ\nKhc8vp/t5IDN0/8F9/O+O0erhCkqMdEFj4165GgTfSu0K89PqtKK5sfq0tsT\nx39aazY5DJbM0ITtYHBRYheIAPiUIpgx4CC9nsFx0SYqNZxUiJpdFsdCQl6c\n/xy7EfVb2kDB4b6vaoDjlzdQecJepBUA+bTt0HvGTo3TRvHDs0dnwfmHDGq3\ngD+6fimduFkHdCGTfrtTDXopl7zVh5I/QbkRZ0qNfPpWChun/Al3uv6wgLpK\nUo6V5ftUmxxcM486BcAgr1ENCnXlj8aOZwdr69duceBWd6K9U4B6Ofdhip3y\nAR7HfAgpah+TO1jq9s10WshNb9bmlJnCSoQk7UXpJM/SfpCPG+vzCAu0F4kh\n/SV8slObp722rEsdNVwmxPvVBqgmQ3zhlmR2/2p8THFziZTCvXkd71g92QuH\n9vZ3rf3UZRNZzMjO5NqkjRvHDDVjBWaHVeceiLkXreOUERwEVMwGKCXztb/i\nLr0y\r\n=7VOI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.10_1595834403900_0.48024575652871926","host":"s3://npm-registry-packages"}},"13.0.11":{"name":"@preply/video","version":"13.0.11","author":"","license":"ISC","_id":"@preply/video@13.0.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"80b50fe614c6df8dc5411353a2a8f55de824e86d","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.11.tgz","fileCount":465,"integrity":"sha512-LPQOmmTpkbrS6sDp15i/Qit6FA7quISkQoa7VbppHJaXpNywrse46s/ZRnSlKs1fzjyQPJokJ0y9GQv7Dz6euA==","signatures":[{"sig":"MEQCIAjj53b4g0m9apVQXkCtr4oR5I9VZAvpG46cPYXQSdqNAiB8EpaX1KxVLK0a7PO4OhEL2T/uPkrQGYCN/Sa6ULjSjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27008401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHrhECRA9TVsSAnZWagAAOZwP/iYdmB6+yPkhVjpDdtQc\nvfE5GxW19TJGH64LPOH0cz7Lkjzmhmm3pW6bXeI96egoO8TUptl1EWm8191a\nNlkPaIvrBSxNOJvA1wHz8MP91fDQlnimFIpzAp6kVEEdXc3FEpIi9/mmtBAK\n95VDY5oX+7JfeptxuWr8VvLpf7OAAc3bd3PyuuyAM5vIjR0Bpn9RXgpu+okX\nlgN0QJIfF0zZHhIyPX7CzGll8OH9dwBtIqAIY+BUnbmUDBS8JHeIoq3/SPmj\nsvOCR6x1/9frPXgxvA0aNeh+SoNfgMTg0HEuM8HOGRGE6IVHcQSvMq+OJQVo\nZohICMGlBv6dVKYWVoMyu4+y/7+PVluD2LP97FruqNZWrL6kA2tDGQ7ZoEwW\nudPHWp6NEskpplE6jNx6LTdpH0lV4O4ZyRdUsnjBUGVYvMCgPhaYEGsXGm9c\nwueVeulY2Rcw/iQ8VPANybnXPMnZCPPbPNQ6pulm4GnLxjAL+SmQnGyQwlKD\nsZ997hiVRC/X5qr90T0dJl7lcu0quRBeyHUvCmx+Hay7utsuQp1AZJYjY01y\nw6kcrrhZPWzelN5dsXXoQRHlDlLDj69v0iFEwBUabjHrzB3kn53wCxZ6Lu52\nDrXGXSc6sGktGft8r0y2b0cuJOYZq23zRYO7k3J14UdduLF+n17Ua2f2zfxS\nqpLt\r\n=jKhU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.11_1595848769249_0.9527888139447449","host":"s3://npm-registry-packages"}},"0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4":{"name":"@preply/video","version":"0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e845faf7550422f0d1f82241e17591dbe5c45104","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4.tgz","fileCount":465,"integrity":"sha512-wStYOHccts2oElgTlO8kJw4x4rkzQKoG1PPaM2kIsbXa7IfAE/7WM/WYrRgkj1yXViMXTMh8r5YZwkhyan0JNw==","signatures":[{"sig":"MEUCIHvRfiqNqkMMpcTG1knw1dOE6xpo0FJ3V33eymgIFOXPAiEA/SSilDhjsAYr1cBRT/31Ta1jEiaz6d/ov3zQDGXna7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27012638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIAytCRA9TVsSAnZWagAAsA0QAKT3qCMeCaugYgJ+tiuE\nlC+z+HwXPR1ZQhI35EHr471246pRZHZ8t/2gqrgqa+EgfLkIqGOjxseX5ENy\n9SKiLT4JRyWf7pDCAEFjYj+PsfdCWzExoXv8QBUx14MPcZN2qz7LheB+Z7Cj\nhdBRlSSBHErpixuHxUiCI3wog7tKc3LrTyEZndct09aZ+2B0vABPZkEfn5jn\nPdb8nnnCrj3+Pq2rfMO/gC/92TRniEua14Ra1YW8xmxUCBqg4Sqp406mxBk9\nLE1MpxYV55ATZ5Ts9LumP0e68tbYC8J2JQSSro2ebtqgz83pv3j8RDKMJzYj\nFux0Fgv2/HsbhQjBfJy7w/o6mGtNV9vEm/WEHTNFNYSMOPlF9Mq9LFLjgQ9s\nM92MaYj4Klp2+gRshQjXSVX+3+QhVn4g51buRW31TNJvvgVhvN+cebp/LLWy\n9LAPbihPb0hb8595wSAsYAgprGgOOEXIhPUczONZb8GjILQFnbH0Mwfm2mPv\n1fQY4YxFZvqyDysmEa9KI0BTlo9iOwZHTnk2SzxWLwXwXTTYIFNXiTtz64r0\nSJl0Kzt+ooJollb1E35S5zOijxLXI7ejVqJWB+h7b0sIE8INTm0bVM2mdSiK\njOeb3to3O0X5n9NjkNVQx3mD3jGLGCPocwRDR/oDkN+iccYO3t9l2Lfdyulb\n8A9A\r\n=vfE6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4_1595935916490_0.6025228410125127","host":"s3://npm-registry-packages"}},"13.1.0-alfa.0":{"name":"@preply/video","version":"13.1.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@13.1.0-alfa.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e1b8fd488afab45aec2c2662baad8decd5076fed","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.0-alfa.0.tgz","fileCount":495,"integrity":"sha512-+B5YSdZqgym2KQSTgDCGHvWr9LvZu2H8u87etgS+nSGyp91yGDNqEJRRJdiT3QHsQc0XCB+zYk2ehM3jLq3TCQ==","signatures":[{"sig":"MEUCIDQQmFub2f3i++LjGmqrAqzwCIwI7CqRrCeaJx+Sr4GVAiEAznW3XfP0km0xjVwedNgs7Ss/cclchP98qsMLcYk3Qcg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27536957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIQrwCRA9TVsSAnZWagAAc+QP/RVLA8FUA3u76jA+Ofq6\nFu1ydBEzhZl2rCQDSN89qiS/akxB83pMWiKGXMfv/3DiwwkEQiOG8DqW+mIN\nczHHWCH83ShHyCp5gfMoSU47ne4D4bBJQ4cT23oucGWpa1posx0Ac7Ui2sHm\nTPDrdY0lDwVhp9sP11odG23mBEzia1SmcOvz1cA/RLPu3zQ4JY+wkbQBu11C\ngCId+GhnonUhmsUBkqZQUMjGwxhXeN0NXt+Duu9i9Cv29h0lYiAVwoTJc7VD\nPYZ3zMc7SPClAAUQ6he4HihaLk5+atqjJaXr4nmJmCI56EckgIp43F7zomcv\nPsQ5Wa/WHE0uGshh+AKGwMJpWHeVr/5UBoWpTX7j83oghfAVJ7LwjbJkBoUH\nB9HGBwPnqkIdycVFOE8feqI7XngMuNV3q04D0vd2d4FvIDaPeZSDs32zZ+8P\nqtd9QoZpH5Nymxo1LiU4HmeRFZg2KqUUsFiS6Q9Fe9BY/k2JTOuaGYqpUunX\nn+nCTpf65Aip84xYSyP9aGaTP8AqYeX2+j8+8R5WoMfPdhs8/7SZphlnGIz4\nKNXYIciJ126NB9RtreuibnUX4BDKMyj6oO3nIMO8Lx7jsMtxB0iQE4Gb8AV/\nCAa1m6x7q3+tx9I3UrjdKqgSiDs2Fy5Zkbga4XO0cIVJrHQHbLAJKDENPlYt\nbE3x\r\n=VW8m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.0-alfa.0_1596001007984_0.05037779033603784","host":"s3://npm-registry-packages"}},"13.0.12":{"name":"@preply/video","version":"13.0.12","author":"","license":"ISC","_id":"@preply/video@13.0.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3649cd914e918877bff806db232d776268ec6eeb","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.12.tgz","fileCount":465,"integrity":"sha512-fXmqAxiI5xurtJQsa2tbU6Ei/ZBwTFOD/4zb+1hOMmpKuvpq9bn/v/WiDkQ6U57lr4DgsNB1uyF8DNfE4Redbg==","signatures":[{"sig":"MEUCIEnY5es9IJgq815qweAhFH2jRd31NHl+d5QfwgOaDs9/AiEAnuzx8+KmqyS1Q135b3bARdqdebxpENUwRcZg++2FpxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27012268,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIQ5PCRA9TVsSAnZWagAATYcP/jzuGGgw9+Nengo8Lflk\nh+STJpJE+7KBThaIL9Fe0algC4kX7WFh/9eeo87EDAq5TeYCPoDbNhbLVY30\n9qza3ZrGx7xGIEobLFWYAcFn9EhpIXx5DDEZaksOhrMhCS864Zc9jpT2M5DC\nabODsrSfLievKoa69t4c/nK0N5l8rBI6cbLa/T4V1YPsRnX2uyNSIH7Nhyy+\ntZo2nkhZF2c6uf9lRLJd1R6mhUagcVwtRuTAAZLs2NZoFX1TJYl27BgJwb9r\nqpqZgdIk1MMJOe6F6CALAd39WP9mLyLToZU3e/d5V67XAl4B0vdIOuaMfTJA\nILI7mnv9lNWLJZv7I2WYxel5tyX2CXNP+C5J490SGjZxH7DSicIP52rVIDUF\n5GJwx3KQz7Zjev94EHPo54Af5kCacPmkWsiV2DFEFQ/3CX9TGkGOWN9QZogI\ne+9wcKclyK2uD0sy+Y2v3OAmq1rasLyfdM2aXwfl3kZ81Bse8tHiuzPhqkZh\nQuX/QpkLlc4EvJo7V0I3Vq1NO4y3KJ97H//Kp1Cy5tiUGN5KNXGtXS0LDsga\n+nrAIq5fWY3RGcJv8US8veJhEUWYN9kSljYI3z/EyBelNzS03sJ6MSDdLHq5\nMkL3mb/9MjZ2MtqUlQM2TadDEqUK46+RCjOk5EPRuFxOCsH5d2vHn2ZZoPZk\nOqHt\r\n=cRJF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.12_1596001870289_0.10242906944781649","host":"s3://npm-registry-packages"}},"13.0.13":{"name":"@preply/video","version":"13.0.13","author":"","license":"ISC","_id":"@preply/video@13.0.13","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d670b4e91134ca9ca797467c71a3ad41ae4a3345","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.13.tgz","fileCount":465,"integrity":"sha512-BmDf5onW6vccDULsGa+TFRcKrM5ezDW1jxUftL5O2JFWDwwm7F51VFzvy4y/EpEp1/y+JbB7FgCQLL6AFYrxHA==","signatures":[{"sig":"MEUCIQDc47ecz1z1w2vd6TqGTmPQgaaNl0plqBCQ/I5uC7yDIQIgVX9kGSZhwqBgdSaNwgEZgi7SP5CCstCT9ZB+qwC2owE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27012336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIUehCRA9TVsSAnZWagAAQu4P/0NggmFk8Hhp+Mk6Aoy3\nPIULQuUPKo9gi0DCNcBjo8uqngFMBzA/PfTPbEyvHj/dhH2hUxJ6AuzktKYd\nK2bwVJhaGVsIbWLfMsVaTm+/gwdroMqDxSwg4XY/KYLhrOTez7xkZBDVHb6r\nnebKci0CstWYMrac7cRTIhJPwGry13UmTn6bQtdFe2HG+V/KMOLL4gs76VuG\nr1AB7cumAlAIgrEksLJsD2SX1d068gd0hlgEc9l+ZLrETHnrs8m+DeTPFlCU\nRYe57gINFtUjYTJkmNKz2p6JcAm0L0MYwymykPorGi/qqVKpbndhdnZDSaan\nyUsgHg8TjCK4ytJskygNCdocYnSgbSt+2RonskAuOKT8Sg6Fcm5krhgIoTIn\n67RJaGPVD2e6Sw2rRjI/OiOZS/DpLbYtWRZizCiqqLdrDm1G/uGba+BCeLtj\nROByOHgSo1JgbF8qXSpmSt4AD6il7V0dVbdHym5cNhOG8/w+XhIgm1Nj16rp\nLTOn42+lmtTy+Jn10x8D97wB81I4bMLTOlaFDRy1DWpqu8tldMvQlsU0Q1za\nzC5nAtXtdj1vIdtSBieFj6W3Ab2sN+RaAlnW6ciDbZn9FQBA1YEITvfcVYz/\nPPFx0W2HhRuLsM21R6elI7hBasbE3+OlDbvcWxY24/G0Q6FF7Sbu0dnEBciE\nfRlj\r\n=wZpZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.13_1596016544688_0.9024801123212025","host":"s3://npm-registry-packages"}},"13.1.0-alfa.2":{"name":"@preply/video","version":"13.1.0-alfa.2","author":"","license":"ISC","_id":"@preply/video@13.1.0-alfa.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0598d0234f4bdcf8fd92befa2671ea9ad0a37018","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.0-alfa.2.tgz","fileCount":508,"integrity":"sha512-aZzoajGwy0w/ENpB52oT1NBRZH0thIoy2cZbd1fUt0x9jvRJkarJZ5MzmK06GU0bH6BHHrDcG/aC72j4Nsmwmg==","signatures":[{"sig":"MEUCIAnBWVHWOeAiFeBbtjGfBUlwuIfGk0HP0iktF0cL3wLNAiEAhNBxUPet6YbBNH1y0Nq7+UX1MA7eCrbNEz6x8X7bTJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210271709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIXp+CRA9TVsSAnZWagAAvmgP/A0+Ou8O4pS8gkUElJuL\njhqfHXXoM49ih8OuujKEIcoEURmSow27IFM2fOmXbsU9aQ3C2Y8gvGzVRNda\ncQEJm4AaIvQvq/A1rVkcCEFBuc+52rFfPXtnZi94eBrWeNK/QorN+YX7PF3z\nzFgwxPGGZ/MdQF2/2b6bon9nnAdegM4ZKI0VwOXq/a7qoRpuFm+6R8garPsd\naItPlLSAgjVOPQnEPbITKB55m2pm2JUpWmDi+oi+W6N6g6gkQdr7L6KFKnq/\nsIp5G9kwf78XXjjCvn5+13zDV8lkTLcDi4jhQMYE1/mwJ9pEccGwFvBBtFN9\nOQDkigU3Qw9xR7woCTo0D/fPU7ArDXQxWX6qv4mOlnvqz7HdnGZ0l6xB+nk9\nPFs+GxV83KIfhWLhF/75ukmQpKWU/1K7KDVqC/iW1f4ZjM/il+q9FIyma4ic\n/+NGinQc/D342/G/H2qfVW0l4AITPrCJ+Iy5D406feLJD0AR7gXtL76FiBL2\nY42W9k9CaVjMLR8b80MUFuWP+nEn7OJwaLYgBflHceuhE8r5n2ocV9rnPxwL\nrl4mCndAxfKgEPvHtPPrupNpM8C72xZVy9YGqLCnvPNMG/21qWfU0+86IAXa\nSqSjGxcKTVa0iGju7IhV8ZOS5qkSaCE/bX8u+5Ly9oC+50Ov1TOwMcKk8sHT\nC626\r\n=95ap\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.0-alfa.2_1596029562372_0.43105455016897065","host":"s3://npm-registry-packages"}},"0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8":{"name":"@preply/video","version":"0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f997ddc3ab9d0945410b8211bfb7b4b8536f1810","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8.tgz","fileCount":508,"integrity":"sha512-2x/qvCJ1UZRE+0AvQK3iqDB/mla0eCE6onqcXC6Qlls3rDy586jHYQZeLf8p/B0CF/8/g9uekM5rFl3wuk7gmg==","signatures":[{"sig":"MEQCIGxII/x4sSet5zu5LAZREkLHG5WiMLCx6yTg+pOGwiexAiBy7PPS/luSMb10QBbWbNVoLzh7nbwI88HGCLscEnNEfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210264728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIl9/CRA9TVsSAnZWagAA11QP/3KEONayWa1y5HEaeDlI\nyGyYMehqoOGcSRTexjoXFiPKQX6dgu8SfvtqyaRzdbPHkcCoLJbvopXC+hrj\nb6pPdbSapo+oSSZTBn7TTa1U4G0/Jygndk9XShrjpF4MX4eEzg1biI1UJ9dn\n281UwnHj3JKQdl8C1rmhCavYjjlrJMvlqu801SdHWs8olbYaA286r69D3eT0\np50GqNOovuAR7mnLslw87KEsI5jsOcyJC6+niBdfdQdRAJeyi5A87pUBeIj/\noixDnBaLmJJN/SiXDusRSf7fWMj/c5sjl7xaCArcF5cpz/c57cfTkBT3f8sz\no6l9mUY56onK6AXs8/8yqspJFry6UINEVQzq9qiReIBQ3EuDmw88TZDylp0c\nDSiAWFPma8SbeEbLnfZA1SeLyW5xHYGKwjkjNHxrO0FdRR2gtk4eXcimzrzI\ncpkNrOQ2H5En3YH7Iv0xV/torW6A3mOVASwNIVWI6pl6XCzRfbgOmXdZ/Ig8\n0TBIvWff5h9+zbF+suVQYMiPAnuJqXIifFwHFv1o3fp1JD8IBR1fmky2s4kE\nB7DuiJNmA1NsuOCtQoiRBmZDO9Cqfl4MtpRPXcYq28F2vsHKyvEIY0+jI8kF\nCXuh0o5QHAXfaOp8QUkHG+MNEJeQQF/0SN0Jnhkp/v2mjyJP1EUiAnP/Abq+\ncamV\r\n=vy2c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8_1596088187787_0.3057403056322521","host":"s3://npm-registry-packages"}},"13.0.14":{"name":"@preply/video","version":"13.0.14","author":"","license":"ISC","_id":"@preply/video@13.0.14","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6a62e01f11c96521e9e962a7a9994d960ea2703c","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.0.14.tgz","fileCount":465,"integrity":"sha512-ocB5sA4Df4qYNaqyCw76X7qBh64XhKFTntSjenFoBmdJoNTXFeaIocxL6zBhqR94ggvJ6XPFww5hmB/i7LwiMQ==","signatures":[{"sig":"MEUCIQDTSjF4JPDIDK3rdiRLKWpo+h6Z56d3zeNVr6TxzCQclwIgGF4oONNPGNgEoLbDsbEWxMpVI0usrGWtm5D7CWlvURE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27012025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfInuFCRA9TVsSAnZWagAARNYP/18a1Sild3YNsB86/Rlj\nqQ/fa9vtZkJEG0Xs8oZZhEE9SEmcOsdLietppWnURebHTckxkIJPyAIJCQwI\nHj4TAZm4sa7j8niX2jkVgRnTDiv3xgZSbBs3ETrsUsGbtITc3ByyCxzq9ys7\nHo3J/7vFhEyDuz6UXQ+6Lm7Qw51di5GINyIgQv9Yy/minFxRBcW6TnN08l1h\njyAfIkA8q3vvHe8BrYcLqM8HTRpWTFY1+LWbaE2yZfGOhBpLZi8lL+cq4RhA\n7+B246+qkt2VKNYgbLc65lzX+V5VEac7/6eKxK5e0oC8NPt9nSRl7zPfuuH4\nBw3UaEaOWqfhfqv+AtST/dEjx4lHrSbFnkBwCTsrx/UCYTQFZuuJU0hE8elH\nYwhy9rnjwGXLSnIrFPl4qlWpDjBUJO9nx3BiKkHsZ5jEVzp7ZsaxX329Y/bH\nuRtXZz8yHqsh/e9HD/+UtjdRGRFMuoUQrjHTufVvLAJ4XnX2WoXuoFjE8/NU\nLhIRdgFC/NJafybwGUEU/SoBuwskfOfVUavc//ByiYRcSi7Bq3I/CHUhl4UI\nfN0mQtwupiWrN2t1HtB8AFBEZ/63+K5mxaM7QK2WTbv3cRJ3oj0LK3JgT4BL\nXefw3eoHyaLYkcIFp2gYe3+62gzpsM8CUxjIwKhKvkIOObtsJc75fKDOAVaX\nWSPV\r\n=anAl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.0.14_1596095364719_0.012026036881946034","host":"s3://npm-registry-packages"}},"0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623":{"name":"@preply/video","version":"0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"95b8140dd36d6593b5a01d3b3bf3dcbb8f78f07c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623.tgz","fileCount":465,"integrity":"sha512-MrY7VBOSirnuXM41pfxYrRu4o2nEuDvcho2uC5HOszFQoMlhAsgeF2f+2qzb7Hiq+A8YJYykhbyjV8lSoBgVag==","signatures":[{"sig":"MEYCIQDJ4nKgugona123fkQat8CGJST3G3LhkLNFLTVD0P++VAIhAIKFmcAwHT3KdaWFJQcQozQOmLIyaqYTeij/5NOxK/iS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27012775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIqmyCRA9TVsSAnZWagAA/i8P/09fAqZwpCIoHQuWdc9D\nk2UV+0Ad18Kubf3LdULRQ/JezlzQ0Aroc9G7wJmFT3HIGAPhvOQPdQIGfWJa\navQ4jwBeZKvTmCNhAKfoZNp51YQOxgPrg5DSAdYMuiTyCsk9gl9qPkHGanMs\n3zRYVGqNJ4LhMEayTQPmbVKfORe2wamrOJxuoKMUoF5lNBMkMlutIOTRKHCQ\nJ+wVAKGyb4Fz+j0gBOwMj33Ehfk8RixO8mv6qoJjrrRj7ykTr2L7kshuULN/\nEzC8OLYNPwzhJdOamgW+Tj/hqNLwnLz/0ALZgzjZPetlMjTE/1bTFRPB60sS\nBb+I5Q1+VLW8R6LzDj/O40nUveu9wbpuXA2Q8qEMbCG5Wa9enfQPyDXaRqDi\nriOn/VS5JA7I4kTecIvBs2/rn/uWAh2rJGJAsNHqGgKVT1jlT0sKDF/F6Nfo\nC+mCDuVlbSdnsZbv6IPX6LtlhIrYfXC5Dxm9bd9nrKjrggfDPSLzhFti6Lzb\nk+pnm+8nJ/3zwbhgY11MHsa5Dk/8KlQmJfC8RsIEwKsnxjAWjUhcOpjMpYuQ\n1ifbXQdpR03mPxxJ04jMdOgMuqUSpPCJZbyAxFJ3MXLPqceUubeb4pI337Is\nPVFlOTc4cANdWFeG6eqOKBd7RT1Oa1K/ZKsWj05IOZ3UNITBrFCrqCTJzlCp\nhAg+\r\n=IYFZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"2.4.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","@types/react-intl":"^2.3.11","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623_1596107185825_0.20045759581495304","host":"s3://npm-registry-packages"}},"13.1.1":{"name":"@preply/video","version":"13.1.1","author":"","license":"ISC","_id":"@preply/video@13.1.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"68fb1fc1ca1933a916255ea3a93fb84d9b071e2d","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.1.tgz","fileCount":508,"integrity":"sha512-v1afrIWenPMRKCj5j0iNqeEm9K9Ikry7NB4L1p0wqNZnSYBkxJZv4Cm5JuIdmmu0X2L9Mzso9mGQHV73bLtEPw==","signatures":[{"sig":"MEQCIGauwEk7huBt2MPniK1QVL6xvCDuUhFGec269PoisFzRAiA99JZZZpmToVFDj6xtDKopb3h/He4rzg2XIeMI0y//6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210271823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIt/sCRA9TVsSAnZWagAAdSUP/33oAlAzZaxixHUs8qbn\nbcYjue7FzAKMmGPhB8co7BOCgdD7KoH6gJngd57wWgbGPWUoaBM8wT/gwAr4\ny9p/DzcXEqxm3V062F0slMpRl11BR4FBtyCCAiEKaRY+ey3u6P9UdXXjcd33\n54OgXPZfLpXM622QK4W/he75tjr+I3pevOE8FwMBaY5BQqN+Om9pMhODSwRU\nr6ZwZs1RJ9b1FnjZuMMu8YOa/kOZzMhiZOHLpO/6fiD4x3TUZXDeajDPKSSV\nxwTBz6NYu2+67pmKrkajENdGy52UJ9y2vLy4TdJP6nYwDisvRczjpF+Z5yXs\nAwY6MQ1p1KajUS+eMjQMOzhqG09m2PVao700jd8kT/3Gmw0dc+cDMnBJ8Kdj\ngNBtzVksEVSojAX9R7cfLVfCCa+C6rjCQkS9O2SlqUguFeeSKuKXbaPeGvwn\nYq0uZcmljWulnrfsMNySAEQCegGW2BS30jatXGDQJIX7v2DR1lChBGYuDKnP\nGuqNdgMzW3EJaaa5g8RLixxA6ALPEzDFzzNQhyzFQZ4rnSG4nQwR/b/fJz99\n8azdUOXYNcap0A+0HoLQDaXlIcgICKuiD3/x/gMmbCESsDA5giidnpOyFn8b\nmgCBNSNFs8CvyntYY1T3nbBC1E8i59dnQerhm41qsSPbVIMUxgwi75bLALD+\nZO97\r\n=uUN4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.1_1596121064469_0.5724278147507311","host":"s3://npm-registry-packages"}},"13.1.2":{"name":"@preply/video","version":"13.1.2","author":"","license":"ISC","_id":"@preply/video@13.1.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"92e35d40179b71cb704885ec31f4cd09b03cb160","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.2.tgz","fileCount":508,"integrity":"sha512-mOxUToHFkKTF+yObHB2uixN5UkblH7oRhHMYawpZuM7eTPr2tmHJuG6eM9QY3mF2TO7nLV8OprsKgkH38boUUA==","signatures":[{"sig":"MEUCIDkaqXzG+KzhFyQXVp/NkLR2DqCcln18KN7vc8xpH5xuAiEAgZYyzXdrwVSGqN1MX/XyzM7nXedHzux9iuViOE9UQe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":210270443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIuVaCRA9TVsSAnZWagAAc7cP/1C1iBTiRvFBx/68JPQQ\n6Lnr1fqJ0H9nm2XgWzYwcWljeX2bX/EIYvQuX6WiV01w452TAvv0u9ULsKz/\nthtzp1GakFYx6KZsi0G64pSqFf023m5nqj4l75aS+/Sx/Z6Zq/x8u6Nf7epS\nhUjVIKbYsU456SgxsiYhvevIpREqnJNJyxIpgSOjz6SQyFjv/65ByqI15Ew9\n3QaQzqRb7l2SoxTw0PtyTpLBrKVkpr2r0gKj2TcPfcWca3P2m86Nn7kj5CJs\nTSKAk52QiP5rDm//K3Ry0UKzE/5l8Tcqr4wZuAG4zRA5Bb6KTAEXFqhwJDFM\n1FTu2Q4AqdeIHChICNLWu40VS288Guwlh66unBFYUky/M7jc0pNwduKkr71D\n5kGyJS9oKQSj7lC26BU5/pbTXuSGTlMAoZ6T4cXOXTN840X5M5l8tohANgHn\n/fcyBEzMl4dzJa2+MiAZCgJVAor/55/zF0wxARvAkX2iO6Vj7Er8vDLZbeAS\n5EaaxXIOGFrqlAAQBo0TWtQd0cpc+amVupGV/y98GiMvyaHkXggM1pqh+VAr\nsu21tHs3ZhxTA24/jMK+xc5fj7YohYNxLsUx/eTVYDPqIkcrwSLOnbgdmQAF\nyAsjjc3+ZlUhT3yxLDB6PZc4FoUpw+iKggRNbETWrZLQLbSjFtbAOdYU+eGv\np4kU\r\n=H5wZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.2_1596122454275_0.20465501451334167","host":"s3://npm-registry-packages"}},"13.1.3":{"name":"@preply/video","version":"13.1.3","author":"","license":"ISC","_id":"@preply/video@13.1.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0d690ad8488d3d8554ab54a2ebdb44425c72c7d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.3.tgz","fileCount":493,"integrity":"sha512-AvW9oYXQ25ii2/noPWoSzpxUViHsyLq2FuoRpacPmdy/0uWSs4sA5iElNNxwy00aHAgmhyY3UcGQkNCkfhj6Fg==","signatures":[{"sig":"MEQCIEoe+yxZg35w0dpAX4KGYGQ7RrTSLiuQkH/Tn6Q4xpU8AiAvuxutnxz3kowPD8i7VHw6ek8jxFYF1To2F8CmugkJ2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27493778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI0jMCRA9TVsSAnZWagAASOgP/1Aeati/iBMSUOfPmtOs\nqmarc291cPvkkVRo69d+Lhr0RXAwBRlpbjN35UjIz4xr+indXz969ZXlMIQe\nsX4RZ9h94JHIstDz0KNLj8h77hLkqX5MJboeiM53PGOr/dG7eOYmEWdWZn2K\nCtUwNjr2ceLtsIJYWNk2Dt9pyALRS3QKrWrqVae/BT4YEjdJXTIcIwXT12xY\npJnH2g90v1tdnRZj4IzY8JAR63iWBHvxsj7iRDGqgt3jpGl2aAqncF8kg2g+\nO0A2zUbKDJH1pEaiJFwS0xvI8JYU/jhtzjsrV2LTAijvLnoq0ihMsoUlAa88\nF2BdcqesZR7J0ebeMXTQfeGFwjrhL/NW0LCwRfkHPeyDbsEWNlCapjEYrqbr\ncn1YVQZ2GTmrxLlVxRnKbj9nKm1aF5FERHnlwOPDOSvcTluth1OFfXYdCaJp\nMt6e8JYGs42wT9nAamekhDDwBPiN6VkwCPMTrZqbUx4xundVF7f76RU+tT46\nM9gRdQzYMdSVP4mnuVTRWfTzMPV/Fveze/BCu8Z37fgXmtzxDlVxooPn7Lq3\nGSyYda4Yl2lW17xqk/qh1ch39LCbC3X0UVOYw6IrRQ7VkjDXvyKyOzBZYcOK\nfD3vaiSvvzQK53w30nLragDDNVftoKXgrkP0PHvOgVD2Zdx1mb1NoTfuMIkr\nL1xs\r\n=B2sx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.3_1596147916062_0.08733149395880724","host":"s3://npm-registry-packages"}},"13.1.4":{"name":"@preply/video","version":"13.1.4","author":"","license":"ISC","_id":"@preply/video@13.1.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d0865d07b78e66846aa5647c379c0323e5e52c15","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.4.tgz","fileCount":493,"integrity":"sha512-WeBLeQyEEqQiQRuRILTQAgrZjOkup/b65dcDbvluyRbgmClfDlybHTqLBGWQOmPHoh1RcJZoffkoo4hQKq2cUQ==","signatures":[{"sig":"MEQCIFsbRFms6XYe6ZtfESih4yIdxdo2d4GwMN1YoHkdptsyAiBY0YgY7+okJk3cW85XdJxEyoNMmxpS7lCOwTVMNfxx1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27516564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI8YlCRA9TVsSAnZWagAAlaAP/jOjTr7mIFdXUj0hiva5\n7VVoKWXtVBhO95ZWiAJKeP1G03jReRccvdIuPCxyx8L7g/f7bXfiZZP+XdiA\nij5utXkEQbHpRXDxkfMKcugBBflrCwZpbE2qdByooPh69AOnJFFpJuVIAJ0P\nrqe5QcxV30deD87NaU8b4BawqMAqAMFbd6Vl4khXjqJcxBRvTn+iIn44viRF\n2XC7tXA+jPPRx0qIlksxD/fdI0hzPzJEKB/fIAFPpITNMCWa4OtWO6+BM3kf\n4+WvBwRC8kyei7FXpTeKW8vXsbRg9Wj7oWcgFTfgF+rbXwhTrtp0Dxsmp4tu\nBrtVuVi4cQ9jpzzVhAS8aiUgNIHFVr1KPLgCSyaLPR0Pjdy7JW3Ies7KvDEn\nUNa5rCvipmLCMkeL0JXr4j5dYBaJ0rBJ2/ZOByTovo6rnmqVwFCAhUiYnbBD\nOHDCJVSbhfbqn5MNp2RCslTBrcxz14gbHVqm/+w+xB9O8HFkPAaQmDKu/oEm\n8/anmXASgXAp7gUWhVAtKAmfU6Encph2h2NvXTm1OtHrw/Ctdn8i3f4sAF4/\nEMx6ZnozYiWj3yN5VsfQXuc+nwHGQKAHHld1/JSl2S2krUDiVccmXsWo5R1k\nRpxNRHiYlK5VCMapaTUUqOZAk5hP4CWuJxecljGR6lQ02CPw50jh31mV9uKU\nep7u\r\n=VEMZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.4_1596180004279_0.8055982208405721","host":"s3://npm-registry-packages"}},"0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd":{"name":"@preply/video","version":"0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2ace79fef004e3f94e2ddbd34618f6ba60b0d713","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd.tgz","fileCount":493,"integrity":"sha512-W3LT75XmYYLc66JgVV/DYzwNk82WAT6QMzt2FiRY5dKLy0HfgWxD4KbUOvMa3yTBH7YjpkwSoI3C9arxbZ6EUA==","signatures":[{"sig":"MEQCIG8pJIYWOHosuNOI+13fIinARgbQmPsRufDj+ErxkvDdAiAps75MbVc4tTctqWFq3dbIMWThch5vOZeFuezIW+SvBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27521062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI+OyCRA9TVsSAnZWagAAUfUP+wfFe+BswKT8fV/p++H0\nyiAtnbvDoalAPVGrkt8/+g5yH7NsCe/RJHeNeOOyE2/bw04+5hBOf1AZDNCo\nwynYVLKlpw6rb5RoWbcNslX/2H+rV4/eHQjYmEIKs2H0hWRJn7+5I/8Lzver\nDBo9XhI+LWn03FeKVgVFeU24hEt4/nE6tNq6KIBaBc0UfIA6DhV9b8cEk3gv\n6ezDsFZ8VW4dk9UyHGC+RYuaGwlCPAMkXddDEbikrpD6BBWx4j5I8L1wtFdQ\n5MV8NwmpxNzLC0wWa1vawBwTwKVYW6bvgmDo37LbsX2B17NZKevsH+KbjvI3\n9GJ2JMayi7dVqck93RYDyFb+2fEVk1CUUGwso3zStZn7DVA6dtOIGGJsZUya\nd5we2jdQ9ndXESKI90E42kmZvmfrh8iT+IgrK60BzEDBiODcPrkgdeUabPAK\ngaurbvypwuPOqZY/8SOVIvfnhcBg8GAODH6sIBcueSKSObfoKWCG8cAzl8no\ndNTW96rL8SCN/+pGezFxG/60Yn+eCh0gGB28t4lw+calgiKOmu+RNjWOHsC8\npjibydx4OEf45T+2b90HILC9DFuc/9Zp+pdLgavhRHX+AZ4TChR1EbvKUJq7\nG+cYIdDWtmhWc1cJbXL0XFdNTNO8qlNOfBPeIWfNxQ00dxeUSWwKoXHA1ksZ\nrLjN\r\n=3tpE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd_1596187570257_0.4304199193746625","host":"s3://npm-registry-packages"}},"0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361":{"name":"@preply/video","version":"0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"878d011b09a3decc25ae0876e0094d0e157e5a0e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361.tgz","fileCount":495,"integrity":"sha512-r2cVXEZaGr2GKKDrxQkeKV01ojk0dPtaAlwIhCNlYbZwtPo415StiTu1veJBAa4FPAubN8Joo6hBUjSNlh3MHw==","signatures":[{"sig":"MEUCIQCwuWK9Z/ctl9XKscrGKfrrXWp0TAc2375C59rYtzme+AIgWS4hSWEPOmWCAVIWP32qy8uJ7W5otabFtd0DeuyB44w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27557939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI+jJCRA9TVsSAnZWagAAa1EP/iDRt7uW4yCD477Hdsuy\nSN79UgFrUMafIE0UDQOu/jNoDTvQ258gzNRIJyl+H9B2dZZzWT/N9V8eo/Na\ncaC2N1qmyAp/rIA+0sgJqOZ63aWLfF68ghg06xgEIbdsbTdhQVvXcql7bwcN\ndg9WPD8+n0VxbSG9RcgcmPp0vIYlkHrl7l9jJ2e/TQf/AtEmU2CpJB+DOaAk\nwig8mc0KAxodWElDkxjNsq3oLU6yFUiOfUdImU/gl4wcNPZapE9PZ91wpEoi\nUIvS+P1RJ0bkOZpjEzciovQI0BXs6Jx49I6VOW1rL4+o7ef6TcgJ1CIW3n+f\nOI6u6d5O5AuyWMCM+Ay8W+FIcRDMLVLayenPp/n5digpzsVMPqqIjtTb05Bn\n7tJIpv31KmqmNr7r+5n/LYU/UrucvDEC0P2AVDUtP/JsxmRj6dMXGBYTNR9X\naB5i6wN9TITOuX76Y/RW7HN7lYVcKDr3KSQCCOUJpVWz+XnkMcW0Stsr0iVz\nDzcSLNMh94xdkppGqgXSg8CjY1IYWg9VZ2h4ACj3CT79qHcpthb4Bisct0cJ\n2DVlnNFdg1UkM8NUtKaO25iLx7JFGxPx14BQOxWW46iPpp5qYuOVNDi31u7Q\nm0RD5U4t3BkSYtegwAQxK7MtQo4ZgQkFEJLn54ILIQzvLvEIDc0aeWeTIZ44\n00X8\r\n=Yg00\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361_1596188872943_0.5367476833054079","host":"s3://npm-registry-packages"}},"0.0.0-beta-78f262de957e650004545f8262b3637908f51964":{"name":"@preply/video","version":"0.0.0-beta-78f262de957e650004545f8262b3637908f51964","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-78f262de957e650004545f8262b3637908f51964","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5319626b0295ab54aea6e8975eaa012bf324da6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-78f262de957e650004545f8262b3637908f51964.tgz","fileCount":495,"integrity":"sha512-8weXzLe210VLgWl+2wtsy/2OOmqcsEIG0+zC1DjbMbUpXuXMLXkAKojRm3I5eRilN1R+mCMUr53unSePIistLA==","signatures":[{"sig":"MEUCIQDvXX6/ZeDoxF2Ootns/T5YxWV1PhSSMNVthW4CKR4c4AIgeVHWOaR03k2GkVzqNtFdXDLEtA3bCrUe9kzgS1fT060=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27560126,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI/MdCRA9TVsSAnZWagAANoIP/iTasSZyhXibIly2BEme\nhlI1uFM7Qibh/oap5SCMfbE4qBJSbpTk+rIKs6imS4Y/gpYKiDGGwc/amTro\nSXPRLasT9tRFoKgsNQkKEUayctee006TY3e79mF3lBbBmOqS6NtLVnp+6QLv\nW0K0PtUOQa7ghgh+doArgfPABQD0LObbMnwpf5ZtoQQ/Baz+RLlPK4FBQ3xd\ng7UHVsc+BrrLMuK/Omv0S4XS17WNWSCtwUudKx774zeBCz68xZ4p+Btd5Jbo\nulxs4U5nPHS89qTHcqcN35yeZIdjWbSvOZVOnmSAsCNY2zwXt8NTKbY8FZ07\nszKYwhKlvRFaF7QNee/CHMRv6dFcRxzDRRrhUIxIC+DhfdQbU8lyoH38ikHP\nmTPk7i+qB7j0IH8BYL/6fw309DnF2elsFE18yVIHG6KZ0yrn+3CAu5641K/U\nhtQ5EetgW+c+O2qVCuWX0lI6tQ/BmNO0u2q6b2PvvME7TZ+4+OuatY0YNi47\nTQhEcjP/khL64TaUhc2/IzMsRCyWQs0Q5JjnfiwzQ/YDRe/0qH9491U5PW+E\n/hTmFhsncTus4JBCy6K5cNNa3kEXDCcUM9vgxY0K4OFwNduu99YoSxGUrEdg\nBUaJm7ja4BK5Z7FLiI7tU9mLUAICL56X0MA4r9RcWM3PjVgzY3UIv9vK8vSk\nP0bY\r\n=GXWg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-78f262de957e650004545f8262b3637908f51964_1596191516996_0.25801577149992316","host":"s3://npm-registry-packages"}},"0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796":{"name":"@preply/video","version":"0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"efece1d6e5562e5cc47edbf0abba65c8a7353e3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796.tgz","fileCount":493,"integrity":"sha512-q+l+fpqPplbq2VAN8+njtUKPFQYeMntRs9qi0UIWtcxrF0lIS7iQGwx/U7Mu7A1VKVt7cVZ9dIhfezMXMBlsPg==","signatures":[{"sig":"MEUCIEPwWxv0tRRJkl2jhX/ivMLCa3HNfGy36815cxl9u0heAiEAll3cWRfufYgrYcojE47V/W7YL0f/eJrldv36hsVAQDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27524022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI/evCRA9TVsSAnZWagAA4cQP/0s1ZE9KX3ofo/kKVsq4\nF+9n4quGqVlWe78V/N7IrjF8KgAZmGjGND2b+Lde02K202UmIr2DPJwDdbON\nk7h9RpVZNH0r7t+y33v9Zo572FsKFzqsvX+6mDqiHv9Zza2wPTnw1yiJenpS\nvWiT1BnCNYk6JNkSeaawV3JsVOza65DtnUowb+95GeNnvkAyOYqykdyC2JAy\nyF533ED2FI49pB1bMluvZbE0ljK7b/6LP71F+lwyxflRowMl0sfr02pp+4XO\npySzIPj8W7YXejIyTQhATE1Sok1NPvOOpBrgt4zoJsv0BxawPk2l1Yqdimcr\n+YWcL8Z3SxpI6Zkbrdcznij67gXxxcsB/PSuLnvOUw1NqwBAddHIFxuGpvAg\nT4CbzxuYA+9I7mThADmy9yj2BQg8SnAAQzYohRAfd7EoYkcGdddvYVZEoHHI\nRhbyAgCzMauXCy57kUUdFoKyi6yp0JjYUUQb4aJOQE0BIsTRDEHzHTFO8mOU\nQE3xPSJV2lHp9kCwcxHY+uy8ngqYZNpLUAMNXXkSyOCus5yiUrFVjYfhPpC9\n8s13jDW5+89U1KjJ55HIl+YqQjcqpuBNAl0+YhXE/p9SQEPAl/qkpLVcjtYX\nYhmu2r3asoCMyNFZCx4Oam48KSmhy3unxYB9KELJtmwT/jsUgOqPYF10b1Xy\nkdC0\r\n=reSk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796_1596192687158_0.5169426792695417","host":"s3://npm-registry-packages"}},"13.1.5":{"name":"@preply/video","version":"13.1.5","author":"","license":"ISC","_id":"@preply/video@13.1.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b69c898ff4404735ea914a6f610a31c0b52ac1e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.5.tgz","fileCount":493,"integrity":"sha512-XP1kK4XxNDhDn8GUJdKzBKlLIKPlVNd66DbTuVzTQ2A5nvpWO4FairxA00ShqE/viy6lVltRK7zM5MCqBAEPFg==","signatures":[{"sig":"MEYCIQCsIYCLOcxN0SlxsX58RR7b8AWnprtt/hoYF88siRnNiQIhAKs8pzCK+/FQ0yhC4+s/xC3w1Zf0b7JxLUVn+z97AL4G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27516896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfI/5ZCRA9TVsSAnZWagAA31IP/iGiOLbL+swtqi8yxyfa\nqZv/7JmUUQ1UUgRRJmb8aHoG6G9XyUsO8YS0qRaVq4za5r7aUfqsA8hmpnCP\nJckHyL+fWTt/Bo1qbCkbXvib9uLqt/F+XBrd2cGj4YGMkPQkftCVLn4IPFh3\nxrH2Synu4drvy1R8pAlMJnYAypR7fpJgx7GmcdHygvQOBqVcDp/zayvDusuy\nsGhO2nPY5jDJWdX9FtQmTz2//XR8IGFKEs+yKYr5ez7VTZ2csz5JZqP/g5Dp\nuA4gcrABuNuDazTkvqBRjDqejkORQ4WpPIrZXcN4HmN/qAitODdzlqVjpLBN\nFaR8yuIuOBqWf3d3bUWkKaB1CcZjB465Ef1I4q6socW3xm9C3FuUMuDWerY6\nukcJgI4mqZ1U/E/sGaSrY49NMcNeDi2YtblK6KFhWm9dWP8oAhJ0ipCuqNSV\npKYvR/kClM7MPjypjEI3hGGpl1QOslN0qgEbNYvZp9cnz1PDpCv/VdMQLFXz\nFmwcOghFsH0JS6Iwg4SDrOXHVtmfcD1Y5UUvOnS59uZuDhjXkzaMWeRMXl8b\nR4VCHnsmVJqNHFZEsnayJuCu0jxLFNtDPAPml7cyLd2Y3MLpurHCpknZk3PO\noa295QdxP28yNoIXFP+NEi4aZoFxWXVySFDHwj433vAVBwbAphoAlmQiRi1A\n0pLT\r\n=vozc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.5_1596194392324_0.39405727589736195","host":"s3://npm-registry-packages"}},"13.1.6":{"name":"@preply/video","version":"13.1.6","author":"","license":"ISC","_id":"@preply/video@13.1.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"55df565b330b6befa04236a69aa4e2c2ab15b580","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.6.tgz","fileCount":495,"integrity":"sha512-Tyq40zyBC1CbU67tibv5c80HxPAzD3pB0uN9ywnIiIwgye826ZX7pfMr+jRk2jzt1AzM5TZWjYoVbBJvZis+9w==","signatures":[{"sig":"MEQCIEIOACKCKpguZHXgTvD1GTRptOC/106R0VXXhf4/ixCsAiBEBzuEuj4G/2cMifbTIa7cqeq1Fpn0iSoVQD4XdGeg0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27565921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJBRwCRA9TVsSAnZWagAAej0P/11Vmxl5gwPnwOdeeng/\n1S1TcxgzjKvCURik/KarUI0I8Bakc6lfROig90YyIB8o1oNkN3l6R353wmHb\n+yC1QVUlM2n6SQV+XVD+Iz7l5DAx0E0qwqdWqwbfRsGpCtH23+QOXZnL+vi7\nUyFdEbScUrF1ik88mBfH0dpPnQwKMT1V3pPgnnG7FWKFQRDjlw5XDyyyUpNk\nVU3gY983fvHWb1xKQMT4xmuxv8w/202nBVELDVmPo8B8kVtK3nlOKTDEhQX7\nA3A+/WDCs59u5t1HkU3EaGGASgPQdVyvsS1g1NbwW/mu6rwnoXEh2+MSgnzN\nw3bVfSwQMLVVhf9Skcjn7vBg1qvLSurFJ9cMw8S8oC1iKJInuIuayCsuD1R0\nONl8f4MgK49TddoXlDjk6hWlG7yubk2flR6ATu17LEMiZs51mN8Ou5hkrkSx\nXLFXZn/WFHpYP8YcaJ83B52YAVe0kMup4f9XcTIYMpbEB6X6mMhbz3vrQTdy\nAl0mO4mVvOTlYWuDxI2/Vc957RIvEHF0al1axsGU9hwmbI7bUdULURHsGvUi\n7q3o5jJuEDpoTFbvVrlyV3LZikaJVYeIlkVo3oiHzrhEWQ776GmLO7LEj77d\nn72l9PvBhVpgAt9d0PC3O2DoS5+4eDKqnSpLRfMlLsWb2rif+jkokgVE42qd\nnPci\r\n=DIDj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.6_1596200048024_0.25043911980854605","host":"s3://npm-registry-packages"}},"13.1.7":{"name":"@preply/video","version":"13.1.7","author":"","license":"ISC","_id":"@preply/video@13.1.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"bcbfa02055f538e996e04aa831dc84b400cb9e82","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.7.tgz","fileCount":495,"integrity":"sha512-oHN7X6To21h0fMkmzrUp1omSdpdSsjJFl9D21zDdx89hnnTmM/pv43oSnv+QxVeUgxIElI9sUEbLvEQjuU2G7A==","signatures":[{"sig":"MEUCICnLOBvmPd/ISoQXaEYJ7LCPOGe1gSjFfZOUq2C5sxxmAiEAirmj9jKytBMCdduEdNuhb1xKniSeOkmC2TRPZ41CJQI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27566255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ7OQCRA9TVsSAnZWagAAx80P/A8uTKQSPdfr3z42jQqm\nODgKacZZwTJ/f8ygTBydagNarNeb6ewwaCAEpC8rrJrF4F9acms65x0ALS2m\nOlKjdPKjbb3XFD98y5WpV5hQdwVjgvDG4sKqV4fOUM62/2S7/At/s0BlapPE\ngKt6qXuXv5cH+IpskdseXriakAB2Q5QhCv94qA6ChyC812Vd5NV0DcLf+JX0\njXuDSTCIJe6eqRUusEfwmGv2HBf17c6JXrkskULM+6UEmmwIHwuaWPDMctXU\nP+MDIENe/gc/szqkQ5cxMIPNcnBhLKD44W/nXXtqvwqR1bi0/RTASV/vP3iF\nmT16zV4Ke1JwR1IIh3oPSmWIbYuhgH+SLSFa9At5iWWSIcl/23dB4RQ1V7/d\nPSR3e5V+vL/PbMPTnEfMhjkvGMFYnTpwl3P2M6RcChSZvywZaJKXNmhJLrC4\nDuVFUuIV8lPBswcFNAhL8kttQnXu15DBB5DCu4+pkoNJanHuiipJujzkE4Rr\nWlp+61htEj/lMQncPh0WouOmH81Y5RXs6kchBcCmwVoZl8gXFTfTcpuR4yqp\nyilUeI3/2rd/OQIHhGcWJdwB67sUprbxCvyKBtjfopicuJvJik06+tVofTw1\ntZFuv9NKaOjg3uoiQaBFERdTVE0OafzH5CVhqGQsCVEIFGHx+Dfqrbx1xsPv\nkfjv\r\n=vS32\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.7_1596437391619_0.6915786338411032","host":"s3://npm-registry-packages"}},"13.1.8":{"name":"@preply/video","version":"13.1.8","author":"","license":"ISC","_id":"@preply/video@13.1.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ca025192c7c6be0063fd81ad7f2258bbc24cef78","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.8.tgz","fileCount":495,"integrity":"sha512-v/ZcMMKgPuYozTDlL/2HueufiwH5ZxtXjrRUwMrGj9gMf2986frrhyHaxU03AJju4YSonfap2NqF6UbT7Igknw==","signatures":[{"sig":"MEUCIBUIb5R+T/H9fGazQEZZnyBkvsS6Wei8TXO4TVvyATZlAiEAmDoD4KSz2wk5OuMXOBVQMZv7mQS/X44Z4HrTomNJZtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfJ920CRA9TVsSAnZWagAAZjkQAKK3fiAUvYIDD8VT7mFY\n21+ESeb4A7IWPBO7K1GPLJ9y6sIBfHSsKbR31kVPCBM/XDJfwOJuWi/Sxx01\nYQLxC9sW6Tj0x25oukznG7VcldDx1rvyfr5EptP3tSgfWRSX7Rz4qsHTOoF9\njSaZN3yyI/cIW5RLM1g0NzvqN+0U5QUydDkFFpjhkNdHhvgr4jbZ/5bjI7fb\noBddG42KXo04P95RTClhibzC3IyB+4hYyWaSPrbhp6WmL37wm0MChPiJtU8u\nJkXUJEhqL+tNCKotxjC43057rv4Ydyg2kTVfIA2orcBsriBXsZn3iJar2a49\nEq+2o/X0e2EhTn/w7u6bkuWCljvNsKN4PKIDomZbt9TiE3tf6VPkcnnTzbuJ\nCT60RD8XdH+No/HWrXmHrUBzGbQmpL+5kWR1bKeNuuO0cBVy8edUSwSN5NyP\nyLgXs5oKshHlnpH5TjINOVsvSOZOSo+Vo/F38eCVpY/okvJCogbzOtJbpIt2\n1eN3tv1qqpbBzaWXNGaSKo0cMxOJKBk7V5qPa5TYIYo/Udpp3qjjVvD+SOXw\n1WdgbOhfg2S7X1plw8lrwGSpWMBjPsvqXidt2++3qnQ2QFyISqRCsMthZl7U\nTw2oGjWvzwIMAgTsPLz9a3e54EPf+OfQfjgJhGiG0KUKxvkChSOH4DQtMoK4\n237U\r\n=RqG3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.8_1596448179836_0.35237299261005384","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79":{"name":"@preply/video","version":"0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5181ea3cab35923401f376baaad05f4336b04f62","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79.tgz","fileCount":495,"integrity":"sha512-DKzNRJO5sD4xIFE+UP1XnfKQri+7fDXekYmPaO29VrvnX36Hx+Ha769M5/sFUX9DNLaYy/W/ryJAlcyIlaYKGg==","signatures":[{"sig":"MEUCIQDFmkvlH+JRXislInEZ24QcsCEh2LZYguxYB4Cc5R6jwQIgEiSwrX5z876Fj+/RN0JXIgVNHHMd8GN36//xtwicgdw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKAcCCRA9TVsSAnZWagAABHYP/1im8tQdOqYx7l4UZ2Ei\nc0W+hGqPzWc5+IefNCiKpLUso9rIdPlAGE3k7Y8mHEtA+PMHyJKCvvSB73pF\nnsslsZFmmHgHdoBu3tWJTAISnr0DiSdw3TGG3rvFKChAn71MIUenLzSx2EcX\nR9iNRHxRgsIx6ANPUgV81TrOwIDdXARFxpEl+nzjdE3XoQe0g4t6B3tpb7I3\nOYm9FNZIIjQVyT8bTnFalwJTlOQb08kEDt8njpWon1DzMYTT04lQWyPqrXyL\nbx/cgDu3UH02Bbmmlw6MXuEVFHkJKk0AgwXsg5HAlrIupgDnlAgn5WsLq8b8\nHj5ZcWAFGnOIB0u6Fo+Qh++YQZ4OcItWns/ZaikDpI5tl2n0Jupa1n3/tDT7\ns6a4WziNfRBZ9EROke4AIAia+TCEvtsxgwfDUDRxgB2pJQ/ZQS+y44g+sOJF\nELwwheMWQUJG6F4ccObiMiJSYtwWCd7hS5NsLJ0TcjtnvnPEWHx3qXjvDJof\nefqRN7E+sx9wgvEQEb/2YlvWEa+c6zoZ/A06YaaWK940/lWohHZ+PlcJnSRk\nwrZr+/NhTcCe4IuysAT6nvnwplNWFQfP8cN5GkpaupI2LAvNmuTmoun9eVVf\ndjEXS9htfV1h2gzisYb60O1eKzmB4T2EN1j0N4NpT1pAcqGa5vgk9xqwNN73\nEeKG\r\n=GTE9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79_1596458754188_0.4424160979627374","host":"s3://npm-registry-packages"}},"0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1":{"name":"@preply/video","version":"0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"00e081323cf450f6a5e8cf14bf55cc6fd622fdc5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1.tgz","fileCount":495,"integrity":"sha512-R1COgPqIcry3c049qtkrB8sCD+8TtmQJYUq4+Z9acj3dgYvs01VwC4UR2ZedNBY1wkvLa3AllYWWZ4Nm4PndQA==","signatures":[{"sig":"MEYCIQD8RWzWb8xLeeflW6Sv04P8MgcZ4SPsJib+wMwO/hzvJAIhAICbkhJlBg3rio1WZ5ojoOAXQHVydUwOW+ys2dMohvN5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKA+QCRA9TVsSAnZWagAA3JoP+QBj00VxVaNBUNegVxRw\npldwbAP0xYEF7P0rdQQO82m2XrEF/sxSs+RTM5W6aPT8AFuK0s65KuCB8phD\nkOt8KldfA5yZNToCbMu8k8KII2Y89na4vQWQT14Q0OPsfkN6bK4KUZZys6Xq\nql83D7HKEHRjZ4/FjKXxzka8Z2icDIKJXmt4ZZEtKy7zLOwks2JShxaMsXrW\np0WMsLRvNpNw/tK725t3aG9x5LhZW4Hej3qqEvWJmSgOdQK9JnQzRXtUaakc\nSwVKe0Fj1l8Dr00EyI2WxdYgOQWE7aPt5ztLLBewaW1IOhCje6fkXO8IuJA1\nqVa+nWmLKRMDuuGyHjTk3aZ8jBkT5ZRcJD4+DHDbs7V4X9CDhk+VWKRpJDez\nSFHMHfIKdRGJaSF6EvIG2n7zCv1YsLVVTNI1SgMz7ivF3xUXBL/OGqFXo2VX\nHX1uUm8b3Si0rZx5HkZ1hqdZwDc2vMq4+LzScBOGPGevyNFcyuEQyun4UBgg\nQC16vFftwD2GmLJFARc3dHBNTfjjsBcok4p0mNtHnm/boZH3GUTqR4g2M2yt\nOl+rq18c/oejbh9Dfze2oHrv1otq9aRHVekzrrBWqWfqHHD2IMC+tHvoUzsC\npta2xiF5hlf3jFtNUj7yy+7bVzL+3X9PKO1mzB9MgB6BrXQjw2hL4e8f3Kwu\n/53p\r\n=MAt+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1_1596460943638_0.9326950990386094","host":"s3://npm-registry-packages"}},"13.1.9":{"name":"@preply/video","version":"13.1.9","author":"","license":"ISC","_id":"@preply/video@13.1.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9524f501fdb9e04c3ec80b354a6d8b798738cd1f","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.9.tgz","fileCount":495,"integrity":"sha512-e80HUJWMPdgyqb8pcFDdQxEqHgbVS600+FBx+WjwNDLJ4Pd/rjIiPu3bdEUKB+VLBMxX2vzig7woBXaG6UzL/A==","signatures":[{"sig":"MEUCIH0AgO0yfYwBVcURWNMwqNy5KgbQIGhzBl1yNfE4UhPlAiEA/KhM2wLOn7Z/6HX1aj3s4+/XQdsDNjey6Sw8qXrGOz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKQUvCRA9TVsSAnZWagAAxZYQAI35DVjsJAfUuJw/AY9B\nc6ITzIoArGXfzaSgbGiH+yodgNI8KEKJ6LSUjhagxmsDi9zAHXf/MyckZ8pw\nhMcDj3JtZuRMENw/n9KtkylFy5dmqCu9c39he1RJmiID5YiGVDrUj/06Jig7\nq+i29jiDyLZEXqsvtGrZ8P37BdegT3B/7RAjORHYhoASe5C68kh6TmLijE8b\nESNmNLO5vigF6cDnvvW3zxmcphscTQ1Q7YrlGRV617Pp3/lJ7Rl1MYXe0Gla\n6czqXG5ubtPT/6xGEHPYXyTRUT4Ds0dtB5v8lrD+VsMcEh7C/AZN9hQMuKcI\nY7VGxbf05h2EwJGJFWw88WzlZ666LrBCpjM1B/jvb4MO9W0mxbWP7KHDJio5\n3bmyepxNuZqyXvJDZ6GP105QTN4jNXb+MUHD15ndlvc95+PRQdSHSu4wiynQ\n2DgXeCvcSMJvfKCCu/yogv+lPo66HbK21Nx7XD4oWZZ3eNh2tWBocSIGMKhI\nHTeUCoTgJyEWNRKDvkY9I5PD9f9uzFW75nSu8ggxaIiWO3P8qjW+jmt1yGe+\n+691IU4DmEfMJewTswWihPaVLSjLDUZQCMflUq6SX24ACL4S/IdDkJ3JqGKD\nQu5XtGU7NpV+Tl6IAE34JEqaq2FEf2406v+S6utaaM2g1Ecw+jAKNgDKYMJZ\nhy6J\r\n=9ahN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.9_1596523822437_0.6236956840284757","host":"s3://npm-registry-packages"}},"0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427":{"name":"@preply/video","version":"0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9185809fbed65ec0086d103167b36f36a10776c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427.tgz","fileCount":495,"integrity":"sha512-ASPnxrj/qKgKLqAym57GQbU0D+8O4ONgWkt62A5nC43FcaaYV0gkDBtqR7ihzCXVwk43Gxz5fGcaSQrXVDIrgw==","signatures":[{"sig":"MEUCIQDJBlF5Z/hhsFea73Lk8zf8uhpaj1N7xI8bXqOVxke7JAIgZv0Jnawkmde0pvG2NwOheG/zZfqiXnUtemMgsmR4f9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKUrgCRA9TVsSAnZWagAAwZ0P/1mSUV1C6GzDqIa8gZIx\nwJG++VqZzuebiFxDSPUrBeDmYp4193cwaj7MUKl5oXwkAJbRkRZkK4MCVolG\nPyWD1O78ocbYuejiYCeCZWcdPsvxmyizY0/tEgtoJIvYrxG9D4AV6hC6+IuL\n0S62uEPs8Lc2O19RPjWuRnsxjxsy6Sk7eVNZsYCLs4VuSgnfbuN0uZhi7Vq3\n49MdJkH0SXc1+Czk0ykFCSsv/vLYa3Bx2qVaZnp3++lWgrzrwEM8EIwN1vHr\nLY1K9FFQpHCmvgRpcP3OhdoxYd/RlFKDmRDNhRpw1JOt1hu8iV6wkc/iZVSS\nVmFRKRYQG7ucbRxYKBatEDbeThlpS3UFHhj/youik54n6iqwXFYsdYPm05wx\n3VbP1fXTUcxzS1wHAi7Apo8XUkT6ybSVQr3g1NuTfpBZ2vaZOUulJhuIULwm\nyI5wB42Zno63Dh5X95RSCzsJBmZf0hiPNTQmdqMZ7LdkMMnFJVQ2w8pylOpT\nnwJ+OMOPvd6BBx5gjkSCdNJ7FsiI2722yKAvCqvxc4aEswLGvIn3X1o8wJ54\n3zcDaiVzDmqzZfIuWIxYmr9evoXQDVv7nx3oaPDhPqAtb/pyqP8UaGm0Ef19\nq/LHfPDWlPohIMItbbGlx3G2dZM4Iaanzsy/FZkj9QPP5ZauPJJTi0vdv9qw\nI0bZ\r\n=iefc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427_1596541664104_0.5771439310456465","host":"s3://npm-registry-packages"}},"13.1.10":{"name":"@preply/video","version":"13.1.10","author":"","license":"ISC","_id":"@preply/video@13.1.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a3674811364c7a00e9802d914d200a13a6cbcc9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.1.10.tgz","fileCount":495,"integrity":"sha512-JwddmIKDZrOmgYUSg15qvmEZDS6HOhVpRAMv2hlx5KW5Q79sGkG68r+Ru4QOBaijJ5+gXJmyCi4VNx/M3PMDJA==","signatures":[{"sig":"MEQCIFfHGJZbHlcekhxsPwOndSyjsN42RI631mCqw3v5B7FFAiAntOjN3HCMya1W9Puq09U9N0LWVBGsR3wdEGF30SQqvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKVdFCRA9TVsSAnZWagAAvB4P/1VhhFaD9HvefW9jXz5R\nNGc+QkfgO6HdPHoTalWszjHzOMjvuONjChahxeNEkzJaqxT/r3kBxjJEhgsW\nv5qaCWNpHSSLXXldNdvgPfZUN7TMAqRzfjzJkPyUL/MclcaQe/oCotmktFwz\nZZ4yIsj1ajHumK4anDVBclSB/KQid5GH668ibkdEKBvq6UHZ9SI38CRkfsHo\nxO/NO6drFjYF6v0dhA5Ti/84Qn7ONy+5fQWta2/Yx4st85eBi3Ls+UICZf3q\nzsrdMEe4qS7aFQsykLn9RPFgP4zOkXBpiDjnMhWaaA1H/3D4Bissw9LpSPNC\nPKrZrMpkZQVp5WWKerwQZAudnSxvmgAnULNejB6t3yqsDqm659C/mXM9t8Pi\nBuUObKEV6cOFd4r5vBKWCAicJ4jRikjqHbSZ+VmMk2XYg/If8uX1hkkhlqFi\njT0OH6Lq1bFbOpFT3qu5iYpoFqS53aOaNz41N8UbP0KwCNlsKbqHxoZwUgWQ\nZ4/qctnijH7R4SS/uilbV/VrIgf7R0IDdYfjtoAjrFiS3mJnbZNDqwpY4Ndl\nUUgEpEviKxFUWHe5OIxQBRjqftwA0fsICtJraQQeFtCvqdQV4kPzrqQDKmBu\nWPVEPtnJdS+NqVP5M1/uouctCkPs0QhZeQsb0IM3ioqIb1GDyLnpJ0mfQVIk\nrOKD\r\n=QuBM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.1.10_1596544836646_0.9242279549393007","host":"s3://npm-registry-packages"}},"0.0.0-beta-5312b7935013544a88b644868465657895fd3518":{"name":"@preply/video","version":"0.0.0-beta-5312b7935013544a88b644868465657895fd3518","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5312b7935013544a88b644868465657895fd3518","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7b32bcfa76f7f5090fc4a3741600e2385d26f79d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5312b7935013544a88b644868465657895fd3518.tgz","fileCount":495,"integrity":"sha512-YxpzrvR0aAaMb7SlyY+KqgkFJJ5rII6Hgna5LFITUcGzD6aeqZUy9UJJ/ErBajUFiHrhYxr4OLR99XyLbF5F7w==","signatures":[{"sig":"MEYCIQCVJ3UxGIh6EWJzHCRzGks7AhV/BL4MUJ2wJHApRTehWAIhAN+gp0DT1lKXllK08PaIoNGkBicQO668GmQAIVLfe39P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27567560,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKVpyCRA9TVsSAnZWagAAsCcP/0/MFNsTbTj5rLPHLjPQ\nQGwYSvSk0W6bS0UGM34CeWRITC1Y5u8jLhtHyCLEYudGg9XirGEvGkIcRt/N\n9XH1ESTC80ns+/ae1NSzbNjVTBpwD3Cw0E3Iq0M1QPT5XJ5+fIvgu/5S6WCr\nrOkzfjzdJcdBwYq9v59pFTPEUwFMjFNXXEXU9AET3a+Wd/2g18/A4FJwI4SO\nLij52lUzY+zHh8FysgJrHq1af0OkwElSr5MFC/whp7pdGFEGJX7utZDnVyv4\nsqSIyqnVQ7vKvjdsBuVG4ZOAG2ltnMEj3uCU/QheKkKTpfPfjnZ8WTr9cwAX\nCqoqKH1yQJXk1Z7E05weSwLSeXhJzdaldWlq0j/4wetNxEy+mcGBXWGZ91N4\n4+H41T52K7VR3br8Q76NOdRgDq85JVJL/Knz/PTm/gt2H0HCs0K7yCgL6fvr\nXx7jFWrrX0JgkhJC4cZIgF0K1mAvSQ9iU++41C1x3Z8m0QzKuZrMDyxZ+3FS\nQQSxVKtsEraCB5bd06o1dbObgkXJB6bHcMm1vvHGQcDORM6a0h7yV0h1Nhj3\n2y7E72XYrY1EKddS2rOGt+HWjXzNAOcHVvWWaD5G/uCEHMeBM3mXJ0Q9IXC1\nW60+ti4d8f48cjTw2rUW5NqnaE5/ITcdftvfLDNlSWBuFRBO90UfPAulG2/f\niFbD\r\n=F+Ag\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5312b7935013544a88b644868465657895fd3518_1596545650052_0.7032552768795766","host":"s3://npm-registry-packages"}},"13.2.0":{"name":"@preply/video","version":"13.2.0","author":"","license":"ISC","_id":"@preply/video@13.2.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"bb242a371ad78351a6628178a9cbe8490665ac73","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.0.tgz","fileCount":497,"integrity":"sha512-7n/Ls1eBW6qyhKi44/aCSTvs40qFuohBdPEaQlACfFmrKhG9b/jEQcrjj7pHh51mxvTyHzxq3Mmmz5goGFgmOA==","signatures":[{"sig":"MEUCIAzJMO8UsUO3yfl9GXY7EB8Ofi7F8N7VsOuORJ4DYwT1AiEAo+CtxyiQtJWTPR2ki+qInLRIh4gRi0P2edxQkHcQJxA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27766362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKWU0CRA9TVsSAnZWagAAIAYP+QAF+3L/k3HXDOLqrJ09\nquf3zZLpBQW0GPr3f6YQTylfpmgJdGyelb9mFAK1Ye/qhs8DlxkxfuVNo4N1\nwpfTFdS07nMfu2NKGsapLSCLT/ns21SJZC8fR2Gb9uQU1qIzTuQ79Al5p/Hz\nfGjuGc9U746WCJx2R+33KUOd/gVgwHr9pKfFewkp7X3FKWsf7nNWHmEiPQ+9\nREueE/QB9BZCeATRYqohC55xkslPgZuEEA6bbe1aFXgKDNbeK1Y4w1Zv5Ehh\nO8Hr64MQt7zQa0RP93IJWjLGd9iC0sjJQpgHDzkz9n+rs2fTLNq2hHf57zft\nRVJLG3d6fi/797XcVJBKw5hksnk9LtsRq54g4OE6xUBG3YQ05uSKj+LW1jbq\nOxDmMGH37DwjgmVPmGHrO/Urp4R/8KTRAEBOvP2CYAMtCeDcscTW4Tji1GzH\nSBJCJkICFG2RLN3PjD78X8h6HkqJx1ktvnlUlfAiu3tyiMJZFJEbIB1rCpOc\nRUtair6kq7vBNTJfJD7eLjZjR3PUto0nskVFtAb9u6u1hztzv8y3JtRpKdY4\nhe6GAz/HK0o5u4MBYeMJlHWXZyzRK+nXRtZR9Js8kGNEZXKHntsJgwBEWgMI\nn6SasOjezATHMvIEw+3tZUCNZQMCb3OSOIKserL/ZcQS7Dp8rqgXVzca1vOe\nFIEl\r\n=zp7N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.0_1596548402672_0.8391639337839667","host":"s3://npm-registry-packages"}},"0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4":{"name":"@preply/video","version":"0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ed64a3605826daa89057cf39611fd0340fe8231e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4.tgz","fileCount":495,"integrity":"sha512-EWjgzRtw5kckWgWZL17QL+0tGfpXQDuEEKwt5Xgr6rH8yV3Yp1LvquA9aYI2WY02y6kBy/Z6R2S9KSEZAVRQ8Q==","signatures":[{"sig":"MEUCIQDDvzgIixWtMm0qjqF7oy/EOwy+MOFSR7FhdKaXyyciuAIgUIpM6MXDcib5wxTN2aIh/x+G58TU5OcbKlY0QZbCLUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27571644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKY0lCRA9TVsSAnZWagAAYjAQAIL/aXzzgMZvo69JZ0c1\nFVOYHU7aA9r4RKGEMjzUUSfhBY/mcMRgvr9ca/ZgVi5dbpr7JzDo7bss8N9i\nkGUfXa8oXjt7S5WzJhx8Oxd8WiVsmrb/B+POPerI9QKAw86wNUotJD313lLH\nj6LrLe/pPUT8G4+aPxGA/vrW5q96DOv4oMz/pYKRJPHhtDSNRLmtxfZu1mgs\nTzK8eFGP/wWQuRFCRExcF7Hesly1C+CJmD79sTfRR7K/zoPhE3YSFe5mxDnV\n9ECTmFkPhvDf9l09QbXZ4f8sSPKdzkrQovEoincw31c8fOkNj7/r+bjUaFJk\nhZpDaOUKLlQy5NrDybu6BEdPQeKKFQtOIX022mgBpJ0SYlJsECzJOGQuh8I6\nViJkSnWCCWpx7+qz7WbLmWRY+bZQPFZA5xShbhqc8tqdOX2Fbi4xPHsFQOJS\nxod5oH/lpusI3eFtDXQNineEXoldVhhtr49NJG67pqqKaT0qwboWsA0+Kl8v\nAmFzh4fylkfsCYc36dsICl52rdXvjFW2B3YeGIvUA1DGPdk980WrsWqGTYQu\nCPtPUxuRHUMNV/DJQRCO7iXT7Aw+7VYW/Y+u+To/QGDOf9Kb1y20ee4KwmXX\nR1MOz27DsC6JejV0RYS78SPVyIKRN7o0LytK4kWZdcXNxxC2dGKyMmTnucDq\nidEe\r\n=QjsI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4_1596558628725_0.7856898842311197","host":"s3://npm-registry-packages"}},"13.2.1":{"name":"@preply/video","version":"13.2.1","author":"","license":"ISC","_id":"@preply/video@13.2.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"526da2fa5934bfd1c5dcf77e6bab177bcc557ea2","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.1.tgz","fileCount":497,"integrity":"sha512-8ImsM8XJztT2V7DCDA4oH/z3Z+HWcRtk1amD+kMTXsn+NPzPxxJ1PtzLXzLLDMCwZ2BorEjFTgQP72hOVd1aDw==","signatures":[{"sig":"MEQCIC1VG4ejZDPBkEVExduKzFaW9jryOPCMIjimlM7HF5fDAiAjKZcv96s05o8GxDn7lmeFsq4/6sfczd/s0lsFGC16Yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27774762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKlsxCRA9TVsSAnZWagAALEAP/Ata2/IyYZTFki/OYrM3\nTNOhQBH8UBzQq8hGiZjIXROrx/u6aX3SzGKCAkv7nrIb87sBgnWmMhZ/Y9+6\nT9CwEfEUqR/ldE9MQ8bd8C4WUXqDGMnSg8uFAQQGp6H0J7O0GhzVuR7Ha7wM\nniavZ0oL8cqCxS+WrvkXVD3oA7NZvhFjel+TeWL7Ep0SzCtZMqDv9cefyDtJ\nOVjwshm1RpnamIARxaX8TOQyRwK2PGx0RV/BneSqOCEHYrALwygHBYapOdWK\nObV5BnKiJJw9VIBlxQdqbjiokacYnwYhC2jI3hgu9ZoLCMBfROMJ44L0uRCz\nzf/6JzGLDyBUAbLv8lbQYwT/ZWMGDybGDTaUcsheGd3QCJnytZhnqHhlj3st\nuuh0s1ECbXE4s7fQXzlabOQ84PfSyQrq587B2HJ6Qvu6V9q3LoHTvUj0y0c1\nhMG9SuMuRdY/GfJ6/k4NNyDc6lngCb9gX0JSEENTD0RKFqSK/7uvzztLRGPU\n4jNLO5bUSIIBVtRHHtRjm5j/aIouwZascGi/psnmEWkV0jKp5NVy7YHXQkz2\nHy2FidmBAOxeszunclsyOoev7F208BI6kDJXKJRbugQq9k91d+8cXGR7cdcQ\nA27GXeA5CsLZHeO0CxTpjMd5Vf1UKtTo4IDD28kXFjFqK70bUxsB7drpvGCf\nVaiM\r\n=XAXh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.1_1596611375835_0.6715290268323095","host":"s3://npm-registry-packages"}},"13.2.2":{"name":"@preply/video","version":"13.2.2","author":"","license":"ISC","_id":"@preply/video@13.2.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1a17859ab49b52288170e121acb663ed25ec7a45","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.2.tgz","fileCount":497,"integrity":"sha512-Sjc2Lanl60z7Zy3PXPZ23BFsd8ROAhupZ+Sl9kfQ9XvKyGXJRKgJLNYfMMTVgp1uy7D92kVQs27LmjUx1fXJEQ==","signatures":[{"sig":"MEQCIC2wEtDPTOekb1LnOxZNAK/Ww1YoMEQT7zsZ9bLoKr7+AiAyKjT+1gaebiLf9t7t4f83hNU17dH4mic4kEpVwSFmeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27774885,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKmmSCRA9TVsSAnZWagAAAJ0QAI7KD30MyBVmMBbyzotp\nUMi56TG6498z8u7oN0rQCxrgFAr2tqZEZoGKCEOk4n4ZXROAqNg6K0mwMWAb\nJEnwjZTmYGnls6XNR8AIsK4CHKzj7kL0PN5LvHEy/8O+YjiyfEYDs0HhDWqi\nN8O4I7PaB7MEhyh3N390tcYlFizti6rp62YxmW/HvGFR2AxApUcLdI5kiGac\na5E2Qid364ASWRX/kUHFMmARnEcRT8EZkkeizdMlE5iHVC27dr2ruti59fex\nNqXyHv6C3xIgX/fZpI+HlfhPX5ucwHOyzOIzsZ7JoQbuGMFTzBCdYsMS8ynX\nEeEbT/TiXoMx9tzBh8tVjVV/4bNeDn/Q6OLbUEOpbXMR/HRbgbNZXW7lagGO\n29HNdM2RZ42cIilSHdomzX4qu7q0Lxy+lNzOcymR7JXj6Sl3hXReELg/uYkm\nLDwvYSp+xdJPjtyMvvZONBWZzPfBZbUoxzxoe+gpyFI9m5+nHtEu7EK+nnDQ\n+pftMITpsLW+pfKsyJRMO86wRFY4vreCveFbWYhB9tgc87ZDY+fgC73KTXQU\nufrd3W5mdSxEfc37xjKzuSYcG37s4l7YPbEwxI4DoJsyQJUsGqwYgqd1vuIY\nYZMy5W9MPDXchTK+VybuxIYTxGWYHah0fkbhQ5exwsFnkxVLcelhfT8yZefh\n4PIT\r\n=0UMc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.2_1596615057871_0.8295327047667072","host":"s3://npm-registry-packages"}},"0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c":{"name":"@preply/video","version":"0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b3e730f8259641a7e5aef28dfcac28d5d430f1cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c.tgz","fileCount":497,"integrity":"sha512-J9CcNz77hQEOrhABQJMaBzwPuLZgF5iZpM1Dk02CSjvP0GVCqtJJYX39iVEPuHWmvirkrAMH1aADI4pDzrbLtA==","signatures":[{"sig":"MEYCIQDujn2qutN6QHISbEpcd/TW54bq1huwINjWSKkHqlmb7QIhAJUWPo9o4ct8jnIcxLfYzKHQgMERjB7VUentHNtAJuij","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27779464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKokbCRA9TVsSAnZWagAAc24P/0cTMA5gu/pm3cfwEvdE\nPq/EGYsHQ4BBvL86D6TEN+Jaspl7gC5t2F4Ur2DLDLo3eWwjFk1ym8paDgcL\n8XSGFGlXpaiwQWfU+T5+ibdOUf9n7A/aB4J+d4J+MvuLuE8srC9bxAjDu+VR\n4/DoG6uL7PgJUlZa1U5twMYDvbW8yxxbeZtf4PzttHvB+uOS8QUbsUv6fR1l\nFao7+q/Fa8qd2XJzf4gDhIihPb7DsmfNARf9oI1ClHF1Lx7gE2UtdWTo83xg\n7mbClDMrofdtovk5hVAepQKuu2/gOjeUcVQgD5jjTT4GtaFGkEH3avtJcC1x\nj/gERNMLinh2UeMQ9IHDhOWEpr2hUIvf/bHPicSMXJUHgI2HnIjTVyTUDWUR\n5z6DkkpLQTm230WwibOonpDIylcQZCwzd3p/zlYOywd3RBwK7aydtQjjRozR\nueWz7xao/9Pf3RmGNluOWaGCj+j+bxW/vgq+kaL5eBeQldqfO1KV4TbkfhPa\n/1WdNje9+gj/XqP6wea9pqqdwNuQeTGYJCEzuOY6f7pwe2cYzS2LTE+574ns\nVzdNHz2Bf6v8Q3H1Aa2OL5N8jauXJ5A4iKFeH2zT2rHvRrxMwpelaF0R6dPq\nQkZQiXwu39OKymtb8TIlFh3/WBFS2AvA2UNqhw6khcA++xgdgb1w8PALKRQg\nnsM2\r\n=X/hC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c_1596623130709_0.4400266070275487","host":"s3://npm-registry-packages"}},"0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e":{"name":"@preply/video","version":"0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"671dc6661c7d322463c5c88a74f4ee31c7314b6b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e.tgz","fileCount":497,"integrity":"sha512-Q+kSVr4PRofsl7mIiZpEY38eBfmyr/w48siprpwQ06itSOn0mQMN09jOgKcZHdr+JgOwrzrMgI2sOJ5Bq2AoCQ==","signatures":[{"sig":"MEUCIQCxxVKS2irnuLqDVW57VomRdgbcZcz3q1jseaNf9OgQIQIgWAWhwXKuxywpDUKFgMdN4tYPLYZfI20q/W7P7RRHObI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27775590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKpLtCRA9TVsSAnZWagAA4AIP/3LMMT4Y9hUPWjfTgOBz\n3J/vhWvmYrqvCIOYUwvpF7KSzH1+JX+W+cb+MUkXibAyRBx4ux3Xlnv3zerI\nId3LCz1zS4+ZcwBUBZqo3Smg4kVTTYX9BL/yDTIKW58UyQRMrsTpMZwbTSl8\n5QcbxbDIzD0vxDJOHmmJUm0zjoZ9AmGdmOpAktwge9TuQi7G/U8G2NHwbPsO\nZesf9vAr87y4GywxW14VznOqVfn/ak1XOYujUy17v2F3D22s+KOgz0ATX035\nwCcSb6EE8lv+G4FjZSXUPPTgSSgWCWKxnyA5hVVZEqAMFfAxtxEwbdby/vUc\nRQkyqYGeDwM7GahXRqjnKrWJAtIfASocVhnqQFQf75t9fQHMSQxahrcueJII\n5LT3OQmsnmy/m9TTru8/Mbi4lC4ExNen3ZaBHnACU/Nga41PyKPWqQDmgWX8\nDs4lIJvJpYKwNzUJ1EJIRU84UMI+QnebwkCQeg8AFSu6rVDlQEVWUDT+UHa0\nRdaNmS16eG+DdWIYB1rWL5sROPKY0SdnQnsDS8tyXkUIm0nSVTFInSvei0o4\n0q8bThwS8MesZahng+9ctZLymtBxpxtSr2sgTKyKsYxet2/5EKIozEfYPcAj\n2TTfXSYu8MWXXrQl0GmDiPSDKLHCC8CokzD3qs+85zbORjzH4qkAifdp/Tnw\ns5zS\r\n=s6VI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e_1596625644547_0.812909182130233","host":"s3://npm-registry-packages"}},"0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33":{"name":"@preply/video","version":"0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"60ff20b47e7ee4fd2c8a1469e4f7c847ff001686","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33.tgz","fileCount":499,"integrity":"sha512-0cEKJ2m91GcwsePoeW6n/n9cVexKkp7ruEwpLaIZ0GD77iwMrENX9PObJdU/5t2uBzPu7jsVZYLSeFzgId02tQ==","signatures":[{"sig":"MEUCIE2gPnzd6G4Z5vCgpdtHUyVnH7+D38Oix9OEmfviFl6YAiEAii+iSR7lM8srue6LUJzmh2jsiyrflAnWqvqwu3hNnuE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27762878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKpZPCRA9TVsSAnZWagAA8RcP/jR7hYzhIPtdqs0Jrh65\nznR9DOA5UQTzk5HE9R3sSVt/mLmRN3Wkcz1usFhPiSVC1+lP+84WsbbiR/VD\nMwQWsHRz+mZtTAXEdZp43cvHGBZ7lEU3OHb0BqYXeHb1Zh41VDMietky1dgY\n4VD2h8aZRfYjwitiFC+/Nlsr6LS9tG6aXDFtmw41J56Z7i8vQgtK8YpmWYkq\nSeYJBr9Ss6/GbMwCepYj03ZyFq/pAKyAFtKM7fIC2YANzkABAbZNIwh/8s7K\nRLjMHFVAXhmPr8orvA48JYLJlNMTJB2QUxLYdRE4Lgm6IbR37VSPKt+INw0U\n3pJXm+vl5b+OWOwmDi1Liljx0F7y5Co74Ij7+Q1mA4IbfJGJrgBpDId+GDeb\nNFqUmWAhMPKiKv4+iFMXFb54pJ/sbGjD0nDeSS2pHQORR2bi2DECttdy0FDH\nmeTEq210cZtgqoS1ITuIYe+MYXSzcHIuJns7ntPj7/VhoFyHXnSIzwLAQzhZ\nTAVuHCyw1PMBpV0BMXeBun38vQAzuuBOQSv7h2QISv9dbMrdSoIykKoZ5RQS\nO1z1vjfw3u0sgoLiPLU7TUf/Ex5wIfzMXPnsutj6uPeXg23O0uiQXHuRFB6g\n8hGPMtXgIy5972G32bl7YgJEdneREND3V8ooTdONAf04kMq63khygwmrRffn\nZjhX\r\n=hSGx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33_1596626510367_0.7005161710744885","host":"s3://npm-registry-packages"}},"0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c":{"name":"@preply/video","version":"0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"049458ad5a859173fd4445644bd51f2bd8301641","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c.tgz","fileCount":497,"integrity":"sha512-WRCp0sU0LvZNrIFbjtmbvwEE+vPGQMOrhQdMYaP3e5NZfjhBqlxZp5VeRbvllkyPW73BTMFeHqLjJDwWlJVJ5g==","signatures":[{"sig":"MEUCIAPSam+lTIR3jRtWdVvRhtw1R0w2hnGH9iZdpIald77SAiEAtCXfD23TLI2plRanYKWAGpRjV9XH2tovtS+0TdI8an4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27779464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKqKQCRA9TVsSAnZWagAA/f8P/j6sWCMBCcRRRMHEhChq\n64CEj+3nGkeyhkmOlaABctFKuth54aoLR9Nfx/ZO4MAPRtDQpTms5XAvAtKx\n1RSE7psRl+y4FfMynAl2G4p3uePvAJ204yGeS2uZSn+/8eBETLXgHlxiBgiM\n+ilektgeWPlqbD2OlV+4BXIv7KmQP0uU1yrm4fs879+/nKm954ahFCC2WAfM\nrMd/fCM4EGJ5/lKE7/MeI7NwtTnur4EqssanIpyv/xklQNWT3R0ncE0pn71/\neuawmtf+E4jHmbBJKqqChqoLk7Zd1MdNll5B2vBLGWx+g4sKPObPLJ97AEUu\nTP+MErReEi7s+87nx7FS+1cg2+ulx/cK51Kcr2uviav74fncu4Z9c1uEZM44\n/Bv9dOGBve0UY4cKXBJds35D+/sDbiBzTUuWU/K7xBqLI1stjgfKcAAHvc+M\n8lvK6cIDcC00USS/xfmWYOnD4TxanP4WA5rBls0ZMFJtUwKTzU2B1mEBs8YW\njpbqtd2rSYkYAFYKesGGKKBn77qz8C8ayAd3t0/oviGzZHiHOEEgzneSopbL\nONyqRMu7moqoAn25PJWU2n+SgMqcsgGT6kvwSEDbixwORgnWUgHVit5S4Y/Y\nY2HkGItkaV/wyBILrvuZaRJtY8LZJe1GG1mhcwXun+vlQ4Z3m8tFY0Y6BJk2\nRkB2\r\n=S3zE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c_1596629648067_0.8092075238893266","host":"s3://npm-registry-packages"}},"13.2.4":{"name":"@preply/video","version":"13.2.4","author":"","license":"ISC","_id":"@preply/video@13.2.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9b0254eceaf9e58f43186ccc27cfe64398135e6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.4.tgz","fileCount":499,"integrity":"sha512-W7mPxpDGZY68FgQnLidl/Bj0RUsphMo1ra11Suhri49mem54n4V5Zpubn+njFWfxoVZZGeymUEy+T7YVleXj1A==","signatures":[{"sig":"MEYCIQC/LYws2iMQSf5Iva7of6Iq5GAIj74c7IabJSQlJMwDqwIhAKnvlh7gqCxWBO9MgYZAFMvc81UrkRqe1TTQe77kijlS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27874444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKqidCRA9TVsSAnZWagAALlYQAIrKNO2qFXWDYF0BH83q\nMzBD19qQMWnipStyYiRAbgtNAEyZKrFf4KCzankGd046uAaS6kxA6J9+TcIE\nvgezwwX6ED3I0i00khhYwX/OWaCjNXhSUAM2OtElGfO3VM/HO+s5Etu67N0v\nrurIkM/ZrXikPvk/LNKrXnRIYul+aObZrzACgy8HeSxK6zJwLDKYGZD+v/pq\nrlkz8vRUIrWJ2LlfaCBh1gbCbQQeP+imbdneH2oErGzeihcFjxCuW1lAczVj\njEo0a6xwaHE+iNpD1SiSguDBe5XgfXmp0EsfrkeMz1bH6gzODp9oZKKsPOll\nTLZRQvhDrzfK4s8p5JUKrhyPkxpWV1+Ibjfc1hI8eOOx40Rj1rCIISFsQE0X\nPBYZzv/kpbbFOktEYk8+EZ7rriiObBgJWCghJ25LWJFVIOD4TSOxubKr6zrt\nyX3LyFyFoxMkNR8Fy01rIPPImUMs/luXpyJiITeec2y1WwZaE+aUQn56sJDV\nBKElC85F9rqQJiLrUL1BJi4LXESIj5KERHACOHGE26IWW2RNcUWnmoH3L9Rp\nM1WW/SXikY7ihLoVfbTn+5Qa2K0Ae4CL1GcYYxKl7AQwE+PgG2dZsYQCOP9l\nykg44lEEKFe+hk96vCU7qDtuFWPwb+ugsEpIXBynwWaNuI1Y+/lFB8NsSIpA\nw/pZ\r\n=UH+y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.4_1596631196830_0.9910405466888941","host":"s3://npm-registry-packages"}},"13.2.5":{"name":"@preply/video","version":"13.2.5","author":"","license":"ISC","_id":"@preply/video@13.2.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ca269f42f28df882414dfcac94f1f9dc2f89fcb5","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.5.tgz","fileCount":499,"integrity":"sha512-adkWxmaYMIgc3pnnMUEku479M6Qa4DtVWAbUxTqyzH7cG3d1/L/QmTjmEDChz8j5ZH6HSFpT+YRIl5+zjcJ72A==","signatures":[{"sig":"MEUCIGVcmYNfMKHCOM8CcdTXIz8SnKKfcqnQmbiVzfXaSAHwAiEAjEA8MFjgQK62LGr2GF8U+OoyJZfhQNQG9vqe6AwkIaw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27879021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK/DQCRA9TVsSAnZWagAAE1YP+wW8IexXHh9O1B5XxEHU\nlwcvTQGqATbVCQAUSkdR4m0Zyo3iAwdbAwqur6N+miYa1ckqnltdZ6Yoo0eL\naG+jVAyHx4eG4ynbcY8jQ+TZeBT0VjPRooAzWzT+aisk2kxaY+O8qEYGxaiO\neO0NII8Mn9mIe0SwuvUVRR+gm+CAfMNkUQgD6AQ9CW2aoHvJYM4TmsLXyBQK\nn4pCErsxlxkgKEC1TbTaEQKpYXOW8kZLVBkUCN8Zr4TJwp15XmCnBEbShxog\n7ZGBX8SFgZeFM1DP/K4fQkBkzLTFFRsvGkeKXsd+HiCpCFchbHpWFyH/rVGB\nCdq9MSGsO/qFJvsva7XLIUsIjNXIBkf8LuRWme0tgfYeKJd7YvH7Gya4HO93\nKmvZq1bxJNQB4Ab+SzRSp7lsQwhN9BIwtaJ4m+LsfSZGwZ+k+XNemKjZUCLU\ngj4uClQ+KbPfYx5bK7Mb4AiFXN0Ht/Jiek+MHL5Qt68sLMLq/jKNwrBY9L7l\nZ0g12X13tAV6FZvOmYWTyx3iVWyWR4W4EnFe2GzF1V6m3eO8/w3Uj3cEi55+\nXrG6Cz7DkiDBf7b5UWGIas2X3lo5JsT8ofWBL9KaqzdMdbVMOB9Kt3uvlsR3\nc48mkDKrhoYuRvPjCsXJqTWSzqgnHyWb5Lccly1/QK/lU4fiFTpPD8+JQxIW\njV44\r\n=ABD8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.5_1596715215161_0.4874434706756001","host":"s3://npm-registry-packages"}},"13.2.6":{"name":"@preply/video","version":"13.2.6","author":"","license":"ISC","_id":"@preply/video@13.2.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dfdb5fb5c240ae796102f7f6c04285bedfd2e787","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.6.tgz","fileCount":499,"integrity":"sha512-8wSnQn4xb2TFywj7xg46+ac1sTKO+XDLbbxgijvxhtaNu0IUE52YxeS1BfH4gsWQtCoIA2gZWwMJuJZ3Lr5o+w==","signatures":[{"sig":"MEUCIDYLyOGsGa6a5aIGqEZjgOeYHiNV00VT1YIpmbZLooWaAiEAv8LCwR1/Dv6lK/ihMLxpCICQf9d8nsIy/VfwFgfWz/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27894322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK/fhCRA9TVsSAnZWagAAkNwP/3eYctU47fDcUXoQcR2v\nr2cc2dgBnQa0PGg6rX6PyfeMvEBRq9IYAByLq6MNBqFIMQCTdEVAF3nLmJH/\na+oetdFZerp+1KjochfdbDhD+Q66dvV3k9URKoNA15riVtVnxAk4ubfOhYn+\n9iWzBblDIdUmPt5P8+jCX9Jb1S80J3JpiQ+soEUkXbNYRTRtIuOSDLbY8EGS\n+Q5TU0oLunzSwMpJilzzYmbUq6DhcJncRhvpt8ROtgg+r5k7ALjO3BD3jOHA\nhSg+r8VlGB5l97Zl46fFNSN0Pm1OnfdJr6L9UM034Ta9BS4zayR6X08LaHJN\nuh07A9GGMZOTu7cMWEP73NJj2ZF8Y/Tfu72hL73HktwcHMGeKwTkWj2Ry/XM\n9RS7OTVoYpqM9XxsUanOc1bbcdk/G490+ow5hcMoQgGC6Qp6LbnGiSpGIheB\nO8HZ0eO7A1/57qK2TMz/dsI5J3Pq0UvXExZ0A6tRxKCe5jxCyzQSahKZ/cyG\nxPLlClwJqapRTVTO6t8/sTWYpMNtFWzKYS86TtL6R4Kn6HdC4GcnuajxIkHv\n3oppGgh43sE50SzcdrmZcw9lM7WIUD6M5f/IEwK14L+7+5iHn07yWLnoIs9C\nXYeXbX0cRDAxVOMvYzDTVM9APxe+7OK0QM6SASqgNlL3PhDJp8RdulKDuZ5n\n9KXs\r\n=dy/5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.6_1596717024746_0.005351006876967324","host":"s3://npm-registry-packages"}},"13.2.7":{"name":"@preply/video","version":"13.2.7","author":"","license":"ISC","_id":"@preply/video@13.2.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"949c045fb8fddc18c32a75fbee10139c80531b42","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.7.tgz","fileCount":499,"integrity":"sha512-PrqBfKEDWJmMhJirMeKOA+lTlYBSATcNDZmGY0yDa4Ixyz+aHbDrBw+cKNqjqiXkheo0oxhfTmvjdZUFMylVTg==","signatures":[{"sig":"MEUCIHQeglv7E79nuwg7gGUn+6IsuhmEfGL0nEOUn9ilJBZNAiEAw3o4Ws/vowX4M3GyN52Fgo3WirN/XHEY0FBG0LlL2c4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27903877,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfK/oOCRA9TVsSAnZWagAAMqcP/RDpI2Ju11Mnr54Wqucx\nPMvWqu+IOUszXKBZnHYhJkQLL1EsolZvhXcocpsJPmaj3ONC1H8S3/dLf3T1\nz9TvZrAnI9ej3AifnhnExb167dKbHCvd83fk9XDVqEw3V8aJfQSQ54uCLSLM\nWdqdlzEJk80Fm61YAzSiwZX47r8ygb2/mAul9kQetRIdy/sNckDhM2CULvXR\nbM6gPYoxscCl//3LwvdC6B1SSMaL5S0pEUpJz+fjw5UxwMPm4AX1f6Nwmcn1\nLI/2vcOGruD3AwfHrHt5IeCQf3BgJJc/Qkcmp/zvsRavbtVoCf/gRK7270z+\nyQ9Mqu8KQ1fodrafNBYhifyoShw46wBhuIp6alwcCD/zUksJtAYQLhnhyr5a\nMK0SuIasD+wgiVFoIWNE7lvamNty5ObQPagOLcCzD90HlsotWENOKcI3AO4j\nbKYGUC///C4ym3L4tPK+Cpcl9f1nfxbn4ZYscfcWg413zzq6nKCMPJLQJG/O\nta3xh+sh23lx82UtWMxgkV13CcwVW3jQmfx/D/hUT7qyu2enR++UvHWWw9NS\ndPkzJmPLCFDVF5swGPZV8/55msm93pLfg1l5TBZrYaBkAM/q3hZJj/IoN1vB\nVVwH+nWbmgxnQ1gBRTMxXXb+DlY5f0dYCZvT246lnnrSrOqvYbZcypq8FfyR\nECSd\r\n=DqWA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.7_1596717581160_0.07609044262163778","host":"s3://npm-registry-packages"}},"13.2.8":{"name":"@preply/video","version":"13.2.8","author":"","license":"ISC","_id":"@preply/video@13.2.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"700ba4bdc2408ae4abde152bde62ddea61a5d38e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.8.tgz","fileCount":499,"integrity":"sha512-v6E34ZqUCgJpcspVVZ8WK6soeiQFkQ3F0pRGfatoZK2DmMo++9KTv6Yxv3FWJtrORiHCrbE3EiSyO775uECHzQ==","signatures":[{"sig":"MEQCICzW2B6lGFykEtJhkaGyq3xGjcI4e7/mG0rq5sXjipAKAiBDHeYr2GjWvEkiZIQ6voCmfmXkzetepcawUgXcfbi/bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28000192,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLAFaCRA9TVsSAnZWagAA+iwQAKFZG549fMbt8dGKxXKX\n6pleW/4KUdFBtCBCVynXIkdYmDHuIhIereTLDzXocs9KJK8Q+YZkrb+ysaLr\nw9eLcjuM+qlmOdpR07O9T/cSoSpC2zGcr/Uniec8T+/XGruc07V8ROXMdryW\n8EcHQG/vlk6NajYUvauSUCVroMPh/J7FUFZ2xwhvmdeFU849tOHU7RJh07s8\nGfT4ZCSvWq1AveoAjTItQTliQhrT14LIjui9VSlE8T/QO4TnC3GAzgArLLzL\nahOdT48mFnJZFIgKWHEpXVjA18omvILYPaXabTjoSQrtAeKdLQjPPm4pjetn\n/MN9zz+iy8CvBjGgA5syCGqRYkj/RqB2nMgZDiCbFH5d29iEshFEqzw2GGdd\nho2Si6hIWnjhHN5uSpyNLb2IGhfiYkFl+X7sqV1YcPtjSuVTnaUEsxIolDCT\nZnlLMjkYAYw5vK/0/z1J3qz9p7hGx5LajcFD+bvYF/rVn8jUhdXrAIRMqmGN\nXPpdBdfaAzwNto2YjSSBhvooU2QccHhAssG94iH7Gu3GDTWJzIGQkztKtHUW\na7uA8WAmVp/u9lJUW399EZRmUZLZT72r7e1FKv74CYMiqz6R6vAUlq7BlT3e\npfLJOk0tR8/5IzLSQ/lfn2GFowqsl1s+eucEZ71UikLbS0AwsrSwW9bB1WNb\nYFr9\r\n=hkKh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.8_1596719449260_0.9904289894093525","host":"s3://npm-registry-packages"}},"13.2.9":{"name":"@preply/video","version":"13.2.9","author":"","license":"ISC","_id":"@preply/video@13.2.9","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e4a81630d7c743e6acb0e7c63ac9d16397af14a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.9.tgz","fileCount":499,"integrity":"sha512-zc0dZLgw3Y9b4C3ZLdNp/Vbt9RwwqEOK4cbUIkFnqHPIGPpzL2ihdJVWwmRWjYzgJV0MSP4I1wb0+0GwkabPIw==","signatures":[{"sig":"MEUCIEY/Uo2IkJ90WOL+pTsI47FQE7zg6acjnWsHXi2xRk5jAiEAkKKZSYALv3GAqgzygr3agyiYDxwoRbJQ8m0bmKMagaI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27934398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLCQRCRA9TVsSAnZWagAAdGEP/08dKgri4oLzZsUy98i7\nAjP/BQ9V8zj5J7j5n4Ycq6gLUv8Rbyo2b+ztD+w2zYQAHppIMlLihWcYpjG+\nAElIKE3GMKW7PziBem/8rSo6I3E2ekJOegc82tDOazdZ+cCfIkzsMz9mrbU6\n9GlKb0TneadICbApOfLI7YipAv3byPJ4iqzd4+IrmsqEOFYJZDdbJhZyvqAE\n7Duu5vE8CtX3E4xNb72jpNo3OClNTMY+5bGw6JfBdWxhHbREcJys7GD4vXVd\nv8mGpOywuUSUjkTDHh3SjT9NcDAq81GFNlwA2Rcysf4A1ldNtQaRR8twcXOw\nm3XK/gYp2QVIqz9i3f5rFcGPuEH8LjBicQ9BHAEs73nKDcc+V0PIJGrj81mB\nIE+fG4G6QPOqrH/TOgX4/vRItpd2ISoi4eMS+LQtXQnf+XRssW8xH3R8j07Q\n4+zpD1B6M5U4A1U6MDiJtM8lxq9kvvQZmwm8RsN18xG7lIGUI9vHks40yCIH\nafr0kWttlkrGAprUhD8rEHJWKdi9TBRHeaBF5ojGGEQ0NL0hdEYah5qds542\nPtGWupizuBq51ddR1vBOamX/nB3ZqaOLeFs7dNxR5BF8XdXNUb5kleqlRYXi\nL/lLox4ZHYJx7O1tcUNrcCXv3KG6jVfvlKGu4xsBgrakBiUkXhh83zIDtQct\no3Zy\r\n=3HSN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.9_1596728336779_0.14773149401974872","host":"s3://npm-registry-packages"}},"13.2.10":{"name":"@preply/video","version":"13.2.10","author":"","license":"ISC","_id":"@preply/video@13.2.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3b7ff169f46aa3136bf266c8937010c933ae5dfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.10.tgz","fileCount":499,"integrity":"sha512-VN+yzgBJYRWZ8N9jVUW7TbI1t+OKeGgxWHZekYGJU7wNfaWGh8zt8934VX/qPGJBgpjY/0A06toptLN85hlDMw==","signatures":[{"sig":"MEQCIG4vIh+AYO1Hgc1M2MzoEgFAZ90hM+TStHjv/Il8MLlpAiAljvaeSJULrVN01sv2AjmCUVHxChksiaTKVQpKdhqCLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27933739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLQVMCRA9TVsSAnZWagAAazYP/1UHuDD48Itumr75+/U/\n3WWygeBehEK534QFGooOtXmzvXRrei2OueYLdyPkVBqwCg22OrdKa3LKHAHC\nha6zwJsoy9DqFBr2qrj1F7a45UviJlZwdJUYsNgRssUjt/kAW82mDqd+OCZb\nqopgnBgxsP8Q4b4O0gvqqvkh2TTE6wIFHjor2YUF2XORhImQCwCMfGqLx3WD\nnftBYETNJT56aERT9IRinXoe0fbeLpUbU4lM6uyT9GHLxu9XV7ITV3w43riY\nrJvdH6716CeewSViq0oBW/OjCtdrtCxjaG9xSa8zktCwg9+tUQkvyBV1VHjG\nFIjV0iv+6GA4ixXMsgM2Dn1UZLRCwsvUpTtfSW2J9NGwODO1wQd3U1eoUErG\nitjz48XgVSkztyqqaci5k9Etsc8OweQIZu8erP9U/iLtN147e8206t7u/Y5Z\nZjncD80IwoqFdvCMjxb2XDmwPd73Mc5RsnGs2KAYGDGegSr7MvR+UWL0sIeu\nqCHRfi7XG/CdNDR7rsb0YbKQJpqlwYwat+/cGw1GD3BbYtQaFxS53WlTlr7b\nqcxSwaaDAESFGuPCr8VqL9C6jJw7dNHv9cnca24WvlnJKLcz+LebQZpx+xeh\nuN/bgcL+nLIrIOOIeMmrDzp9r0x1upow1ygAcn5x7jJbaPt6CM8INtEiRnOY\nGhJj\r\n=GN3s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.10_1596785996012_0.5598774943006324","host":"s3://npm-registry-packages"}},"13.2.11":{"name":"@preply/video","version":"13.2.11","author":"","license":"ISC","_id":"@preply/video@13.2.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"02b83c333188d4f105f98b515c04f8776d9c6c8a","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.11.tgz","fileCount":499,"integrity":"sha512-MExzh5Hi6UrKxL4kwmQJyAyCt39YF7EdyWXIysAJR2y8MeuW1USNS1GccDArS5dB5Wc8q/G9YSBn/pe7NZT1Vw==","signatures":[{"sig":"MEYCIQDsPHrWXq+2iXPa8lEExsNJMG4CP87KcmDOb/84mD4FbAIhAL3F+Fn4z/aggRpHN/qMaXVhPys1LJ5dmYYUPoH+KgpC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27940144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLRMZCRA9TVsSAnZWagAA+JsQAIM0NoAgQK0KfUXX+K6u\n2RXHiyFpoOKPulpUBMGD51qKfe92Sasu8dvV+861tUFsVoWt022+9iU9CS/I\nmf7hwzee+djZk0TkVbhmBzLHWov8stHwUeDMEX9zzwBz37I4c5KrSFzMpDbz\nhhzXO9lTglk2QGinlEyBcK6IkzYG+PVlS0AZmaQvKZ7rXODffOQ08q22Agv6\n4X/inxF1qTSIlIibYsGruRCTtYP30oD1/o2AOR6NujUmILrwVEOgRWWv4Pfi\nPFFcX7Qr4szAQq/j822/C2Ouxj2HkCgu9T4srmxU0bm1GR3bhB1lUKaVbtJT\nCYKTvvRQUFB62aRpUDnQB2Eo6qNW08D21E1s5zeU1b8YyV6VHB0IEiiPJKBz\nhcRC7Z0tzSa1w15MTtB5GIBuDS0IjmK3H5s+tVedJ9YyVVgwvDaAd/b1QqtR\nolnaEQbuUqqZAQLJiSV+19FZxh5EK+A5ozKtFYBQeGExtTBgKJjaORWEiLXw\nVN44PzjlB9nhfhY0exX46gpsdQvd8jaVqolrI4I02vZr0U4IfgAh/iTPpG+O\nP8P7AKXtunaliDHvyqsSScLLFyhwo5rcupETAO92S6PyPW5b7yDnKaoLNsOt\n2U5xkQzT5s+dYMAwGQSfPKhNpi9qCo+JfWUNB4ipA1f9wUF9HuywAweuZqA/\ngl+n\r\n=JhFI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.11_1596789528735_0.6987211496425048","host":"s3://npm-registry-packages"}},"13.2.12":{"name":"@preply/video","version":"13.2.12","author":"","license":"ISC","_id":"@preply/video@13.2.12","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ea806d8852164e3678d80c905e6eabd5122096bc","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.2.12.tgz","fileCount":499,"integrity":"sha512-X6nrBBog8KHozxMpqyCl8I/qOcIZrLuXivWyAguyOmx6sqmGVJoV/mA79GbzjY/jiqLEOEVQkv9gMqGdC/EvMA==","signatures":[{"sig":"MEYCIQCqrsXXT7XU+FifTIABwIMBcaYjJeGK2vAN0kaLUQvOPQIhAPZXEHWaDsBDGTMEsuHOYMmTq2zQdC4LpII/yZn9LbOC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27980633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfLWCwCRA9TVsSAnZWagAAAgIP+wVocPmuW4XG2N8icTTO\n+LJ6JAGCelRv4YJv9IWaXteJDs0+L5vVgfHsClrQ+lytVZqI/z/HkroaPVpz\npR8H+cq//RYjmFAwokZwL+GkNdPGKD+MoW9ma+OiQ4s4LesKwRy8G/gLAVZI\nLxa3SBWC4V0rO2wqcJXDr6G4EF9u07IpPkjIZmTBKQrySeZS4flWv6vjROth\nqPwlxAvsNOHpSoseTcI2+65S0nJ/FbNZjhyOmGQIeUjw1O3CBnO70ODZutDQ\nw5UmB23ps3U8nr2hSdwjPGe9UGIbqnkEIa3waLOfJCxrCqe2yU6FE+TPkG5A\nk6uze6ohnwXdgEs4X5u08UChEmC1LrNQsdtaNWtRM38sZFfN2zdeJYbaq2U2\nl+6DEgToxvG2G1u3AIYtFffZDItgKCzXKdsfIf2Co17XeVigdGmyuC49Jvzq\nMLYtD5gsLjlk88Wh+OSPSZVzR91ekzMMPHfJcgNtkC2XlaRpByZ9ndZUCTLT\nZbe8DXxYKfgYFu+yvXm/uLNSxXNnRN0TGKzFze3Co1YdtmrYIgEaONboymx1\npARuMzJz3naNJpq2dPtTeL5SBPZe/zXI7QrWaLAmww3lFMjIdNhSOijwdPq/\nyL98wHlti475QAlP3aiW2bE7rN6qWOGmgzVX1Tjm66F9Nf2utnT5wiKvEA4P\nTXWU\r\n=inJf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.2.12_1596809391900_0.2841511923520421","host":"s3://npm-registry-packages"}},"13.3.0":{"name":"@preply/video","version":"13.3.0","author":"","license":"ISC","_id":"@preply/video@13.3.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"50c4bb1d07c224ad9b46ad12337c98610d8c6eba","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.3.0.tgz","fileCount":503,"integrity":"sha512-0WCz/hMwIu5tDu+CvsI/Pg5t+5gp0IZW/SS3heRo8226l1NJxdwAxwcbJZng+1rJczASAzEg5H8drcma1BOA2A==","signatures":[{"sig":"MEUCIQCyGAaMAESu4+WIYS+i1g8eL3tQgEGzZTnx5icI53y0RAIgZ7uQa18ZOwNScL/poIi11pI0+NzwfKuq0ksbj88fiss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28055535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMlkdCRA9TVsSAnZWagAAqCYQAIHQNcUjZVBHSxtkDLiy\nm+JVdOgWeCQvXT+VXc/FEce+vc+feyKzZCeu1iLwMKAskztnqwn69/90Es+U\nyztmJvBUL0E0pDL3yGrg42lPdKQEYz6C1vJ1UXhdv2uvuLcn97b2d06SouSu\ntjxjRfv4+juGqR94J4C9NqAY0IqKlhLJSQejC2492SHD/GyYY2L2f+kyy9QJ\nLKzVeDZ1fsHy3yBkNN5UbmKjc0lOUHVHM0gtbIkiJEKghSB9gpur/sRkLSSt\nmydErRh3ZVzkeJTe6RpTcc8z6NlqA1t4dy+2k4dAszYKrkSLepqudZK5kTy8\noFyb02IiFpPQxhJFqzeWOJMJG+R4wNtjVMDoCroB3bdbtnpevSgKOYeDb0NL\nklBynlwdW1tTNPGMHGqZmfRwFL1xM3IC+br2H+cQSKMAtcBFWZLLFx1nBTCy\nl/bBJ1vX+8SXn0+FGBF1yNsPhrGrLVSGmeRDt3kbxr9p1hfiuWLn7g88Fbwp\nF6F8zCAtOIbApXafxp/oicIfEEM5hUuZAPEpTM0pi1WLLcC20SZEiN/aua3d\na/UcVTRcqvOL91ToAgjuAZ0gsFb+E7xqEaTgp/VzkK5A0a8HtEAbX+XHjYhX\nJ0z3YThBvA9FNrarX48shNMeNsqKeAKMR46YXoAJ3AZ9dl2ONHjumRiPdgLi\nQWdq\r\n=lN8y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.3.0_1597135132894_0.4443746621810365","host":"s3://npm-registry-packages"}},"0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e":{"name":"@preply/video","version":"0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1e484cb4348f15a187d660f76cf2b77a9f824396","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e.tgz","fileCount":503,"integrity":"sha512-Yz2zXwOVc6syiqZNgH/S+sM09+B2jkEgbBImAt1mK4jS9Q8L//7BH5+O+jof51aNwsJfvAGGNcKT265K3n9uBg==","signatures":[{"sig":"MEQCICn3r509vB32wZQV2oZXp+PpW/FVuF7BgqHQ2cZ4aEIOAiAaHFPU2iUTsWiICRVEMSDWOnYwYPZGWWTxmstzyjjRDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28069208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMqOTCRA9TVsSAnZWagAAYA8QAIlI6TdxqPaa+aXF7w/r\nihx4cVcQZN0qjp9bAzegA154N2gFqvrTAw0UYR5Q0ibH8r30ppCIunzq2AAk\nGKzug0V4MiSnn+Z/bgadq48O7GmOqzsfd8dtp1b3sjn3wcV3z7d6hyFdZAP/\nlrif/xOA3puBeurOc5HXQc2Gq2vvCag9+UY6Cipom5Dm4PNrmAlG4nDIDyIe\nXs2i8Js8Ca6/PdZPKkuR752KF2I0upLJvUoVhv2sU6dSPSNK25fNq0wS6MKt\nPU5R/3unOMYxbzZZUYdChsxR76prZMuWazAbwd/qaCNLmxm0Ni1fucyd/hoU\nsSnfNn+97vyQaRzcbOJNp30h4MlZ5f4ZPHBX/HGE+r3Q3IlS/bTIyHaR58zA\nWNT+EJIuF3RUyn8UFtwkCqWdtoap6KakSH2n9Yjc5k1bb2bN3UgSrJ6DI0eR\nYFd7s3svpCKO5ko5OPfk19CWu+sF7De//2MGys2SbWvIn5UxWcaGlLcD82hb\nYi2y6atWBxWHG7Nfbk+98y31xWvmok4eEY6FCMkv5Yf6deJ59aJ6z8WtpIEi\nbvGDwoSu12mhkkDnwY7CiqNtKmxFb3LwqDbR81Z987n9uYVF3hkmPZonuB+m\nooh1nbuJKMjlX0bbEwPYHtMkl/srqg1ZqpLv+976k9ufsZNMU/DHLQ2sF8jx\n763O\r\n=x+eX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e_1597154194428_0.026425316080346928","host":"s3://npm-registry-packages"}},"0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3":{"name":"@preply/video","version":"0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6ad8e741509aff6b8b7036f6bd810092c3b96b63","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3.tgz","fileCount":503,"integrity":"sha512-bqMf8ukpP797zQAql1dtzZCywF2fuymwsc5hsRDeQalL3F3ApTPP6A9KQ5FIEP9m9h5d9zP0Y7/SgzneypdrGg==","signatures":[{"sig":"MEQCIFzSdtlSDjYlNDl5IhZhAmfUh8IXGi4ZFQG8RpHOnY0cAiAasbY2C5lBHTLI7eRlz9OONFXyM4BpxEspNE9Mo9/xXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28087448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMqg1CRA9TVsSAnZWagAALc0P+wVxTWwG7mcTwzOcFOwO\nBdZK58hlRlmY8cm47QdHaicSV1/fw5vENkucN+pNeIe+faDUQQYykS796bw+\nbmtS2MXMsGlFLe+yUOVvanpD31fcA1olWHHbf94UICg6VNu9hmQfKHvUuWBD\nCEEk/WQqVGxpzhRCMShNBduAZ6zP4rMT/p+Tr4mFOlOYWwFpVtL/4ilARwdF\n4CfXUZkkMaNNbcBd25GT53Gum9/43GyB5sXpMBA8PKXedp14W7nMLjm2D0LG\nOY+bS7f0LZBqIJKwtvpdVCJlB1fQ7GTh1sB+0Z1wzco3ocNewt8MkKW0jXL1\nyhPrQgQjrNQJnXqZx/kr7ofhpb0Gnh2vnAw2tJ5959TZyA7f13hD3vuu9flI\nOoGDyAKGpFzrlCHYYthu0PZiRFGqwRTrToioQCAmZpYLWpzASQq4Cyt998IO\naEPDZdcTBCV3SslWFLzgL0RdjdHtmDopSWgbKUoZlfD0/ZosVWcwO2exPpAs\nHgEi4I1JydSICfkvAlq/UW6cdJpTzApH/KRvUvBIMCaP1+9s6AYVi57M+rb9\nzVcb73KqQrwBgovjJkXE8z6YntkRX2nf2JqkiuXAGE1h4B7D6IOI/7jwJ4x4\nKfBd5sUfuWGzq9jgfk8tGLb5a2K3z/AXG/yog7n9I8DSqoVEmPZVcsKqKTYm\ny956\r\n=MuIx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3_1597155381118_0.9197768993675193","host":"s3://npm-registry-packages"}},"0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735":{"name":"@preply/video","version":"0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2cd910588a1824cb24575439c697ecc434ee59e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735.tgz","fileCount":503,"integrity":"sha512-psb0rs7cGmYxbFxzaf7DmX9dfGZ0zP3beIZoN0XDstctK4UI0nNaNkUrcaa2rlD+hPJxS4wgWekoldm5L3tp3Q==","signatures":[{"sig":"MEYCIQDJ4PX1W6OjXWjdh5xjpk+7MIG7UK3NhNjJqMTPhIoA1wIhAOL01S2Gzdwbf+9bbfvL+PxfVDcrp5ttZC67jnsKAMXs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28086965,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMrRJCRA9TVsSAnZWagAA6HUP/0d+7PdEDZ69C69qJ/zj\nsG5Y3eJDRBeJUZQhNCyLFciFFS0DOFbh3vwMO2ETP8tPP1zXShPD8lyMWfQE\nHmCClJfRlXn25fdpWeWHKtJ4e1Tf0XuBckJoQBgqkZMxc7hwePIFNZ3ncQjq\n7Kd2qj4oaenDIJoM9kUhSDmCbVVk+tklUvg2agKy+nJPDXCZlVnZd1D5JKnt\nMLtWvPW6nZGZBGD9yojF9/xzjPrXZUgske3lY3ouVdurzXTg2O9BHlPDbxiR\nPCGpgGXIt0Vr5L9OqPR+AtRhTP7gq/7ZtmXTFasdRK0fH1vVYmSGiVCrXRVv\nqkcJHNdEh+MiSutRQPSYmTjuzVYDlGTyFVKMPfGVlGd9Gc732LNXM/hL2SNo\nVXPlUqu/CMtprnCuZB3D2ypsnwwWp/PRtbTNFNmmJFEUMibFqyZJBe9iYB+7\nzXjguJkCNyNS/7O0b5nukIJcnmJMUqEqJbtWWSKl1xytlWGo+GN8eSXr6xFx\n07PxpJM4+i7Q+wHFst0FPhYjskzB/0Un5p+f0ptPIuTJE3gfbt6EbbvfSabm\no7Ll7HM6EnwE7Xt/Vf9vF4nF+5smD+QQnA+fHhbRpOfQOvQYOwdFrKong3sl\n4xf1sCfoP9IZ92WSRtu3fr4GjL7OecXdT/VE/Gz75ThuU0B566yWqw1ZydN0\ntqSL\r\n=oaMM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735_1597158472423_0.6802212345388345","host":"s3://npm-registry-packages"}},"13.4.0":{"name":"@preply/video","version":"13.4.0","author":"","license":"ISC","_id":"@preply/video@13.4.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"71312aaecd5df5e4cef00e7a626f704c56b6be83","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.4.0.tgz","fileCount":503,"integrity":"sha512-PMraJoH2MHOzdt/lWChjy7ce2X7ie2jeb0/cDKLdHLLxd2TIeQ0Qf0vToGrVOhFURk8EPDEj7Y0k3L6nYnxySQ==","signatures":[{"sig":"MEUCIQCZuAOZ1erhKFicshoHpq2ZpFtLnxY7e+dhE3jqjY/WiwIgFIrZeQhFhcLw8bmZX/PlgQKCmJy+HmG1dsnlwPIVevk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28086260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMuzLCRA9TVsSAnZWagAAjvMP/2ZDQ9fNedM/qxwXRjo2\no18iVau3B5QsCzOj9/iuD404vEOFdGBX+N+BdJL5aNwCmiTh6pEdlIlgQSVz\nmkDADvnLYMJwkF0Z2el5VFgPnTOpZCXDHTCiViLVhHtmqASfjRA0HKZa7bZ+\nGyUwKRWC38Kh1ZkcSb4Wf1F+fjIs3NVivegGNkpISXvxlXHdDYSriwTr2G2H\nc0SLJRPFw+dVmGFw1OYIn0xSiixGGoq2EjGQN5IrorT0ibl0rBQbuVw5061/\ne8ltvHIYonubu8KMSclEKKpy72FaIS0W61SYeGB68ZLVF+k4+tAoAIpoV/tD\njhKB7TemIQ18ZEg7aehy8rcceDTyfeuVrc63CQ4hMl2/8L0dC8kMRUT0BTdy\nOJ8lnaTPUqwYfxgyj2ohwr3kufJon7/xUKvHrQKJFKhurKcdEi9AgnhMuP3Z\nM6ScE2NIS94ZYkoT2TuiCgo07dEx8OewScU9XbbYaKqK+ZJnQHmpGbveCK5i\n7GJkYp4VUYTd0Qc7AQf74r/wXWOlD9q2pS+7koVDAJ3RKN45RZzAf1Jp2bg3\nv2N2WLWNjgWFgWK51KFb6poR2VcgvWQlWz7CZhYFkuQQzksN10snhT9DK5ZN\ncJxCBlzAhtsGgziHETSsj5fo6iF2JO5F209Wg4jEsdeOKrm9ha/c5nauvATB\nHcV6\r\n=+4lE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.4.0_1597172932080_0.7930572526031934","host":"s3://npm-registry-packages"}},"0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650":{"name":"@preply/video","version":"0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8053b9f495dffc0e9b8e10454706ae6b4643e59b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650.tgz","fileCount":507,"integrity":"sha512-APofZFK0svkaNFF97X4pg1iQyHHfNlwDvmi4hohlyJ1ga8jskrsQDPnRS5pDOWOff4iLkP6pjey3Cb6dZQFZ2A==","signatures":[{"sig":"MEUCIQDf4MzSMmVy++kMFvFZbjjivUyP3gpTKSJfdmTnosOo8AIgORLlHwldSXcmF4IDRX4wEdREQlk2YdPIzroN7T0i3z8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28436521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM46qCRA9TVsSAnZWagAAQFIP/jQ0cIRdEzvomLaaHSD+\nA1LV2WyV9gYG2e1057+qaXqjOyNFRJPeERQDk5HMkTry3HFHU8wpzwsDhC9p\nO+uYYhIq9YXRku40kGf7YKFHpgP9V0DgcIFBpSBbNMIxI3ecGSPvI8YOwIsH\ntkWLdJCfFimgZG9QMrBDZ9L7EF0H8oLZa2F74Rs99+NfuS6cwjcXyHk3eYWJ\n1vpftytboP2bHOMJwtOAbmMsTTXI6tZvi2crZCJznCNI/VeXvaLoPvjqMLJl\nfhrt0rmcCgbr4guOfQzhOALuz440ZtkU64hCyT9dh1+GLge73NTbBJJC3Kc4\n9GjgmaczkjIFZKGCWeYZp857oMXIm/qBbnIFUcMBCdksSvGXuHyi11K+8U+C\nbOPZSqyfs9Lj5kE27PUK8hLekiG+s6i4q+QMae8oSklKYq6ARx/Qete2X1vL\nBDv2E4o6ntn2KyEso/ISACnSOmH2OfQDsz5Q6hVf/jWb2BEj0V8naH5+urIF\n1MSrSE2KIcJbYJmGHKy/90BlR4w2E9tusrsNsnzkj/7/go+Q0Cc+PkxQJ0Jl\nnn76DeVJQJdMWHiL0T0NFa0bVnjk2VZFpiPP0Z8Ta6VCOMqCb6VoLDJ9Hsn1\nxh7wVSiUyY7RO9m0Q3yHIKN5nSZZA7b1w5VwpKjF3F/a1ApN1N11itCxTF6E\nzpBi\r\n=2sVz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650_1597214377791_0.9693699173677943","host":"s3://npm-registry-packages"}},"13.4.1":{"name":"@preply/video","version":"13.4.1","author":"","license":"ISC","_id":"@preply/video@13.4.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e379056d1d962c9e07126b4afc77074722fde8c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.4.1.tgz","fileCount":503,"integrity":"sha512-seG5fICrI2iu4oA1njt9XgvAk0807jd/P7jDhEO+4L+CKjNiXlV6WX+X44bQxJdDPsflYshqYtD3ORP/Os5F8w==","signatures":[{"sig":"MEQCIFuCh8ylZef02Yw+ee+CwLElSfJojOl6M3qofa6wq+u/AiArwBsgr9dW4UJR4XfQba+AYnJDV/1POKEfdPwPqu3yHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28160829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM7jvCRA9TVsSAnZWagAAXUkP/Rkr2e9LgN9s9zScEhRp\nOwviJ5Qu9WKsA1XPZBTZ9zh12KCb7RKUXv1C9x4sW/LgocXhn+2BSoGgYJtW\nYoaDcW0xfsWZk+ZW8E7JvyRjvWBKUh20agxy/DZRC79e2wNJrJovBohTzBLC\nFGgddwj0oa5juANaq50FeeDORjjAal0EpRydyV9CFSlmbN++Dlfp2JcQdepN\nKv4s0bbHf8fUCMC6XLx3s+V2lV0Lnz1YQ3/kAxriL8MvY4ivkV1p8ZsYw8H7\nztJ7I8YsKB7/wMXmo+05AC0vFIN6j0tdzRxRXKRwDGq9k5lE8pHGt3q/oAtr\nuJKPtZPHikn5pydFVMe4CwVcW7+KVKbfDht/+q+eir3fCSqTdQW60Wa+zZhb\nqIN524ssxDKBEIYj7VxseBRq5XmrR+z7ZfHnvogBNoMGuw4h6wG97bBHBF9y\nkjIwBUdNlPGEtAih1UpIhzL4qMiQy4xeyYyhXjkBMXcowFUnNFi9KcMy1kdS\nejiLmGz47RWlhC5pkswfeeD6CnCaxosDRa2ZquTsTS4p5k5Bcvwc0B8aBDFe\niwVjh7/YesTiGysm7skqugvf/oDepDmyOa5vs0YI/RqAKXzKYHtTzYd47+wl\nphcrdm0El5UAEaihznWS2DdI6dkltmBSKEsu6XAtCzy7GUkWw8bV8SfiuYoW\naZhk\r\n=Wh/i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.4.1_1597225198400_0.34577407936727433","host":"s3://npm-registry-packages"}},"13.4.2":{"name":"@preply/video","version":"13.4.2","author":"","license":"ISC","_id":"@preply/video@13.4.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a0629ff05c48839338034151fd23e27a6f8eea76","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.4.2.tgz","fileCount":503,"integrity":"sha512-Og1MoaDCDuOrPg9k9a0nVXkk5xdN+pmQMsQUgJBEi6Ep8xeBdRAsVfwKiLkmjZDZ9K8rqitjU8M0Scms/e5usA==","signatures":[{"sig":"MEYCIQDJu6j2jhCOFU6dQH7Qya5F3xkz6/Jc4/rfb29qT7q2vQIhAPWl6Ok/nZkM2zVZgT6cEvJ9U3SK+C2wCaQkQ8R1SihO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28233414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM+pdCRA9TVsSAnZWagAAq6YP/0MsVdq1g1m4oO9QBD3I\nbB1+ibpYxz6OcRCMqVHfTokNiLVb7A9wX/g0vtRjaqwkbYZLCglm7yQ2mOZt\npCKpBaUqtOkbekKXfGFNFcfKQl65mLYR3Zm/dsHkHachSNZCVjlSCJSe6AaH\nW4Ti4o1VQcY84whNf/OH6EKN6zJRl7jD0uCRIsRfzkjW1qbP83ZE7BxgtN8V\nkj9m5P7Tk66Ut8j3prv5ATADLOu/U9qDKSqPxaeSY6wEWxOnuw4yg2Tuq7l+\nkrHRhnLDAsqxEX/LmxpMzIhqQ6HtTWQ6iHIrY14M4N5z4XeBXerEtbdBXAVq\nMkaCTxu5j4FbzkxmdOXWrJQg/D1X7WB5IGIsr0tYmNGpoXmyYK/+eOgEjD95\nXJNVr/shyrg0V6YB4xGWpNn8CLVxexEKu86hdo/uxU1oIuvkke7RvxO5ABjq\nAMJagAwIxqFWCdau/EcsB9Cdm3nthvi/OFeVjp8nodFav9IBRgxJwRXQsIv8\n8Nisl951WJMGnLPjAioJF88mVEuLmgb0Lzv/RDkFApZOKadQ9TOrNN0Mk7hg\nX79f+d/mYS+5PTh4pYA9qIyJDWOBmBy/yOsbbkFzC1Emu0ftF9mzMyroN014\n2HhoqdW3t+Jfxn1GBARrpnpxZx40RFddYVGQlxdATDZyv5U8Qx7PBTyFxp2H\ntNuv\r\n=AK0B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.4.2_1597237852878_0.41336895842175214","host":"s3://npm-registry-packages"}},"13.5.0":{"name":"@preply/video","version":"13.5.0","author":"","license":"ISC","_id":"@preply/video@13.5.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f4cc08c525ed627091c2520da353a35f417c006a","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.5.0.tgz","fileCount":507,"integrity":"sha512-m39MrJHMpeiASM33nub/M+xv1pYw/zqCutnLZulMMhdQS4Leq/5s0cVDLeEoAdvTOUr6k/qb6/PUwu+KsXpyqw==","signatures":[{"sig":"MEUCIGzRO6+oAVbqf7c3mQk9cBDfHbvm3SUFLWtyYeE0CWRgAiEAiN3Su2RPC72r7OW0pEoNwSoi8WcNjXasMQ7/mSnqIiI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28279651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNSDrCRA9TVsSAnZWagAAm4EP/3tCX+F+tum55z1ptcKA\nT2c/zqPaatK9Y1CHLaRhC7/LgtqrKq4sEkFhzgnIpIUm8p3ss2Zco7wDm3LX\naHm+6B4Pcj66q9JjU1HxwvMheFuR5/1mzcmwy/gsXaZXFmvo444qDqOJlavm\n5uOert3Zf28h0xdl082hGoPDtP3J9zoOs1ukJNOAgeaJvlNyQYGCTRDLEW5Z\n5K9EOwUXIl7hfZA29c7YAhLdT2CMburDezI/LM/yOlDKkUIiEse9Jgae9MWp\nRr/27ZMQHeKdlQn5AVlUqty/BMPcpVwYGEttG1EelyJ5TYdAHEpPntDfyKZm\nzK+0F0TMlBkZtYugbHzkQh46um5c5i8FlihhiFBjvJIffFsoQolxCfZpyWLE\nu+iko5Z89d95zWWHIJaIZ/YTLiriISfDhGAli1fxM3vRgq8ysJmEKkujSKR7\nlEHZ1dTac9FJ4+YpmzYIO1ZAo6pS0nC6FYZXYF6S5osZ5NkNDu58KnsKSDJO\nmIh+ApX1xHSapc+GfUZDS382X5hTW4muhcyfU2km8C/V7t5QtQMngm7Q7SrQ\nWi2x7xj1c3LeJXk2nebq2Ud9gBlu+hH8Ff7PzYH0RB3rjuso2H0Z5UiGZ+dG\nboTEtDv6TJU8caDIomOiZTwPctgI4+0mv4Df+d6mAfsSA1VQrpEkz9xgoSq0\namRH\r\n=0z77\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.5.0_1597317354703_0.2565929317879849","host":"s3://npm-registry-packages"}},"0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b":{"name":"@preply/video","version":"0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7ef72087bdb29f399dba68d40babb37362ba3110","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b.tgz","fileCount":507,"integrity":"sha512-prDak4c7jbmf7UMIrhYFRm3YqgyPu0QUmxE7NqfjS1hpuSN/53SHOj9rWv+LClWYEGnsuqwcsXnbsctEVX1vwQ==","signatures":[{"sig":"MEYCIQDGYndfY0jDVyXjSHqxOcdQcXuwxNi5ZeL4RFwGDUeTMAIhAL/3O1yb71zAYLMACxmEHgq666vrtusF8uekvz5AULFV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28467729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNTi+CRA9TVsSAnZWagAANosQAIFbVQOCQz1lcHCQTCF5\nC67UGvDGPoiEp1YmLXRDmhCTZgeBu+aCJRVEoqSUU2cQll1Zqj8pVUzWzvh0\n3XaGZ3c1kSzRbqL0oJSc3MeA7VjMtIwkeWBy5jIXn4CNiTq9SZMfRNCTiIqD\nOJqEt9pkFQy9eHEBV614gSlo94TRY8E/s2TXAweCbpx/dSA7dOJ2SX45q3pP\nxjrvghdrSF0fV0ynlrCWRy8hIZBqiJxHAyombI06W1giABZL5PHXqcHX9rKV\nhzb1rCP9dSYaiyyHDSN6eyhAhgBS6t/zLO4AO0ZmLV9hkVCRsUwP+ZIgsytH\n4zLO4k2kDXrYaljuMhe0zHc/USZnRxRwQ0O1lQxN9vuoHvB/n9k/TzJnPIbK\n0o0/A1bdAb6TTN8wr8Qo+Zahl+3z/VN28i0qR+hN+E9MayfxcAwpk5OoGzt0\nqCxyH6+OIZwdnGhg37YnD/QpCUr74MulhH4heFDt0csjSIOlv6qnbqrTUsU/\nr/A+O8TGStCGDR8nCNjieT98DIEBU6+So0aVJM44vTIxL4eww2UAm0n6GKIi\nCO88BTPqnagoKiC3wqgfQ8xYQ9l49BZV/bTji4VLLiHzEZOmj/Bej+g4eZ7P\nqtp08UiGu6kyP53u4Rr/VGz6XrL+rR7ca4AIosdge/UVG6wnYw/rq/xJ2Knw\naFOm\r\n=mcLd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b_1597323453623_0.4427484003232678","host":"s3://npm-registry-packages"}},"13.5.1":{"name":"@preply/video","version":"13.5.1","author":"","license":"ISC","_id":"@preply/video@13.5.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"18a306d0e572ac9c89fe8020ebe811ec31468edd","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.5.1.tgz","fileCount":507,"integrity":"sha512-c6hRB81RFa0aYS2ke848KHlZz5SVbBc/XZWTHxFYxthvy9EBpUg0AUt1AnDJTM2NuwQWyWhXzq1gwnuUuImlrg==","signatures":[{"sig":"MEYCIQDak8pzl3FQPuKJJ/64+vILxLZki4vwpvG05dAYuDJhqQIhALPI/X4E7edOEYmReuA2Qb+ftXvsttbu76Nm7dWjJnR5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28285426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNULDCRA9TVsSAnZWagAA3ooP/1qUmVFoL8Na9s10CL07\nFHuV28XHrw//T9mPGlKQIwHYDZISRCgr7ctlaEzMA9ZRbUyEOuUwv/qNwadO\ng6gcwhF/6RNAHAidF9S8DuQMgG6pvCG8cH5rk419fkwzaNDRYA64yFzDIUIR\nN+P9YuCjb1KoZxiaFdN8tHlS7LcbIsWsJTuf+xZgZXVBTcjTuUmBzCkqFh2t\nq8VWGNCy8gaKP/oGqESsKYZ5Cagt2e88NxumAZeAYJ0GOd2A7opMCI+G6MWh\nhFD5XN5b++aPI7REJ+kc3+ziifPldVYeJSUpidKTWE1bMLN1OHpLkk6ZhDnr\n67VNVcB65cnmkm+5IKXD6bRVFFmxNoHSwIxpGLk1OlYk8ZqIFrRyVoyNiq8W\n8FR7YAAa42sM+mADR4ZreXie4LRxhbm9QiGF91qdNrsOWRhyjda/LYza+8sj\nMmaP5sXYXZQ6ZBpXMW3ztovqqWo6xynl8kK8qwmu43ue/ZDW5oH0GEp4+iG8\nFqVLvAN2aEaEhWM6Pgg0DkzsYX9Ni4GKbtH7yHmMiLab6bUIvdddhGkPPF1x\nXujrhm5Q0vsvBO+aRC7bsYuRymZkoblji8wXFSCehJdIc0FwXZ0sSpgnG7XL\news9Vqc8mOvk6wepWXurkcfoIguXFYDjx43wOJ6svi7CXlbO/g3kO95wopEV\nCU9H\r\n=xtOf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.5.1_1597326018940_0.6325724754251874","host":"s3://npm-registry-packages"}},"0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8":{"name":"@preply/video","version":"0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0631ba21a13515a66b82fdf5ca64b7704144d6d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8.tgz","fileCount":511,"integrity":"sha512-A002ooyR6bsebMz4XNJxn3xs8WVnfs32xs5s4IN0tOHZvkTL66xDk2HZ3/NkcTeob4MT/iLWlTFxgO+BxGCYaA==","signatures":[{"sig":"MEUCIE85EiqPun4zkGk3rLFSbXxdxwTp94u1MYuGzKTW7e3yAiEAmyEA3kfoyCxJHueZL0JmmwonN/SaCN27tyJFTiWdLKY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28666865,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNUTsCRA9TVsSAnZWagAApnMP/A6S2bFVJWRV2tZJ0X6g\nZZ8buPD9IMlXpFxN11NZaJ6ZKxEgfM+/VwchLs2BpavA9UIb23yJDPHwscHu\nOUHy2OTwyCph/H0Ln6j/omgtICwrawRzeM5WSdQ8AJzHfHywo0d27g9kDrDQ\n5wDKSrOhFOTmcOVTlDVBjm7bur9vvDZamJsZ/2MDuCXfVQ25cz/jveGdugr7\nH87RguljyU2dbasJQz5VPKnOfZBx0XI+XBHBljSpgkkTs4en+aROiKJDyQT4\nfO5hB4bLK6FDyUSDnl3LbLROJyUQp+06NcKMWWbtn54F8xKWV0qnWkDdZJVM\nDQhC05cBROdhPUoIBBvt+Eg4Khl+SHTJnPA62D9XxXCB4S1HF6MxhGKPVDk8\n38nPSij5Nf0QxfGqvJ39lTFarYraqHb2fM2B4wcZUUNvUUAWamGEkrdORo4j\niPcnB+3FrtATzByVuFrLl1JA2MkAGjhynBGw1lph2hL7g6/tEw1s6mCe3Kq2\nld0MBLjW8Z8w/9VjB9Mekr9oZWt0QQHdt87wnmKktxye0pbV4dqSPFHnEat0\ntkkafR+rphB1Tiz7lozuqkGpezvq2+4NrvN4fmY5UBf+O8/qil254yWv+6GW\nrOctLfq0vRFmB5B1DhAvjYRbUFZ9SyRKvt4a1u7FdRiZZOK1S8EJ24Qn8s40\nTqb5\r\n=EFlT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8_1597326571414_0.9203209514445374","host":"s3://npm-registry-packages"}},"13.5.3":{"name":"@preply/video","version":"13.5.3","author":"","license":"ISC","_id":"@preply/video@13.5.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"54178401a26e8a0d7f6daebbc16d0d9dc7aa6462","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.5.3.tgz","fileCount":509,"integrity":"sha512-1mYCqig4mvzx6O1iwmqeMqfQaT374qGvVhGYSEzlJz4s94i7oRc08ZY5uCLVdcBxX9TldGsQ13vM3UbTzZbfYw==","signatures":[{"sig":"MEUCIAQ6PiwDGxE/yMVrhU3Gl1PcknmN5kC4591jjd59ILHyAiEAguhY7hCb8U/Rc8zAg8dKV1NaEf2PLqSAF8q5IrDtolQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28383563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNjJOCRA9TVsSAnZWagAA/s8QAIzh9Omb1SQ/SOXSLiJp\ndX0E62E+9IXBr/30fqFS30/zXO/Hiz160fJ+rUArGYrDICWwd6IRC2/v5XAI\n7Gq2niMivyTvSfuJiztuFC3+oxXJbi8ry5uhdqEWuoFkz6iTXZ9H+UhFmifF\n3TCF+o26IIn4jNpug6k3NhYxsm2C5H7yLXeVXWG4cbw8G1ZX0LZvUYjm6/lt\niNw1hE+WgprAAl5xsscppStL3w8HyZBVD3RP6iE/oAZzCBSnrTrrtSTQ2grQ\nGEHmEAjVEEXxKsv9WAhznWoZqIZRQj9oMcdkIChnGsQMCesQtURhdSflZEyA\njTkq+KecQ/SY4UzroL1T/lC5gubilOsrm4QiNGGheErShdyrwgsYcqX8/qXN\nL3zoSDIn6v1qA+eGt+e/RVILcN933onKKDmyw11ljTS7yCZu5GubebatN/iz\nKyXsP6SspjL4cYCKdfk28GWqXY9Y1DAlo6T8tCJmiNJs0IW5Jc3gvpxL1uM7\nxRFNx8xC0WnAQlDrjznsdDjhI+ph4UZGATXIXgTX9nd2Ob8BPgZWBAs6PbNo\nP4/1ri+/TEr+P+ExF+l4+tNAZmipWG5UtTM/0GwJBhG29j6j3tgcvoz5lbUJ\nguDgyfkbZooroQsSKsj1tzU4aWPcKvzqZ2/b5U4NfNrkGBkC0LXcPKwCs1Ib\nWxA7\r\n=Z/+D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.5.3_1597387341615_0.7353563220592054","host":"s3://npm-registry-packages"}},"13.5.4":{"name":"@preply/video","version":"13.5.4","author":"","license":"ISC","_id":"@preply/video@13.5.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"798bfcb841accd9d20fe7e3cf1f9283e2863787f","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.5.4.tgz","fileCount":509,"integrity":"sha512-WthLo/vtbH/SBpaGTU4h5bXhKRaCppa8VvwW5hbXfEhgCVn+PDRK+2ZDAe296dxcnrDX70+nh7XCC7E+TJaAUQ==","signatures":[{"sig":"MEUCIQDTaw6TVNT0aVUzitPUWMQ+883b1yLCayVk6Oz04VKXxQIgdyGyjUCxP3kfS4KlpD4HOaVhCXJQXjFt9Y4kTFPNHD0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28384043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNjjPCRA9TVsSAnZWagAAEr0QAIkuHltuiqc59FgMvbgR\nPnzKbu7+eC9n2bUqY2gw8uWo5wzFhOZxP41D3+ZMeLlkEaala37Q2ICQO7gu\nevq/VtKyQDMg5eBXrWGNmMO58AjLLfT9fiebPlgutx6r+ITHzxZYn3hPiTI2\nRjJi6a03b66Xdaxyd/CTSFxkaDMBKjJxK9c/X9dzWFyAlGlLSYOvjdpxWyfU\nYMCPr0frWUToAnKTy4xUhDpN83MZcTMF215V1UlAWp+g9EMWQU5KvWHc5ybl\ne4p8n1o1wVkLO3Mf+PxrJOG7G1Yi3CaTk5TGzHScg6baMK6UoOds8CFXx7DW\ne9ShBdJ8oxM2V7LJJzLULUsyGVPi+o5hUl9JXE1XrXRrhEtMpi7Nzygk/BU2\n60NKBwxq4aqNupyU4EqtVJvWFTbQkLLx+QDDbW0ANc39lyg5Y83EhNFxkZaA\nxshNmOkPNAPmi98UIY+gZGsanNqEhIdsymbFXcYPUe2GfSLuHiEbNHTqf26K\n+yL/01JeCyQ2/zdNb0LRqWj3T7fUfgRw308mGTolT75y38gOPHsMwPysnufi\nnUi17URSDPoxr2RwndCZS7Fe+WEITX/z9Muv4tBvxu3THJCPyB3d0gFWSDFa\nrsmXH3s/chMMd5Otl2ULa97QhSjroUprudwckp7SbyP1RnmDwN6D8R1XzD5a\n7QRQ\r\n=5e+0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.5.4_1597389006437_0.5464851301554332","host":"s3://npm-registry-packages"}},"13.5.5":{"name":"@preply/video","version":"13.5.5","author":"","license":"ISC","_id":"@preply/video@13.5.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3f1ab0e04d4fbe4fee62c420589c9147d3dcf2ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.5.5.tgz","fileCount":509,"integrity":"sha512-jbJzDmeWU2WkTTwLDhV40WiuEOmoAf6VRHFghT83hRDiE79ijm4c6yOZK0VKZpGPjXvmwa1ZZFpf8l7GoLTP8Q==","signatures":[{"sig":"MEQCIEolFhmIe8Sp6dD1NYrHLrUc+G/Y9oy1o3Sk54PrEs+TAiA29ubVlErpfue0fk/tOIxVRNOFw5VVjgpwjkK7UZ04+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28396709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNkbbCRA9TVsSAnZWagAA1EoP/igN9n6Aw/AcizFynsIp\ni/A5Cr8wqOPKOwm/ntGY4M7D+/cZV3XY3HLvrd9rfTR5Ax7zGCvXb4OcGuw9\nTgbf23oCpTBFdVWI78f0IcYJWuoVU/XZ1Ldy7H8PV8Oz1dl1LS8MZbneAYcR\nPL+i4Rkf3eCaz+kxtmR9uEybJRyLhYO9X8Mzrxi2ybLri7krr9UlW94LeRU7\nhMbvJkRTGiuXM6PS+tSIdft6JPG/VWzTs8NHDERyLrgPDK5GwqMeVVEF1MYR\npV0rG7ZC7aatg33gemZ32qdImMjOuB9wdN4Vg14cE8KU0ijxJLMTf3HdvLDS\nnsQDpiVsgu8pXISa07D/NwuKdmhAI2MsA4OdCrpXtyrM7XbZrw9pZB03v7kd\n12tqDVlDMC8CkPbrYVaw6/3swUS3BFOZ8ecLu3N/skl3w/DrVnMvgQh7iDZQ\njm8PCu/sGcZZ79NKkqeE+h8AQ8OuVWJJE/b7XTA/i7g1tgJRwNaVooPJeclY\npX+85wzFI+Nj/4ZVItyHIZQwoUOv9JVNa7X+toAMtthEf+mQAlIBh6XpaxtA\nVzD4KJeNVIdpF5tDHxUSz6etxJ3Foma9zixEwrOwG3B+7uQvPwvkHvhN31jF\ncpYilzi+c4jT/heFBl9s7RBszfb1xYw+N9FWVyiNcUi7u73BvAXbRSJRhp5o\nbQsx\r\n=1RAT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.5.5_1597392602805_0.4738747605765248","host":"s3://npm-registry-packages"}},"13.6.0":{"name":"@preply/video","version":"13.6.0","author":"","license":"ISC","_id":"@preply/video@13.6.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"476a520617c729d05d82ab69db6f0d5bf0ebf6f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.0.tgz","fileCount":513,"integrity":"sha512-D1TDusXaPiR0YP0FmoN4sZLS/+XcB9WN8t4rzCSogDCteYe9bWrPkSemHA1PpTVibCKdEHkU4rObfxfEojG/Ow==","signatures":[{"sig":"MEYCIQDOY9aSbIIzm9If8DtXflgLxVPJE6RDnoQkIdtDZ7Z3zAIhAIjtkAGhNZfaK6DAoNHoqjnI4ZuQR/XpO4Oo7TvrUyzV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28783213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNlvOCRA9TVsSAnZWagAALS4QAJ0+0/A7jVBW23WRdNEf\nEX62JRobHIojOyGpQq3DJJYhjnXBxpc2Pm0PS1IN0XieTLNrP+5rvWbkFsEJ\nSXXk25kph/JhvLSHCvAwKffNaH+ycRaYPml+PJs3xXHTnYg9bv3Ec3RLtKQY\njwoyc8zhImgx8vzogqjM+h3q43f+I/LVm55O44hMmFkwFojuFapjwvDQiHPY\nguouwwRQWQB5GOgMybOntoZg/cIHwWSbttWHNATLj/rkgg+IJc0zl6QdTxUk\nlhblxs1QRrCtgNCPK8Hawg54IGGv/z504mpec63TfC+F1rGN3RtQtY0j/lmC\nTar3Rs/rxw3JUB8dU2lc1zoxvdUm0chgj1l9u4s+C63rSMdY3wb6VyASdj9n\n+VItimt/VaZvvWw5ZHfYuAenlDEo/6KmLnyNboabng14vpCGeyo8MQUnk9VQ\nf92hhS/r0HpLgwjIr90mlJ30lG734p3C9PMDag7GE3ajiVN6uriN7u+XFDrt\nhuvwJYtaZMZ38ILMic9TKn1bhDS1YcaN+q1i+wsfbdiduc8oVGaaiF75me0y\nGB0dVNyDeoM2lfctElJgS6ktZfk8wSqlr7lS1yhLJe/ECmvwvGfh5Q7/7y3f\n5L01kJAdbLHxxlPnFAYkD0Y5ij+Nag60xJBq820b8ztv681+raIA8xgfyUJ8\n3U1T\r\n=6SRR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.0_1597397965348_0.8845925161230441","host":"s3://npm-registry-packages"}},"13.6.1":{"name":"@preply/video","version":"13.6.1","author":"","license":"ISC","_id":"@preply/video@13.6.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f1d35bccae8693f2750f003b4db5c044f27024e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.1.tgz","fileCount":513,"integrity":"sha512-0xzFmXDB5WnKhfyMsnflRiJorfAhaLuRhVPVpdiHor1lCCpfze6W9XH+LblgRMANs0r7/19Z/QjzMU2NWVs4cw==","signatures":[{"sig":"MEQCIE1hOF+DdWZjvRa7UuJT585yM0a3NAfUmSrmoRbns0BXAiBcl6X9uGNFWXC9B+zcgOM8I3VaPokz1ZzmtfkAgtvalA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28804468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNmM8CRA9TVsSAnZWagAAs5gP/0Gq1x5Mr+lD5L2COEf4\nFnwTJYmvMJGAKy1N4vYtjiKOTILfKeZpDbI1tN/LUNDT7Yu5bLp24n4NFier\nD0behrCoRy2309bWEaD0yVO2rUVePewmr5KH7wbknlTN6zqEppvCEzpJhO3C\nJ3FSRPDgdhpn5mOvSY1NfU44YQzmWQXcGWsgSHI1QuBE58eIhbkH3avqZUwD\nTlFSSTe2h1zVRnk/NVEs4KTrY+dkLBg8smP7pAAoLQ+cLRffIPZSP0MB7/qe\nyhUNrHPDzeiOgBInyTZlXPAaTwAOgQ7kkY84uoIzCf1YLBXkRf7YKcWVUF1s\n9Gv8FcKjD2zY6tIzI/d8f43kimU+rzeWQg05mOHzwGisDApSaSIRCFwADL/e\nXkVEA2x5bJ0vbu7i5A8+XsRjlqPjelDiQ7MceUuF8amAnP/gt2aTktche/0h\n3xj3x4plg8g5oOFhJ5K4ai2kjS+UiEGXQVouDuRs7dm4iPth409IbUiLNFJP\n2Qwo4+VjHrMVgjJ5uQgOlRQstprkQPgdRDfKWow3Tlccp6qLuHCZFXUo5OPM\ngtawrfb9iD5MlbgWHUx9xgaOprc02XMrpFCe7PQa5x4Um880JtFuH1jhJuIz\nYEfD7FMMmrYfHt08q4/3il5zP5VstyYT3qn1vcaljeY1LjFkAEF1ADAkunJo\nWo8n\r\n=Zz2w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.1_1597399866642_0.019456558075570562","host":"s3://npm-registry-packages"}},"13.6.2":{"name":"@preply/video","version":"13.6.2","author":"","license":"ISC","_id":"@preply/video@13.6.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5c693e69ff265b525c0339959e565068cfa637d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.2.tgz","fileCount":513,"integrity":"sha512-IZWNh7srxGfNEEJWLsIHaxXyQtWxFwbRRUzqWB8A66uhfw4OMIF7YzmO6X10LF+o6BEf22SDBoa9WwFkFRc+tg==","signatures":[{"sig":"MEQCIHCWsevJD4WHVRCwFxucroCDrHuY5sOh95RiIooJOxyUAiAYoVyvynAfxUbC8pOZoa86wP1G0ydftA7Go5cHijntWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28804469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNo1rCRA9TVsSAnZWagAASW0QAJJFDKOE8IhlK5apZjZ5\nK+bVXsUGoFs+xNlzJIrnQbc1/+5uVcHpnxSGNhfPXE3kkjT9LJT1ubFOA5yx\nOYGwnyIDg3wJNlDX4ROWoOhJ6o8kGHbqPpLtXchDxgF5bAw7LEfzyvilQXKp\n6HRdQ6aqMgLApwqjrHSYN6yxHEJv2DwBWbNjUtB2lgh3e2OIeudIUPNdZG3+\ni+E6+kLksd0zGWF/AQyqKJqTffT0ilq67IyAw03kz6Q6Q3VUa9JRZPStTR+W\naGZ/3l5HPx/+PP1UbBGCf2CoLBHn3rnzzjDagIDeF+79dLxOuWJluYsAvfj7\n+f+NWk+aAotmMpF1Pcqz6zcZ3TWq9LnrwvS/jdJM6TTWp7R0v1GM0axR4wYo\nxr0YBsEM5mz20USfO/yDTtfgqW4ZMZwetApthjKd7Wp4uM/AKjrJCPR1RHge\nOSYwP+R2T+VTRwIB1aNVMFsFvdpLM6DJsHNkjMK/tds+vfPJYQeIHsNwScjl\nT9UsOQhgkLeJspYMlaZJRcRW1joqMEbYrX3bfNwPN8OAvCFqf1MReI8we+Dz\no2oTB8lVCDPWqerI7MbaQNY38QMZPUiZzT703RxoaKG2VrqAxtf014fygbfj\n3+rBsNMkxMMXZqtH54vvRRf0bPEiFMogGj6BotJJRnsrfp6AX8bDeCb3F3zx\nPXL7\r\n=KKtm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.2_1597410666647_0.6359585750327339","host":"s3://npm-registry-packages"}},"0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6":{"name":"@preply/video","version":"0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a9e35da1b010c2b9f36fd2ff43476df44a5c1dcd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6.tgz","fileCount":513,"integrity":"sha512-JwrsMLi8vG9i4NnlEs7xseTDqGqGtgsDapZDZ2HyZSUFPaIxajdqytxMCSTm9M83meV5Mrwranseax6Gw2hHXw==","signatures":[{"sig":"MEQCIFPWJZ/5cROb/UHiBXdglXEpmiG7oQBK4hZO18LJIze9AiAzoYzl41xWChUYCXTg5hM6eq5vRVCb0SSwhdNybS+FXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28805789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOjqHCRA9TVsSAnZWagAALa4QAKUDk4XRMR6coVCSq22o\nYny/VdkauPN2xT+Q6EOqHltBPk/YuUaTs632EXrVMprnVDdoF2iQ84e56ndW\nj+bRu77C6xaBM7NjgD8nZtzTPsqxYaRfKcG+gcJcNVMasSQZy68JEHCpPH+0\nVsCvytsxRVA8dIs1nVrRCOXSB4T0BGylxq92751uSMH+caie0anGYdDz++yf\nseZVJMMb7mtI667PUp76EJnhJUJYNi8alLoTqK04uP5Y9t1M0iqa07UBdLgS\nqB8xJvLQCtKeuV9nkfXciBnM2ga72DD0bU6JjvQ34+MnSxgnhPKFmn4dY9w2\np0O+N4CiJ+F4N9sF48K9Rgh/4RcZAep2niG702SNpsn6wlUBMxFugp9ME4Z9\nnyTfF7Lr8wefURebQPQFFdlS0xdEv1oto30y9u14gP1DCmwY2h9HIzrLZQQk\nxTGUYNw5NfUcrbWoMZtyLa3FkI8PW/xfebH6iq9UhZI/lI5rVWbZUazjSE0c\ndmhFE3uikwbip4U0UKG6Q10yPxRXjwSa7c40VRMyEkKnSNZWdOFE/UOdjJVk\nGjCzzaf0Y0Czz8amUXUNuNboJgMpxgdmBaGtneAQpN0LQ8titO3s63DTvF4J\n6giOkeawvtAO6YqC2A6KuNjBMy7DZ84cmsAjj0wysud1xfog+xfPiAPKBJg9\nuJzZ\r\n=C7UR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6_1597651590508_0.6115645250353758","host":"s3://npm-registry-packages"}},"0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb":{"name":"@preply/video","version":"0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"16faad81712b930c45bb9e754fff3d70c84b497b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb.tgz","fileCount":513,"integrity":"sha512-mVY0usCZZ8IADqUiP6bLFisum1Li5QA6K6tDivwV4cg5z+8ZW/Unh3FEZq3iFYWKS2xXgFwi01PXyrBebj5dCw==","signatures":[{"sig":"MEUCIQCv/CSuGF43b04ofFZ/dqHQReouE/RRTzogCS+9YbpRtQIgIu7Q53tOPSdDtSXWwIt98s8Vu2pTvPa8gv00iOxIbv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28805519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOkTICRA9TVsSAnZWagAArDgP/2wGGqsqpKbGR15MNxSF\nwBLQEL9naCUydtrxAU+xi/egu6LSE0b/FK/oLf9M04pFrElkaetvFT+h7u6o\nibBzkv6xo1xV8esnS3+IBM9qOmiOgqYYCfMgedAvNBQzLdgvytIHsW4LHucQ\nFNjw1/R2zDAWQp//PHXUjBMe7YEKNZF+zyaJ9ivErOU5geISeCEPDZILA674\naj75gKP6yez4fLXcxCLnJz/S+t5g2AOGwmiKsZA7Tc8/e2h2/KM/jwcD0Rin\n1qyTo29T4ZHp9YUOq2i4irzSq3UlCT2ZSaU0ZbHBD+SoquDbT8+6QCNk4sdj\nYUhTqZ1HIlquD3GOnUyaVDx3bAxy+qLVdKP9WRQHtAwYGitibrj3rnXg4rnC\nXlxlSKR92CAj5t1SZybV/9+0nofnoZpn10VGtHajMpa7uGARMRHLJMy4ofw6\n7b5Mk6kWvUTJJY+XNwSmTFk/q4d8GKQrpLeaBNt+Tzjj4Gz0kr1KKFCWY5Ew\nrjRFWlik+oB6qMkfVuX8o4/2hTUcUua5Q5VsHE7PUDT+42bVrtzgAX2H6ANx\nX3IUa67cosIVRg01QEqgnMBsUan5VODrRdL71P8aQhmHF4p64IvVyvMg+CUt\n1YBw81FGZMYUNh/Rv2QpE9/Ovq6dXuV+75slXzVisAG2O9D2SLxZ7vc2A/aa\npoZR\r\n=uvyx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb_1597654216210_0.17661078426397503","host":"s3://npm-registry-packages"}},"13.6.3":{"name":"@preply/video","version":"13.6.3","author":"","license":"ISC","_id":"@preply/video@13.6.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"47d85dd6492285cc223c6111633a2e7131384f4e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.3.tgz","fileCount":498,"integrity":"sha512-gFBIvlzC74qwLgplhS/ApJI79EihTh3NOKrEz8Fo37Lwwx6VYM92AJm/F+GHLsea+3YgyfrWhGa+7WF9uzyXCw==","signatures":[{"sig":"MEQCIHZj/JbfVgKchYShRyiBb3NF57+Ho4HMIudAsAfY22K1AiBXEQOrTQBnItHH4TfdZ1SyOFz+28BiPiprcySXxcXcfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28685306,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOkl7CRA9TVsSAnZWagAASXIQAJ5uVG1gHvxS4RFHysC5\nEbRKUCOUGFtKckG2ZUHWF4fpPwNBP6JEricUrmDI5IgbfpHGRF/GykT8SvcB\nWxi9lVuZJ6NuSTd3BelhMQhxYgegfVEH3ZMkIVI1Y8JJYJY/0nwNWmhegOge\nkcAnfKbGR0T4QAV1kKa2I0LIlIRGKfgKfQwPllZH+GHYlMy+9WiI6ifa5Obt\nsH+9bnypNLYtCYMJxJBNbBY2AEi/WKxn4xkqnxQawFGsZCuMNSMFnHfP8lv6\nPXU1iTKT8thB3YEbAG2QP+Lwpj+ek5AR9RsUh1XGa0rpOaAdu1rksSA7JETZ\nNKAcpTTJ9VXPa/CEoQ7SDmckIP73ZUVPCnvYq64bnKxAxGdfSbqXiZjXl8Sg\n78VM2bgZ/aroGLZXqSUkaRfYs3HKfHfBKDHzl3kVjrQhPSViS+VGSaai0Yx4\n+rrX6unvukpFzzITfQFbWSnUyZjyad671lwhMyz8plE54HaxvL3Wf5hEknGw\nwZJxaSEhJpgyS5Os2DvpQwGyKnmmZGTvNNTd0NkVdQVwvkrZUi3Hf5BKhQAX\npfS6IOjBIoQVy7MvhTOrFcd1z8Ls/Q9N8fjwil8z9DqzsY4VhsTbkKQSUgj9\nSipgEHVkzY0sZnJAPB+8OBSbqdnEq6rylwySn71osZJ8A8fdsZHYxqgoE8lV\ntERr\r\n=gzly\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.3_1597655418072_0.9868687643753706","host":"s3://npm-registry-packages"}},"0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d":{"name":"@preply/video","version":"0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c0177d0efd24bbca9c0fa682f65ffe417bbd7feb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d.tgz","fileCount":498,"integrity":"sha512-4XjaQwJKghwlJanLWwGqtBpE9i2475IaIRK8PLNMVsAkPZTE/Rr0wQj4R8bEaQPK11JNM+T56arCdd7EuxV8eA==","signatures":[{"sig":"MEQCIFlnmh9h/htTMC7U8wLIeaZHxy1T7+1c4Au4cg8QLrq0AiBVjx+PK8tMmlUMq4q0B5wSDX7Og75CnGo222L9v+ZYvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28686955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOmoQCRA9TVsSAnZWagAAoYkQAJsUzT/zliaMdlQiLLOP\nmKwzSp4MkktvsFhGAlX2v6i8lWQfphmk7W5cMciEyGflR85dxaLUFaQ4ztwL\nXK9+9ow5W0RAkQzSfw6jcybP+BK7ZX9zAvZeFZCJrsJH72Vvt2kBUsHaADyj\nYiSx+kR0idl9Dv/S4thom9eTJ7PuABo89ICKN2g5Oc+50tLqwG9uktiVJIXd\nY0nI0GJzxyCZjP5KPgDNzB4cwzowhdtnf4UKLWkLXSVAt/jsGSN4sZrOs8jx\nYKa7JV5JLJoFClK9XYDeXb0fnWUw5NIheflkgYuCFAqtXEo+yiriVDCRqYvN\nbvOm6TUhHllyXc2nIPhBL5I6r43XJShBn9xDJBDg5d3kHcp1YRAY4LBk122D\ne6hnwD2c5D7KwNzwkZHQsMnb8WPvb35P4A+DwAQPcauAp8NhU4/xFP1PPefh\nKIV7EU6xOW1oh8yPPBO4dO2VU6GBJ2cCfDHIYj9oXrkrUKBnNscS+ccDIomZ\nk4i1vTqNUdFn7PxnbtFMjU0uuYdt7RN79GGhCUQEdLF5I3/7bGL5nib41uUP\nH+xMWIs077PfxLyMjKihl0p/uYap7who+pWqe+GNzRC1gJ7+KAdKRmmM5qAC\nAq/ogzyZ2vXWRINVjPNuz1Ib68VwLkxtVuOu1eMLtwGFP5mEiEeNqHFPfg/1\nryhD\r\n=+D+W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d_1597663760072_0.9518791055934201","host":"s3://npm-registry-packages"}},"0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8":{"name":"@preply/video","version":"0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1781e36c17283ed2184a007f7e72c409ff18e078","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8.tgz","fileCount":498,"integrity":"sha512-Tp5+rXYmv0WEKrplWF3VcSOemt0R2SlcLJy4W45sqEMy7VOwoaZZFO3P9JSHW2s/wBtOIFk/ciG111/eo+wVTQ==","signatures":[{"sig":"MEUCIQD2c/qz/groyaKz3vY0aVFotBijyMWzNbAG7gd2HTU7awIgW4Bv/xzzf771xcsRcEpTO/x4lAt9LyMuSnzgT1sd0+s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28686955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOnvECRA9TVsSAnZWagAAO9kP/i90R2vzCaKbabsvMabG\nT05A0QvxKF48fj3j5AgunzoxlpL7t259xM+RyCUZGm9qieb/X9Y6XTgvR+/5\nmxv3QWQCo9daZHTwnNaDCmJC0UUr7NOUXhIDbBiYsDnn+QNG7S0XKLA5W5V3\nInzsYFmeaEGLFdRTbzlMQxsYQuneF4Ed7wLXxL3pXkL7eqXBfwVLZQCl177i\npE2eljRDSEZE2X+tbNWwFEbSG6YwzttwsylgHqjjOE/WjocmieZMiI1p/Hc5\nRKrTUAvXxYTV6dvJqvVv3YzDGkVVr3AXCLmDPwMnJj4ca1v8tBh+SjmLA+TK\n1DpCRkfY0EEgI5ZhaSapGe6DuyW41QSWbMkpBJ22UBjNRT8G3oRKoRGKZtKq\nwtIe31TL30d2y2YIEH9Z6/O88cMAFx4bAY2ayPjl1BrHz5yGG/aUx1mf8xdF\nL6Cl/rTwf866pAq6i5Ve33GNpwZnPy8OXtIyqx0It0WhIaxAtMScgx4ne+ZI\nd//GaSGaESS0tjLcbL6kdJCXQahFnxBrwyKX7rHhXjszSWRdz8j5b/GHT7E+\nW1CCWeZg+V87iRaUB0S3pPfxU8XiA7a35z8LxIk2uqrrABsGg/ziC03bueFe\nwy45olDDCJ8LxBIkUiD04RqoY4w8kGw1PZmkQ1+HqzRVRbIZ4Z3fvod4UhR+\nJyeE\r\n=OZdN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8_1597668291789_0.4032628620515537","host":"s3://npm-registry-packages"}},"0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923":{"name":"@preply/video","version":"0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b10944d08b5ef1ae580239a93efa4ae535206936","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923.tgz","fileCount":498,"integrity":"sha512-40cJuMB9pz9N1v2d2M0BYktzXv6osoHQG4ucB0ngQaf8LcW2jSKDbMHIkO97PKU7DMzCmU4Xr5Uh7cybCg59RA==","signatures":[{"sig":"MEUCIQD9Xdnn9pPNJeJjZKjZb/pdFcxeJkRLwio7HO667RmIwAIgEIlU/+16AzGrIY2wQfJ8DtBvw/nhrvItSqOwDuQ7C7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28691797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO2sLCRA9TVsSAnZWagAApIQP/AvKkOBQDWKwuPNkpH38\njxECK8Rxoe5OVczFJPpLdpNhYtCrQt4X8Y9KTaa+jCzvZ+PAkvra1csQf6xn\nELCvvNJgjfkiyByt6LcwzcnW5NQapKBPSzDIHBRx//eU1kEI1bg7secDgbWM\nH0x7rVJmdQD+QQnsFmLSo14Ox4/fDDGSNL0Avy6pAifXOWQfem8YERUMWPf9\nJDgi9siR/xJ/uru+oiHmagDYJxLlJkze+apmKVsgt559FVK0YJgFX5aqG/HN\nt4OxtfSgpUxtWZNuLxqecIkt5zJg/kpgigp27YQo4a5GmxzSFliHuS5kO386\n3AYeAnWTCgrSEbXjkb9IGC8+Di7KV5qN3nizYMbxuidtEWr1U/npqhjNtz4E\n1E+PV6F8kZYybsYwlrCrSarJniKKZJinJYcMnirgvPVFOqtj5yqHq7kCQuLH\nlr5ot8UkwcA+aEk5N68LaXKhP/QsngAzWZ/f/JLRLdl6yEtKytvAWoMLLOsK\nbX7NAYTEGZ/aIH4izXWwMoBgJuyQ2L7lhe4UEzCJDZiKO+NEibG61yy5fQ3w\nh3AaIdJnA3r8myWH/+R3zLteeTR+fTkOEA6F5PsMm4m4GIyDs8N4GKJTguQW\nLASoPmq64x1gWLB6NmyIUZO2vE/j4GU2JCxG6dSKc6Z8IFVrxsyPZ+LlV20M\nydtJ\r\n=AgXJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923_1597729546394_0.14331446585094887","host":"s3://npm-registry-packages"}},"13.6.4":{"name":"@preply/video","version":"13.6.4","author":"","license":"ISC","_id":"@preply/video@13.6.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"03af9cfdd79d0aaeb5aee4f7cfb20752111ab0c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.4.tgz","fileCount":498,"integrity":"sha512-lgMAtuAW5Qx7r5mfhm7IcwtOwqjNtEMwBZpLkC8S41M0lo0L1iSiunFR6cnthVyiVrr8zyxHsLtQdVWbC3gypA==","signatures":[{"sig":"MEUCIQDKsJCjhCnQjYoZPtv3Qd3Ub6mXsum+68cui68Akz2O4QIgUDbgU2bUXa2kbZp3oAiKUMu8v/pVXl2f5oIFD13O1xo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28688969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6lgCRA9TVsSAnZWagAAxx4QAKLjlYRargRLccS8OgWP\nkUOoy+QXyaVbSx1riMZdB813T94XiZDRiARpJ6m2FzMglHxiX5mifCs2TFVg\n8GHoIwzu8mEWaKnaXZDiqJ9zzrqYlfCHQsYhoiT8XrHtKilVIAUzHGt5tpP2\nFOTyZjGj6VePTVsiXam3ul3ZgS7R1KSUBfBsKF8ZMoGOZLDlJiAyQHzOF5hR\naQTDPd1Wl1pwRYNZYNtgwIwJkdb3n3ubHCY+FYJDwgbi0Ku3Qy5jedg1xRs8\nyMGYWe2zRYU3hsM+1z+TR4RMEUmZ/DBnGRQ2GBdKNT6vUkqQfxj/99g1p2F1\naDFhljcXVy3MhXPcs5prWylK4Qy/MiUFM1wRjZZ3syfi8HlJaj6gDWPxkVl/\n/PvY7vEOfI0dReMbvbebOV/+91nkbKHluvUc5HP1ZLkaRGRHp0CPHyUMQnVC\n0PKb1e+TVEoC0dHV2zQJxtYBkKpjWSpi09/KA3PbrL+9C0VEt3G2TIMLQcHf\nHrGIRhmQtmcrG2Y+X3ru2mRc+JANaCqCc2Tt07t2JwKtsCfGArLsKxS7KQGj\n85V5COYClw8yKd4P+wxOEwAP0tjyKG1imZntiO8375yN0dxYr0gBxVrhZAys\n00spf2v0iCUoocn0jiVeq+38Y+Gpf/4AD7pzkt9UISDX9EVSn4Uze1UxkUM4\nWQjg\r\n=sLaE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.4_1597745503627_0.5361035122265994","host":"s3://npm-registry-packages"}},"13.6.5":{"name":"@preply/video","version":"13.6.5","author":"","license":"ISC","_id":"@preply/video@13.6.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a9499c9e6b3d987ef02512d44e5c3ccc0d7e30a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.5.tgz","fileCount":498,"integrity":"sha512-LYAhEwU/NJnMwgFanuaABLqKP71EKwBIdYD8+eIVNEB5kt+VvwVDx3PJNSl3YORh7h8tkqLjVMaIwLj1yGuECw==","signatures":[{"sig":"MEUCIGGi8T4SsC3JW/rWRjbTDqx7ItmcgzQQYssOv6MRJcLlAiEAtBmH3NcvfSyV68i+H4ZI4Ylz6mr3DwxFIPcx2YF+PkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28692044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO68iCRA9TVsSAnZWagAAhqwQAJ1EH1RDyzzyqqpjwxH3\nE3oWsFfcTFPvzWEFrzcwuYqRvCC5A0X79Ybt/NJvuQ2aXMhn4ABrMSlinu5p\nkKVOTJVYmnFWDfE1Akc4doHHz+R5hQYvzsvONjaRGfPeCQOWeLRSSmDj+lXv\nNx23HkceaF3nwKiFlGqUBRgPk3gQBPBV4xH9HFjGwLv9HDUzcuThMfrpFXtd\n3W8aZMmJw08foFB1VPcVoDmoiXI06O7+d0BoBpNAH9X2W9Ha8k+IYw3a9eF0\nuiXel5QbYEuqtfuhoRrYG42vVm6sB3hMeG7m/iBjvCKl1oIoltck1HPAycq/\nNr/PGuNDyJZtTt6vxEa8KLby6bJ1MkA2JpbUv9JO33uhRUo/0gnBZJ5GlFId\nRQEUuSM1bJIG7AIkkoBgHdhaDlv13JNvrz/ob+WCCPcLCt7d1KpOPYNtgyK6\nw0ovfM0NM2GcESyNtIYPQOKCUbKie+tGQSuKspVtW+BpFTRN3BRRqGZi71Lr\nxtLvk5FO3DDeeaqT+mdk4EOmXD3nmIRjMw5Tbmwnp/rQ1Mk2iPe0rPzd/GAp\nCmvbhVEZfG/ZYzv/pocSRdGC6UY7kD2m1BoKeUgkQv0W0+MuZna7wrzEvEKZ\nARzlNH5oVsDJau1IHgKXJzVZQVs/G3RQvZWwO/PjrHcnu94idY2iOqrDopxk\ng6v6\r\n=wlSE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.5_1597746977212_0.8345963702702726","host":"s3://npm-registry-packages"}},"0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d":{"name":"@preply/video","version":"0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"55e0d064fd8ec57d3eaa97d56ca12b529dd3c238","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d.tgz","fileCount":498,"integrity":"sha512-giGsETfH7oRqRzpiIjt0TAwddfs82oo4EilcdRpJJLxbdv5k1u6FPpPusz6bnMFVeiAobLGVTRrDGBU/1II07g==","signatures":[{"sig":"MEUCIQDchqVXtQXuapu+dQFhr+gJGgVSKzRvR2JojTo1ElpFsQIgOpqBq/pfUm4BLIU9C/LO+LEE+d+aCdvRVHSKuzcnJFg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28693095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO7KxCRA9TVsSAnZWagAAMkkP/RhY9x6NofnuYaA/77Ab\nqCjRs4A85WFN0mwp6d3Z2mFqdDBiouweojky1fDni63/sGSIzko+Z4DMXs5H\nlqXR0ky5XjETZhA5a1CXS9QpazYB9j6DpkfTrOmXvvrRXhLLG3oePLfPeJTR\n+O+epFe7VKxsbz5GI6qpTItOO2F84NHL6E/NC30Wz3sv5uFT4XDiZxtac+Cl\nhAaOrzKC7uIy8aWmsbQwnxApXHai3ao8T1VqKTEZj75r9RG/aI9nT8D6Ntpz\nkqsHYut+ozG3l0S8kOiYjVfB5PdoCObikgAn4oRH+zzaFXFEx57PWDPOwhya\nzqEycqdapk9ID8lp4oo7GNc144UXozGvra0zl/KDr/H8IMhPjMZjzxfV2no/\nA7nUwAwapIcrb4VfzhJBRZqZJrPeWbdd0cjgSY0UNNHQGzYxvPxArh8ahcaC\nnZ876jsIlZiGOdP7wqxsArmy9nmuUauvOvC2GDttvmAq5W2oL+bnedSCm2u/\nweT+yayYKP5EIVdLP8OlgQm322NQ6DsFauvaLlRkfFdTbRrkdqvq/Q91ea65\nMMLh2WZxiOGCUss0Bf5aqdqmCvoK3PS2+FlHpMKzvJl2jp+40pGnYEDzL/2R\nZXEUWZWqFWLdYaJMjLL7xy2o9m0i6aaqlk6haeFmO3zHegml94MDXxc+vJ03\neNI2\r\n=WvI+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d_1597747888955_0.6350984472490617","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f":{"name":"@preply/video","version":"0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4194f3f5aa5cdfca44d5822e6ee553e7ebb2e8c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f.tgz","fileCount":498,"integrity":"sha512-5r5a1h0SS4+l+xpqwKaMwnrwF/372qN71IYFpsZZ1Mnd1x5MXCCse9W0sUIm/AXAW0nm5+yyFKSmXRhXkBc+Rg==","signatures":[{"sig":"MEYCIQCSQsh0e4NA1pcxnv8fbU2sJlKKmIz+OFq4XbWBzy71MwIhALR9ycr7EzxKVPXunMj6xZ6rw5B5g9KgDZapC3CfYiNq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28693095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO8AhCRA9TVsSAnZWagAA8DcP/24e3BbEWrnGE2VhUyKn\nmLPpBvS6EF3+KvpmK+m4HNegm6VSHMba2M1n9dx2h5+U2TIsXcKjRxkhA5PM\nf/ptpyrK/jwVPLOc2wze7QWGH8R4c6EwV7rOQ+C8Uvj8VpVwQyaARCK8NPJZ\n8zd+pmuLePwGSqI7z8N0gug9C3ca1PmRW9M626nMDKkTXZRikXHQqTXtRTUl\nqGGDdUtEd0bYMnvY5bVmkXloPvEeFgr6sWyf3PFtPw6y1t+7ouYhG8jj4gTB\nj13CccCd1A8aEUCTMyaYrjqAmk5QT2cNq5I8mibEp3ubi25heg0W8DyojZ5g\nx8JBmR77qtbCrFPwyotIASVUOlTqwvp/LXsMPUOXVqsH1wDMy4J9078xlksl\ntn1OK3RoyfPecU27sIV1yAOWIp3GGDlvtc2KIKkquCc8XhrWS6KmFG4DpEXw\nRk6FShAv/5ZDpkLKOHww6AVJeIiy5/uKg1oPNKQBULvLc2tqgaEPGF7en6jI\nWxS9L21kzjEow0M+fYesIYN0rkzJokwr8y/6qWjLfYHarqC1IlKWeR916ANd\nWU+etDSLkTj8dFrjxbYdNgEJjPZfUv+qLHTPM/qRDYhvhk643LKEyAcI5b9c\nzdVcNusPioU69PFaEdqJpOt/VZCooKN89r6IzPpn2OA9IYQu2yG8VJsdxsVl\nU++m\r\n=ZfP+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f_1597751328351_0.09627994990442645","host":"s3://npm-registry-packages"}},"13.6.6":{"name":"@preply/video","version":"13.6.6","author":"","license":"ISC","_id":"@preply/video@13.6.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1b7ce0c12ae7b931652b652721bf458d1ec74b97","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.6.tgz","fileCount":498,"integrity":"sha512-xYAVZTWAApH8pF6h0IomdAmNuPMFaUdFxo/bNEfEplGkO5oorAy5LkDrHevW74IaXy2OEDwxUKVTmEYk09gv7Q==","signatures":[{"sig":"MEYCIQCbPJnQrF2E6rMQs9+oEiAw5HDZdfG0QXQLCFbljCR2VwIhAO5AxlUS1eMRL6dOM+NfBB//oe94Mbw0wE7EQMvq9L0K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28692348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPMmBCRA9TVsSAnZWagAAXwsP/jURdG7DD8VJ1fpDSGUc\n7ZFlheUELTr96LDWd4ANrxN4fP4Km0eXPX5Weq1gM5U4lapP7pe5BnbW2ofj\nSgNDmsslM/cZvN7faS6ADUReBRC01xrF4SJDjVI5CmOB3lnLsxkxmVee9VCY\nM6URUPKX/XzJgYvbvfZOFfH9FcnLNS1xHfRV3xMlYaEcJpNhXs3mYnhIks8X\nEJaDzM9PhNMum1yraMQiB4rvODtGMHkrCy122kV1v8EO0Wg2xvAJdkjFwIMG\ndNQLjakviQ8DPfCYE4BWT+6tW39t7FLJ7iIRP0sdOAEM+pHuByKfq7bCrsCi\nN/g3b3hhWypFi098mh/IyIXPf0xuMpYeebayxbl+AB747ymu8TvDN8seqP5V\nLxIPptN4aH70D6Q22wbm9HDetZbpswpEa0NpbJO+m5/PJCQv599dKQBKekw0\n0/E9xJAmWwnQNvo+xlwc5DPs2GJJjuPnyHIm/Xh/C+Riud+tKl1oC+yi6D/q\nKZ3aqhAil9MzzsFkeCf4+YkQGqFNdCHnjyrpOekBzUJH/DxUsbEVxiPUOT8I\n145Vv759o5Iaydda469bEBtC+5lwqR2OV3fSAYTm6GAxJRkW2jRt61tJJEqF\nwpUvxvVqbElmnMjsowVF0AsH7zlEdegGYUA/YmSvu4rC1MWwRfnqiSDEEcp3\ndd/5\r\n=ilKF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.6_1597819264579_0.3391245403751142","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409":{"name":"@preply/video","version":"0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d40631eb71d3c993413e30d5313300779ba09925","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409.tgz","fileCount":498,"integrity":"sha512-aU5htF2FUohb1PunVs7fsxQPk0a5p0KvZnGK37sylSi8sI1Jl0jHdI5jPu1qGrjO7w7eAewL09BqIuHB/heOmg==","signatures":[{"sig":"MEUCIQC4DLIDcm1vLWCuawKveU/7sStjrnYn3dyszpbZYz3lggIgVqx4xafwQ3AdLHIeQgCy+4/e6lzfUy/aZyER8dml3dM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28693113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPNXLCRA9TVsSAnZWagAARIwP/iirO8u+V0Lf99ZUsIXq\nk6hmSFNc4xPftY/hIht3xoIwQoHlEea756nk2UbHm9chB5aCPDnidU5LYaAM\nMmkYYety+vP2gif2aPZ+w12PM7mXe2p2oAZCQd41pmkluV9dj0RUApeJl5hR\n3cMApqeE0AGxO/P0yFZqg5zFyxS9OdW5IUOV5TbjT+ban9sI8v/2xzGiegzo\nO97Ti1QZtKF6zYjLbngbtopzjho6NXEBnOrbxpQ7FxCg7HdMoGi3oum9RlbB\nnIR726RWvq3hm4SIf3qUoREAgSJNVZE6CfZKJ2HRSy0cCkAFOguktGdNm7CD\npzbWoTlCNDx4L9ZuQQtrywYe1eWiszoyFr73cxZf60NMzcHqxANlqqqt0OVz\nQSdVKKG+vwefUS7YmFUOctyIVAbZg7GYcdT4P+XEOZ/mHSYYA4+uAMVY1YQ7\nda3tc1Pnpq36q3nH/+ZLY7Cilxs9nqrzTzJCek1leDw0S+ecFaRN5A9hso0v\n1TdCLkgBH3IyoQGi08qh4OkXswScuxQatTuSbxUYWs8OtkM5Csmf9OpuY2zh\nuJ3j7ub89dXvn5kPnDsjon7BUPVWJm7Fhz31CqW8IKSBCtEhOvnh4fIjl3o0\nsCZQe37tiOe0KoqAusyTPPlKJzWHmzhnVzg/TXc/Wd1m1MrraLKukGlOjc/y\ny63o\r\n=g3A6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409_1597822410702_0.6323282420748926","host":"s3://npm-registry-packages"}},"13.6.7":{"name":"@preply/video","version":"13.6.7","author":"","license":"ISC","_id":"@preply/video@13.6.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e1008c2775757be4c98b7a377dd39fc9c9b12235","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.7.tgz","fileCount":498,"integrity":"sha512-Zh4icjQBAIyGML4YTryFMrLNzIULZZ2u4KS6KQfWILpryISKMlZFCEBBnm6vJ3h9eXpDNKMMcPa1MtgoGJOLYg==","signatures":[{"sig":"MEUCIERlSGAjsQbg00Jblhqr+LVFCFtfWW/hzkShb57uX8nTAiEAruVRLKZvCmKtB73HAaA2eDKkMyqBKp0QuoPhsF+l4sc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28704903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPN4aCRA9TVsSAnZWagAAGFEP/iuKO/JGSpJY2f1/8gbR\nO/kTt3ff7w/Mb54xEq7rDTxvtJYZrFOBfbUbjBRMWUdqUR5deB6B3IYnmpBg\nWN/ExGMkx9bypk8/+5+tyX/IP7DWOdrS0drL/x1sRSvG/yIENGkBXClILG8H\nSPgqvaXvnM4Z7fKcPMbPYclNJVyhz1+t1E2M/OHz2S4A4fUC1JGUq1CFOSEl\nxOsigq/ezUJSGC74HWzPHef/b2luFNOM7Zqqn4/sBpJ4n+I3YJWiSWCXBN23\nm4dh1OZdC+JKP2Jf4HTiUeUft0htb/GM+xozOk2Lnr6TlfBkXmaj+ben1eBc\ncguPriViitGrCGt+vPcFnXwtj4blgABNm6fvT/YxE3NkJsjvO1UPCyDNJJeJ\niOZifkkM4vVZmHccgSpWghJfGd/hNy6LXZkfEb1hl0Kok3fG+pRd38pSrfNa\nAuHTFd/svKUC+pK8A8U1L5tZXag+JSjiUTl1JCdPyA2PRF1UeNirGFa/X43U\ns9jtNBnkASj3ctxXG6t4V1iGWMImUXfzukRwzXOMY10ZbfB6KbzQ4k5ArgOO\nTySzvujv26QM9o3trSOF/wsyRzvoYWrh+tFPBM0ixyAMSj1/ZXH9PxOnopXT\nKNOp9G9TKUyuldBQSpQ+31pFqAD4Kn1MRg1M58k6R2Z17/TFGCBrJxM4RtAx\nW3Sg\r\n=O2oj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.7_1597824537902_0.43906367410266944","host":"s3://npm-registry-packages"}},"13.6.8":{"name":"@preply/video","version":"13.6.8","author":"","license":"ISC","_id":"@preply/video@13.6.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"27731e8600f14bb95ca4f45e2ad6671f3ea1b4b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.6.8.tgz","fileCount":498,"integrity":"sha512-TO7KNd1A5/d4V7STFdODYj8oostjdGaagjW3AFQfBzH5RbsVyQvnayBS4o9sJCC5MMVlyJyxfqenLJ98LRbTEg==","signatures":[{"sig":"MEUCIQCR1FmL8y5YpaPb52SeSMqZQI+J57R27YePNA/d0a0TIwIgU3rOkDAWQn7meNeAKCmzuXR6lKrkt3DZEGAPSrFdU3c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28789853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfP51XCRA9TVsSAnZWagAA3qgP/2yVOSqRhir7670suy79\nS/AKCYyc97mHWoe3+uPHOZo5jOZyd6v8cWEujZ+B/2LZ9BMq31N5hUDLu1J3\nAnV+9yP6CUGkzVeW9GBmV59M8i9TBRrz3c1Ez+R0HN5GUweyUHrdHGsOr69P\npdKi9POcpNEdpMYLVRE6JYQ4DpGQ3pyq05hVnMSWXzzv1Qc/ovSIO1BiX3oh\nvThKxyYzBr/KKsXF3yb+kSnKfo/X0AXviyvI6ZPy8HZc4mDg/UNolcvmWUla\n589VtM/jHeYx6ohVn4ChttXRoW7g5bXR03IlYL6xvyvQdc1NRM4tvNz1AAMl\nufSeG7wm6w7Zr+rOEiM3eDJuVqSUa1EkCcpenUpkVIXmz8uANWSNMiJP8Q4Y\nTgv2xWsWmqKxgkU+1Jlqrllgqou36Slhcxy4RNedybS36wjBfUB1O/RXHtPQ\n7AO9hhgwkZPagI5Xycleop6IG0gAythAatPuTe+i8oFFJl9j5gV6AULkmOsX\n4HbJNtcq5w60/EQkKvmngrpZJpXT+untfayIzgWtKivjejk3UHDJKXGfVznF\nkr8UXKhuNTbA7whKRg/aWE7BJc5OT+b1Jvuy5VUbdR2cV+DylYIy8wxJaQOA\nKrdOZmor5ZJITGZNvsj64dikkMPXg+Zw1h8Uk16ncs9HqI1B8V6JxbqCs6LM\nrIz9\r\n=w8Fd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.6.8_1598004566430_0.26334221698061877","host":"s3://npm-registry-packages"}},"0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8":{"name":"@preply/video","version":"0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3dc3422c9e61b993b299f2cde0c6f9a4b8a823ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8.tgz","fileCount":506,"integrity":"sha512-OuUmNj6aKdI4KCCahZwx/wE8OuUCLy2vMYk9RxYkCVmj59XIwaZQOU4fMw4HsLmDWMExZxDZ1gWGCePnAQp7zw==","signatures":[{"sig":"MEUCIQCc3W8bohIWa2oNcDAC6TyzRa8IjGSNJSh3p9htOnd+VwIge10CDtEE13ZYEjWl0dRRepZMeftVrntGcONUl1/z3cU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29060189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRMWGCRA9TVsSAnZWagAAHCcQAJ577VHKauwUgIeYX83l\nRUwJGykgg86GVrc5ou+8gFv135wsv3hjd/zzL1TGzsAncLqrshyDSXZj1P3p\nIZyD7xygVFzrdxA3jIiebpZH/Mjatzmwi1codiRewFQDDDAMRzBKLlfg0iBc\nrlUT7AW2qjnUq80g99GHC8Bz8MwEqB4w+ZKnHGWhRqRPqkD40IvFtg6PShm+\nhJQ5DMn9bRhvpdxGhR+Cl3sm+45OgwEAKdHfN5SaVCIFkC3R3neIKihncdXi\nPl9m8H+L08vQb/SypYp6fmeDJ3vH7nVqCdYmkvxE+1JcYpV+3Foc/Ppab73I\nuLazPylhAfRA1fQ+xV5q+lsG+CRHsoE6nh4gqJkAnmoRg/amE6bKZbWIq9GX\nouxWE3ly8H0k4nW9oQSUc9UJvXwo6eQMp/GMt+0LOrZP39UUofQIhKUBf3AP\njpWVwXZz7WgJcdL0niQGJ7l7Q70WdNv/I63WtomqgeoTlnZntldOIrsZgXDQ\nSwcGE5KNaZMepVF34apceRmyQQMDG7/j2ft6jcH8t8CSkuyXTgeMJx9frUdf\nzWAAlDqjE49PMfHLxjPtgvo8vBogX8K6+JP9C4BwE4p2kAa7UvduM4jNEYYb\nVK/goQx1RqaaZAwR8O/MtiLOW/+MdtmWkSRCFn2629d0YzgMIWlqMFSfE9F7\nFExT\r\n=dZ8d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8_1598342534022_0.9728844724156007","host":"s3://npm-registry-packages"}},"0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67":{"name":"@preply/video","version":"0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ace0c5d359d0e473508d532466cb4f73d49901bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67.tgz","fileCount":506,"integrity":"sha512-9kyoVf7gtZ44UMgkqUeoSdp3i+eu/eXAokON1OuLfvDx8JCbIQcY9FyNSZBP5lSe2JQE+S0gqUj3ezBLZ0c6cg==","signatures":[{"sig":"MEUCIFavBZc7SwZtcn01fo6UUeb8/625y0jKDOkOCZ40t0oFAiEAp/+9A/9HctfTwy1FRPdTo4lMGVQv2JvbhYlYXOAG9Dg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29060459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRNjdCRA9TVsSAnZWagAAYSUP/jvqzWp6m4gZU/7aN0V6\ny4V+goas5z3F3D7vdEVk2q8YD3xGBl21TrR8z9Uvq04Mvx2t79sjit7W7Ov7\n+mvhtDE195vFSGGiiLJpNLW6gS6CzJn345weiaDdHP55QfA+B2Gh4CbwYDrz\ntBYu+FHr2j1p8Ww2LUGu3GdoPLZAeir3s11GTkdB3tpRxGPQRQs89UmctgLT\nxVwP9FtXPFgjkk6CLgSVt5rDHYG28cZHVtYtnRnIjxTcRPQ6wOzW3CCeV3U1\n6DF+cOt9JjlFs3+x80gJJBd8k29/BtC5wrAZrS+CcCE1PZS6ePR4FpGez+Tx\n81zTNcdmF+jQdJeL+mC4Mo1ryJlz7c1imHZPID+VopIwmXFXA5tSFKi0ohQ9\nmvP78sBqtMlC2kTmdPBG4CdKyJ02O48MUBVs2FRD75bKH34sCya7h/kHt+S3\nR0bc3LS+Jadzvb+olXepE0SY4SQjSLJsUFhLVVp5axaMA+WXDpySb1kfQmVI\njF0J5b5YAAIQboTZKHFnepavNTsIHeeM7DctC6/8JLY/+L4koqtuIwy6JDLm\nYfUY+JDnC46hMIhRrwC07BYmt8nNHRl7vx5AXj7eAfqXuSeE8TD8esDL864f\ngNaKHnJY5v0qjFwTLc3AnYVds2OcB8ne0aWYc5StIAVdypbDUFB9zp9PpmSE\nkhBj\r\n=cL1O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67_1598347484378_0.6851220014040658","host":"s3://npm-registry-packages"}},"0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce":{"name":"@preply/video","version":"0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"90395833a548dd1310e6794ee2bc4e967bea5a8d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce.tgz","fileCount":508,"integrity":"sha512-MgbLJFPKCgwFEEm7Jc0HEdVtnwiac74RH//t98SVllq49IUhqh0QPxDeMm8+wrAEvCo/LCCd20aU00hiKzUX5w==","signatures":[{"sig":"MEUCIQCp5Vm5HxBc6yDoROleaLdis1yM0TWoY0f9pIFTKCKQwgIgTp021Geys3Vx6UlBulBNLJAcw3oeApPCmpe29XEcRHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29179819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRmNsCRA9TVsSAnZWagAAGpwP/is3ei8pzpbxcrpA0kTL\n+L1PJ2E3wZFHFbslbAUx2Y/Zkf8KzRt4gLjfaUcQNLil2mIfy1IZQjnEnmEL\nXH+JG/Yyz6/a/AbUeStNenrsMzXsJ96ZcSAWhmx6tNa+HFqXfVJ+CAkfmz/a\nCXFk9g3+gA2ouIYi2hm/wzzK/NEajNcArEWSoEu3qLOXAts5lERqNc6PKhLy\nQEHbmIQceQJIAlrFgO9OoJlVzDUvn8TgQHlILURrOtin8hn+ehbKXyGs2mav\n8G1pauaTI1kZ9EkWOjNlwAJ6cBV5D59YaZdfMj9QSTu9UZV8u6MPKWzDT/19\nBYwt5JeCOTtZwCKwCaBMXEX0lXPKodsbMnyK4tpax7+0ChY1MFBIieIdNNtx\nmgkA4tFJHKYv41pZBbvTga62e0m1GuIh06CqnFc4OAUcuShYuKpBJziUX+xr\n+IaeOUozLeo+kN+NBJp2CyxJXCUm8L+4Ut5QfP3FtZCVGYxJDImuI4cw90CK\nUMymxstVyqrvJONNDMGWOa4fbIGeby5uyEGx7wP2pMb5in3NwopIwkfGCsDV\nBXa/OLfORQF8oyDURlV+OkBFZn+zyfk1CmtEIFlKHejXdoZCfafOb1OR/RCi\nDVjAekBNQUiS9M6PFAXPFScCskVmZJ3nHlfuknB7f17ietXowK+ssan0M9KM\nsKbW\r\n=cBro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce_1598448491333_0.09673956708607734","host":"s3://npm-registry-packages"}},"0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8":{"name":"@preply/video","version":"0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"61477f4f7958a048dd29615e0625cc7274017e09","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8.tgz","fileCount":506,"integrity":"sha512-9Va0VWoPW+5f3TV0O4elRuUkGwgb4PZatn9YbjztYG1BufiMRB3nF71vumewA+M/aRJqjsLmTaxsM9QHybef8A==","signatures":[{"sig":"MEQCIDxwrVw5wxHP3BzG/kkEnbckzGGwVMV1cKqbmxU/qNlXAiBsDv3YM0tjgTjY+Vg3iypqMowcmWtwCvBC0Jj4ArAPEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29061161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRnkDCRA9TVsSAnZWagAAIxoQAJyQa1oTXSDbEFHiP5fm\n2gtQocCLjKFISCzvXE4Ao1HtJS9GvrFWpSB2X5TjA1lhIxV3yx2oL5e6wnpv\nfQdhi1xpAHf4GQfuq1a1q/2ZPa0VR1fplWVv+Zwgrlthn96YoZjWBdea/nSU\nSYHDzuUqCrIg45juzFCTPeVa+JHn98IDTF7aPQyoelxH1cVlpZoLXwqmgAeg\nMVW6NdrrNpKGc+nCVqgLOppXU/2hCT27dbkQHbJG9uKA/94QiXxyFLg9299q\nvFxytxgQyodEUSTWKfHEM4QwcSxTYseRxH3XxCNPqhj62/uE1bFF+0bGqDs4\n4upCD6RM3TMq6N4kgZyNbTbkfmmlG8epGr3eprRLVJZzjTm73BtX8+YEil+y\nzXtYSVxJe7cZHcA9+naP94M1FTvB4HcPxm8klSsvLsspLRvDBa7iSLVdGhVo\n25spV0kZ0upFYcEEATv0G0ObMepca+XDDAV0y92YMqbvbHocASkMcVCPVcL7\nB62tCzsnlFEXZvln+PqcJpe5H98XjljEOeWhVUklIdR+tWhjNm7dwFbeSoZh\ngiA3uXi76zD0voc/tl0vHCT/tcX9XZW579NAksSrz5qpc6+A4MhFwemzPNxZ\nhJUCRGs8ylsEcUDOtJ6qQnaGsmL+2E8brtJGnH4HSurXDSQCIRWtCJDPEuqV\nC9TO\r\n=H5iV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8_1598454018762_0.4224826345036081","host":"s3://npm-registry-packages"}},"0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f":{"name":"@preply/video","version":"0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a2481d57060f506a4d877ecb7b95c712c74d2d88","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f.tgz","fileCount":506,"integrity":"sha512-mqemdk/+gJW0UtjyTCTohUauHgFoDUNhz98QIq6FGw2LLkJXU/K2rm61+yNDhQMx3VZ2mmJRmLZMVc8Q4hXz0A==","signatures":[{"sig":"MEUCIBTuobsXHN/GpsPJNYnzYlMBd8g07TzTQtNvPZMtAdTVAiEAtPxtRs9vxwAySTRrMYJcIN9qNUIczd6n4WpQ0nHhQAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29078138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRnwGCRA9TVsSAnZWagAAPbQP/1cpjHhuPxj2NP2BZkln\npirHAVOBnHkwp7zWhpi2m9wMSNYBLXDzchgf+QOnAdU3mjQg77/HOyxcMAI3\nO9Qsx8S8lkSyyYAuDFeOMFLl7wXAQYnMir+hvCaS+w05JVKs/wbbgv5tEySz\n6veSOM5iyjb/u3eMz+p/4kH5O00hZ76RJ8tVOJxfF49MkGXXdAaPtAfTB9Wx\ntvi2gH6dxTmaWX/cNPLiK1/zvcyMp1K5g9nTlS+oYj46whztpvWEcXoHgikx\nmAdWH1RmcmLN1dAIKuhZCBOLPhol+FuKtAdbgsEtaJgM21WH++GIQQx6b0Bx\nY+Ix4zYWhXSmECh2+JcdulBzferqEKj1o48is7XbNbeqZjVnBuYRWsAJR9p5\n3bRqEHwR+jfCNoVIC/L39RRkEVq5EAB/Ze+JHSr7qmqEV6BYbL2fQvJhrTlf\nYBGc1Epfp/VmgWlGBG6vA5oePdjaLfLDg9P2WodFyUULXYOYvNEfZLmZE25+\n5RisbMSRwmM2cdJCYU2t1OyuGuZROdrlKn8P+6gPEStstUqMCtMT1Mv1bkSo\nUOHfzWXTlJcXQURfGIvJCvgU28dXVRapFsTIFpNG7kqfnjphhlUiBm9tNz80\nCggQzqi9pMP7omd/sogfS7QoI+r4RtEu2X3qkdI2XjQ3D8/81H2V2g6V/OOS\n5zfZ\r\n=DdMq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f_1598454789627_0.006560840795847289","host":"s3://npm-registry-packages"}},"0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1":{"name":"@preply/video","version":"0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7a6cced7b0cdb3cd7715a47763a969b55c35c7f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1.tgz","fileCount":506,"integrity":"sha512-ARAE7NPJQoBu5PGIsjrWhwXgb879ScmGv8AZjJeN+JgWq9KQHHxD0Cp0h5+9Y7FskklCISkMla3ofRvm6XeMDA==","signatures":[{"sig":"MEYCIQC/NCy5LrKVY8DK34VvT6TJVrwLVHHciEYD66IWyGdLVwIhAIKVNL5hUlqyKOZNIwv7hKir2CI6VUnUoGPFGCc5mpWX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29060459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRn27CRA9TVsSAnZWagAADgwP/igZ8rJK98YW+SB0ToOS\n7tUiPXPLHFzVNJqa3YMXqDhVta9wdpAYPqM1RRPdvFfRim8tvEF1RPPn4RM2\nrSJuPphooyplxvq86O07ZaevsVz8a24/96nLBUq40DYRl07t4Kv5rseLKHwZ\noPlp+i6rd0lYQkJFkSnw76tOfDh5S12/JPjfL7pnab0lauOY9iK95Gtz0kvt\nU72Zc7u3HVKEmaRN7jdCnlUxSFVnMvw0Lip5fKQoVRhkM4lwbOAooMqPbb4s\nqOlXdNtgGeTWkyhYmOHmGHeW/SvjYbhLVdz/rBG4vcI5XgBdCOK4odGJUVSC\nWdF7flMTXvt5VM3bgv38cZXwCdaCR4VG8rVNRTMDs8PZMnoq2aMM//vtj+sP\n3gikyh4t9lIpN62nnrU6nju5SDocki8BigOKvOwRB05USWeXOmeURdjswFBE\nlEThTcEV8bvWSyNMDpsSYdcq24xFw3ssitr/HEwOhGs9q71x/E5xn54vLntT\nPSXpjNwfynw3hi7jKrLU6LyzbNJ54fbMml2RUIpVzp0DIcGMt+UNVZQ7gDwz\n0xiFAoA1zrPLWXyJYeawLn8dBaTdgTnn9f0uPZ8RLV1lnPW4WkZplv3GEMg1\n0h3RhcJ/I4LLl2HMQKdLi3Pcns+naJe+Vs52y9HmcuUYLp+zjREDhH8kFelN\nRbN2\r\n=NKsW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1_1598455226214_0.3692511490834396","host":"s3://npm-registry-packages"}},"13.7.1":{"name":"@preply/video","version":"13.7.1","author":"","license":"ISC","_id":"@preply/video@13.7.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f4cb98864dd7ae3999efac2326db788ce3ed406f","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.7.1.tgz","fileCount":508,"integrity":"sha512-j2uJ9FZZ/+ixuD7E9Ag5LLtCPpsPcDoazIV3APkJ2aAS1/9W76sI37AgZ3eN1Dfww8oc9d7/tSs+vlLVQpq/BA==","signatures":[{"sig":"MEYCIQDzwyNzMcdy9D1f1N8010jxoibyUXLsdsn+Ypb5S5b9rgIhALWl4BQJGbdWNAgA0JPKcNT+MTQfwDll80RL/ZCoHPMG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29196793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRpdzCRA9TVsSAnZWagAAU/YP/iOCaoHmctip1/8xmeyB\nrt6TVMjLa4Ov1eh9mlRyE0UiudYLI5Ngc2RZ+d83hfOm7j6yi76PHmq0nTNg\nSlhA8X1kTTI9DiQDC5A7YLynUOYP23wA3IxmXk1d/MgdRHgbCgcWtn9MPh9S\nCGFSz7WqPAvFA6qAXZc1xbSMqaSb5Wod4p9O1gVfy59lSgvVLwpc99bcTxE3\nQMj9Ovwjf9MwliaKOphV3Sfs4tKjspaq9BDNTOmXYBW5alD+DfiuRT4szT1z\n0W7IGrjoEvwMLGfu/bnzt3nTTOHUsNRvNw2c+ilgbRTT2TdWW1eNDoDX/S8j\nnpstI/371wAOuC/IM1ybVp/u6cXjHbDaI5xkIwM+fl3ZRzVI8AB/KSbVdq4K\n/96qCreGwYEAQprezaFlSximEdvF0gQ9PwecgvOtIfJypZkV79JsvNq5Sg5Z\nb/GIbWREChI8XZ88SzOwUBx84SwSFcOnvLgqXipt72bjaxB3AiP/HvXTooSX\nElbSfMm8d+YsrYocR12TZhUvYjlj3eg/iGrjXYjnkaXWo8ztPMcfQB5uszdk\nflV0IGhWr3Z4enwBpH9Z9afHn6ZAs41tMEPor2PtYybksm1MGXit2Tkeg9l4\nNM8J4tzk97ns9sAxAUoeEG1qqqsWev9ltdTXlyp/cxggY1t5sCSu1X919llH\n04/v\r\n=oS2d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.7.1_1598461810561_0.840920665557545","host":"s3://npm-registry-packages"}},"13.8.0":{"name":"@preply/video","version":"13.8.0","author":"","license":"ISC","_id":"@preply/video@13.8.0","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"86976b47ea45f9f4a95f148d990c984a6be34abc","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.0.tgz","fileCount":508,"integrity":"sha512-/aUuznPFy6R6zlL4aSXgX/QMWpYhJaFwxY46/rHB8Ke6mNWt9XWSjgd9Dqpb1A5Q3nBKri3/KJYpX9eShRS/6g==","signatures":[{"sig":"MEUCIQCHb6KpE7p+HJZFQSudK7WAfihEDVVg58qgWHhk+uyxXgIgX3GRlTQ5/BM/+5TI6LnISgj+3SziJZVoQRYWYV0QJEE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29137173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRrqoCRA9TVsSAnZWagAAz/0QAJxbS/wVjzulcLjqbdFJ\nkL2byU7JePxtjKNQ9As55NIh2/nc84U8KRJFTlEChhyaM8vvsqDE5OynGkx9\n0nzSm4gT1sZ2IMKOXe062HG2m7b+r0STGljPyPwlz978zpPzIU9Ph3xni1JS\naI7xfZcjgRryYNQo+up8DrSUUVKPYoC5ZVnFpHu9WaX6QnOM61WT+WFG+mp9\naBaUjscF9U/bxsbdRWImDUcfWhEfzRY/MjsV9PGB5eZ0UdnfsvtK4TIKlPKf\nNt1IM5Jr+iSrbzEXWTE4KWYkIK6VTpT0whyKMahhiPKrQApku83r60PKU8W2\nURe0uT7lV+x73BONVWXJclZKAicd7NDz0RM809KlPk02jdypOcpsymWQMIHy\nU8xoFZ3pO4SEL8FsPja3nxGSL3jFK0ClyCSBilIoBKEWS04t2izgPlQCgFxm\nKINW3MOgO1CiHEw7GvdrNbZv4oRIL6mTgqmhlKj2UGQ50YsYR1a7FTYuqhZ0\n6rnCPH43fBeC6sqps+7stfo1oGXIKC2ju+z12qvdFdqFJRod/I6BFT32BcWY\n2s6cU8Ms2R0+qrA7e1WeE9Rpljvk9OOtwG9OmxR8e+56n8J5VvIe6PMPN2dj\n7NETGynC7/AFUanh242tTh7OOjv99CLC7Zuy9iyWJ252BLz6LJ7zeqqr+IR5\nVON0\r\n=CTRL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.0_1598470822757_0.07918604280731767","host":"s3://npm-registry-packages"}},"0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6":{"name":"@preply/video","version":"0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9ed5e6df24c9b3f32bb0294ff976da61b36cdf98","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6.tgz","fileCount":508,"integrity":"sha512-q8hWRB7c5PVh6G+DKzzYisDvk+NIUR1v5eaHeVDPF2ghmtvUL2+dPWdMqitgwlzsAe0aR2t8MHNV+tXB7qnTng==","signatures":[{"sig":"MEUCIQCIjU/Fx9a1g3GI9LgmZgbPULcWQHk834mCBv7Eg8mwAgIgVkDukOBKffWSiKlyATRRukkPLlZldybdrCAx6eRZxik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29197498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRsFdCRA9TVsSAnZWagAAJBUP/1dVx2b8BveAkc5FvYAE\niZaIqCidHUS1zk7R+cEgKcl9UJBRmCRdexr+/+q/jqiht9JSOZme7Xy5tXP4\ndJGBZoC9Qt3h3xzVZLqBtBkUtmuOCpP6sA5bM/KESnMi3VBFTH4MPO06yvVJ\nrsSD9j66ixhsXerxDQUDyUI1Cc5tfxb/U2KAWrJhsnA0538W4rFyiMwxP53O\nMriVSgpX0NTEEVSxxIH/HNxbxSLfQ9e7D/cJjRHLwnLqPdsY2ee514xFU3I2\noVtXO1ZMrWftSnikc73cpH44FJoTryzAIZQnYo7LHvWADlf5wsVtayUvBw+q\nyLRmsiaqEhQS0mO5bkXAd4A01xEmmL/i05jHUHvDQ0drrlafN+Ve2BoHvVhS\nwChgDzR0pMHA+HVApPaLu7S5O2UN5MZcfpwFtTLGEOUdvFNNYPu4q3hQlgfM\ncnKrJ7WSVecl7bSxp/bHlY67XrlRoxNXJTQ5kLksABe4fzdoojHmmqtvtZoR\nHYGpvx6EnQZdtLgWLVqUh3o7kPvpQhLTYpFmZuPXJ27N1/TFvzeEkzUb05fj\nMBUbbpqE8yY/dLCvxGLBapcnkWkM5kUhFNhhMj+oNjsP0YzgWZ1dCVJ+SMhS\nvr1uXXPMz5+scsYbc7UNrCwprODK8OHOsdq3xDQODs5mbHArHqLotop2zuEz\nxxtJ\r\n=+aDB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6_1598472540267_0.13991807048543103","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99":{"name":"@preply/video","version":"0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e56fe880957a6ea2a1ad607a51b727604ac1f42f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99.tgz","fileCount":508,"integrity":"sha512-gMUsGLQUJdI7OD7vADyUugOSmIGAbCfPdTDK3XWNdXesaD3AVaKxLwSFLm+7pObAAcl8QjMnuUeOlstYg1WbjQ==","signatures":[{"sig":"MEYCIQDZyui1qQHn+M9MsXSIbieovgyGDBuztSxL5amtIyV1yAIhAPpb/S2dC9GuDT4ytCg3TgZ4CDFy5JXdSJfLxnVwhlFx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29197498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfR3QzCRA9TVsSAnZWagAAyJEP/08UVeFQ/LRQzAFpFLox\nYwFKY/b58TXjyMxbTTjr9ArSWeIPnQC1ucMesY5ejNyfsmanEJDtuxprdySJ\nizZ3P4sUV8RdflvPlqZ+TwQuCdYYzIw5MrHwWQawb4rnWaM7710Wxi0hu7Pr\nrhJb/GuTgSs705uKFJ1w+pM4Cqu5+VWKZEn90gjnjnBbFA5i5iTobJkGT25n\n96j1wwBpTYEj9f/Ujuw0PLoWmCTDsBd9T85qAGJkgE/n/aPWW/0ZxN/8aeE4\nvzmgTIhC2jdyBQB3A0aZ0HbT9Cu87/kA3+zhu+YdNUnO00IRk5WJ6LmQp2HN\nbIJbLp9Wce+Wz9gMUYmSIhwj4WlW0v19tlYGQL5qTJRjkEu+G7rvZrLEe0WH\noGr+lmEbGWhiiWtifh7dKxD4GBA8KUPt6oUmwXIg3N2isW/XfCPJSdp3idhH\nSwHXkaKDKhhYA+nxKT2aRN0rpMx0d6SF4q7PGLPSk01+ZT2oKjCzwCHV8sSg\ncL+CC3RlQhjXYePDstqmN8MhF5GFP5cdfiNih0EdhnZWy6+hLe7aEH5lV3iB\nWpj2B6zDepmCQAVeUOJoOKAthbfmQRc7SBB7j43ut3bGbFOc5BbOJo9qrPk8\n3KgfbuKXGcAQnUsZElA7maEVTa6hkZ2ZEcMX2mHbF3a//uauxMd3uNma26vu\n+IC6\r\n=zMFL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99_1598518322291_0.8850920436783642","host":"s3://npm-registry-packages"}},"0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7":{"name":"@preply/video","version":"0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"982e326600bd38d51444214621e08fc9aec366a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7.tgz","fileCount":508,"integrity":"sha512-ZebyMu3e4kwMi/UC20fTOcpOabd40OAhg/fkiQG/BVaVko2mirE98c2eH6FH52kXdMJvlRnE49h30HU7kVU1UQ==","signatures":[{"sig":"MEQCICrV7xhE9R4c/Ix279QkAuAlB+b5aUo4kH4VJ4NW9Xx2AiBiyr4+dOEy8rVG+D/LtXKJkcv2aTG6REu8Le3WrEIOOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29150427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfR4sMCRA9TVsSAnZWagAACT0P/3w2NlczNMnCrKKu3vWi\nOORm/q/pNGzPF6Kz40UdExQMDYGN+ueP3Nc9Y2bz/7l+fpFHxsbmzNWD/0em\nMxhZyvMaj0GCburpG7B05TL46XF37ZrcA7TtOoQPl9+SF0SLW4BdIP8Vhf5p\nc9QAzaIWGHCP/W2pHH4RVSrHUrBgUm1xQSjGkMwXLgsjh5H/hx6p9Ye5eUEQ\nJaoLkCv4/8kv6ng/CdTBJZyldbsvtAM1fddt8iBnTcP3B8HrkKYT5C7mueQ6\nApmxsDjPfiNIHmD0MX6w7aAlREDn8B4s+/V9XJ83Rx18i+cPwfwBj501Vbzb\nngR+M9muZtWjX7ehqMBTX8jiOf8fPgWl1fZUDCknCW8KO+DKN1d7nDkxdVmi\ntfP2LpRt0rifE3Bnc0Vrmt/ndd+L5xio+rOTOQwWfZICsA4Q4FTmaR0IAv4f\nWpE27sE3HIABhtHL2f9SR7I0ZngCxblqM5vJuyh/BakAg/WFg7Heibugv/+e\ni6ulwsuSoxABto4BjbV9bV/Z3b5T9YL55t8v+lYxdk+hEvQSPO4ElOG5D7+s\nWK36PS5aPBTg9AXxfNRxUrvjh8UkzXLpCpZlyoBh539lPsCVIFL4N9ZKm0tW\n9YT63TWE7LMvCzp7TN7NlHGf8stvwaHSIMuoIFS2tGhnnE0oYJtQkOQwGNax\nNCwR\r\n=MsbE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7_1598524172083_0.5482862260217913","host":"s3://npm-registry-packages"}},"0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b":{"name":"@preply/video","version":"0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"67c1d3185df29e7865c7472b50ac7271ed5bb00e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b.tgz","fileCount":508,"integrity":"sha512-abk7GW3FJQHxnR2wMiIYEtsq+6oq/wbo3vcclK2dwjLpS9ZoindnrRtp87s/hT6q/hBz3vaxFGQoFfyX0ZgJlA==","signatures":[{"sig":"MEYCIQCWhDU9zDdhzS6yoJwKm4UX5M12+WEfjVuNE1Ab9aahJAIhALSwafmFaxwTDP+9jPwaVmgUQ+1+wdo/Hb/6o+pTQWP0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29150427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfR5q+CRA9TVsSAnZWagAAV5sP/2ZCSQ5aUx6T+3o3DpsN\ntvaDrpIFeVkDs/P1L2YATOb+6t0G5Qm6jDPBMXwuPoDzMuriYr3r+Pbzyemh\n9fdR7uPfQPS9EMyU1c/gbvMBR53JU2KjoFlGNS8B5MBd8jkYHlbIKz+jsVI9\ne15gCXeb9g1CVtsCrAJ0aT8U46BFdTv9QufGr03cr/SI/BzAkVZP+a71t8Aw\nEoL9JhxAf5EIdhX5b7tIpN+xLt0PpBUTDinVhG0cqpIdLcN7t8nmMdelCsXb\nEKPaqCzeb3wiqAJr7ljfxD0Y+9uSfktz+TS7lg31k4ayAn38mFQxMCAl8k99\ncCgEU0WWy+CfQrclAaTnTTwe6/JjjRYLL6ReIG5dKmuvGC93yFDFndV7BxRU\n4nTMxTosEOPJsp7DQrPXIh6Wwz//8HDV3oZUvKINhssjIt4Al3rK/ewznbFB\n08jBkpFc4XnWchuMU1J6o8sN8e8ZSBALsq6BsfhPHFqiTAXaFiiUW0/mLf4O\n8GYpnCNLo6+JKHZJyMcwTPbxXHZ4go+FaxNIzSf+5isM+gGu6yVY/HiOlFjy\nHuMVZ5FwrU1HSOiXR/E0mVCK+ta7ghqnkkBImxDVLT/MQRH1XflYExNlpAgR\nLZ27WeRhHWoOBNNICZExN2nqvI51vjblfulsYYtvE17Svy0ULh+/DmsjxOKM\n4YX+\r\n=sJNo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b_1598528189924_0.6052251363702963","host":"s3://npm-registry-packages"}},"0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b":{"name":"@preply/video","version":"0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fbad62b926e2ca8e2ebc8739ed7f3effc08b3a38","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b.tgz","fileCount":508,"integrity":"sha512-kJ+9zX5wnmTREnTy8lZyHTKd3Ri2llsqvNbCoZP8pNbHPyEzlOULR6mNPvGqikd/6Y+Pkbf8/BmFOjNksu24XQ==","signatures":[{"sig":"MEUCIBIY0yLYov8TImNHzkqNHjZC3AV+1WFFS14ZkOp4rfoMAiEA9vttVzQuiiqrNv5VDGGBUEuEoXQ4P33Zt8C5PQev7g4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29154071,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfR5+mCRA9TVsSAnZWagAAlV8P/RDF/XMiENSPutI1b6fs\nMq5bAWiiQc3NQVhLdiJkDg6UqoElvhRjH9Kts5yssCigRVHY6oD3NwySJ6PB\nVir/lg+dsQ1wh3HKbueYfSPfuXjAxNBUr2lDzYVVP3fKddZFRpezbZpU62y1\nFj/c4wVRURn509SEJFGRpyhZym/MqnoFEno3FDokK7qv9DG/uADAjN2wkYi3\nNXyTxv9dZpuRX4gDpSh2/H8oa1wwLT9UpjaoAGwPREMY7tiigPFPkUEau/Z8\nu1xtWf2RQ44oLU+2hjhL0bGbaw0EO/1a/Gjr9rzc94HX6k9enWq6p+oVCkhl\nySKOqu/UEw1Io2E5uvIwVW7kXi6ScH5vdBFPyC1MxNiTIaXUMlUtT1Fz9R6h\nt3OGbvVVhTwQR/5jp4AT2fyr08jrYOelEHCsB6pkBZpCyBgn7x0pw1MlVpMw\nqjmKw6TKNcG+Hf9D0ZBW0GURVGY5iYPX3SYFOS6S1qSfTsJvmSDsALvI+RDM\nH40lFNFX/YzL96XGUqCzhTleot2Su2gOypi4VCdQfwAd1XrfhYv4Z2ae24AD\n4F4D41FmJKQfQjjC22nkM65dSlHRHN73RNzodLNhMgUuGnnZcxdrjjkaU+ev\nprO70NvnPyH+1bA3W0VGftr9bcRM5bmu/Ud4v1t1f2Avdnq8/QGamqP5ZE4u\nzV7d\r\n=hn4p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b_1598529445319_0.573156365218539","host":"s3://npm-registry-packages"}},"13.8.1":{"name":"@preply/video","version":"13.8.1","author":"","license":"ISC","_id":"@preply/video@13.8.1","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d414a600d2b1489b91fe2a6c2d1455c91cc37cbc","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.1.tgz","fileCount":508,"integrity":"sha512-VgLvjbLx1++d5xaP6zKmDk0ivrAdq3PCtJTdZ5OC41aY1qGb6r4m4dCL7SBkFkzrND8xVilVFr1c8CQBCIMKgQ==","signatures":[{"sig":"MEQCIBDQovthwmXCG1tyKcKL0P2/tshnvsl0Zvaw9j5O0PnuAiA+D9G7NedU4tPED9e0WlUPc8ZfBadHnaWMSOt92OdEVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29186347,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSLSZCRA9TVsSAnZWagAAY70P/AmQ6ChyGLYw1ZQDc+OJ\n8OX2ZoPYh8Fr6OsSV1RbmEulwyyibjEjQWVwBn1jkTZYMeHCSD+b/IXfB28O\nIw7wHPPq0QWaZxU68AT5x1STd9YYMdKviV93cHDrQWuboIi+bKERn7buS7vN\n0sV3r2X1SOqkdpA69x/VoGq5B7imsEPfAqCg5PpDZFvfxsiQbMoCuFhM7THq\nAYGCwNrs4kAi53EHmkMxtCzPJ3Dw/QhfO+5kp7DWaOghvfB80V+8k1/XszX1\nsoiTSRHVrbZNPeNV3SeNC83w0Rw2y5PGrBCEjgw2aKmTM3oU9HZw6FyUmO9f\nljdv71C+Fw9OXKsv/Ic20buo82tND4CZgORZvQB7s779KHyX0f4DnIesrgWg\nUrV6PK/v62mQf9j/k/OlR1fUcmUqWGdqH3IvYh9WZd0gK6jJL2maAIWA87ns\nsI6BINolIsS8au8PXHz/B396wSvbkUAqj0PvbeO2BkPHwNkalP2n2d8ggdjQ\n7m95M3UVJRljxsS3bGxo+rof49wa7659JFsmZ265Jouzg18xQlQ4HXl1oJ+O\nfIaQeuKJoMZkc3Q6n8pN1PdyEmFEfmDj2qyVWIienHfwJ1pCK6vDImV/4fAC\nH/Zfo1yovsil6qPVI5Bkv2d2PxZjNRxEW/XnxWg2/q8K1AD2m2+MqIIVh67i\nYkaO\r\n=Jx35\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.1_1598600344163_0.16131868396322857","host":"s3://npm-registry-packages"}},"13.8.2":{"name":"@preply/video","version":"13.8.2","author":"","license":"ISC","_id":"@preply/video@13.8.2","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0e89e944a28dd21d47c53a0df4f878cf5884f2f0","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.2.tgz","fileCount":508,"integrity":"sha512-/3gWHsr2qH2SPWrQFS1pKyhi9nEEmHdOXcE+mp9Z2RXIiD8vxBpXA68ZTHmf2g4ajCV92aBhlvwwS3YoEGmpNA==","signatures":[{"sig":"MEYCIQDegsUNs4dKioMcdvbjWMePdX6nzInUAR+yzaJOV/uVPwIhAPrhSyp1EX6aT5w4a9qxiGwfjkT5VXD9gPUMPpI0F5wQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29187082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfSLwNCRA9TVsSAnZWagAABhAP/jDUZBTKHrH6NgUz1SUe\nIOlCVZ2AzwJ/By9yjYdaemm2skODzHpQ769o+4Yb6iEHmbfwjzEV6Bwk2HqT\nu55bScLJfJQA/6jkaV5qpbzBec8OOxNFrE9iXCxZg1CcHFmSitpalOxjzLph\nOvA1I9OOkmNk0uNOmftpVvPJK5L1yXAOn56Kjh3wHWkSWbBMmjxQa6E+aAlc\n7Ix4gg4ugjvMAQo4MJ78TfZwWLKpWlmK+kPJxn0/VsNSp7jA5XfRhxaxx942\nOkxJYfU+G9Er5bT0bSHkqlucEuI2W4MnaqG3oBsw5mmAoGX0Mun4XptITGym\nsu06tVvzurr5J4oxFu14lYlcN9ccBUdFwRn1Ii4hdLN9AUjZSUkqyAnlRNQl\nguZS1nZQoZCb9m0B7cD2AkV72pGflnMl9VmECi50zRejt7SG5dG8SdE2+D/l\nkUU7yUsXIhQsMpcGgJgA2TNuMo0Pt/hQK0xjfcKCgTeaPkOSg8oxPfkjAA2e\n8fgedqXOG59DqlahHEhL0EtZSUFvtqaLoxKqhZPdJWkgFSYlKWlDfmZFcOT9\nCE37+LW24Ihn//6qSh7k+seR4raOYODvtyUw3wN0Xn8FAzJlhQbmnJt2gWD4\nd4wTalsKfxV2Awpg4ZPgGTOf7EiniXbUPlm5AQATNCu3p0RfK8TKWhVentHI\n2SI6\r\n=K3BK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.2_1598602252197_0.7669141489362714","host":"s3://npm-registry-packages"}},"13.8.3":{"name":"@preply/video","version":"13.8.3","author":"","license":"ISC","_id":"@preply/video@13.8.3","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3e2154fab0fd04eb1062bb971dd06d0bbef006be","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.3.tgz","fileCount":508,"integrity":"sha512-eAkoOUru6NhyTfllMosCC4eifZDC/AE82SWey6LK0pPs+tqthngEgu0VHSZBmaYQHWaxPXHSkr8q7HSKnGwqRg==","signatures":[{"sig":"MEUCIQDoC6B2jOcNo0U8yJF+Kvhovhu6vXALGqccYcMRfYetNQIgI4nph76g9kdmEWue539pQQix4r3It8vH5W5S+Y0yvEw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29198921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTKl7CRA9TVsSAnZWagAAGToQAJCfr8ioYqrXabckqg5j\nQn4INEv1qzju4Q8VmATpBYstX7WK5lxb39lKqF9e9MxGFwAyAznPgUmgZpG1\n1YIHPbhvaf7Xbuldb8BbZoiG9EVzck5YUv+O2Q/hdSIxgZUiTSWZTfNO0nz1\ns+M8rlXYX5417rrbU9lVspIfac4kA4NLG6MwY2uo+LBLISqeM8g4a3pejX4l\n+ef9AdGHde2VpyHe5cImlXNPOq8s+haQNHyn4p5zj5rEF0cqWzBkqBD8rRbT\n/E/wAlITK+64JzTdoxuasNFuDQhjAdSnuVjZ2YSCTcE+fx5SOVEhZGG80dM/\ndNjaPXUJ5B7ZgE7zLQe8mg3sdJVjhQFGcdfPenlMUu0Q7eT6sRbiGNyLDQyn\nPfnjCxQ8o0owUSUOkDflAFncLPGetgdEoVbIsz66USjOed3ll7R72clCzFHn\neRwa37IJPbCMw9BRCOp6U8gVJrkPFeZADttXgPrseLGesLbtipO74i3j8Qe+\nQDYPbmZnljb8gBqb86LKNOk8XbdXvDR/4qz2Ilu8HUtsBhUwi9J9+BIkNiwz\nRZGlDgDWxQYs6ZuCHqaJUePswfTkNbRn2wuC4wRSw60EcZkl4Tvqlzk63vnn\nXAI/87ntoMIBHgSRW8RN/7uyne8sWtmv/2IDUvjSmE6XBWMn0Doj6lsKD9Ny\nWjNT\r\n=SsP8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.3_1598859642967_0.05874933141337135","host":"s3://npm-registry-packages"}},"13.8.4":{"name":"@preply/video","version":"13.8.4","author":"","license":"ISC","_id":"@preply/video@13.8.4","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c2524ed20029cf5ebb36190ddede4b16c092bfa4","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.4.tgz","fileCount":508,"integrity":"sha512-Iox9aGC0uRJoqSTZTuBRh8tKId/ay3mXnEzO9to2z6Tq+MlAY4HpOGPmUL4lawS0+bfCtH7AwSbbmt2yhStrPw==","signatures":[{"sig":"MEUCIDABKiFkiBJ+8zxFue7KMKg7nMHwbw7ypSLQFRFlWC6/AiEAq4HMhf/EWAfQbpUp2XYjGdmrW6axS/ozfyHwnlU7Kw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29199986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTMcICRA9TVsSAnZWagAAPIIP/RUT03jAVboJ2Qaq9UAs\n5+KuEuYMorFYicM3xwb77iXeEhnHJSTwni/0r/4vy0BCmUUBRYC9DDeelQO4\nijziX66LEkdN9h6wmhQPk/RBx87w+fBqlVm8YdlkyayFsW7YGDqQZW9LdcTX\nECXGc7xQ8M1allZlAANvlM5sH7d82csC32sqOFahABZcHCnrE2laNLEBVhN2\n7wGwB3zts7ucoNpBXXVaHMXnlxC4z5ZaFU5Rv0jA2WwjBKo+ElBtKiJZov2R\njOwacxJuvCB3RczfYyid0QzsmXmrUBPM0ZxpP4svhI++JUhsdt1j0BBEkaXm\nLwxX15bE9Lv6u656x3JK1Mlb6JJcov4jnMCYsb/ip0lScElXkaNT2qyRojH4\nIK9c8b1XsOJHHg8WZiax7KLHDQqMkqI/hrdcrQtQD5k0vUglp0D4gIj5UYeb\n7sOjOkaz4UhoCi4HpIkIJBpa9eWxHjcxyE0T9YjHZ5ZBwx21UzwWX2lDxgQW\nZQd5VFf5uPaGZ3l/4tdLSErTi77e0Y5u3YKHRYUZi8hFmN/iGF4muiD3V+20\nfVU/A4IlIG3TJLuQOkHb+sOGazRGa8A5YYQV7JHRa+DV3r8yS87ZpVKiRg+5\nj7Ta53z+U2b1rza9DWzSr/SiyW1avYoS6OYQ+sffqSrbYihjYAErJtR0N/Ok\n4AHv\r\n=ZSmm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.4_1598867207622_0.399014232868818","host":"s3://npm-registry-packages"}},"13.8.5":{"name":"@preply/video","version":"13.8.5","author":"","license":"ISC","_id":"@preply/video@13.8.5","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9dcd09581205ad15cc9dc755dc2018084f4a5a9e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.5.tgz","fileCount":508,"integrity":"sha512-P0KaqgjUdsEzZdbQtLUlhpD3EzsdMx4EAtg6jaNovRftK/56OPZVX8jSjWN2YkZeumrSk4zTdi0gxJbP/6UcdA==","signatures":[{"sig":"MEUCIQDspv/6kqQC8cQPpHQ2fEMT7WAobBuMmkaxDfRUGa7VyQIgQ3M0DTIUfCNEamN0KJz4yrOUM42QaI0HEesT/YcvJxw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29205042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTMxdCRA9TVsSAnZWagAADjcP/iQeJYwbJjgFHX9wEuhD\nrT32gmzie9oXNXE56k5nTLCx5J/fPVazNhnmhYtEXnAGHcH5UMdRpNVyvtTH\nT7fFeZ+mZlG8fZ3gwNEaa88qS6MqILfimGHlU6LqLmjIfWq53yVUg/808Ijv\n5S6g5FyuG6JkAqIWu4WFLc+jV/1rrR1s54JMnsF05ucFq0nO53HvdflYagM+\nbCsiw9srgM80t2toBhf03uHNJqsOw5QU1DY7wf/VnORFp+fbEYvo72jhx1RX\n9Ck3dhx9BlDRdEvwrT4yxM47mE4O51Cwzf3M2rt4+9K5lh0el97DRBdJHikm\nFEdAYrWOGq4BuLmmNJgbSWPANIZe3+bGxTuKXIggJ5ihDU8j8FEhMCXdPfx3\nXu/NYu0QOI0ccHuk7r7r7MKQtY8sEtMp9DojFgeyb7Rbg+lkGFErzJ2KtJ0Y\nW2iOocvOkQjHB+X3lrC5qL+aixjrdYuc1Wi6CL+e6Hm2dv8lbwe/uZP/3JIv\nlc5P4+euWKUTnxWxxWAsEiD8Fndc71dmBL85QyuvbEGRfSYjDziBdDL+26LV\nKvUgsNW+wKV9b62VMmzlvwddh42nvbgjs7IKDNkmYaadHJ+0RVdfMJKdspmW\n0G21BN9HMVd8+2ChrKxj6dAVGb2U1RpnG5PlgSsLg/oso5/yy/1hRI/MXh0v\nYUNe\r\n=GT5Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.5_1598868572244_0.04488197020702378","host":"s3://npm-registry-packages"}},"13.8.6":{"name":"@preply/video","version":"13.8.6","author":"","license":"ISC","_id":"@preply/video@13.8.6","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e4ba5f4913cddbf5be4f625badb178aea9ffce83","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.6.tgz","fileCount":508,"integrity":"sha512-etp2Caqtn7AIbVLLedU8wr0E3Qz9g7F3kmMcTW7SBYvaULLHVkEXUr4MK6fLc/yEXOXL9oU6rFEo5EIY2Z2hFA==","signatures":[{"sig":"MEUCIAf/8SXMTJha6Jc/OTAToJCxEzLsx5iSqoMOA+/BF4oRAiEA54zjPhPYYxWrsLc1TxO6OJyFz65PpWlTD+t5ler+JAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29210117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTkEFCRA9TVsSAnZWagAAw7sQAJj8iX10nSKMFHKiQEL8\nnka/lSQ8e/1HaaFUfno4f4IZv48MiP+zHkWZ44RimFkyWgdaGHXfV5Tzqwyd\n7Y+vt9Bd2QOuPPjVzByDTFfaZVpKcPLRs7jKkEZsAFEqEO2t1aiQCcHYWQDM\nENpvvwlEnJhbjEY7YMPrlrnbyMWxM/Wco80lVqXayU3BrgXGogLk7MZhCz1R\ngNuHMD7LgJQlzvczVimCXtsXDh8Oci+r+wJJ2Bcl8JwwCW3ppEjw/1d+IW87\nhi/jfnbjF42lDP2FChwAE58Ndj22ksp95KfTXNHdgqPYm/GZmiLPQslMGRMF\nLnEhu9zS8dhK7UKpoHGi8/GqJmvioCNtVYXiXmA4ftazH5oauYSZVyvRorcX\nieqn0cUnsgHoT/rq9ac2J4tWqM2E+LXNNgl2sPvJDooxpzG4bbjoCNEFd5Us\nVF0fa2FV0ISO0Az/Mo+Q6Gjv78ZLV3zhv7OER3soR0y78GpuggodT0APy8S2\nDy9sZr+ApMrLfWMfLpMK7qtBuE60UznuV5JE13cIB4IjTfAesmjn3Y0wkE6Y\n/sHEBMLcWSGHCZKkgs6OsHTvt7Z+znS7/3FS4qSc287tiPA3NNSOjtO194Zk\n3zOTQdjKXDCx5vsvtRpu3g/mz8oi8QPJ0KYjcY/0iQfbQThu6cyEs0c4gVhm\nnWkM\r\n=hROs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.6_1598963973024_0.5743484300601589","host":"s3://npm-registry-packages"}},"0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf":{"name":"@preply/video","version":"0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"51b0dffbe54688ec4c810340e2111a22661ad38c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf.tgz","fileCount":493,"integrity":"sha512-2K8ZFG7K6hS/cOaY7c9f2UI+72NFgZ2no9ZkZeq4HJ81ieSkLY7c3it+KO4zkNCBN0nR/0Glo3bO1JmLpqkIaw==","signatures":[{"sig":"MEQCIAy+onSFipfqsr0FAyZTQLUgJS+TgvH72Etqb63ex+Y/AiACotCA8lbQNh5oyZ2TDszAaWMEZwWey3jhEnEFbWgEDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11503850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfTz20CRA9TVsSAnZWagAAgj0QAIjBTkiwrUMxcCuAlDWB\ngGLmka6q2sYZFbxTwSUlnlALoyhBPSjL2jYptRiD5egCl060r2QdR/M9YWmI\nLYRPOFMVfwDld1fqfs6qBuhWqmo5KnkSU746SLFL0Gqxw7iIMQJ5Kj2UTV4h\nzeWC5rbHkFFErnsGzXFXj94eaAmciz9Tt5js13OXj78zWi384tsR0jZXYyRP\nNo7SRbNGM6En2+erAf5MMx9/BaIf+x7RPxC0t6pDEC8mQ92hhuK5bCGX07x5\nbO5tjOE1NsXLSIwxknz/4zDO+YdcdnBpij4cci/olhGZghhNiKyZiPpSNNXK\nq+O31cCe9IkgVkvtOEbv/cNFJ99QqVPoonqKz9qLx1TfmTWzpFKeK/O1mNm8\ncuHLqEXvo3fqdjE2P6JIugYuh5CWSVBsMf4Wg3Y/5/G6DoSPcQIB+ybPqvyf\n9dGuhNLMEG3+VQImJ+c4M/1M8MN3OvihkEy0KNRkavQLeVXmSsC0iUKg+BbU\nu/Cxft5e/nVgPiNxkyaDgDI9CwlVSg25Cvt+5V+6uRPqWNEn6EccWyISFUwF\npOJcDB/fPkNT4YhxPui8Ssoo6XV0j8xZZ7hVPv9Tz2sCvzx/apahXM1OmoDh\nM0v0IKhS8gzi951COH+fyF9bB/xayGsvy62gqGzvgBZiLo4XKuSlgttFixB2\niP2y\r\n=SIci\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf_1599028659531_0.1313296298437514","host":"s3://npm-registry-packages"}},"13.8.7":{"name":"@preply/video","version":"13.8.7","author":"","license":"ISC","_id":"@preply/video@13.8.7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c233f97b6dcf25f1502ba069657820fac2c5c252","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.7.tgz","fileCount":508,"integrity":"sha512-HKg3o8fVHgN1QLPBtG5vAQGr+zKBpxulyKq6ioqyGLfUOh8H7CU2CFRY+ukn79+8LXNcdbQvGAZF++jP6f6NBg==","signatures":[{"sig":"MEQCIBx1DwoCVOn6FuPO8N7qExOJzu3arREODxuESAszL6T2AiB2MqDh8PkaimQ3jw/ShMPuL0sjwD+lTn66LHfvChjxAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29216599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT6CLCRA9TVsSAnZWagAAZJwP/00kgxdvzNy4nzs3PKOP\nhxpqfl2aIyI5NWmjZuRjazEwdLhBzkZluc7qabR47dD9XiRx/nGGwTuDlbGs\n+LbpAsB4XkCysiWnWNC3xPoslW7w2UYWJ58jygKtVFuKqseALV/EZYFzzQ5K\njoNYt3pXv22wRGWzKTmr+hp+Xe0mte9AWsDkJuSdpTJ2QhRZgla9uggsM0W5\nzAeh3atuaMuEPi26/Ym4ETBZTYnBMt37P88N8a603bBuvXJXtmipNPeySZ18\nraVZvKXPvGSz100bhwB0g2BgTggCugIpquwYrXlQHiOGSTKRDj2Z0Tq1iVAn\nGD7ucKFzVw3IWV7vhBI0UaMw/l7/NaMWGjebQ8aFEjMo0v2VmUFUy0yglPtE\ni9MKA7Wq/AK5KKA0UgfzRwd+uMrYpsYgYS1QU2OfOZVi5Sdgc6T38issLPJG\nmLiFN1Cl5dYi/sXRnLmDTLORJQqcNUS2f6P83iaY+WMm3/qsyJ5A4/b4IQcu\nuhuU7556sbdFPvRid9/myzjNizsk77ndDfQzigAfkmDDMq2fkYBoeb5KjrWQ\nPbek0K230kDp470k5RLv8pmCHXZsBzeOCvX2V6tMbSWQ+PSX0Q247kjFLDOv\nO2SzeVccVxqdzD9ge1ANW5iwQkt6NMGdqy1ucCJUBQyNRdntYepe3Bj3Nz/W\nbB9x\r\n=KrnT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.7_1599053962379_0.16978565393801714","host":"s3://npm-registry-packages"}},"0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7":{"name":"@preply/video","version":"0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"add7115522af915870f96c6967a351966778b3c9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7.tgz","fileCount":506,"integrity":"sha512-aXXM3RsvdS2Xq/wkXqMtljHFNKb3Usu8kUzdPN9La5AOeJUspHhshBXind7gZ5U0Xmy1Giy1Rlyj9o6i5iCe2A==","signatures":[{"sig":"MEQCIEPtVbB8EoMlQsFeHekmH2URcwtQknqwwmP/I3H18S8YAiAtOAijtyQr32p4VHQLB6U7uGJOBKEHl7WHSQrSGq5+/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29039866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUemACRA9TVsSAnZWagAANcUP/0ZeTSBhqbnCZXR/W46q\nL3LeKRPkBrOpnF2sK5DCrHekWPrQI4XzacfLsJjN8OLGF8aUOR7tcN0UtzFc\nhNuNRF3yRcQk2me3cCVH1tBNrtcMUNMFGs3R9zq2pDoH0rVhHOz66MI68r2K\nh1S10OMgVA9Aa3I0KHrmE3oV0INq61NZ7s3Ys2w3VUtWr19a9T5sd6EnBYAH\nOyO8KWXETPxDQlsF7o+uhAaOYnFi2y5KFZKz9GcOqd9Z8mrKZY5y0uvdwsSj\n7v5yUlTeRw0LtfD+d9HA2Sd+qOMfjRzcYvuBkz3TyipTV78ifqA1ad7yB4+M\nAW+snU8T6eGrNavgXZ91Nw7L4vkaHAy6HeKdNnYutfINk2Hjsgafw1tNUsIm\n9YmHFvKzFISlkKFLQMFP3GbLdM+tT2pi7pddJcY0dtjcpK47i5qqnvg4jokJ\nT2ukU2RBHtlJcucg/zhzeaXTsauhhpcVRKuec9T78LS+Tnxm56QcozXN3RZC\nAVb8oTx1OHaBrjv1DB9FWs+CCvMle7QaD+jcZUF7MwepscSNU01PjubBymaL\nIyV2NXhsxjwNgE0OXgQ7MLOShIYXZqz1XpiSPWTpL0CEXdMeavDpoCaaBv43\nwpYYH4xnS5MtSk+FgPMIDY7+xHorsEAQrMH6f9zgDuEUMc+w9+5u1tRL/EM5\nKthL\r\n=5QbK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7_1599203711579_0.3494131632768631","host":"s3://npm-registry-packages"}},"13.8.8":{"name":"@preply/video","version":"13.8.8","author":"","license":"ISC","_id":"@preply/video@13.8.8","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c9d4b50b260ee60bbad566afccae3283a6fa6ca8","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.8.tgz","fileCount":506,"integrity":"sha512-IaxxyjME1u3IZIJTqCo1hZfvWIp6AtH7+BIMAZ2qFTr7rBrq9rP11xG96MA/zlTmMXtw0d7HXLBw9siQQz9wUA==","signatures":[{"sig":"MEQCIHTOsfFixveX++hrX+4Osfhs1LO+X42J4AxQ0pnNdGOKAiAGcXS1JUGLxo93xovV6DSVJ65ufOIjBd3/Kk9oouNRdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29038861,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUgs/CRA9TVsSAnZWagAAsJYQAIRI+Ofd7T8JCrt0lTcA\nQ7xNAr15GoKYJ5MlIhkNNZV+eh03hIG2DYtq6bUyc/2QX9k/kUjjImuV5j/0\ndunJDXZAO21VFpMIkBNAVqMzV+xhJzRNEPSIlfFgxEPeSpU+ecAB6bbcEyLI\nbLvrQ1H6tOuDEe7CHtI/TvV6KEktd6V1+1w20PcyBv336DunN6LSVrEoPJmG\nJy7oLNomOSvReHk6iiDj1mLT48jSo5qTibwRUl5LRIdoWWk+WLtUc6Nw9pRr\n3zKcjz6nKiaDi61xSHlNcoRiOpvWratjhbkFXsP8NY2R/Ur8cwSaI830cZQv\n00atxJtePc8E6bvrivo/cLAw74biI/Njnk4iAH4mcJ1O2MG/OVc48oaY6Ypo\ns9yyxd23+vLQ9eAFaHPnC4+gnm9wpoljWk1JXESJ8DCP8Yrz7kZfx/o+NrVW\nTlQ1d4tbbL6n2nETXVdbkdv9ean7gibBqTnm+WVfarAJVv+SD01UQBDcE3eY\nmMVDT8d9VioQNXkOPBBNg7NRusrtrY2OxqD2fW8P0a6RZVfYWPc/N+g2no+n\nHjOkOPpfh55sGnTlxQQxFFrvhy9D0Dgykp6t1sag/BpeKvE2NEM87J7hBe1H\nxhWquVlxNYeulPjfZ20XBNMFWt6vIohfnAosdrN10fgqR38Fe6A27GZnSkRG\nbJQE\r\n=fjiM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.8_1599212350870_0.5893156017788728","host":"s3://npm-registry-packages"}},"13.8.10":{"name":"@preply/video","version":"13.8.10","author":"","license":"ISC","_id":"@preply/video@13.8.10","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3b2e9ae9566ea74ce1df33fd4a0ab21fcce49cbc","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.10.tgz","fileCount":491,"integrity":"sha512-I2sVgiNlHt9tzg0VTRJaqJn2qSUJBrEcgmPXLUK5cn5UAFk2nZCD4C89vJk1S+FSBul821//NU4mCWsu22NsfA==","signatures":[{"sig":"MEYCIQCKRP2t4Mj20O4DKphId/l8rfbJHNIMRXevHPAZzYwsfAIhAN7Pjwro/aTUAzd03nq8nx2ZVEUwb9bKly4Ox0A2OY0z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11459025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUlJQCRA9TVsSAnZWagAAdloQAIQJoU7AAx1Y4h+OtkXy\nDDUxvXb/4EGOB/QZuYJ98ghU8N294Tt3qZVub2Wg+o0xXXHWvY/vAhl0Y6yJ\nrh7R13Km0nSgKkIt21m+hBWM4pJsHIbBhZdGcOVBhX9WcbWCDPZL10uuukWc\nlUZsUBktVn0bgYMU67mCMhUhKG1OoSIsA10OnK3kWZXPWi0ZgW1TMyVGgv7B\nTip2GHrMfIpKzDpp3saylz1FyaNdTpNt08uqj9WxMqeOmJuYOC0x5ouf3GdV\n6ylWguEyY5+8/gakBTnA9MZWxd/sW59CVAEbucY/lbJcqDc+sdmu/TgxCBtk\nW1WVFBTXYSNPgvdzSadCgIRoHbWp/IqiWcB+Mn1qGNkdDqHbq3jKDR2QW8NA\ndApoKADaan2ow0/IoQmZhTGkpWLFTQ+ZweZIFmyYd+kfQ9wGwuhnAyNPYpdW\nyc8/sT16Z1uXirf679kLb3Jnp8c8+pp0Pc7Wf24e+4HOraXZQJ1mmSjhIIc9\nYkYey9LKx0dA9tujjwb5oEUWre1ZctL4owQWlLuwcPxd28CW7Dxb/YnPLDvU\nE7Sk2yFByQ5b9vgFFcp5jOJXAMrJu2yJ9xfHhbp4NSVZvnaDr6dazXiNGXC5\nC7DOSqyGRPqvNPTFo9CePW41uP149DtajBfYKmNPyLyjVw5Ehpo147k6DDWh\nI/cX\r\n=R7qb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.10_1599230543345_0.09598028200357667","host":"s3://npm-registry-packages"}},"13.8.11":{"name":"@preply/video","version":"13.8.11","author":"","license":"ISC","_id":"@preply/video@13.8.11","maintainers":[{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4ce204770abe8c7a9be0f87e1688b76788776030","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.11.tgz","fileCount":491,"integrity":"sha512-qPIuDQrSAtUCneA6ay2cUOMXX20IJG47lGpQ60B2WAnUyWEOh127t2DvLRf34pbtdcyy9WlExS02pKl7e1v5oA==","signatures":[{"sig":"MEYCIQDUS5kVku5CyPV//AlkqQQoVQ5cgstZXpyjyc9MMpykawIhAJzh3bR6Oe06zCL3yeGOYJcPnUVRil/lc/SLAHXZ0niR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11456859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfVdVlCRA9TVsSAnZWagAAJ+0P/0/iso8AHO3H+rY+IetQ\nvdrEvqqzrpSBy6sXoPpqQaUedzf099S4FoiuuEKPJKPUgbwwfvwc/+d+/Ijs\nHSEm3qFfCetI9qqKQ9isJ1tiVNtt8JWbqr57QJG7s23mTCl3PuSw/9esgJMd\nYysaO8xZE6Qxg473SASSW7wv+EKyevrGIgFV/Dcpt7ZvENP5HmgCvc9QLv25\nffnhS1Aok62mTD6yFrCVw7aN3CmvURRIS8TlMDY7mK7hjscyvHMiiZap+CJ6\nTi7sLkOWbuos8HnWf3zbB8EGH/PT8Puspnfo42Ifm5OGACfKfA261Z6MgJ3o\nw8yPQqKCfkIlkA3ZifiwP5Dd6SeFw9Si2t04NSFmRzqPNHMD3uMObSsgX/cb\neXcARPrlelTMdfB4vtMlVh5KRqBdY3YY6ki8DAcGrcQjiH+JtfQK0RgpDatq\nuEPn/qNCY6imKAflr0Ovl4Do2NIiktc81gAxFdP9zYkA9aMG/PtUilzuQUJq\nk7U8Pb0GO0twjIAYIIOhNgeBAYgkGg6OI3OwJwrUFfASE2uFL1BmeHuxJBNp\n30ZHfFg2/V2xfP4iSs1nyn7nXvrFUxDcV8/G3slJZtAfp8QrJF7N8UlWgjOT\nNFS+GcJcbXA2rcPmYEuKxX97ogCyiMgOi3HG4mKJCd8nSG8ao2vOjybr96ce\nlR6y\r\n=SYnA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.11_1599460708555_0.39301108500280746","host":"s3://npm-registry-packages"}},"13.8.12":{"name":"@preply/video","version":"13.8.12","author":"","license":"ISC","_id":"@preply/video@13.8.12","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c3dacfb4eca13be789a4afd1406e15d8cc5a8b22","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.8.12.tgz","fileCount":491,"integrity":"sha512-MQhO+ph60s3B08MOq56LAtJpcIeUYC27BgE0Tu/3rRCvlcnC+lMjRqWwBptw9qQxW+9VYtXNIaxLtaDt27EGrw==","signatures":[{"sig":"MEUCIBx0ZVvDBMrw5KXU9Fu72FVBIOBeQ89H8dPiAZ2fhf4DAiEA4+bgmOZ0TjldFljAJkZE4rJumcEtcadDzco74d5yMpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11457420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWHJGCRA9TVsSAnZWagAAC/4P/3O4aR0no0tpHyfj6hB8\ncNgQDmoJE68pI3vC7YimsYE3j6bQDBHEHooaX81sywZH5lXVp8R87upfzVXI\ne4+Wj0l2v/ahdzJKeGiaXgj7Sp4zuVKHmEuXp58WD3fUyhmfAOJFLNze4Ev7\n4YGHyg8r+3YPH8fJwrUeXb6I3f0KHvQdr2O/CaKheXQTX7nnLiZcAtWyWBhF\nNffC5DfpqBHDmzcnfl9IRCsC7Qhg/UK8ZChBljrPZoQeiRiBvbQo+zeD6MnM\nGYxcIG34c6ITMgv17Dl90c2ggDhfJpHuOTGu/4whAgRcT4Sm+K7B9kMk9jWJ\nlb3K7JBm/cOc4onKSn0WN1t+Ge5KJjORR31NRFvzFa8yTiybFEHuuWH5QPsn\ncKXl135LoiF0GygZGrKWDcC7p/9M37QEeK/Hp2LOhWTb2r0QUza5q26VLauE\nOOys35oomPnlRSvqVfrSp/iwVBJI2rIKRBMS3IKoURJrbgyVTL/Bg3bbVVhl\ni+SKW99xbjbxx96h2827pW7a2t98bAyBj5AKsTN+LyvKWAtBxIPXrNvEI1RU\nIO8xGbH1dbnF0tkBmvXs0Xjx2VnKVUfo3do7jyxNdi9/UrjqTwBLgZ4QsdF3\nPD6O9DKcxjLJPktb8uX+i5iTwEDjIOZUBzCx77Md7jEkkQ+gnLT9+bN2+B/D\nPRn0\r\n=tpkr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.8.12_1599631941987_0.9055090507835457","host":"s3://npm-registry-packages"}},"13.9.0":{"name":"@preply/video","version":"13.9.0","author":"","license":"ISC","_id":"@preply/video@13.9.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0b37236c16391e80c35d1779c41e6b0eec412a75","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.0.tgz","fileCount":491,"integrity":"sha512-y0EBe+yDvOskWHc38QUUT6sLyVm6+daqaJpttsfLhF13oinXRhJou57hA2n2YmmCHaGnr9VVEQ4HDImXdk7+2w==","signatures":[{"sig":"MEUCIQCWf8WfUmMfhRU2lyybT2tmI1yNLYPh/bFxXYHo6lChlwIgAa83Iek888r1WXmlAwX0c2j0M3+8iVMuAHRbxeWsbak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11461115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWMdYCRA9TVsSAnZWagAAHYYP/j3rciKs69RLrm6cNhvD\nMktbecoRyCsdVQmr9y9x80XhwMb9wX18LwsInfSOcqRpXCgi83N9DnTR1/rx\nXvdqxfThl/YJt0rS60OB0qbzLVHVu4akQtelPcghTp/j/QuN6v/NXKfaQDMI\neggsCTj0tEjc10v+BruDcauPwn0cWtj4F/f8nMnFLB26Yg50hfxyW7DHEFdI\nTQBsYKWxW+BRAOWbsLInbu1Iuf2LV3FZuhTpXKQuwK6I/qtUC5ykktaDRJxc\nAH+9yEYPFxTdrHj4Yh8oMi5KbcZyeQg3yMwA3vAGGm2tsFJnnLJA0gjsGAIA\nhfAschEaJ4ialefMBEdnSrgIlz2wloD7wD5bVomFFiqyNns1zOWMh+CqOkj9\nV2YaBrGq/LFDt+e74/i7w5DHKvuWYROqrwKRfJP5qxMNx/voAfV3OkpTcmfk\nRarDvckHUyXpDnzkyzJeEcoBxPJEae9VtJrilcewZU9bbZj9KuItWdY6viX/\nPo2qjG9OrGFiHuzt6MM4CGUGpkUJpXzHacECfIcTQi7RedIxyDNgidso0WdV\niO2IBdnIp8OAybszigQYD6ujSx4oRVzibs1Rzd813EyD8ZONA3Dh63BeL5Hp\n8Niq+ApYEDKEGuRj8wLvVy33nC9pUcSYyDp3SGQj8ojRdmNHIe1fsDb5B//x\ndREM\r\n=6IS1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.0_1599653719696_0.5862431161669936","host":"s3://npm-registry-packages"}},"0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176":{"name":"@preply/video","version":"0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6db7ea12c72c6c70ed3c491e7d3537d4748a99f9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176.tgz","fileCount":506,"integrity":"sha512-sy7pYxLmqPHyuxqHoo0cgkgAknK0TcYE5UP98T0SuQrC1S/M5DbXjQumw9xnv7ng+Ba2568p8URE7hHSkoBhuQ==","signatures":[{"sig":"MEUCIQDQ7PFj/BkaOq6BUKbHrQq1EdjmQKqkxXMLPrv6FkxyBQIgKLgvCe78xe7navzd37W8HkWuRl7IDJRc6n5LOw7QHro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29248327,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWNhjCRA9TVsSAnZWagAAkM4QAJg+bDZet7JoypEux9mk\nhSG1EEtKZuIfFov+sj9ulG3oYQWcSyMHPkfJtf71GgMs6Ajk7ldte7WRsKHi\nscMzfaQ/6e0+6gUoJwFHzXKvSEz0Q+5gLa+dDRjm7wMKROKZl3tUwWm2a0uN\n3diJres9UgeseTIx/peYq4H8p4Aq7CHc/alr3YyCzegTQhMz/+NHEUrgtePt\nmPIyFufkB/ybJ7ovdzZOlajgg/pPthP/vMsBiFg9Hgu9j6sFGMxaOdnRjoLk\nFSDWkhZzgIvfeILWCWBGMBCogTSeIJVt+jCvbkJdfAjLF0EEmNh3/e4wfKgV\nTg1XX7DU77L0V47vKJBcVVsTx2hi9TyQkgxSDf0HQxpbkkXLWwRFqVDmY5iQ\nhUSsCVP6agZawwOc6m5ALTFKzb2dzhL6+sKxGY3a2RjNv3HKaN/PUs+9U7bL\nZdwOQzDCYy3U+ubTuCGpbkfZz35zqZ7sNAJ8D0hYgMUZGJEIf0j5RMJHy6oc\nJrW/n1Z9nQDkUPfkRVwyksd/b7rEDRGkCz8UQzif1eqEYEqweMZWidRfKckr\nMSSG8HulAuDpeV+oCWjRPRRMQD5KDGyIrTtaPDEf5nf3cuGQJfjL9dqPr/+c\nLr4Q68kYaJ61arFUc34VPp76pIUxhR7H8fo3b/MHbSbsZbMd9IBTqPaRuSGz\nJLXy\r\n=vlcj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176_1599658082172_0.2417934609111172","host":"s3://npm-registry-packages"}},"0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6":{"name":"@preply/video","version":"0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"75850f30ea6fcc955ec810379dd9010311e1ed24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6.tgz","fileCount":491,"integrity":"sha512-wTsSFusDSSb/KNNTb3ZNZpgAdaiVWobqlaJ3939JgsAqQ8jQBYMYz8002O9aMHaISsFRGxKWGTPLbUN8E1Gt+Q==","signatures":[{"sig":"MEQCIHUXafT4Gc7LrcW6Si1vIcog07+Dzz5WPWWoqlv0b9c1AiAsFqq1+nArl21uOAQLGIr1av23UaR0mi/2xoxoyUbUwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11462166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWNoWCRA9TVsSAnZWagAARdcP/1bIEUBG/gM23XfyuB3K\nDAFt5+Ri2Qans22moTa+6KITIWf0Vob/ZlyvSRnvCP/jPfeJcU/9Kc5nCFCh\nZSn2yw+GZ3HO1sLSUuXljpVCOXJQMUsGImDHZoF999bJH6EzEi0YIfO32SMu\ne4P+gNgmNosz1wMYYg/AlSZKnocWUT0p8XCpXakKcDPqMLgnMAH9h+nBXat+\nMvmWsbeU0o+9leTKXHm9/5LEJLgM9XwU154aAkfOHoSrwZF6AckI3CRpNh0I\npimYfV3sttLXKw2wcCBJMEqVYrlwvSr37vZ2HM0tbQ0ieE9477Ivg4hrK2/C\nSOHIs+GF5lxTwjUJcxHna3XrZX2JN0G/8NWgPJcNbm08f3Qv4phx1RXVvipM\nSuRPgTrjfZL0H+hhU10SmY4v6b4ry7uZkOJtrwyW0amu4Y09vdpQQ6ZNkJ6i\n/0jW/IfJyaQ4M2t3q6lha3D6RT5eB8cOtUc5czXfjsyGEmAOaky7urtsNbTc\n1NxeH6zfuYq4p96Qj4ru3SqQKGcEp7tohARtl5xWgwBjpZjK0eWxM71lKejJ\nq2JtTUMnyRDOvLbxKUQ/bsDVX3iqwCU0cJeCDGlN8GQnQw9F/0nGdsLEpVc6\nK4GSMqKcTx5LIWFuunMlIYH5TOK4uvkiDTQw7l0crZ30yyVAhK3WWjwzHFGA\nXDng\r\n=Zx8W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6_1599658518125_0.9924956252873367","host":"s3://npm-registry-packages"}},"13.9.1":{"name":"@preply/video","version":"13.9.1","author":"","license":"ISC","_id":"@preply/video@13.9.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"aac88284f48e608070a6449968cc685dd2a7618b","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.1.tgz","fileCount":506,"integrity":"sha512-VowckzbF6tPr1vGncnIUFcOVxAWBUjz3lzd69/ottAXwx8lSizi1Kf/4cqea4k355dd6zQzMJU6bRIKsPFLzyw==","signatures":[{"sig":"MEQCIAUn4BzFlhd/DvrAY2qewMKjgn/QbeH4A6iomLVWAy9JAiBbQmhBr+NpC/JGfPyTeuJyDBBlbwd+eJFU5ZvdZVO+9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29247622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWNwTCRA9TVsSAnZWagAAtN8P/j6f58z+mTyoPSCKUst8\n+ZYs4i8A3dFSlG6gastY3KPSL9xFz/kX76mGv3JCg/ot7oSQPl44WT8VZuCp\nk7UYVHBZx1MLpDXjERFv+yks2AfxvzPHZrdQVtmIKOaqBQAq2Qy06V8u+xpH\nwsme8WH+pG0a9hvttedqqKCST5atSFKjMqRhs94Rcl4VM2Simcn3Us09nOj/\ntcJSXZ2i7XDLtDLmdRaCuvpI93/Ng7pHDHdYuoehNBjIlYEUokxM0nVGf6u/\nV1QmxSeTP38fl2JeGioWddqrBQrH1CF7Z8xLlJfwRPM++QszcFgwcVmaZY4U\nf0Kxr02zHhWJRE/OVX3VTcHQ0mP13Kq6MzxYGhLHkWxI9MC4B2aQLhesnEvs\nv5jygVeR0luuP8OmeLf0ngjB/vzNHQQFp4rg3as0noxkgqYis1QVdCUB+ESz\nksK+yUEW+NiV9AKrXVH2BDQkz8pGyxqjnIsPbg1hoY9qKVn4vE1l6yAh+Vr8\n04GzrvvwNEohtuxMPwa+eCyXt04DTDCa5XSyi6k/6NKYIl3DKYLA6X6X/r8d\ndkM7JvW7hjZDELF4eIlywehy6eVWER5p15KRqtr/oiFor2XIa3eZ2ev4Xwwf\n5r7wY3XABXRXTRC1rwMBdZBt/TWUpkXpQxu6TQbv2tLeGdgeTljT6bT7MTwv\naNoz\r\n=aBa5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.1_1599659026439_0.8629905059139233","host":"s3://npm-registry-packages"}},"0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f":{"name":"@preply/video","version":"0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4dad40d922a2a92dd93f92a9f433b21a3a2a26a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f.tgz","fileCount":506,"integrity":"sha512-ez7+CIFo+bjGsyYZ3SQsmk+2tdrLSC8yqoBV5hk2NvEvEYHob5689PYH8SWA1lmb19z7VB9yAfeqQ/ln0daDaw==","signatures":[{"sig":"MEQCIBdbewfXH+wjD+BhfUlUUwBDsUb2HXpxoSqDkdUO7k4aAiBSGLESgwkRMQCzdVrmJII0P1628W7h+lpjNAl/TkF+3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29228618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWerJCRA9TVsSAnZWagAAdBAP/3ASxtzvHXmh1pGgCe1u\nenYecydPkezdDOG7NxkPxvm+qXfJG9fJGOeEp3t95+nuECrPofpPYuWm+Yjc\n9FDOjNAZ5XWy9gGyoEqCEBKfBP7spXoNcCl6uxCmiaB/o8VdWIbtf5vcEzaS\nnWhc87/H0enfxXWh55ivWXNVVZUQNJFeXqkDh/lZjCdcdikzAmAZs6qqrv0R\ntDV3lL4aFLhK1PpfG3oxP+HI1AMao/4VlY/4Q8IbWqWb1YXtHnOkCsAF2Udd\nwBOWP7Bjp7wNW8PZeYFnwYfGZ3a9ETZ8EBCGsEF1WObtDbJ5i8us2x5Gc2hD\ntIHQc5ZgSNAStIAEp0Eq7W4cmGEUt3Vms7hbfC/WiB/PrIn9b07UyKHs6F03\ncNjH4MNRfiByYCoj0N1fxwOjHPH4P8fh1didwRq6SEh5n9XR/ot8m4DpIZ58\n1szIz8RIZpkVs1LsONDYmITVSWewxKkoD0tDKUJDCEDE7+nUbTgHv8p7PZVa\nJjQK6aH50kk/RhLt7Q953NEexdykDHMuDfeza69JjAk2lX1xnCcyI6D7uA8Z\nNl8sUmi6epjPjBQ6NApGgU9UFSsHvIkXDB4aa5YrPfT6tAqABP8/tu3rCvHS\nZcKR0rRd+FYyv7L87kBb1dWwTPKF2NHHj9ejyif0OMCHxl+J8H4sCvHD7VBY\nPTl6\r\n=gAbY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f_1599728328680_0.129742421895376","host":"s3://npm-registry-packages"}},"0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae":{"name":"@preply/video","version":"0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1aa65e0175d34efbb4c2f030405f679d0f02ea1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae.tgz","fileCount":506,"integrity":"sha512-Xfk9Ujuuc+izf7WVSY8Iw4NGY5764D6ecvVe03rTMRInaJ/14LsKfznsu+92D7+2VujFoNWYCEFs1qSnqm9Nww==","signatures":[{"sig":"MEQCIFeq8T/kOI83/ViUgeywuw7PYVPYmiPFEMvKzdWf5zMVAiBmFBjTejDDWEGKvcV4wK7UW/DFw/d3sPgJkMFIthDQOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29233988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWfOTCRA9TVsSAnZWagAAwS0P/jE9AlvmhBKaxpKDNBBq\nrT8DjEdpqPq8aMmqtzG5TUn5DLPFJ8wPAMndHGXwik/OvA8ZyNLEvKD+OSPd\nZWJBjZ+G4ED8m5fjRlfDJwAK/tqxdDrVmYM5KTfRwjsX9CReHOoMSVW3S+Do\nWGJlU0UuwGNbhNdBpMPD2UJjcsLT2Q5LJ0x5+1wN7X7W5AWUbDC+xwzCb5KD\nfTqITibkz2RYzgHJ3t1k8UvtsuAyAIZLjSomsOFmuo5m6jp8JznVSjy52eag\nAVmMPAZnuTNk1In05YlCwz4e8ltqb9mlCiB3EbD+StmXIbmhmuT1SGUojAh4\n0hKR49f92FIxy2ynGKXKmakimhiv6wR/Q7IcjnsGJkUwybEuPQRozMLl54f4\nRs8zhxLgYcAH0uOKoYm347G8d65AH7mRiPPPevcghgdN66NjYUvC/AD9iJOO\nohOyAFE0McC0tXJZ8UVsO19zxSlrUbPiPJxePAkrmO2FlEh1iDmxxBx3gaC8\nWIMGDBjRc6K/kDgNdWH0bvyuHHU5g4DEFN2ol1n1JiSFNw4aHye5bw6goXwX\ne0J30eRXnAAAxi3IEo/l6qLm0/KLzZl8cA7Bfw8PH4kqCbq9eawKcBFWFavh\n112B3nhZgFLVxYh70UuNWn6FmhAdcNJIotm4DPgJoleUvneW/qqkAfnNQ9hJ\nxAhF\r\n=6dSy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae_1599730578512_0.3932751829781258","host":"s3://npm-registry-packages"}},"0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264":{"name":"@preply/video","version":"0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e34962ac86e4325726267870e39a747e712604a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264.tgz","fileCount":506,"integrity":"sha512-xBW4jFWQPeEfjBGdsNKy9XkMCZHK8V+5NGv/tcTA5RdCdIB6nNMvWbZPsx6pG1u0puX6hFPoCo4b8mkD26Vlcg==","signatures":[{"sig":"MEUCIC5GrrvkOrWtoL8BgoaIZgN0gZVDEgnMt0A5Nc0DyaLNAiEAswSAkPNRtvrpPnZSOCG8UKoRUafq6/OHL/5wpLV6Vig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29234528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWfa+CRA9TVsSAnZWagAADTwP/ilU0T36D0Ee4ixmSbnI\nDKfDIgFjgIKpqxjQCwyHcVaiJuhQoCHdpslWKKpNrhmGxOK3jPAdRfgbF5Nu\nNgKvy4FkOnQ1O1UMcqx2DVPadZEiqNZT2JPw40exFIrvhpkVKC6PtOlEKxty\nQ9vQFbf4ldl5Iciq5oCnFuyAABaRIRpYeef54AoR8ScThcFhs3JuNlROcpNb\nPt/LEPBvurVTsuqD9Hjz1RC0Iu6FhhZwhqePAV2B9HHBLKjE9u/vr78z/C8X\nekddEqoJJm3gLEwHKcIZP4+ytVXDSo+TLNm7JSd2nwAOs2Eg9g3RrwUghfI1\nkE2Xf8qd645JcpV8TLNDe4nNYOU9TGHoym4/xbkugn6cbzZgEA/f8mmHg6A6\nnwDEfkWQzlPLkqSvKGzp2rZH2wkKmpBy7IcAwgSRQ527egqgfA5Hmj10jUu5\nBkDiFgOizdvcCOypbUFzyumJQTFJuSCd5fYfyI0iVNIsm0Hge7/NCONiiRlz\nswvl5B3/Ehmg+v30HkvM1Gz6Oikmjn9GaeZP6yqS5coxVn19IjADcjABt6g9\nwn+qG1L1wH2+klhOyaJSPt+99UEbmz+cITMWHv7OjmDFWNrgkQw+QQydg8sk\nuHdehzkJZRu65OA4QwiOBmP2rKXgLgA/RMs4yflYAiCBG2pWch1lIn+1pMx7\nixTq\r\n=JAJQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264_1599731389702_0.1836765847411297","host":"s3://npm-registry-packages"}},"13.9.2":{"name":"@preply/video","version":"13.9.2","author":"","license":"ISC","_id":"@preply/video@13.9.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c8b82e4619bb82c8f28f6002c933b7ef338a4706","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.2.tgz","fileCount":491,"integrity":"sha512-OavFLVs4984bArko0m8/fZY/ErDIP9taCNJsimAunXHWLGQmOvatYi77604rtaf8zWeSv4FNSSIAlQfLVNChhA==","signatures":[{"sig":"MEQCIER2tXDjrkKMlSJW559m9SAKKzWFw3Ngc9fdbMQ9Dz6mAiBOpa92KhvWFHkrLcB7lVhJuC0KU7U6zP9dQsCeB7t02w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11480416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWiVVCRA9TVsSAnZWagAAwDIP/Ri8raqZk6dNlQZt7VkL\n5sOHNLq/hndHFr0SAACOPylRJQimLaNlOpvfxdg6Y1+5USVQN03/yupm7W41\nzS7TjfS4EZYd5eYNSHUWTb/PQoZ6Mfw4oxvzVYildP0W6e15KACSY9mp+VJV\nDvefWan7aXaAWsLzETKMk9Gp1ilJCEZTXmthIv2Lzrb7y0vmW+VLRt+ukyBR\nRwaNAJK8vSXtK6UGd53H30IOseZoag6t6SEEFHdj9H5iu84nNueOidF/BRnU\nRu0Cx5uBTyXWGIxfZmpZBB7wBcohjibmE7PDL43R7n6A076P4B7j84/vWU6h\nGCPA/D0kOCn7igB8AqaCRyJAPEGQhMIyuJjvBaFys4vIlMuhEaROiruqn1nP\nno2XJEk9fmnwx3g6XY/uDQfpOSJ9oBgEG61euskl8whvtDNzF5oUdBWIt2QU\nr9h+d9yEFLlnda8ZwUeKcFIvPe+sZtPfkEWpLIfdGo0C1gftUaZqtv0GPUgr\nRTTowO/bzu4SPSTP+EhCvuumznQu1lPPGOVHcpJprApicpWgSdlMT1WT7GG4\nqSTNMNCZLqbYhlXASxThGcbEVBRDiFQMeI9bOCn7VcVaqfndiTl95lmRHVff\noa4OWLameUwfGBjn50TTYrjfOdHpSwDuLV9Sy4TgT009NwJ9LVp7zx9WJvCG\nSBun\r\n=lAXr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.2_1599743317112_0.03025178355981417","host":"s3://npm-registry-packages"}},"0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695":{"name":"@preply/video","version":"0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"60417aff171c42405e9ae71b2523de6d4969dbd3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695.tgz","fileCount":489,"integrity":"sha512-DIFO+6p4/Y2WlgaolIjE9zmn62mtJkSG/la5++Sng8jSASZv/8M/FiA5CXXCXBsjL6oPgi/+R/q46EfCnIF21w==","signatures":[{"sig":"MEUCICVAi1atXVhqekDYLTbfO1kmzBySZZ1m8zuoSYD0p5NHAiEA4l9mfp4YGgG/07mq6FreA+wWJgJcbYoSco9GUZsoykw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11484430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWj+WCRA9TVsSAnZWagAAH44P/2PmRUzHGWvQejyjkTKk\nYKG0JN31JG//l8D6A8lYTQX3tmf2eFGt8nmEdItYcop5CipFq6Nf7WJnN9oI\n2ttEa2QBCpjKuqjttAnK/exWQ/J0eLUm1DDc20B5LLl8JW42uUbnj91ymex6\nwlWd0mKOJfUKv5W1dss0q/287Pv3ni53MyNxCXBY04Beu9pE72FzHTAHmQ3p\n/hi8aJlmVolg+PwlxXCoiJUvg6QGsPQ9aWTX7paUklsPtAaUe1pSyGocMyf3\ngq51O9uWAC27EaWTnmd0cRT4zxNSFRQoRM5tvCASCBN7PvU8J/nno2rOZxCI\nLo4JhqCIImLR35A2yBwoH072GJT/PlJDLQSM7LdvnuF2MRDWFIiU/7D0QSnQ\nGJOtfN8qbYssouiNy+3YKusPM//TB8UH0l8LNxY2BD1O0XzIpzLNvJAs9seO\nrvqso1L8Zq2j4PZG3Ms/dtPfnUK4TK5tFmUoEDjnYNfyImzq1sMzdxWiQP7r\nfBjoBzhai0Dh9LyWYLeQ/aDS/WcMgLa9cyAd3m2ew1/EeqFdj4ydLlQBvGoQ\nSe2NbhnE7o00HJ0YWar9dgnPDQw+0SFi5zQahzxWV38FJpl2t8/y+wzEbRVJ\na6wcw8PELoZBmdJGZyrwqe3UOpqBZ6ETsjldqQonUCNNKfP39ixdZHFCxNIK\nKeks\r\n=2wSG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695_1599750037647_0.5247221897759053","host":"s3://npm-registry-packages"}},"0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8":{"name":"@preply/video","version":"0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"da12dc9e57322e9dd964b57216f53b702db84d24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8.tgz","fileCount":489,"integrity":"sha512-MoKmAI4KkHlQdHr80NdsnCsdxzL7CWhhEUUdrnvXuHK1kGsMvV6ihmGSc1tYT9kGa+QIN+kSvcpGG4VJe5ScXA==","signatures":[{"sig":"MEYCIQDuC4hgmJZqUVRfmNl8Kbxu+s3Pbxo1rES3aSdr0Sv5VQIhAMs/Zv5UMfK7JUgR77dlZ8Oudq2ow4lHXKT333UhsILg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11484426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWysWCRA9TVsSAnZWagAACwQP/2z2d4e/6bVDqdTdogQz\nG0NpUCFnyK3va+IFfoE4a+Vr+SUIj3Q+aU+i6EgCiR9xIbcrgoMOYS5ku5Uq\nJhgUCilpi2iveCURaAgLeCDYm6M5A6Urq/dbrU3iT5+79JOJbrbuXdmj795S\n7GdxcPzQefSaPQ5mljsb5l4c3N7rEK+83HkTEyhetBQ58dRrYDlCPA5BMCi6\nSl8ROpi+K9UAFM4+JMKkcgpz7rOztS6t/EO1n/KNXfflSg1taNkoi66x8yqg\ndPr48jafiHoez/FDeypYK3/3cwnT84B7USwrle1X7f2AIcu8P/XzYcq32RLT\nDK7/djrBYch0M0d3GbenxFeSYhUVC8xVQ6GhtM6xtUDHyylbaB0W+j11cCqZ\nA3ezPxGhKm7PaI2pzk8GjvRG7gRs/u/9rbICv+jChQUUPYPuWL6wztH+pZ8B\nVWUFhk3F4+YFh0zLbOu88zzrzluPwDivMKh42h9lmE6jzeq0RGkEI9D4URmr\ndiQ8XsVPaRwEfbXSS2kbCljg2U4ySV61txXmnqzwwlR8Kgrl79qsXMc9lJng\nz0E4D6J2Ax9lIAF0vhVy5rJHBi4W0+KJJP44x32Ng5X6Eifpapb+tNcj/x0E\ngra9i7D1Xm92LlwqCX62j2YmPudw6JWV+5BXaBya6pNifWo2ZzeI/CbJu318\n7N8A\r\n=LRD3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8_1599810325870_0.08115886840732212","host":"s3://npm-registry-packages"}},"13.9.3":{"name":"@preply/video","version":"13.9.3","author":"","license":"ISC","_id":"@preply/video@13.9.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3e4608a343dfadde3a04b7462d1c8f2c23ea6d39","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.3.tgz","fileCount":491,"integrity":"sha512-sm44s+Jbld22EXdoSgRmwC8irwQeDvE4m7wPOli36jXcnUItCHgcV2dDWBnkBVljlJg54Mc6DsW5oQJjJ/eLag==","signatures":[{"sig":"MEUCIQDEmhtjVNX0vZklipU6xSZAO/dfLC1tZokUAXhh5ryEUAIgKI8DL1zE7zrlOrT4a3bNcilcM4pbuudI+um1/j/AFzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11480524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWzCNCRA9TVsSAnZWagAAYJIP/iirPFL0gkv5PKS+CoSI\nwnD7+59HvGROSiso5VrsvA3P88shht3VGq9QEYua63qCtgoGaDCHFtGfo/IQ\n9ReOpqXqt6YdZ1bVILjW0yzQh+msNvMcnwP0Zz7S2FS2/X5nzKreQwgBW4CN\nKRyA+tr0eeXpC4EZLbnc77cDngLMxKGOCJoWZ4KjwTyrqr8hluoosWFYjjMF\nkSLEtR79MiCHEZADRyYIsisXJPJcQX4DB3vJvhYEi/ZgEv0j6FShXC7JMkn2\nIBrH3CKHNR7ey0cuJEFQMV1+J7RfXcM4nnDekHiu2iwuGLct9QX6UzeTMurZ\n2vK9RpeeZTMnFoZjgG46Q5yp4er80TMNIwDRfBbqwpx01nbE38zA3j+joWN6\nMrP7noIbhsyu3hGk5AThvxMUSvkhgbLLPp2I9VP1MV1JXCcPy8GAaQprEA1v\nYcplqVaJ4GCTZt0Xur3Zu2ObwB4vOMo/HzuYKGCQvITBlOBxf8nuIhGdqsnz\nLC7blLg3yVQ+cwG+4NQfK9R9YvoSNFyg31GHhFqK0vFvsgxe+z508RfPC4Xm\n2oElLYBTeA8B+SLubbzGbOBc4muvPzYV2Ej/ox4q/tTykZcDc0pX2kbT15r9\n842YvesQzCkuD3alym6zTmc6T7GmsF7UZRS0Zgpk5OtZreJdiclPKweqRw/M\n1I1T\r\n=AudN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.3_1599811724459_0.8022714466972691","host":"s3://npm-registry-packages"}},"13.9.5":{"name":"@preply/video","version":"13.9.5","author":"","license":"ISC","_id":"@preply/video@13.9.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ca1726079b6acd24fd1dd856286272e86668ee83","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.5.tgz","fileCount":489,"integrity":"sha512-NqDBb3htXlDF356kRrrtBco2YuxFJDeo8U+zQV6cut+cd6iDsPINkvrWrtOd8v4TAuFUBrCdZ6hzbD64fnc99w==","signatures":[{"sig":"MEYCIQDrkRbGRuGra5+0lW2h8lq80bnVbKaXVeNX40aEVVgz3AIhAIbl6rRAFbXXrYQKt/Vi0AYN+Qoc5j2d/SzAXHIUTLlH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11481429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW1tFCRA9TVsSAnZWagAAbrMP/1jbjttxknKqEhtO1mY/\nQLHkqsupGDBNGyFbqAf1Ux5RrqCaVk0ii84Ahn4H+puA1vX1ywQkarVU83L1\neMBg00e2rsIEzGzKvlbbEHUHdoHYzp5Yj2Y3+IxzlVN9niTMDSNK2FptbmGM\neBTJlpxjh545iHfObZ4S2sf4OVafFZp4pONLU6zAMQHKm94OJzfUBXGdDNAQ\nwXURQMWYrSgEDrVYh+BpHCkPHqtE2yNlL97MTVyt5siYOD6JndeFC9FNjVJ8\ndZ3pVOphQKkM/f6raDDIAbRi4U9vd5eMKYoORFPelWrPaIHKaI+YnD8xeEzI\nb9FnueKErCCfOrqSTInjtCJ1lT0AERtytv/bJXIe9X9M9MYsznz1pspjdt1Q\nrbtGqNvyp/Bkgp4nS19mJY2j5Ff30ODD4lPbjoctBaIBdr0JBAcznobp1uBy\nBEv/SabAYdUTYM6JvSqdsi2IclF0RgXscslHXzhJVblocgE4xK79FKeDQqDY\nQbbk++nEv8kD4LWiHC4BRfF8xmkFqJMdphAGFWcrVRwluhh6aInE2mjDRV2T\nutBhxwvDJeX9R6+TOaegZOOyJLwwXr64nzwX0lf6lHRptClefLRss62/RjHL\nuwjo+djVAufpMcSBiVsJUyd7E/6lj8dq0kP5sX2w4DQLPqNlKuBlebwy6TGx\nTNAe\r\n=39ud\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.5_1599822660562_0.015868614160836625","host":"s3://npm-registry-packages"}},"13.9.6":{"name":"@preply/video","version":"13.9.6","author":"","license":"ISC","_id":"@preply/video@13.9.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"24854e79b32ea9446250a03d6215e1aaeb56e31c","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.6.tgz","fileCount":489,"integrity":"sha512-hN4SnjSstICgc8k51q0QnjU10bQvcCqlJ25cVnZeMkX9a2hVi2PEqsjFZje+49DOWFj9Yvbkd+RvQxcIfVqr2A==","signatures":[{"sig":"MEYCIQC1AhEHmUUfDtH5cuR0nGut3lZxGtIO3xtBzw2NlwJXPwIhAM49GCMKNtjzdn/6ztTndMalsLoA/KXcxhHSYSnvxGoo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11481414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW3FECRA9TVsSAnZWagAA3gIP/jFtG3wsGNhq5UHNddQa\nX6bWELj+/yhs3PTKUFpzKD624zrFtaDCUrEOH0PPImML9Qfv98jfTKxdstQU\nSbEuKEwMlHmxAWVB/ZiyQ/5Uh3ZL0i6q70X9sb0o5+bo0GQ+YBaNFpBNZeYk\n5E69S+b1+f0sLiKRW97RrlKzcmF327h3SXbDNKv3VyIZJeYbZdEH4Cy+ETct\ngPsDDwGre3I/sbCJcfyST2BbQGnK3cbs8i74u2m6J3KYowQlu8MiNGlQgKnb\nnO8/QFEYeMn6S5FtK4+DYt+aGvdx9FUPwim3tHlmpr/EO/ZlpuXaAChTCENt\nlaz0QRtx/3GAR1MKhcatUu1j0LNJX4OBxEyCA8uflfGIiJGQPKBg7v5ZhYPJ\nad53LSTgNDIQfOSk7y6oaqnS6zg9kKETIZc3o+Z6IzBvKI8cBrXOheOjaeF4\nDrvnVcyVPKTc4VZmz40V1EevUMa3Eg7uktEkwDQcRC0aSa1BFnmmRFUTH0co\nerDzg8VoshhTkaSCFTA+wYKGtCxVTqATMfJtTdFmidS8t48WFESEsBFycqVX\nHE37isveYyLqODUXZpC667ddJR/bNwSqHzRbjBRxO0himDRdilKD5f2xm/2b\nOyZ57C6SwT3hxoE/J5pZok8j2YDDHNj6jUIwc2XgmHf/YtnfRNxbUaQE4Y8p\nDEgA\r\n=QKx+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.6_1599828291931_0.778961271174279","host":"s3://npm-registry-packages"}},"0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92":{"name":"@preply/video","version":"0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"a0f3b23d77e34f4990d88b97dbc1d74a56bfb398","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92.tgz","fileCount":489,"integrity":"sha512-i6Z4YEk7D/JAD8aRYn41luWIqXRDGAKDPDXzsry9RB5/kNXLjY5f/2rHORx5eZkUxGzThidqIxSlCx2wbw/PSQ==","signatures":[{"sig":"MEUCIDXvUd9sHX+9vjt895K2HDIXCUM0C9AyoQgmMRWOsut2AiEAqf8Q7hxlf612tHjL9SjKrnQCvcG2S29h7NXxr8VTRQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11482059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW3jICRA9TVsSAnZWagAAiV0P/i1Uv2a4etnnxrf6ZJXP\ngp66Rl0+RIah/3kvCfpAapP8F4yxdU7n6iEOT9WU0prbMK5p3m1neqS9I79Y\nAuI72t3o/H3t0vK5WdfksUb5SZMv+bfUB+U9szeK+KgCVckqeMankaG5jwJX\nQZ62m9d1b3cqeTRAMTveX5umP0JYUhKCeBokMIr6iOvz8FpZhycUaHgUnhqV\nQATe+f5h35P309aQvWUyn9TAJhUxRAbBUbhA2J4IYbF5amZyjBhTCMs/ri3m\n75ySkUg5TnXDrawYqVzc2TJBTt5u/8ywbpNj1Gtm2lB7FHm6SQ7IQkStEoJ0\nA5SSkt8Yq3r0T1NEUiE4zc64etIUir5QPEBYn+Hv9JZpRa+aXJ/Fyci0GOiP\nI0tZcUsHFCEA0ntgfvcfmm01UkRi/6eb0+94wp8bSdVZPet7be6VFqHXBgyY\nW9LicD4Al4LsqI4Xg6D4TNnEh1fsco9+dpbR62ktYfV/R7zRqOTiZRNAJmYo\nWQMFPFdz1bgtOA378m8HPkNOeTdUJwnzA2s6pmhyyTs5wPce2UUPWRCZsWuk\npHE9gEtfBuNRYd28Yq8sm7NRedrAjiZkrVPiciMpXEZd0ofuTkSuFzFE470p\nhpOsLf/BGwQVJZQO5cjFbj0qByM2MPEqGKpEThN0iYtaXhV9qYxlLTvfr6of\notVb\r\n=ODos\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.1.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92_1599830215435_0.6718992072417727","host":"s3://npm-registry-packages"}},"13.9.7":{"name":"@preply/video","version":"13.9.7","author":"","license":"ISC","_id":"@preply/video@13.9.7","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1df5dbc4c4d0d914e992a7c85068ff4f92100f54","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.7.tgz","fileCount":489,"integrity":"sha512-dkh9C6/Q/lLwZwxSOZevhmQMsdl+kfj8AEW0IcRebpkbtf6MRq2XI+oV0g7F47S3LSleoN0ovXMZ8qEGyzhtPA==","signatures":[{"sig":"MEUCICFf50MMKC7z170BD0BAkfWL/pZHdBEJzvgMODv/cv9iAiEAv1CD8jM4/kh/NIc8v3+B/V+Z4Nsllx4CuBFDrhPPeyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11481354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW4TVCRA9TVsSAnZWagAA5jIP/1MhOuQAQ2CDSG7r4oPE\nY3zHnXODsshVr8alhk2emDkVa1sL3onvCiu2HAzzPzywA7IRWZkzsqc2Iwvg\nl5zNrrae7QdMuKrsSXyL5jEnAYTLpsT02VUCTCw6DPOpojoNy0WVrIqRsDnO\nzOMA2UsQv3vJ8ZFEhhcxK+QRRJH7CBD6JV1I49p+6qLh/Y9ngMaPLwNP8dfG\npSbEd//02xNNNSCmBLNthciIPjo0j1zbAH2dmuGT7RfucJXSAGaY8JNTE2GF\n4S2wvpyMDdo/e1iGqTbdSzNgBBOSW9ci4cbcS8Y+HEAm4M9iDI5P7eGrwf/h\nMb8Kx/id2ptnbziSq8L11Q3Pe1ro3OZAYKgx6Y6adHJmLmQDzGpPLvFlhG38\nx/aNi9dKY14ogGzvt6oMluA6pQ3DSmKByER6j3cPDZcKq6vl4+zuvT7iPrKr\nrvrNlt8LUQaGrvHdaimt1UUsUj7NykHOHwgPynGXeRn84DjXN4pw255D+d81\n8uyop851kH6LEytuhcEiIfTcWZGZvVq4TrkaT5wbDcdHj0OqKUdheuAHqF4S\n7uEgGolJBnAqv/udi2f6XfBhKglWTS6+qqyJj5ssg5PprcXLKYN5f8EsNh6p\nGJ9pL3SDu/gtfvmVUvWR9XnbZ9Uq6mNYcafZ2CV4AQrjBwKFnbGLAfbP35Az\nxorL\r\n=dhl6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.7_1599833300181_0.13675233195182135","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa":{"name":"@preply/video","version":"0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b94f67bd345d6e77540fab82ab5a473e4dcd6f56","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa.tgz","fileCount":489,"integrity":"sha512-DbaLP1+CWE/w1KxcZOJfnPGMPygZjf99gEsP2RqadJCPcSgpBXVX6aKpbn2D9xjWIhliqhmzIQthEszOYMFJWw==","signatures":[{"sig":"MEQCIBlZ43abuW1XOVttCeaf+MK1RJHJZZ3NJ9GQGJdszvbrAiAm8pd9TT/5K/rsMKLHLRii5oLfHqKm0nV0zPBhEIbQHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11482105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW4fGCRA9TVsSAnZWagAAvrAP/3tMxe8Pk4Y+emYzOeEY\nEvnviN+bEIcBfYxig8XAMiXr4XA7eOj30bIQbWZfLClxCCjC5GmZEKx68cfa\nWw33ax8V+3uSdgvBzeMh0lT+AB1dkKmxDMfK82KP1H0uS/13gIAqS5f3DRGa\nNruV+8kVBgF7aqWPY5Sg5qQGNZsw2wTbDwjojzXaIUJWwFpFCpL6ftuEdNXG\nIDAm+vF6LB3CHpTlYHYU+5cxcaCFCMQMTv1VBbkNzoyXzOIpKDxK7oGxKIvT\nPqMpgNPp3yU+ti6OK8C1NPlcYb70fkQ7wdOCJvXbh2hM6WusKpY6tfqtMKOi\nsy7+kSTgKIFQkAYuMR/fIiklbJcsg5kGpTZyyMCXuMy2RkIBRyB+p0Wsbwvt\nDSLLPei3nfTzJ2oVrKz1oUsdEFj7n2XnMk/aL5spAwTE8LLOr2qoWczmqwu0\nWMD/PrJ5owFW/RqWLz5OT7xVc2C8mF2+C39iYFnhZzQJkt1r3uke4R01VwHs\nmoZM9dsRRrt/s370zQAndSSkH/gCHtsdnKH8pXIrneZ6LfIyj17ffcfumYKM\neUJImaP94HBd3V5w4mbiOevMvA9SbwBgUfk+zV/qNt6EiI77T3ege0YPwUk/\nP+3TuqYGvAm9CqNqM6MR0iysNqv2SaxsRHXJD0nhZB/QiyB6HnMi8t5a9HdH\nNf9K\r\n=RGsY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa_1599834053674_0.6744936968943289","host":"s3://npm-registry-packages"}},"0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c":{"name":"@preply/video","version":"0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"95abddcb052536594013934d3d54641e7ba7a0ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c.tgz","fileCount":489,"integrity":"sha512-4TrNSzkoBg3NbBsYGE9nB5RsMyXSTwzmtyZ+KN9gCfMxUxKI0bFe9tOInMoQBgYelY+gMY7UcPYkHuxTxsUxXw==","signatures":[{"sig":"MEQCIEUZA7rxU8XG3L0DGsx0UjWZmvjZD/92GIVO+fs80xZbAiB3YpwccHPpmmoicrCoFw2stEvBGDJeVBeOkP5yzOojpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11482059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXwkwCRA9TVsSAnZWagAA1wQP/2lqHjvmxbpNWzzQG+R5\n2ug+AlSICRWNMZTop43uGgkxBPYE5C+CzMhMMVlI1akYSaijoj6uA321yfW5\nOZGwbN/L1W5/cK0yKbM7OxOzo8NhfDOFnHB3BdVfO2829wtHy2kW/bA5fjly\njztULW/eH7ZcCrKw7oMW0wXftQZN+2t2pt5qHRK92XOE5IfBzgsimJeyIZ8G\nZSQCqom1JXVRgUzg5hf7DSZ1gbATwULl4A730lNnjPaHyy0MS6VT+WJvK1ww\njBfU50S7vAYZORmmrFPngMIFnAoywpVzhTA8iXIr8BcJ/80nr/mhfle5WzRj\nlyMPp3rB2vMJU3BbwDqqT7d26kKiIAawYm5tRqy21v3pBdwzIJlf2hSLFUu6\ne5HzqHVbFYlMzkPUYSYGvriMPLM6pRWAJ3SJSO2FrDIJ2bpfPQ/PRVZL5ZkL\nmMPfovIzN5UbqTu1lK0gWXi0+Y5Jf61CB49fqqJYAScOEZVL9XxSfN7Nt62D\nFursMYj8rU2eBOpHYT2PK3DTfHx+r5XLYNed/nT3GZBk2ttBQeO9jl1m585j\nxdqZ297dOyURoyrE66Ujstd5fbywPB6I+WbfgYZUNJaCEPfbg6js4sAy5h6a\nVVSzTzWHyO5cs6luaBnqp19HYJNODZw6H+E2uTzTLDrCNe32sWUvzsP17wag\nJBUM\r\n=KMsY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c_1600063792219_0.7614371943547391","host":"s3://npm-registry-packages"}},"13.9.8":{"name":"@preply/video","version":"13.9.8","author":"","license":"ISC","_id":"@preply/video@13.9.8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f309e48ba30dd209cd9f08ba1dad940e367bc01e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.8.tgz","fileCount":489,"integrity":"sha512-+XzuNpuDEAoqQq34aDjpJVrYAxzDJpKmp5l3Ka96jI/zFvYMpPhHruvLSpY5AjudI5J64WD+c8VyS6/AJzUwBw==","signatures":[{"sig":"MEQCIGLNSEpuL6dAvzduk0eTumL7cS0szTApa6ymqwRU8IBpAiBJGzVmUNe1vm+KlPuydt0LsgT14BV1xh2HPiXjCSLb9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11481354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXwq8CRA9TVsSAnZWagAAgMMP+we6X+Hptp7l0iqs3bQj\nv2SO1Ow1wKFKQcpIctfAkq3pZ9EjTXjNZ8/ki+vG4AFfkbIe3MMV34A0rijX\nQ4d4VlvdEgJ/gwp7O75IiBFmhq9QTEnJX6jUo12QgVV8p/bdR9M8W1/hFwic\naUz7cK+8X90cIK8b6bk0KTfqcBoNmPHN93P5rN0w5bDev9sBxaBP/cQHoKUi\nm5/5RofCtap+ESSh1N7S8b49mos5wAeoTCCoTSZT2miOdNDWRHYsIVUAPl7s\nRhClsY1ZWg0V62VS8QODhbymbWqeP/KpzfJ1xqY7whx/jSNNkYL3RnV1Xw8t\nv9r5Eak2R+8ELBZiB14ssBPIO02tRf2kAshWjiBuOCPqrLh2++wblta5j3Wv\nVkBH62GPsYNsXJ8pb+rkCQg20//X3kVwSAiMz3UeXcmRPPMA1O0WUoj3rcbE\nuTiapv2kJBS60trVnnhxXsfqhH4mMR7OTPhN3XFD1ObycYEAShXT+P+RYQ91\nDo7YIaEHsUl0ttQ7wQ1gytJbVhAUhKoAHpQFyr7ng7P94Fa/tbRVK0+Jp7Z0\n4UNzB++7sySCvMsPDJpHalyGMBj6QFw7o3kxT7iNI8+kxARx5Hc3GQa+dx9m\nXO/co8cTEOqmo2RKwZ+qM7Kntw6obKX2gC4xY6CIRJvh7TsdQVr1LV1clM88\nR22A\r\n=jNSV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.8_1600064187414_0.26228866071728274","host":"s3://npm-registry-packages"}},"13.9.9":{"name":"@preply/video","version":"13.9.9","author":"","license":"ISC","_id":"@preply/video@13.9.9","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9633252f4184a9dc9a37788453c71cdef2b107df","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.9.tgz","fileCount":489,"integrity":"sha512-jU2I3OxKZSXtAHfu6iBA8L0SRtrXgB07ep9kgkauSM/+Q/TtTRpN5IaVaXnu5maXmI5XXwiq17vHENEFM4Lxvw==","signatures":[{"sig":"MEQCIBf7GABxNPbgE2w9txbBPJYPPe/VK+hxtxbL8LnJ1VN+AiBA0ozllicPhCluNmkllocw8zrJ3ygN71M5x6cdrE9rhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11484099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXx5zCRA9TVsSAnZWagAAA78P/ig8w5WnSRZCVqXADGyz\nk6CRPoSNwRL3pXCEqP1j8F7+IcNI30gbn1Q2YATK5yZqZZ8J30VmEVIb3IBt\nTqUNq1G/6+AUz4qGrJ7kjh+A9ZKekjnLOp6+ptG1GfSlhDLtrYve/govDp8U\nm6b+VCTgiL8SPZEPlDFXlRBThfaYO8oNb3nfaFE7lj9fkJ7HxOHqLRlZhpuJ\nmcIHqHcNvHA1io1wMm2iXDoXn023KNorm2VTB3LjUj6ST31+INCPN3F2Q7kw\n+yAv3SLAYrXHDj3v3AsWpMmREsbD++rOHl6AijSSBwxcwKWTpqZiUamZRnCx\n+9buzYbvFpjHbKUb8wAO8ivMTOFVjfWc/6yX1zLcz8Q++4kInQym8bdG942q\nWFQAiPI0/5FCFrkCNkIa9h6C1wpA0ue6JvqjJIEEtikxcP0Rt1ChwpIk4/7m\n4TCGXJrgzsHvPtaBWUNBep+LsWIxWR77K6F4PL6D+LFDOP6vE8TDGzTmkhTl\nNkQYqtZCBzsJdxKhhlR6gM2LUaldZ28gBohT0Q3oJp7H/EaUGh77R33E4vxc\n3Pgj1c47eb8A4TVcS6VVtU0SHxOXL/3dDJVjDBKGWJp2163mSpouyx400SLK\n1iX6psbCrHxrGbZ86H1CEaUyS6MCrsaGyoteKyNFVWtPzsPweg48COv5xn7Y\nSN7o\r\n=2do+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.9_1600069234707_0.5665353380338374","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022":{"name":"@preply/video","version":"0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"fef06aa264a1342bb6be5b0d6a06943dfcffeb82","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022.tgz","fileCount":489,"integrity":"sha512-SlVw0BLVWGtgw6L3YKmOw5JUfSvIBpzhpdOm+rdkwxO7kpL63CyTc7NSQP5sfwYHFpLsepNi9OszGNz32nfLag==","signatures":[{"sig":"MEYCIQCwDgLjbuzmYsL3wgbgoXAXKe7SYRwddTq2yAEPCmldgAIhAKx2EbnYSFxRO85Ksu+VFFPtbGuv2erOsqlbSUZY5bZY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11485150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfXzmSCRA9TVsSAnZWagAApcsP/2J1T895Dmx3pzAZmOjM\nxcjGoOu5bMikzuHoF1vSxD1FR8bShTYwOTbs8jRWR4TQiHNRio8C+1Vu9+IV\n4Ccs3vb25LbN5h1ABZCkWyurd7rnXrEhbROB9VLVWJ9HqC4blGo925FWdlxn\n9vy88kOOj+0tE68nFykJjlZaWt5Te/APBvOxIPMZl5HOGPVZ3hc2akyxMbe0\nXN/2VgY92qt7YMV0AZwJuakTQglmAaooM8uG5Mr4qANVnBEkS4fYJd1P86dB\nKpIyuMSJhu56gHXERyGqIma5/bR5vL7qbM7lg89f5X0Vi6kPXzq2QoiUzSZP\nSr8YRTujuOJKKSHz9yLI8iChdjTosCpDxXoz9SPWR/PIq8RM3Y+r2FksmUcV\n2ArM6Z2bz6jBwZLh68Pud9JQ3LnXZgt6AjLq+cj6Tf8+L9uyPg1cutQA9cQF\n9ORciedHgk8bowuaJqTKmzrJ3gIywlLw8cPjly6rhFwhWD120H9JgifEzDDO\nEg2L+SDzG06PWiwMMtRCHGvHj/1K4oEEcZnUTg98BaWzcXPJqAbOGwmZlSUI\n9o8YP2AfzUlDoQfYQhfWBYnuecLT0iTJjIEjuxwhbqR5rLI8mqSokChFVAEp\ni51gfr8ma4U/muljV2LUom7CqLu9z0BYoyp2jUi9UnBYe/mLzmacnLtX9D+s\nwz+D\r\n=8M6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022_1600076177987_0.16936022940718742","host":"s3://npm-registry-packages"}},"0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5":{"name":"@preply/video","version":"0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8cfc20bc9a2e78f29903ecc5b7c5f2029be35bd0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5.tgz","fileCount":506,"integrity":"sha512-mj1lxmqI+8Pql2IoJ1tZqOolVHyGCNitBvIpf8LfEgnAj+/P5ca0urQb+WzP4eKuvZzHZhNvGo9XOC+wSzQ7FA==","signatures":[{"sig":"MEQCIDU5E+SCVkQLjM2hh+hG/VbzERbWhY4daB20vcyraVvvAiAImEjENrwIjNylbSah+B2Bc5qgxQlPp47s3wA8BbNmdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16758900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX01FCRA9TVsSAnZWagAAsRMQAIdzusmPL6WkPUC689Ql\n1ajDRBXYq9y69KlO88+Vk8MxtoZO2+cX17xyZ5/TsNwPBcwV9oSFbsVRteL9\nVxtf37Irlk11nMdPIFLFd+X56fpCpTrHb8p1a3xgw7RkhU/PRpe0Bwk95ZW8\nd92I5x2uzxPFJ8QCN+6FqYQ0OC96izXWyA4XosMW96D89wlr+oJ9o1jn7O/9\nwUzlVW9O1kK352qlOi18lCMH5aZPSsU/4gqYyenD7WCiuy0JEp2yJbFb6O+2\nD+Na5BX4xlBSIy3yjj16Fmo6CEsuwqtXp0PEs+pY2UsbdyZEIQ5V/FVF/qe1\nbcTnBBtb6MALxPigPRVl4DSYX8FUI1M3X2IRDB+65sQtBuLp8gauow9uFbC3\nTa27hZ1ifASOS/SAnFm9l5GXOfAOevOgPF61WFXyZCnWW6/08sRq3e+r5b34\nJTfT8RxUk0+X+ZM8WwjrLsacQ14tE/xo7MsNHxB2I1hvNvhm0LAjglCdB7Rj\nqUQnaksaMFAwnKIuKwPG3hzVUDIyG1u2A40Ot2pxUvNEtj7amx49lWtQ0V1n\nvf9IQ/kxAc1SKOQ2JxbGMVwevEjoNxRTo/ai8auwwN9thAUbnTYz5teqFXZi\nWrVSTI/XWvZgRZY6t+N6FWJ+vE8lCBOpbdwuf5zhVQr8jhYEoIEcXfAqUwlQ\nVjKR\r\n=K0Rc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5_1600081220189_0.6357625275540937","host":"s3://npm-registry-packages"}},"0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519":{"name":"@preply/video","version":"0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c06a1ba92bbf1fa19162f207bf9cae26f4f75bf7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519.tgz","fileCount":489,"integrity":"sha512-PN/0zZxBU0O51fMNzHzPK0gYIvd518jetkdvmrGcU6QdCRg1f9eST5MEaLjvJYm2PqVneMcvcZsp4QrrtYgvDA==","signatures":[{"sig":"MEUCIQDcLHJhRrlPpHSNkx8Qu8zRcjCinH2Ku1xHuQiM+TCa6AIgSkEsyiLLz+9EQMM0BCFSKQJMc+IsUXvduLdwu8GSaKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11485150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX1bJCRA9TVsSAnZWagAAp6QP/0pKQZ1WOHOg9sIT51Hp\n8WA8DJgeLo2nTv12xMLz5hX8zxc1DwuOu1ReoEhHkk+GvfpySP14+wp5P5EI\nQaLAV9rDros7+qX7riFLAcA/9FibjWH1ElCs1JHanf0rG+fgOvW2WS9ysnWV\n4pPJoxsIhvNg9w5FG8H7EWK0nxUbOZcK7wmiHlXAPKhU0Nq9hDctiOiK3vnf\nCSXxnncBcNt2MCoYn4J02cnVZrR6KXzH8iUiZlDNnyF109cTvhP0TTCC43is\njxML7MqaLc3AF4/SLcycuHtB4vnkFbFO6I/r5vYAPDqcL6YTZ15jPoRkSlSW\n1uHeT23UHypqcQ7SBB0O3ZyDkC+zenACE+HCaNFGiy8YBbNhx1EwUwA4o+/O\nmutvFT+wmVctHvBZ2wD7/VWU+Fz+1gW3d5FRvBdpLqUKEP9KoZ21kB/+j0Kg\nG/kz6k34C+YMZEjvs7peWEg3shFE+HeKkxlmKWZaptNabwX/anRJFkIq738j\nqMpwrClkXTUxAgElKi8vQDEuznqtkABket64mD8D4ARW++6UZ3IT96a8J5tF\narDyhj51T0ATTAiDdt0lFlBaHr0IKTymtxtn19XTB59MqRljOcp3oW4acdln\nS6I+4W4508HT2U7ANXGVy9m3j0xgnuYvaXd98i0bzEtRUjloVDCMaO7YpV4V\nC2aL\r\n=5Sns\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519_1600083656422_0.34884339478023074","host":"s3://npm-registry-packages"}},"0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f":{"name":"@preply/video","version":"0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"80878faf28fee3392309f265d6b390d39ec80337","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f.tgz","fileCount":489,"integrity":"sha512-nwtySjV8ZSboPORO2U/IW6Te74E8z9ywz7SFS3z0jog6SAFI77OyYjXdMABhDDmVLmXI3uqd37FG7py6ngIkZg==","signatures":[{"sig":"MEYCIQD3nfJsrkEsqoa/ek8t/i7QVqIgZ5TbumyNwG30/D4j0QIhAIsb0P5UgseIvweXGiSRbOZp5SDxxeS0Nbr9wCDy5xOG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11501141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYG8rCRA9TVsSAnZWagAA7p4P/37MW/je7Ks0kEH5xy3j\n1mE+lap9kF6Sthvp0Wjwm64IO+XLF06g78OgPdgJ2MgFOMmSfPsOD/HeGihX\nE23RoJ/42Qqn3asxw9JuLmfY/pe2kcn8IcCHYHRyAqBGE4rvOzYJBj9eicet\nyIzUq2FR6RwX4DSmLuz9lwlZbph43zSiDs2q7zYoqeMkfJ3QfFdgDCMI7WIU\nKggndGRBIZqfQLTj4GC3OUJRAZe9AoftsHwsqCCTb0ksJuj/tAvlCMH/Btqv\nezLTchZN7jMokUwdHzndim5Uz2ZF+2fZGEhv0wjBHvyJKVj9BArh/lJ2ym/X\ncGgRJdGN1CwT1YTkLg8MR319kC4lAgtNc4rFhOhza6cnGwV5qS20RaH1b6NT\nDRMiihhJF7szFTuq0kXrwN23x6QHlQCRFIrrGrrBmbXw/+/aBp164tV21qRf\nzho7xQ0SQtAXeTGv+an+xX04F8WduF/TUQnLJaSOlFX+6LnPpsFLRI6ELQKP\n8D7Csd4HnrNkFYo2R+KQNaNLKFNs63YN6srAtnZyObFOxraWfLoz1QuKQk9H\nBeUGu9Ol+zjLZHYXeLhZWH6EqWiz5yhmPWAIDvpwb+Iop8trTA9Ezrrfo4nW\nlPu73feEu0UUN2PUozlREyceJjjQs8j+eHF+9d/yPpwXoP/E16McJPd+xupi\n5dQM\r\n=9DGa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f_1600155434457_0.1744935561003591","host":"s3://npm-registry-packages"}},"13.9.10":{"name":"@preply/video","version":"13.9.10","author":"","license":"ISC","_id":"@preply/video@13.9.10","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d1611781c2878a099e8f421226a79f61dba09a23","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.10.tgz","fileCount":489,"integrity":"sha512-ImFHWDq3y2d094UnAyoUsUmNpkwFgA2A+DfSMy7idwMrRViWv30guNmQqU0uzjH3WtpMnqFj3nwcFkcIDImV0w==","signatures":[{"sig":"MEQCIGZiiDBJwpYgQlfrxGlw7mNKGdk34QiWQCSlFX+KbUqAAiApCu26cIgi+Q9dtVTm/jpLGiBKAYlgp3Xs7ET9AWNwvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11500377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYIvnCRA9TVsSAnZWagAAmQMP/Rm6yzxKfOt2wo0CKqa7\nKJgjmCNWnEfxWHQPt29ToNHncZFOBfWWNOej5HjNN1sswUWqTDDCCGDzHWRC\niwNBELnsbC0hpCQPxyQrpCK1sB71Lf3ZXXmiyeLpu1ka29zjJr6BMfS5DcHY\nR8hmcEh5gABqzRo5/pkNhAH92KoPUkMr+FOfINuWwQ7AwCYScPQxjv2dHR20\nzrAhOGy+B/FZHMi1QA2CFFUa4zPQ1zoxZYOZF7VYq5MvvHDbLfSpYO2FAIAh\nJGsacEXTxi0OKUwNNhd1cu6J7fCD67cSnem+4NoVkB0gBeo5vR27tw3KJv/N\nLzXSCYJH93W9SrE93+gQOIBrMGaPgX4e5Fwoy5s8FKlQ/4RkkUNEz2CwsAET\n9vfLApjP1YN6sn2Tpu1VfRH/RN4SDxVA3xuunEkh4e3jbOeuenR26sN+INMI\npQcEQ5TInWaZJz/OKLVZAAF+VODsgyG0ZxrChw3OysNy+tlhM6+AXnqk8veG\nAnVye7SPRCyTBwGO4KXwhK5br9RZsEG9dp56w811azkwovBGVfcogpsX3oCp\ncC3FT3EujhE5HVsP4RFiPdPolAy8lPpdgwZjQEd5f3nUKKVkQnik51tAdfo2\nXnNyQJNocLxcExX3oaeNiys3GgjBJNOm1CM+jdf5xC17IFzamIWAKJsrPXLN\nYttx\r\n=er1d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.10_1600162790467_0.8453002721214715","host":"s3://npm-registry-packages"}},"0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100":{"name":"@preply/video","version":"0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e92d2faa46b1efe01a313fdd6ad3be77c6e47924","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100.tgz","fileCount":489,"integrity":"sha512-Gc+S5F9BQJNPY+mXdLLT/GcOntTkTpdMW7XpzvL8FA81UY9I5noN3nzM0U7jxakk+BhL7HN+1AaEcQUe9C+vhg==","signatures":[{"sig":"MEUCIQDnqxvjLq4L6vIVIcwlSFeRNdsJCJhNOtMJpTnSNw5CuQIgDCJJ1stCu6PMldHCnV0AchXGETNY3uooickZwIAeN0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11485150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYI4VCRA9TVsSAnZWagAANRYP/jIUFwv7A8Y6cq3S5Hb8\nmjIBU+ImdbhmtDA3NhzHG49xdam4KdDfp2Cz5+HSjDBwq+tIujR4jRzLCVc+\npVHo6M3V15breWnpTwTOvQc4ZUqUtAqkOYol74NQmlp3/JyApJCbbD+ZKckv\nac2J8Bq0caGZIjvIo2ygyCKkV/v2/r/hGVs/vbf/+9VlOzDj9Wlah44GCdXi\nSl8ebxY0IlFa9JRR+2qXVNz5QmcXTIarPIS86ZS7ccorJS/LSr/FJHYW5x7h\nzbNu3aQem42mRgA+vNx5K+nYtwRoSexHe9taFQpYoExhVEmqtZhOaLismrCD\nr+YceLKwGkvacOGPB56Y/N1r37FES//nTP0j1ghaLFKk/c+nmfdQZA6H8/z8\nmnF1/Q9WbycofYGYDeFk/6AONKgzSQFvB/wKI4IMa4bXVac3xUEzjJegFK0z\nePW6ayfeK0ewj8iDcAgX3jF9Ll600rTanxlstv6OxecWbt1HJ/3t2nHyZ2PP\nPQ+Uj5zonzAGjnD+xC1WccNKApw0JvafKvOjY1IEM/2UjFZAQBef1yTj0Dg2\ndeKw+oFZCZeRsqni4XSZNpyA74CRDxc8oYJ/TTmcVqCYQjCgtXEJQxMJfnwy\nHA7KS0bid3xZAA1GrSk2pgTV78RBpJxgzsZpyShkcqKkCLNb2mVIWn8c6reW\n/4mr\r\n=kbEn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100_1600163348947_0.08795993341223252","host":"s3://npm-registry-packages"}},"0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d":{"name":"@preply/video","version":"0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e16b81353ea150897d40e4b24e3d92058c9edb5b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d.tgz","fileCount":506,"integrity":"sha512-z+RaIGMXHqWRn1zreQ0DX802S5SAUQ99kAQYUQgm1Hjkm1ufqyVCzuDo4LsAiqK4Z1MW7h99UZTmFkrH3CbbUQ==","signatures":[{"sig":"MEUCIQCQJEVdOydHePEui/ZWUot2PsZmuvyoSTAvI/NGdOgWywIgHv2OiaEvqeBKMrEgoqNzNmIbflegmKfSfA8QzCgt9/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16816850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYgL8CRA9TVsSAnZWagAApsgQAIYTGd3CEVN+1TLIVFJi\n0xCVfTb+3BVV8UV3VJjsZXe1A/rKuGZ+gJ8lrUOk4I2UnYBq34eg24rr45eq\nezopqFhaGAT2pIQNsfvLkWMZB7RpjyA//3gLFT5RonBPJXVjkj7Geh6FtCcE\nqdkC5rUBwe9NaPUPMkecYKwTYT2Vzs6A1hDwgJX7QS9Izt0vuvwqXQYPg1n3\n3I9CNvo+Y+Q/12wxmqyvWkQbOI/3MP8m2d2nfGElHrQRWLRuaecOcYuV5Paw\nOg+dQh/iSXHNNuANMlB5cLp0Fp1kcoNaoGFFCZr3IvgGjVbdIqcNJlwUxoeX\ntzXvP3VDyWAkieSlvgK2SD2kptJ1QjJt7NZXsvza8NewW2PWYhRTFr4vAEKT\nhJG/udO0uyttJEfzRu1PD9EaT589Vxk8QiDlHLDipYTes7FVuNxd3+AEKJjV\nGm53WIn2XXqXJF+ZvQpofxnv+vJu2wBsVFrRbw5wu4JC+AgL5FDgHb84c5zJ\nSgqh4Y1iAMLJEwzPHY6lUPkDbSzuLvBSTl3a/JKQfasWUuq0xPs6R1WS1c9i\nCNPMRkeUzfb6/sKN8X//FmhRC7ALtn1c1ulqvWQnAtgrqje+tF8lVA6q0JLZ\nFfi0p+hgDyWc1Iam8x4QzvA7JVzptQ8UEPA4DtqqV2G5ostikdagVeytMsW8\nkUc2\r\n=O7Xp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d_1600258811625_0.7715138543472295","host":"s3://npm-registry-packages"}},"13.9.19":{"name":"@preply/video","version":"13.9.19","author":"","license":"ISC","_id":"@preply/video@13.9.19","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e6bd04ebe53ed1d83d28a00c43e66d696fe5df2a","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.19.tgz","fileCount":506,"integrity":"sha512-KOlHj/3Y2YR0umD27A6z0rolJxsHlNDvZxZj6RdUAC5EbjR2Jamr9EbYeCPkXfrl0q9aiZb8bbNoxXWQmDeUqw==","signatures":[{"sig":"MEYCIQDsVHlWZv78tjQcdWlkZB75Rc351lwzD/JJgJ07CtmU2QIhALHaS9fyrFNvPGwi4x01jDUIggWqI0GIUi3jevA87hwc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16816354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYhV9CRA9TVsSAnZWagAAAREP/jcEEP08fEOjQ0ukGYHm\nQIsSIvo/yOdlMXxSWXmS7z/5IdfPZUx+IYXVPqdsoWV8eDvOuD9awg7R/Zxb\n/A3fgffl4r07u5iKUqVen75RTlUaWVDhbXXtEMmr9SBG7GE6j79NxZX3D6P/\nTsYOQoAvZIFE/VOuKoI52KdfTBBUJH92PywjO2iOMu96xySA0TomuLU7k/v0\nPbnFSXj6fj0KloEAH51jksdPkW3PquyRdQ3TDZs2WUSBfiC6bYnMQNpkLFTJ\naAZ2m/zlWHTFF6twLly+FdG9BG0Y7XAX7Ul4tHboF1UNP2/bl3UnoTIHCUbC\nGoNpoGgPqXYCN1kSyk+Wvq9fzp5zy0KUrwErxEXoAcov/GmBrM0vdUAQlyMD\nHU1Fay+uejcqCIo9B2lY7Z23c7vKDl+ptWZX3wMxKqYw1+J2ise80ndEMvgv\nvyyGrAmA3DV3Z0PeN/qJXQRGe+WkFSovC0Kwe6UrBVPdAgoQkSdBgB6Glki6\npwzfoMEIarNKEhqh9AOdwA4lBUD77YDf+kWEwpmSbo3sqeowN568S8wvIMk2\nOAx17JTltEOzNdr+zLA3278xkbwmcEz3xYvBCaFTl4UlGCwCzXzH8PyEKLH6\nqD/cG+ea/Jk7GFGZ86LuZQZ02NukuDeP/30dkBP72hnN+9t5EDHyaFMTxxxq\nNkyF\r\n=YaQj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.19_1600263549003_0.8933962427631126","host":"s3://npm-registry-packages"}},"13.9.20":{"name":"@preply/video","version":"13.9.20","author":"","license":"ISC","_id":"@preply/video@13.9.20","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ea760114c7ae4185711611009bb0237649d29836","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.20.tgz","fileCount":506,"integrity":"sha512-tSxPPSZtKZNAD5/GNrt3BVpFOYPVqmoq90ZVO235KBDPCtiJcydFIoHctsLsb9EqeayuvmQVizHs8bsmm82HaA==","signatures":[{"sig":"MEUCIFwOQtbFa5wy2mr/U6MnFLAHS1SFIlWaaTKl5UAb0I1UAiEA5rLIQ35dtighTViab2UXNaWn/Pbtqr2OzqDW2isU9hU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16816070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYh0dCRA9TVsSAnZWagAAxdUP/RUzN6pyKVOj+JOvMc59\nMFmjTWrVOpbFhCCaIhXlY8P2AyQg0j/rByWH1n00CnwXtJpDYbQLdoxu3MVg\nSi847BX8e10KRfMGxrVWL6w4My6RaumTM0TbCDHsY77b5b4oYqjvs09qPv6I\ncuw9vvoLr9+l817z3NPZyDshErxdQGxzDOB/Jt6pHSbKVMNh/cpWpD3f6pEw\nFsBfdcSN/hw+mpw0nODPnA+y7bDJZSKc40YoqaVqcsn4Vz0d3Bvr1wbBqkI3\nbtWnj3apASvHpOz8xGfu5t9N/D+xzNQcdkf4WbpewZN4J8FoLe//RFJgAk5q\nK+g2HLW5JwvzND7pQkovNQHoi5EzxzhtHDPiMsJ1hQB3s3ZTeP7kYPDFMTux\nHCOBFWkYEQ992ubSJcUpnPj6KPjfCGyYFM9K+vZCbuVznaE+Fsvg16mL4qNj\n8yNdasiX1IPW/eDnOaO2uSBd6U0WKn+uNY8Pg8OWjABgKr87KNa61qQawkvm\n6cv5T3EnwdRjmYGnPuFVGRC7UF/CP94a93QJNnUjV0EliRaJyr4tIlBATY0i\nwBRDMVD+rS6XlDlRzTHuzRZUt5uWSHL39+NYgI+dGRSkej4RX7ncHhfDvCmH\nQNCyRhTAwB8J9BSduhJsIXk8JCVH0uMrLMDA9cpW5gK/VSIkc1ICb6m5BlHm\nqGuB\r\n=s+uP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.20_1600265500126_0.6232372800351065","host":"s3://npm-registry-packages"}},"0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444":{"name":"@preply/video","version":"0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"df27664c5a8023d2367f5211d48b47a77ca437fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444.tgz","fileCount":506,"integrity":"sha512-+8KXoLsne3oG4KXef0G8wH2YBg54m1hyYdI9Mgy6DmbouqQ87O112OEGWk/URe3tDOmfZcu3Mr/pOcAdyHkDMw==","signatures":[{"sig":"MEUCIFPcGin6VZbhXFRw+MlkaOKmqHr9CUP2Djnmv3Kog9wCAiEApNVSIy9ulZU2m+NrOznWShcGQxdZHTsoJ+EK/riM/LA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYyldCRA9TVsSAnZWagAAevAQAJc1zCxoiyXalqDgjRA1\nm8VVaKKKHJlNSQijUtKcV7R4mCnHR25+LYiyNVTwIynieOhwYL1+IAOOIlvF\nMQ0JYUTs0FegGDlqfEi8R11YACs4cpLlfzTc1Q5f+s3FoEjwQN/pV7PQ97Rf\n+c0n58/ydoE7RO4dM70GaMJO+q6VnszmJLBobzbWclVGwPLJZZ4h7mNXi+FS\njO4LpoBG6yOHE59ZySVmlpZeqTHy4aCoRP7MiXjX4l+LSBd0l7PtLWwPvYPN\nDDpzKbyX8M7IjhGQg+KamxoUHvT0uQy28DnJRs0XkPFxB1mj+mBm75wHgIlZ\nbUy91rmZcmDaLPyHp7wcIYFDUghnk0X68xaGLmIMOzZihLTKS9VrqhFFPEQC\noiYtWQqC3wlRKPC1z6qpT9W1rrGlxUZ+4iCpE1Fh3kkpR8Fzm4OkCjC/KHou\nSw1b0KbqrLJDqfQlZmyRHv2C7e26fbAgy+w5a+EWad1jGytdeylAcxo0QXol\nj771qKEHHXalu79dr5pXQK2aYLdBP8hfRuTm2Q3OsCwK2fsjJtxrufISAnzz\nXP0BEv/JV6BtUCg72UQTAu/FH+uRuFRT215G1+w3xiBhCW1g3GziJJFgEfYs\nE5XAwxvsY4nFf1/Xbrz2YohW2ZqMIl+nmHjcBiuS4hAn10E5VzsW0mFVO6PI\npUkv\r\n=Pd/k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444_1600334172387_0.8601944667870072","host":"s3://npm-registry-packages"}},"0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721":{"name":"@preply/video","version":"0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"de75bece726b04f097f44697590bc60d701c19fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721.tgz","fileCount":506,"integrity":"sha512-EzA5Gw3nj34RuOnxH3lL0PXd/vQsJElGEpMi4Iy9IMURgtqq53YxxNNvSxOEL1xsubJJ7xmSiiGTb8po8DqwIg==","signatures":[{"sig":"MEYCIQC3FpJA1BiFetbudM6a4UKDAy1phKcRRnVbPVvAy1as/QIhANr9r44invRS+Rfbx5PdpjeRu3p1iCuMZmRHydsn9WNg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16817719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY1grCRA9TVsSAnZWagAA6wQP/3ITzM7q8MYYaHUkiWsD\nIe9lhA3V6smeY01/qpYiTnDLgdJWnwCYEO9xlh7xYs2W1kPDEp0u0jf6eoVa\n5PtNmFUXawrmYVPsPqdBXReoa0f3ICu3xlE9vhrrpluDjeJh1D2J/RDJkco+\nO0Dx6AkamtLMwXyXncQTTabXEYHInpYxPuRmMMmhxxwFGZS+y8mdJYgxLJLE\n5myy2OYgtSezBOeliDFoHNL6ak57q4J2HSuZ6eH3hSIJUGdOB7iGFQHjmH1m\nZpDOtxpjIy4Rpht7wy4grS+xL17mI/yMCN3nGzyahP77yb8CUwkMG4hViPZ5\n/37q9iMbCpRD8J10DnP9p5ppy7YO7EkkMZua1Ectazzkoc55uV+vVy8SB0lq\nmAyg5SosXkLSFddZU1y5j0IggiMwBkD8gzrLNKRV6UgwZ+VVXHJY2nDcuXda\nFyGo+AXGg8drLkt7t1baNfQjP4ATlGBK+Zcmov2nemuc09SIQmOmF/Mpqjc1\nxA9ozLxZmTfs8hxK8gvyxa0UAhq6jaP4zxseKXe0yLwtKXfqDDru4tiYi1AK\n6/LELcOuGfYJcgYNVDEFjmkmIaL5dwILfMnzblWefB4TDYveRSEewlgRyNoj\nLjzTJ0C8W2gAi1GWdiIHnTPw27sjKBWCy1cu8ztppAJOVBbp5Az7RFRTS5Uh\n71t0\r\n=bWFw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721_1600346154238_0.8212559932111276","host":"s3://npm-registry-packages"}},"0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b":{"name":"@preply/video","version":"0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"45936df3a1d9b04630c863ec170c82c525851641","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b.tgz","fileCount":506,"integrity":"sha512-63lItqhIRqlMEytHnGa5TNuGf+FHs8fhgWOmumt6FwAXvqk2Cz8OHR26sngY28Tk0J48tb8n8NZyakw1xXWGMg==","signatures":[{"sig":"MEQCIFEi3WZGjSR8bSj63OZ1oPQ8NXXt+Y3+VXzk2TQA4XW4AiAGCwTeix6mmcEwgRCPgx2TluPzCubWY4uyRXIYJy7LIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16816684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY2BlCRA9TVsSAnZWagAAw30P/icCC2JKxT5NFo22CRY2\nW4V04kd3SKdQEDbnk7ixgeeBeimTNbvOMHhLqWgS/GAxkbVKNxfmlOHYIwKn\nTzutlFgX4BT82XPheeFD9XRICscySzboFjJWptMf/B1WjVi6UsrYyMB9fRuU\nOplP7GDmdPB665IaND9H9MQdxlgYSkKb3YMzG2jOW7pecHxm+X7S2CRatI38\ndcRZ90JAqVmDEveuB2J/meEyaIlvtgkCRvEmy/oR1e7hCmFlEp/qxRh7zSB1\nZCwrkQMS/zU8heqWA04wQNU1bxuSt1awYCCMOdmNpkSWvtVTVg6hcsP8vmtO\neg3weoo2n/t3lH9NXBxVxt6hXTDBtFinIhRpbumfpj4g1IMGlBAeT7JgJru3\na0aAJ83rEXNBxFdN7Zdr2h15q7MrvgN2oGPzyu7YvMEKmSDJPWgD2DOnOCWq\nfTjBKMkvE1xr5HWDsFr/j1/iKh/uqI5IFtL/1QjWw9LBQAfW2Km5FImp4KU8\nilDsYuG9Kt54qT1cO3gQFzo54g0+lLnFMn7WpUYC1y83sXFDJxkVnEtlSzMV\n2KFVN/Gc47gtHc4jHmRLh12z4BFDBL4ij+M28SPgIzSe6XuAyWQR2vcR5RDU\n3wmVGJOR1YRy7Pui5BpwYckZEIHQjQKBNbepHlRkKcR3jxgV3trCLItQ/jp5\n/5S0\r\n=c9qV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b_1600348260352_0.2920505744312374","host":"s3://npm-registry-packages"}},"13.9.21":{"name":"@preply/video","version":"13.9.21","author":"","license":"ISC","_id":"@preply/video@13.9.21","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5fc83a865ce02b2e05dcd9411f0ea8c5fc94a5e8","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.21.tgz","fileCount":506,"integrity":"sha512-Xi38eP6z7xp20lY+trvImmZ+DzCDNufvvs6u+LFVb4Z1bwycx//oTesCQNWX3ZnQ/6AkI2AO8YjqEY65js7PFg==","signatures":[{"sig":"MEUCIQCDNnNBwfQdn4ho9zqot8RaYuS0tpEw2QfaiCTvtKhZzQIgQlUeQbFgsRvikf4d2gefqWJmAJ33xfiMUVrHAGrHi3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16817164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfY236CRA9TVsSAnZWagAAeyQP/0f26RAGxBEW1rDRZ/gm\nBgUdAtxOe3HlTIgMS/xwzp7Dxy47ILCftnkA08jkEpeVFP7qZlgh/rp14LYW\nZmTOoPiiJUuZ2nxklIEDO2lzA1kjrW3ZqQ2pwCeDVDzVmG1QyY4YDsTOC8oW\nOerNGRwrpbTk8q2KzMCnyLjnONvAiGxJWR0+reuJF5SqHaa81kcL8VN5YA81\nnYcMZCErqcW/agWe9lfRi94M4cgaI7v/7NntN4lw0lkfaW9c2goB4qAhWRu0\nHni/wO8hfahElKIZ+w0VCitIscocQObi4uIblfBtxDZxLCPgKuqEKC12DnF5\nsNLrq8g5WzYv5vHmY90ghz6QRgr2B7g1CxDVgDzm2q7kOk+63torMzw+yEYd\nc7N770gJYRMbsi2fyEb3M+urse8qTXQEmgu5pyP74ywk91T7el8SBmSMfMuJ\nayB1pjdWmzYzAlZA2KGPdUlp59yRfGyMPvp6XIudiKHS1MBbMU+yKurGPzA7\nO28EpWU2RoDfulEF1ZWmPk9a3l8SHPeXezvj+yxiUfY8j2PBSSYwIPyhFBvp\nzholGdM6+r9X+3pD2KPevurt3KZhOXYRwbbavl5V+C6c644kUN3Jt5qE0Uxh\nidkoBr1D/PBaU6sQT5grzK+FgkAKLn46M9SAiMN3Zt7KHnetVG6JisVEVGGP\nBjUe\r\n=Xh1Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.21_1600351737557_0.4336330871505343","host":"s3://npm-registry-packages"}},"0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990":{"name":"@preply/video","version":"0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1d37397345456196e683cdae7ec2b182e970f022","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990.tgz","fileCount":506,"integrity":"sha512-hFiTppMH3HhPY1Mt3WRebXIGAIuAAmfFXcjY601ii0tLtHZHPhbQPLbyYW/XAXgWml7GggW7vxT3Oj1KER6UuQ==","signatures":[{"sig":"MEUCIHwd7K5E/S6XxwGN/3uA7d6pAhmoAq2UIzRWdPZ4nv+LAiEA/LAgXEh4RfQcPMvNPLSO93bY4HFN+ry7rR4TZRpenrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818108,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZJMWCRA9TVsSAnZWagAAfrIP/1PWuGSA2fzJjubCEu00\nmlIWR6/gCfIjGmFwWL1HLDvaNhNWM1t/7vNzZ4jwQGLEbaswRVkrl4iTSdKz\nIXMt9VmVubxiSJtA15Mms7R/QWDw114IlO5x5Gr6vWFEgbZ8bgcuTUNl0K1t\nTifHwxjV3XxKG0T3+BzAK2HjH8SvQzVpfrt9mmWszakKwmfD3sYQbMLLNmU1\nGF2nKSh4ExOBv6HigCmwdbsXpq/zSK2OhxdDedJ6Isc0MjTkqnMe3Frup5CW\njFiH2L6bgyjAb3U9p8I/XvQtdUn/y+zYaHEg9WtkbnS83R8oTs50Se83Ox83\nojF4n2Ar7q3e1vw802BhF9STZbA2BwBHKhrreUIiCpTTtNR6+Sd9RxJw2mwi\nOvzkI/wxc6yr+Jy3/68mD8ORJRbkf7wr7O6PH73/tyjUTBqafAwxe1pU6MuM\njbuimEGaf1ohM/D1LDCwxtYmbfbAydKZ6Ntlz5sJ9TVkjNTDLdBtxm/AGZOz\ngGlf+yWbcjkdxvBM5P7CEpTR2D5M5Li4M8uOCRKH4lf9G+sWesF05Wkpxvng\nuRTWnxuWtt3eDdM94/hI479npMWP45ph/keAE3No06x4bvYFaKG8auMkcQwp\n8B11XVDrZwgbWoVRlQVuQuILFIAmf3xs+685ZNQVSlGpn9scbUDTpTouO9ps\nOfcx\r\n=6bwK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990_1600426773747_0.6359763368959148","host":"s3://npm-registry-packages"}},"0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581":{"name":"@preply/video","version":"0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f3418cc6bce430de45357d7d92cca5de247f15e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581.tgz","fileCount":506,"integrity":"sha512-5oGZn1Vu1x6obmgJeb2lvw0c+ozTeq6aoVxwu2gfmfJe+cafKDr4X/b8Cu4yR5JeTPjL/CHbBagiIZDxfBksQg==","signatures":[{"sig":"MEUCIQCrkk6IxW/vb9n07L1/YjripMe88K7b86oK6GVAbYiOrAIgSBDLMoX81kDcybA8YKhY+36PTTOQC+pNCLOHjQypPk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16825263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaEwTCRA9TVsSAnZWagAAEaUP/3ft7AVUNg27RGIDUUJG\nfKseShAYhqra7pa+zk6d1jnREPs0Kno4+X8+nQVSmfx/VTVJUGP9mXOT1nBD\nOAeuO2wxhBGBh//xsV5AE2Prv6GlHJlyiQcV724EekSKLjlC1lXHf7aDmnMR\ncamVGbegEacFoK004O0+Q5Rpk7Tt4x0ehbz9kAV7WXfvNVmAxsBdtkQ3CPmu\n3HlYUpY79dRxxy2H8H8oeP3EhalS+J0N4irBOMyzWic7dtlWVMokGT/ssulj\nJDvjbvyopymw5lGwEqMPSwXrH1juwgQPAXR72ZjMQIYTFkb9gw+FGS+wy0Z8\nd8ZsglDog0aRM6Qqa5C8ppggeTG+QxEihqaXgoCeIo/3iYQhLn0tilaDeDkA\n1IkiMJNp5FPQ1wsJ96pn6BWXiCtbF9s1MegzH6JOh+b+O/U1Uc2eU8aporWb\nfE+y3WHCo9nHKuZF0mJG+Z2dWO/q4Xrg/MqSEwtK0yqn9bWWA7/I6nxO/Axj\n/4UE8arb7aD629N+S/q0iiloGttE6l8b+vp0hcew/XcGugL2BLUvXzvTjlHj\nOIuyylLxYL/uk1wMRZNqW8YJi/uenozkGrgwfv5P7R0QR1UYq3evPEMRe9Dc\nLbq3tOKEzKN+viNY3hfbUIIPzzXHP8ou3TV+9PxJ5yWgOAxjoy6XQeIBjuOP\nYSB9\r\n=45GC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581_1600670738962_0.6900171012451299","host":"s3://npm-registry-packages"}},"0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e":{"name":"@preply/video","version":"0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1f03f20b92c0af4e54a6c240071d1978738229ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e.tgz","fileCount":506,"integrity":"sha512-xz1oyIRCt2Z3lyYIYCNvDAvUBhv/TKJiCqheLPpTcXx3v3Gtf2CPvByAqmYrwSuWqOrCKwIKXBRDX+zhXS2FDA==","signatures":[{"sig":"MEUCIQDLmtpBxe2zsLxAMufeBPwHDOhNeANXLgKjl7UY9Q8KWwIgNpcD93mjF/R6tPx1vDiQ981M3eXKpU8iYj3EtYJuCIc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16825788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaH1uCRA9TVsSAnZWagAAnUsP/2vJ7/D/6xX44cu3yZvq\nuvaKl8N4CEuitieJTSP/u/FXf7DUedThwQpvQTJ+ghy4bD7otld4599kymrb\nDMj0V9W/83AJaE9LxAK5jgtOPG4uJjKtlGA8kPBg0BIfDzUADxhiwE7A0x2J\nsp1cJnvz22Rhct5a1RxW1d1VO+lgDVwRmn3NISvK0daDNgykBtXfIIEPKtaG\njYKslc73I/42k5DcNEWdvQFEI5/fk7ByDUlkxi56T1leeS+UqwO/9oApvXIP\nakARSNl+ykota/Q1SMpLafsP8W47kFu35rwWZtIOHgfVVOZw282eQPulWPxx\nAbM0FFR8iJMyQv3jlbiq6qL7149+KlxM4eUECfLg4Bw1dlt/IeeO9d/1l6uu\nbjv7iQ0YXnParqtHO6fRoVA448/WXxZD3pKdyYpN2ZWo08aTGmPJ6hv5mD9T\nVHBZ7OJI4aUMnyN58RznEDyKlnlFhyx1pOOy0uZ97neMwD4KZSn+V+VSbox3\nYmRK/DW662qzRm4HLAsqX6JdlwMJN1Ih2Va4eiQAN+QgbnNkxPPMQMolTlzu\nFKdbmV/940lieZnahPfr9/NGWzRv8eVm+K6+2XqQk80PJYJyBA99yhiCbg6y\nnC94hsVcbVzFrozhg9GsV88S+BFIPvUmj76uBNwfSumFB+46w0M9Dzbdwc+T\n/27b\r\n=ypUj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"1.2.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e_1600683373239_0.15512463030352608","host":"s3://npm-registry-packages"}},"0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716":{"name":"@preply/video","version":"0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7f4f8dc600386d24b58b56da804ed7e41ef26577","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716.tgz","fileCount":506,"integrity":"sha512-8FILfzy+lFLopjWEE0kfnGn1swueHO0Tcej6lwzEOaoxB5XwZP/1bDc+MNLPLXEre+qyNMeaTLxQQ74M17cWHw==","signatures":[{"sig":"MEQCIBFFg/GpP/ksH9MoOHflEjVJBvRxxA08h2hBkkL5dggFAiAU2n3wJc6/vw97iM+nsY0pw1BolF/mrN4U9ydB8MMg/A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaaiHCRA9TVsSAnZWagAATW0P/jP6zmuAee6kyRqmzyMs\n1Xc2xcpIVSPULv8Fu2IR+HgZ+XkAt5pLiJRW7mcQuV9AvdF8YQFTUkcpiv5g\ngZbbciUpmNb8QzA/rGda6l/lcbTgI/iQp5jGVCnKadJ9B6vA0HXGJKBgq0Zh\nJLnw/XXw1Hb+csFy5yGfU5rN8zJW9DptE677wRxv7Wwjh9aK1/0396RcJfLG\nilIIUDG/lK9OBWfie/rBsfm9DbdQK3VwWQPc0KglOA28oZ3I0b/+eXcaH4Je\nnRk4QzY+nbHcAAxg69gfK6E2DrkB8onI8Cie6bmpESN1tJKo7Kzf52nkcBmp\ntlyTwhON371ZsF29nlXEUpGrxVcvfRBom/G8W+jIkyDl5bOz0eRx6PTbybtY\n8duXH89iILH5up8mkJSarBDareIszLS8WjZe2OF24ZLepqVNvIdSGDBtSo+n\nz2aXApDnXOxTshX3ZaItLTP9Ov/6RHiyVVmPbj+TuhnW6ljzPh89rW1rEp5B\nKqwRN3krKpF3L96tiY7gB+rz41lQoeu6He9vY8Rs+gpGWm7WZKzIKVJd/p0w\nDQWIBi0U9BoKlI/pKnpFA0yqJRxjOf6EW+VLl1K2NWbLY/Rf2a5X7FoM+eYe\nzTPfG1ROh/x4fT7xHpnF2WLsYPQ1t7on+7+hHwgeI0JM3YaNDOIhQJrm7692\n4uAv\r\n=LTmq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716_1600759942705_0.6156863166792415","host":"s3://npm-registry-packages"}},"0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc":{"name":"@preply/video","version":"0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3751c4f9d04a1e16015b4f0bf83aedbe8ab5efe3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc.tgz","fileCount":506,"integrity":"sha512-onHsKWbuittI4jbie9qbCSoMknqDr/V0APdN/CYNGcemRgdirmBOmguT/M2pzA9WdrbpwtAqxa+NG8OFsK7IFw==","signatures":[{"sig":"MEYCIQDepYVwz8QE/ariXwz5MD5zPwYWeRhDQbjSYg3T6CMH9AIhAPudVkjb8mRf7Hm1XvL+8UX6vzR/C5hX0APd2ti2vh6R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfacOfCRA9TVsSAnZWagAAc68QAKE4cqKw8+b4crXyScPO\nN2rZJnj1mL6L0rga5eF2c0PpK+o4JOnJm35Fmywq9MpubfunpXMzubP4/flf\nDLRkEnCKMVkzbLTCktUbJpP7wweOteJIhBTRy8IYOk9fgSi/ln/S+7HNOdBy\n3jOkIJx2J+5tBtAirO9Y7QjacbCuvqh0DVEhiXDklk8hP2+JUOSTC4s+h1Bg\nv/Iz0RLitWndkpcuM4TyXUioRAw9BYnfWn+UsLbRKESde8R+UoJxdxDzb16V\nvU/E/uSGco25yrOpr1lQR7YGTJflz0TV+Bt1aR1FHlg4Fm2wKisyx1GQ6yyR\ng6SOGL1nPf/WAshqLozRTka1IOv184C7kqvZBCbktD87QUtRde9a5AWK3imV\njn3d5cbZa9nFC8ZYy2falGMTswemFXEnp1pq8t51dDXUNVoutyPyR2b24ZOU\nVvdPPzKea/vGr4KxqRFczVkqLV8yWV7W2ykcJreJtE1VX7ijPLvVljzxQZnb\nwx/AEJ4nlIi45pBcTUVs7eJydiKRpSiW5Fa1Kpxm/drhfjaTBV0J0w6ACvQ3\nld4U3EhjGBBgwOzAI62zPEqgYY/LtHpTFEk711TKvIIV6rdZbNOzP+40PECA\nALVxax/uaahMoSKBXiN3djTSn/0y3RN6coWQtchIWZ/MS7OiUlIpPwFqo4NO\n8AMj\r\n=QxjZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc_1600766878696_0.6357657193722615","host":"s3://npm-registry-packages"}},"0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5":{"name":"@preply/video","version":"0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"99d209408cabc27f969df12f8863b094410b26c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5.tgz","fileCount":506,"integrity":"sha512-Szm8PPFpJnpH4XIwAJ3MfmScX0R25O61clLORmwgjGy2NFLrPDQ6CLnd1W3xFNWcirvYIyHqQJ55k+UaipzMmA==","signatures":[{"sig":"MEQCIFbEQI1jqZp3gfE3YOIIFdiFw+ROZ2GWPb3qhZ1ZqjOnAiBP3osuIXHrc42PyPimrmmVgYzaTxqpAH98yAQChD40rg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16819213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfadncCRA9TVsSAnZWagAAs90P/3zcZeNP0ppOwMxILNhI\nuWcEYFuG4GNms1KzuY8Hc9ykoVIYonsRhS5WbphMsc9TdF4anBEY1VV9GGeN\nwGhr3+u4TC6OLbGGJxan5lgptW1Rijs4wk/ZrcoBAmtEaYE7qS5bPBFLX6VK\npMWCbCiTXO3dWewSiBU9D+Q0mTWlLgMZQ5CGj79HQa5rOOQcYT2JJxH8IRIG\nEHxcr5GxR+SjcMM7H1JNSP10e++iqodTy0pizPC+Z2XmmekpcKvABxQbEzdg\ncaw+Av5MnC2x+QlZNDeziV+0qiPQ7fEaOCr6blAF96l0GE2oaKer8to8I3XZ\n3dJRTTivoFJEkA9zUNRcLnucYRgnbPg16KZ98DhTWtqTjO4BxyeP1ypVnjaj\nmI8o9xv3SwL8aF6snc4sQYskrtfG+/apUdVyzsRgKO7eKYdDxDZ9l6ycjn+K\nhs8v8auhFS+Qbz8vVlq+DK1q/rVv2nHx6AoKAaZUkC9hR7KKz8VLHD4OFK4Y\nx5ZFR/fIyWJy8fmclm6xttZgW9irZ7b43ayLuVyxWDPhR/HGR2KQDXu6gTR2\neNLIbY0JogjBR4sGVqp/RK/CrPsVLU2Qri8NhovtlUziezcLKfCpENVYg+O6\nmW26TKLsERFTVww9qaWlS95JmlaT1L/yuK7HVF4TleFEwlmCIQw8UDEkZVeK\nzYOy\r\n=tYv2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5_1600772571781_0.4797019336381363","host":"s3://npm-registry-packages"}},"13.9.23":{"name":"@preply/video","version":"13.9.23","author":"","license":"ISC","_id":"@preply/video@13.9.23","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f21c7dfa05f96ee780f9589885581d7812e5a7dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.23.tgz","fileCount":506,"integrity":"sha512-+d4g+DR00KljoYf2CN2RJiwwKsfJf/9phIaHpjzNmFlHOpknlkd0YpQqAeYrfDtQJKdtO3YyTWN/DjF3oCmTHg==","signatures":[{"sig":"MEYCIQDM81Uk0jaRF0n3tQVWuMbX37F5o1fpzpbOPKcevEvibAIhANymSA16tJA4IokdjrPjf+34r2c061jGQqLoSXdllHGx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfafBjCRA9TVsSAnZWagAA4j0P/1Tpt1apFggvAYPNhqGj\nJJdAXpgCtXw2ZLQIY7FzWS8M5Rpe71PtCv9NkPHIWtBGJF7EMQ41itvMnF6L\nzg0vJU6bJmEVBZAqaMzNzE1VQbUGcJZZsbi3RAMwGtINTGcRYDD9U/ehLCr3\nG8l8+YOuOQpvljm5uFbXwvskpP5c/62QjrhgigSKXZqlQb6XRSZ1ZeX0OzAU\nhOWaaAm24vk2nnDR59kgn1+mU6v6OfaTxQ+1pZumkBKxB/1alV88uhxDNWFS\nBoYAMo2MlvnVR9eXuGk79HGx0WjktxfEh+ppiZoF8lJhEsp2B4opuUPN6wu5\nh+O9vnuSpTamEIX7w7gbCU+vkUZXXWZhLIRy8NFYBKtwmhHT+CBRE8eQtkTr\nVLKfMqKzVlqP6MjwMU+I96WtwUdjcIP7CIX9hMVwDHPMPAliVPlsrflhL0Yb\nBoIsFk2XPCcmtrEUjMZEUdusr4mn7fe5Q3z/q4WXS4GAR002biNsEVdBhAKz\nyk+4lDba8tM4z6G5XWVpuuXCaVKxy8v0hrh6kshoqfp3uJAMSTDbZlKyr40I\nhJ363GK3UFGFcoGmBesWKUHONT/QQbYmm7RC4SLjOFJybgVN+g57RNsO+NO3\nM5Y2zpL6jb7vHlg9V7VayJ2E25neAE+nuY+HVxaYRfAuKKfz7PEaCrM+4tse\nZkK2\r\n=lpeR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.23_1600778338210_0.8118548845884692","host":"s3://npm-registry-packages"}},"0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323":{"name":"@preply/video","version":"0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"42510656004b3ae9475e43914c4497188a6e3673","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323.tgz","fileCount":506,"integrity":"sha512-ZrwLBGz7609U0w23NQzXTjMT2FYjDZnO0lyTwSREdUSrnxzjM+dbukQHqoqnrL6ripr4nctTgDTuZMl+1856Yg==","signatures":[{"sig":"MEYCIQCihsKPbDowHOTKi/uWZiRZB78qUl+YVoqUaj7S81JWvAIhAK55PWJcjoWQBDGus2LyWofombQjGBozb+R3DG/0eimK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16819407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfafX2CRA9TVsSAnZWagAAprMP/2RJwlIOAZlLY/OqvHRL\nldACylW9UDspPFZrfBFbmGu9FGFerTfs0wYZGtcy8ADjkshpgqh0AwsFPSzv\nbPZSCIpEZac10IsdGU3AWXKk6SHp8mvb5fNnlXjZqVrBU7yX1lbnyZPHuPNP\naBrbKl1FfkZA7IERotrzgi+pJV+vM1ZfoRbL2vln1troUyOoZUZFWPo823dg\nFyaarZaQjo3slf+YZJSNc1yFobDxgJ5+qdiDPuPhLPbpzbvbOQl3aSSJeROV\nrmcc+u4F+FTYTyQlOGnUDBN/axyXqRsm9OXwqnZaVd/w27phGpYvvFgRk24H\n3rendPws0WEXcdmGOfPs5kdACI085ye48b2zAQ/+mq6njbGjoLilCoj9Ydz6\nbExMztx6VTPa6x/l4sAfMjass8iERxI33G/t8EWa9QpJp+N6/KUhLue3a0RX\nWuo0yz7XJE2sslbUomQuZ8z0g4gio6GAPpxoqQZL7bH4NBE8hdjql8W7A3H2\nsVo5QYKUwAhK41doSGFh0Y2ZtDP+51gfFGP8edRp7dBMZO5h6NtOHuGj7OXL\ng+PKF//tu9VYDelXTD30tvNJwC2x0uvPH1Bcjevf5WtFXI5MsjyU59Mi1Qx+\nAm3pB0YF9A1kjDzkofdkZ6RK/k/zq0bCh31D8FN4MjeW9xc1Odsb4D2Vf7VK\naRcj\r\n=3S5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323_1600779764801_0.9058688135658566","host":"s3://npm-registry-packages"}},"13.9.24":{"name":"@preply/video","version":"13.9.24","author":"","license":"ISC","_id":"@preply/video@13.9.24","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4338efc9b38979b6d96310139a49397052d1e3fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.24.tgz","fileCount":506,"integrity":"sha512-SUKu0ga9Ayvtcqkrye4JB3Sci6qIsurK+ZcDT4CelRFHWbmsWdNpAmKxFSH71wQXCipVCDGjb2vfyk49FkHX3Q==","signatures":[{"sig":"MEQCIB0TYQqCmNAbxp+6BzPyMejilLJLwF8dlFM8ngfvdJ4DAiBtavkMn7moGuAuA1TWDust3wOrGACcWbWfZZ9+0bNhNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16818615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfauaSCRA9TVsSAnZWagAABlwP/AiqF6qG8OjMbSbBPv8k\ndV5UmUqLmmh/TTsu1twva3q396gN0FFvODAf6SZiW/HarqOAu09MZn0VTUWJ\nSyxOUr0AXp7TiTFc181Cpg7uA9NdyJLKl36KeEQpbHYcTpTuKPqLxOxdKYJp\n8SaG5wep/YF/KTC3eYgAF+D0f3C+pfrsb+QTS58ghd7/J1kxifwTSvTQfvJO\nBo9QvCFthEw/mtxvMqPHovh4FjnKhZcehbxAwq9zwZFa8Zcvqw7do1djh012\nQG+KooLqsm2WPhMsL7zPZjpUcAiTxvgs0AinHnMdi7Gs040aiiv7ms7KJY4G\nRdV0UD4ELMBoAvAeu8AfdTSsBY2yg3YWkWa/Zq2Yb6qyeKMjfZskDxW4jrF2\niGovxtMmopyW8B/NsHAnypeoLFSaowsAWIF5HdLLbvIWiQ4Z6jh7R7ALjvRs\nBbS8+TlssjBdRs6S0Y15SKuTHSE+yodlekeZTnE1ut2aGBPJ0kVOFo3UeKA7\ndm9WGtheKPYLi6wQlNyyviiG8V3ZFVr59Q9bkU89l832yCFxFgRejQRSELq7\noQ8lpfh+Np/7EUkRiTOxQ/wXGw/sPbVs1EmIcwop2svp84Jj/n2ntVmQwFbW\nonfVx1IvQFgQ+Ay4bHRH7PO/b/J+ShSoxhzIJ34GEsidh8ykIhzn3RWz0RLv\nf2yP\r\n=mDEH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.24_1600841361361_0.9284233968822935","host":"s3://npm-registry-packages"}},"0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053":{"name":"@preply/video","version":"0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0bffd84034cfc02e221887c65852b0c9b7f6d3e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053.tgz","fileCount":506,"integrity":"sha512-wbSwv0t/+DJ3bFk3zC+ZKZNp07+PxQ5ZkyusdujE8Lk7Yb1K0Wq6V/g6VJ+TJ9suvoitUhbtvxQZnoNKPrZ6ng==","signatures":[{"sig":"MEUCIFjOxt6W85D5ejFBt3+n3AricZteEofW+RlyiGRH9y0UAiEA2f2q1Cw6FvQ4p6u6Tlrq/BLqL+ex7SFlR+/7TJ7mO9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16819829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfawbSCRA9TVsSAnZWagAAmGUP/0B74WSv9IckLj1P6Cqa\n5nVw8yxinDnp8ZDAfgcQr6s+ZaTt/C92RNi13lRNZ4BfBMhxVfYSILB/+QOo\n0wBL0H8EF2WXjcockZwp2DQ6sMQMGDW5HPahUzvAKPExFF/CHNUqPZJ8PC4j\nyOTyUt1LwajiWzKRu7dXTpomgba+qtApEer9huq41qsvH6ou6uBrnQ/LnOa6\nPzKBqOHiv5oKobXrAEF31w7MtvlpTwGs+d5tWuBoOawNQtgwGjVfW2l4glTg\nA1w05PD9AXofXYeMcEMxmFBR5sIhJohbNsGIfu1XY6PoJIsR4WPCpTOxcSr5\nGd+/5HvBiAq1Mibi+xdMA5I1LGb8vVxacBc42+2GoUVSvhDw8wQ1c2BAufkv\nHXiKm/P2YzlNw/yeUjHTSPBeZ6vRKA92Wc7jOz1VXaFfXl1T73YEkZhZ5BC6\n1prm+h6jnBLTZJ008nng5jqyALR3uP7OfKFlwO7dbzrdPtHbmLL3bSi4kXGW\nLxIcYOYIoucZ5KG5Zlp8K1mE3gp6WubsftjOfRr9Cd1u0wEe2qPaSXioW3+o\nkT3aV37FgOwMh1Jj71Y8x2YpMCswxEcqpVI7LzhxSDVngoxF7hjeiP+ymGS3\nU0sjH3ZaEYr/POPqZ8sSPzxYuyzVRE00T4DxOppUA6wZrnKT2WOLpjQzat2a\n+sxZ\r\n=z4d7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053_1600849617860_0.27577022530401885","host":"s3://npm-registry-packages"}},"0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b":{"name":"@preply/video","version":"0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"23dd3b4c54bda4afa414520f050c5257861f4725","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b.tgz","fileCount":506,"integrity":"sha512-jMc0pkIRKV7nYqmDDSfmRZvxzTGd9cErohRAxHi4GA8poV899vxID+ie5YS59M6/WFIXqUX1z7yjm+1QQ6CgZQ==","signatures":[{"sig":"MEQCICbWgrtE++qjm1ZZJXR9dqOtxTuegaGbq+CCBk/BylyxAiA6HrJ1ZC9lu242lE9VrwclgoiqEZgu2JDiM43017xewQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16819635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfawi/CRA9TVsSAnZWagAAzxwP/ifnlG0HCu2tb/67HVyN\n88aV4P/LXnXqwQ+hYBxJBXzpmmtN6/2keTBsogiuaQc5J+et8lGcGu07ZNGb\nXo7t+dnjg5hKLDQf9iqxAaWNKmaHtss+0K5CsAiTQvundSdYYno1xjFIxLAO\nPbEuymBInfERyNvmzJ/maQbfke7BnCmZJIjbt3mcfQkiunieb0U5olRRddcX\npF0oE8d/PVwTSGYW8FE8wQ3qGikksQX2tjk+STw03Kuj1FAX6GSXJR4geoVz\n9M4EfzD/TNGwv+OI1p/3+Tvr4A+FT3kBYNQI8YTXjSc0kN2lWFsc8kkMyqHD\n2F5DH/CQpvIFYZ8X5mRZwOWhfsmIhHBshNRzuDymaqcrvq/IowqEuHe9Fqo4\niCQv8a62TtIhX3kWZuSL+MKuoNb7rJjiVb0kbA1+ybZKZB7OfJ56ubzcfRYI\nPmCgiA24zz9I4e6Dnzwl95FbMx3mW8ZBVVNPQ4fmhh9WYsUHtaUghLZFYuCi\nl3CDFNumaNc/B19YvR2bvXikKOtVqhGSEnJa6xJ0az3MlNbrbIk7D/ThTnYv\nR5TXO9PESFRXHIeuD0ycKJAucvWuciVwIXQITiWsfFMy5OsWdS8CjP9Kd6Eq\nG9y/NG9B2CCFIOoCPBwGxkYxNGiEQSqKBu5bk1P5+k2MnMKWBz5AvtuwXiA4\nNYoJ\r\n=+84Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b_1600850110707_0.16860108894220605","host":"s3://npm-registry-packages"}},"13.9.25":{"name":"@preply/video","version":"13.9.25","author":"","license":"ISC","_id":"@preply/video@13.9.25","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f576feb02c2e2190c88bc5ec1a6755d2b053a89d","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.25.tgz","fileCount":506,"integrity":"sha512-SU1FaVrKWZiLr/i9FQHNVibvch+FCATE6EaDa7J0D/YuA6QyM3lOGNSpZ5WPBTHP4ubqQzvVoNgohlMaodDKjQ==","signatures":[{"sig":"MEYCIQD1DneVxiFa6npgaPCBqJoLUdjpEe8C6sg+bUYA5ibT/wIhAO0Gelxm6H7wyVnzzceUcmceDUHAa3nOaUAoluvcEobw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15254278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaxCeCRA9TVsSAnZWagAAC20P/iwRmE7syMVWrN1siM2k\nKVBmmtfP/8xmqtJWJ+Htgp5F5gCTtpeyPhOtmCb0GGoF0fRuGRxEUxnnApCf\nmbAoEb9LFAYdFwi7yBWWPdmRiKzN9KlQHygnh5p/YioIcs9iAYtW+Ham05q7\n3cXy/Dyp3VPZ23a0pkw8+yhVrWVs+dxjZfmFclS0CJaiYHVUlR3RrRSR2/7A\nNG+2XSa8ykC1+1nalhp2FBUb7kFK2qmpU2Dt7lxQUKRusMVqdY4LpIpDdtg0\nQFfz5gKz7l2KVEJgTtTkRx8OJVQ/ThmnoV3rjNyRDU4j/Y9BM9vZBfd0ZTIb\nyI8Nr+RICSmY9k/LBBHO6QkHYyg0hVPhFaDKUQu9AFVeJNWJ2akD4/j5QBqc\nwdvCcRjaY5Zwjg5AhRPclP1PpYEM4MPIzPkKVFXCnyPo0IVJIRy1Kc7spbGK\ncwSPv8ZdOVsKkChwZpoviHv2F4L63+ODvPKAUbvSNF62pS8xSjcHR7lRvnzQ\nt4E96Q9QJ1CtbykYI8Cv86q166F6OC6GeSLa1LIBnS4VhLnug91vTdCwffKl\naV/BdGLJMWugppMB64o7SjboNKuLquQTUXiMWeXQ2SqrRlxWLB0Z9okfkK+k\n4NJht53n6CVgQMRJUJUjopj9Ag1cvjpPFIOiUXupFU9e5ltwlDiS+sM10Vo8\nJ3fG\r\n=112r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.25_1600852125444_0.5243499750315166","host":"s3://npm-registry-packages"}},"13.9.26":{"name":"@preply/video","version":"13.9.26","author":"","license":"ISC","_id":"@preply/video@13.9.26","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"205a07706e73767638296680d38e573858ece09e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.26.tgz","fileCount":506,"integrity":"sha512-GcJTdPO2tFtiQaWQ2B+YIZvVSjXo0zzKQdKwDMOqwj6aqjC4Lbm5m2skMsdg7qUG8FaOjwXbX8VOmGyRE1CBGA==","signatures":[{"sig":"MEQCIFI2RDO5lwmB976Kw3Sn16QVH/i269p2eFL4le0QzZPHAiAmurjofRSAO6CAlBrr8ozTeu8zQVEPNYjHith6R1igEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15254518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfazQMCRA9TVsSAnZWagAAVc8P/jGhwMyqGv2N3t7fcgYp\nzvo1M9HzdV3U5y8gBMgPtxmpeBTebLv+uah8B0KFpfhSPGZFhITEc/jrlqg9\nktOc1iQdbqexUYcd9ozockarsZ8zoYqk/M27EfhFqjySus6oA0CY2hMDJo4Z\nZ0EyW2IK3njxQp7+YAu90dVEA0e/IDsQTE9A2kS//PxDkf2V9+tH2QhtXC30\nKvyrMBeKkCFUJtMIJgiEfSuDKM9jAJ1V5+Uyp9IfaMCRVW6UeziHu7cMrdTm\npE2l0YjnInoJRAtrVFX+dhrG0spniOEk/QaLhT5w/rCX3bJc5z3otnH+OSsy\nIXd6VxYGHeuZebMTzeP2/jyzkykk/Q6EDRv9iZS93Usk6dG6AiRa+uwAQA5n\n6tPscMe+C02AM2OodXWGvzjvH4heydbMjBEqShf+gLlrICDed2b3VxpkLDHU\nvArwcOPnhfQzo1ilRX/QB9JQrOs+hfV0P9N5nQcHI6lI2/Ew35MfmWI04IUh\n9Aajylw24VYfjIcsU6kyeKneKKiCACrxyVqitKTAsB9KbYlOS9l+JHuOmkyZ\nsCvMYefUMMnrRv8Xzn4Gw5fQTIrFMq0VFs319Z8/QYmFAIquaCp9MywhSmZf\ns88hDU+cVbW23G8kdY0C+2nQwVSt5m2K0nl0cXwibP1p9X/RynDjEYSpAlxH\n0+in\r\n=guxv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.26_1600861196045_0.34162783784586304","host":"s3://npm-registry-packages"}},"13.9.27":{"name":"@preply/video","version":"13.9.27","author":"","license":"ISC","_id":"@preply/video@13.9.27","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8eee1d29f664c8ff7749b6eb868c9a4c98cd39a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.27.tgz","fileCount":506,"integrity":"sha512-9m2/g1kUAAzZbHTQ5QY6oil33Fiyxa/GJHS+LJNaeYW+Gi+2zZDJtpl2vrk/gt1C6p9xxFmViOsGbtnCEscGfQ==","signatures":[{"sig":"MEUCIQCt1uq1uzmdYcsykBsYA64Momn4Se2uK8s5bbFHXnzsJQIgCXseY9OGPVw8IqMldq5/Vo3gvnx5/fKsO9RhLEbPhlE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15255089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfazxNCRA9TVsSAnZWagAAYy4P/jvXKmIJBAdt3wTTLluH\nzz6BTHhbG+DtK+GO1h8N9Z9X1nRhx9q1syxqWPFvjqSiWZonI3uFJGjguKwh\nl2fResLGv40x6OgfJUCfr/wOWYCbnQ0eFNDrwaECeRhAyx/8twva7b1a3gUF\nTwzXlr5VdN6iXiKPVFSigjcJsQj5daR61HLsD350Cce1Jw7LpSHmD1cQng68\n7Vck+T8CRl3d8E7YDiNB1YTAfq5v3yk/O536WisyTAhODiAdK5y9CBtUWrLX\nrQFOgzvKbZF3l8otmFoXRDUJ0L1eCcrhBPpEuWCitBfWdRkZTdSIRTADnqUG\nKUbnpc4LkcZYl6n3A2h6jQkT7P7oOEDB3GBKxFYPrMaD5jisnPonQbH9Sh2h\nsoQtfK5DhP6xNsKtWQ4nkJdPiIIDvolj1xy7ezYxZ/LePeFxqq+orcfzwVCR\n0pobWyaSulDWohxNSIFQJvjofQJ8htVNUhW4nm0jzYtfR9AvlHQ9RwSiFnat\n4LbnhLzKHFSRdrmgZJpDKjQhq4wg58YIxv6UI/PCXALWv0JRNljbF3VR5LVh\n0KHIhOqukY2vjfmYPKVm41nhirI+C9owmaWlrR7T8l9yKhGeI5hCz7QxR/fh\n8SzIcdXceK2DW/L86FFrkXQ+tYEqd9fVhyLOsUaOyjZY3l1yfAyuWEECQO2E\nqRnN\r\n=0w6i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.27_1600863308321_0.17112225900380484","host":"s3://npm-registry-packages"}},"0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271":{"name":"@preply/video","version":"0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"df2c74451e803994773a7a04217b0c9cdc3576db","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271.tgz","fileCount":506,"integrity":"sha512-7VOEHos6Lu8yyKpskrknfCb+P41BDsv+fcoMnTfZmljSzc0JK33sOz+4DdUIt+kVHA8KxtFDjVsl/oDC+gvoFA==","signatures":[{"sig":"MEUCIBOjC6cD+73GKhmw1bDntn/ZQdiM8cAGcRpv0xlWAoBYAiEA+lEEWvvdy6fYw7Jy22VW7B5abPGdfKIm5swx9XeUcSU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15256109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbLEuCRA9TVsSAnZWagAAyKcP/1cwL0jxAJ/AoyJP2Jkx\n3NX7JTbBkAz4JbansvLdCMYXV1zXcieOUBBJZNmwXo5GX+ONlgZviCK9++NA\njomSSHMo7KdTYsCzZFcPxiT8kaFvJhxDZaw9l7kUv7/Ykm2P9UWcSO1A23+s\nS5HcAoqyCC7hR4PhRTnc1ihiXc2dCDsVue8aJhucI0Ouz4IiIQfg3fv4DXix\n4k7XaWhWjUQZgZTC9n8bHyuYOUshsHtvwKA+JmXCpvWkrXoXZPaDyR95FxK6\nDrbvmy4hFVD+258Czd7YvVIBrSN0XWPc/2AbLqWmiYoXlBMftHmS7JH4X5gV\nXRsJb8S+CkYBl8j4GhoMQk71qthshXXndVQkxY/Ede5WolqhsHrp9+GSL8Nl\nICjo68P0NB8Dj/6fFXb+kisDVi1Kjzy/m+BgXIt0VTQGl5Hu2PH0HIRQUZmI\nzpSHMu9DqkfGZ6uShEb/ymo+5o+zEOdpSXkCmUXXcPvqfqYXu37fT7gILxWN\nCPUbCjC6gdUsz6swz4tUuppJSzpr7o6Z/pGUB+Bk/6wIiU0kl9eNOempa4G3\nuqllJmpwfo93SWBPOfCDzSgq2pHw9A/56FSy/KoGDPfHXMZtw5Xe134RxYzh\n44X96KeY0xjW/I8xoC6HmONjeTWzMDNrxJLLmaHuaawoDnsbTF7voJqtcU7U\nGLjv\r\n=1SCL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271_1600958765838_0.3459858243039331","host":"s3://npm-registry-packages"}},"0.0.0-beta-58e3429543c9795e724d50119110215b476b997a":{"name":"@preply/video","version":"0.0.0-beta-58e3429543c9795e724d50119110215b476b997a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-58e3429543c9795e724d50119110215b476b997a","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1e2e8b6a703544dfaeb7658deb2482644a18585b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-58e3429543c9795e724d50119110215b476b997a.tgz","fileCount":506,"integrity":"sha512-NnSuix1pbdHzCrtDdFBoQWouQTGdRSevXHcsO5Y7fRh6iLi7jSUWgs8IVk8SIsiCpsb3Vnt/5QPGfRzH8YAhRA==","signatures":[{"sig":"MEQCICSxrPmefrRsUFzTXLpcwJFIR6QYIodutv8SpHgKVNDaAiAvBEGF2fzJnY6navx78kCWI8UwfdE0pKqj3HzR5yZjJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15256109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbMAgCRA9TVsSAnZWagAAUr4P/2MnwPgB/ZUX6MFe+0q3\nouF1b8cMYz5Cy58RlMOTbVhIqenVMaaC45ICexelHg24d5fTkYsaFHCVDwhM\nE/4ZDnfuAw/F+CSo9jKW0vUWhhF4tbe24n0F0ItQq1JuXpUO7dYM+miNGkuJ\nKOdrJkqQjHg+SXEjfjN4Xq3Dk16wPIIjyNZNA2oIGknRMDA4aucQ3fsKxIZy\nL6jmhKZOMSWfFEu257po+pyoWbJ2zKmOnqdchGiv5MzGL4JtuDl1lMcMsi9P\n+89T5HYQywpI0X6m5KvCdFFPD3t5jbxRWt/QClV+5NoYE3rJx2BzqCTQ8vJ8\nIZG5Gn/XyIbAQ54uomTtWmnxcpGCTUe3m3l+sygAK0cVYZoGe3JzrbaRsqnE\ng8FKI+YHtRoY8PdhkYrn3m57yiBKw53l7gaEDfa59gnaI6NRHVoDUrQRFaMO\nyIUFEn5KAp/T3ILbLUOAcxBY9IuO05HG39pacYGGbFB1NZKYwLKgz38BfI33\npmgKHMrW3+TpTd6RBbk00aAbVdw2YdqTY78MnkELhhC/IuisSWKZHs9ruv89\nlPBrQAcWMZ5dLEYEQpbN7Ww4ilvxp92ZYP80DJ9hwp+Jy0K1QGzHAiIxtlYH\nasUElNrjT+SeZJLVsHsr/Wvgy7GdG0CSuDXoQlNAXWE+Nid4Z6xdSRNBBCJu\nsVHz\r\n=hGVf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-58e3429543c9795e724d50119110215b476b997a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-58e3429543c9795e724d50119110215b476b997a_1600962591920_0.2594354910068677","host":"s3://npm-registry-packages"}},"0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc":{"name":"@preply/video","version":"0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"22a5ee36c2eca10d95d10d2ef2fe07e664055b25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc.tgz","fileCount":506,"integrity":"sha512-tyQaBqHUNz8UDOvsDl2x1/iBkjw8NRKw3ALMup2IiRXQEeGwY8SXREkzGmSPyLR6ZUyLwyhstYfMhRnZpUvAaQ==","signatures":[{"sig":"MEUCIQDu9uB//2bitjcmy3wD0Q67XIHteM6gfquNaofeGwLaywIgWFNZ76dmIeIJV3DiMUcgaNv/YcCFfX9u/HrEAmAZkTM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15256109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbMKmCRA9TVsSAnZWagAAqFIP/iYnRIfNM6R+RJHSv0uW\njfhAesQomN2A7ynf7G21OKwnwBSmBziXuVoKdg9Z2Sf0gD8Eui5qomdMW4AR\nxl5lK7tRB05yF1O/Izt0WP412ZTINPWl3Sz7G5OfcD3OG62nXOHmMU1si/43\nmbhGqjwEJHheUOhJwJwkRaOSdlP0wrwiSLj7wjZNL5LdAEqlJGObS3OdviXp\nyzb+vTwOeORUARnnKGvKXJemjCge3xc5zS+Zf5unr56VFPtrlF0A9JjvWEHH\nvvTSJtrfEjZQIlGj27wG5e84cZp08PkLyVURS8A3789R/OF57xUva9sogn8A\nIqCetCEpbLdFsyd37ORuSSDi2dmPmwzH6ZmlOsdah3q2IOvB+mUeg1PF3wZt\nTYuvXw5gEIeFCQfYbf9jZROM4xydF87Kuc3iUvnBR4rf/ZTp1VP2N2xvDIFD\nfZWgeyhMhAMCqvtZ7tdkN+SeN9lN8tb6gAM7CdT2CL1fKkPwTxVoMXs9EcVg\nuVlY1vzUR19puHASfxJjg9ufk8unuaQZJUhKsBkObyKA5sDC5PriLGVSQzMt\npkpyW1UDirVbpI9dBxQhXNvkzeiyPiMYyWnfgCsgPH9FehyAXfJ904C1quNL\n9VA2Icumx/6Ya14L+WpszBcDMGHvrkQ/CZ6eU+orCXncBDbXrGthRb+Di7vV\n1zxx\r\n=UdY2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc_1600963237593_0.7347685064370175","host":"s3://npm-registry-packages"}},"0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66":{"name":"@preply/video","version":"0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5cbc9da6c2564e00f8d563d6ce3f6018f2e2e308","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66.tgz","fileCount":506,"integrity":"sha512-Xjq7sepZ1NY+GcjNidYstREvGgcchm12JF3cxH8hjt8tiuQcsxQh32AzjsB6mQzGR51sRixAz37IeLo2NpXCeQ==","signatures":[{"sig":"MEYCIQDN6OX5paK9LbBf0sz5aGlU3X3rCscfVNhRcfnysvd5BgIhAP2mGdM1ZX6h+cGOBPjSyk9QhY6aDp1wRQIvAhDymToK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15256109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbM2ZCRA9TVsSAnZWagAAZfUP/2FjQJ9cuPD0wg8lymAw\nmkecLya4eavzp1BDjvH1ADxDx5fWcIOGzMi6xXX0THe4PfygLOdp1HicnD/A\ngsrtfFyFNpnygll8MXWVbFlYamKiOgCKwH6g5KiagJS7wwAdQvZ4rNujP+ny\n0vvxKAyDBGf6Year9Cgem0Jh2Z3i0LBKecz5x1JpKWmSlriFv+K4YnaDsr4A\nYzUZjEngNTuMpZIJK5rzNVW8VYy4HhGgn7D/nKahx8zZqzkreahMrBxJt069\noAt44gGMOTqKNygr3KeSuuHBe8f8oxsBzJMVJ6ciMKDHH8q1p7eyB59/kxcx\nKB/pWtldQrtkcmVjkzeHyNdCyCF6mlMRspBLpFOIe/qnYOastTXsypzF5Qg9\nZlSD/F3Kye+DwmruheR9T8FR7RWrnaArk2BbDh+59pGGAK/RqUVLs8qqTOkX\nB1mqBvxdx+27Swhnc+dPylPHYvpEoGEqde9bGeIG7wvartI1VwVSBnHbXTGJ\n3bE2EUALm/asmHuOXULu3OXrBZCBZZOGj8CQSw9GAKvH/A1N81PTOmOq2PRr\nThqWo2HEBeNrJD1PjS82ceVxN7vQwhT7dHDjTic4X3ggDHwocVQKxsGcEqDM\nGYKQXBkBpm9wiT9A6VqjZgXSSKPDUUzuush0R/IvW/+ufl1ZvIj5hQj6f32m\nur1g\r\n=Luu0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66_1600966040486_0.1477447371893048","host":"s3://npm-registry-packages"}},"0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a":{"name":"@preply/video","version":"0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"832a6c43b64da4c18523aa75740aa7678b1df620","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a.tgz","fileCount":506,"integrity":"sha512-F/lmGo0XBY4ImW+vBGlBsOmS/TPB++cfGE0jGjsGCZrq+0/5vvadPhvPdy7bChk0UI0+FusPsSFErp2PfRWMCA==","signatures":[{"sig":"MEYCIQDSoot8rkpbBS1rrcKP4bfwQz9udHn4Mh8UFeB/QyASuQIhAJqYeLBZiubo8MhcIc7eJ0Iv462spetchXJlHXgcc5Rp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15256109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbM8iCRA9TVsSAnZWagAArDAP/137QrefWM8GxSq1Aqj/\nZjzp/UdneuLqz9q12aHPTNcqnT5HBNrKjzbIOQWv6OHDHp5pbFISmgyVWC45\n0CudMLv8y0L1FaUNbqV9cHfvupzEFGBFUPqn1UuSBH1uUSi/fa+ddoH0vl8c\nNUGE6XGOKXWExCdNnmcuZzo5EocSdC8uHsbb7s9yWEfi+ArDOKCvWFaOnwbh\nTymSS4e+/WZ7IN0Uihy7Xu+56mzhaQNaol+DFTtG2uluWx4KBlPIJwIiULyH\nCisi7I7irulxWgjoBSjc4QpuAK+ULDMfhcfaqpyy0guFery5q2c1JvjPXo/C\nlqfkDYzni+tAek2gG/Dc1u0Uz+1+fChWjkgdblNUaNPJ1lvtXcXP6T46NBb1\nvvy3tIixelah0Ih9m72e1RgMd3Wf8LFoKKf1vYV9eZOy0/b0DyF7nvYPEQpE\nxixTbBmQd8pGhxYGvowz5fgiHwCUszV78+dnGU2Q3kfFDfRUhRHDnncqoXOX\nJLxzbZXulT1PFRCIHRCfGqqwX5cWEHhnXmXFYXch2BOGgP17AZopWqThmTjD\nAWLyiIFpiVIJs7SxVfXC6/niLHssf2uXfAU59wpl9WCJXS6avVjp8dUZ2pU1\n/TN9pLNkg1+rzUELrYQOFPTWtN1VfL6hdlvBAtZuqPHeAS7fnRZMCBdjv1DC\n0GGt\r\n=VJmD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a_1600966433513_0.0631340162684817","host":"s3://npm-registry-packages"}},"13.9.28":{"name":"@preply/video","version":"13.9.28","author":"","license":"ISC","_id":"@preply/video@13.9.28","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"460a5ea4ea953ab7f7d96ff2b26391370c7d6d17","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.28.tgz","fileCount":506,"integrity":"sha512-yeSDzYHx8R9V3PqkUztoWzNKAnm/4G4hCTzQj6HAdGLlITBpo+qdok68x6TlkapQ3TpHu1urzN+R4FsHjwtWjQ==","signatures":[{"sig":"MEUCIBE/bZ/5oEoyC9HcRvHYTK2rrQzkIVWCgljHoiqXeJyyAiEAouKNKOYIyU94K597ceXx1aOZHC9VS7Y3afTuJLFy0Cg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15255154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbZ7fCRA9TVsSAnZWagAA6b4P/3U6E4wSd8SZjSZ4SUy+\n8Ya38QoWTWoOR5HVwil7hc4XqfXdsCbWvX71+0peTw3IJb2nc4g2DsbEnYcH\ntgfhhdd86YroPfGVXmd8tTJ+TtikKTPtw5DdeZbXllvDTmw/CA/7sFQ33enr\ng7cDdLUf+GvGK5h5hLeNC1OkNFfh0m58/r95ff0S94YlW3nA9nCwEfJznN5J\nQAAjEZ8YgLgjLV9LEtU5Cg7c7Wzl51wd2/oaQqeA57R3CnE/iY0MXsTDdMYm\n2cX9aP5VVVSoRBrB6tXkym+3lA+asBkv0yn8Xi5ta1bD9gwlF6CclGWLNtw3\n9PUueNJcor2rKWrdhjGJH/f3fD+OTAktG9C3Wt3QzZ6+8zgB4lSQ5LeaquKw\nDzM8BpIaVZpq+Nh7I5ynEuOySQNh+qUFJGqoxBmGdFER8Y8SHL3uiUrjNsFJ\nHW30OTyZ3+q7Z+K5P4TfE22FdMXT1r4dvbweXb12bDCqMsmzFyq7W1suPOSs\nzt6NwStaZ865jPsrhGiTht1wf+flJT4O4jFf58IO6+TFux9LQMi/OwAhOmjL\n50mRRuC2JD38M/jHSfa7LGci7IpRt+zzosZ+urbHJnP+8fX0acw4NFv7n0+e\n3//jKUfCte4ywSoPXwJ/5RaS9Zeb9shO0r2uPLc8kcuaUOBUS0BhhSpDnkPm\n4W9H\r\n=vCto\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.28_1601019614623_0.6715060434998714","host":"s3://npm-registry-packages"}},"13.9.30":{"name":"@preply/video","version":"13.9.30","author":"","license":"ISC","_id":"@preply/video@13.9.30","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ff1723d5305962132026d67c3fdf22df370f5872","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.30.tgz","fileCount":506,"integrity":"sha512-xodY6weToj+I7kXJp14Vx4gVIWKMuNEr9z7eif/881vfMxe6i6HITsxFzQ1ivuPl6J0UP7/ExUEtqeIRjtfmUQ==","signatures":[{"sig":"MEQCIGPSY4PB4xtQhdU5Iusfm6DdQOBXwCkFbMgtpCKfcbC+AiArWo54RLJiCpM3JenhjVi0697TH+iZwfV2STGMcz7uNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15422607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfba0yCRA9TVsSAnZWagAAhV0QAJsI67X30zYN44lkuo5/\n7/eOq9wQQdJIiadkHWT9vMhCZ5IczGiIRsJ/o/frZxTnSt9f7Sz5BuIs1U9u\n6pz1MiJjdERa6LdFANEHREiKwM2gCL/55C6TlsDdoS2SAkLod1Js8fldlubB\nV51tG4SLGsXp0NS7pMqaGBgmfx077OlhjK4GOHVJ4jLciKct5YbfvzOzKRJa\n1WPMOluXVavD+QIooHVbsPx/+uvyiUZljqlQl0yzBA6TqlL3OgmBIkzNNEcT\ndMX0ldynultZJvN6LeKZ8s1zQMA7KPjWw0ENKIgweIf5eHXZi6YqI4S2nv3Z\nDjgMx9i+RXZqklo3SnuRpWorGbb4Qx7spj3GSulQWxEB6wz4b/C+r7CqCqP6\nnTAJnOTBlFVsUBFHnIaHwmV3EK3qWAAbIplmlmk92JHvU9tbO6zYsQ1tG1YH\nsWXEcZQSdW0kTib4Ekkw61WsfXaqMu+zMF+HBlg3y4VlS1VdlfqQQjKMWeAK\nV7GJ+5A3qE3itPfh/rtOo+GpZmpFEWrYrtS2IA/tUpsSkk3yumwdzcHjDwze\nkhYoM7w5FjOSPS67zAHMzykfexVEL2uGY0MTs21gtdo+DTD/SKP25NenVvC0\njnUMVoQJHMj5HOIaloXj3moMRe1tGBUc0O4C3wVocqSFgppLHtN3izJgMsBB\nfxkp\r\n=vXFs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.30_1601023279557_0.5918373464294651","host":"s3://npm-registry-packages"}},"0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b":{"name":"@preply/video","version":"0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d37576cefad78d3eea3e18892590e5eb23973c58","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b.tgz","fileCount":506,"integrity":"sha512-ChgbGBPFcI0PiFiHa1iwpmLqZQQq6m+MzC916od2Kq68nnOWE40sp/mOzFdRiyBnFAewPJRtb4SKMjXF2TMylQ==","signatures":[{"sig":"MEUCIQCMV4aEaxxmhZhUZR5dRInj7n4HSQPjurIaJxFH6NLccgIgPooz+//wUkSVp4X+PeLM48avbWnsI+LNGy4IuQORVHo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15424588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbfm2CRA9TVsSAnZWagAAVH0P/3ss1LMjCwLi02rnRvNA\n3uD+xCV4BHq7PybDFHu8tC/nSdPHvKhKub0oU5mSsxdbZEQJTPzIXJ5EleLB\n/fcA0QdN6TzSRozWiwqRRJLC0MDjUiF8T1tIqosF76dYiml1wmKzXExCeLiu\n9Ul/hDmjpa3q5lEdzG8SMsCfsujyyqIwMjpu0hS6mfMfiRJCRUvCq3Z6bg4g\nmUjAacA2jKsSQka8jNmVVilshYoSvl2tPl5T2+8IeQw3h1CVfWH1+JYuuwA7\nR6pGafW8r7AR/zmyhzFtx3wGL+sKZwFk4gqJCUnEN1/RDjUdlzTOtTGQeXHj\nsl5TlPoi3FeER+ESkHJDi4skNhkuo5WyH1A33gVjKhBF2Lc28TnLni3yZ6RZ\niNsPHLxLa+uZWcnzRrO8YtanknnFKv2+Pche8vbEDnxMQJtUlw0KAG+k2ASR\nzgEB9ITAkmgb1lHVupuL1E+e1XWG/W5TUA4TivWltgh7YTGrDqXE9SZ32j5A\ngTMBxbfIAOrnGpxh55i/+0rxROLb+wdA4eRErnkCNMLpKcs0lWySSmhb3bDW\nLtx840c0/rGnzuWcq9vhJG6w1L831h/EV9HwsRY23AjX7pdk0MPvbSljXcpF\nSluet8AwsxpHC7qz6Uwn49mlkuaN6N+Jg0VSM4srmtDX4DEoFs5dRj1X7Vsx\nko1X\r\n=xpgz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b_1601042869987_0.37224991125311857","host":"s3://npm-registry-packages"}},"13.9.33":{"name":"@preply/video","version":"13.9.33","author":"","license":"ISC","_id":"@preply/video@13.9.33","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"86d29ae74478ba0a3d218d3815c9662300ff703a","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.9.33.tgz","fileCount":506,"integrity":"sha512-cqDfsJa+DHCQzF06pzOn767UEV6Im6r0HB4NUek6TDFuJ0aBLys0gqhme9qWg2HeVXRkfYDNjRzrkVFEPkD6zg==","signatures":[{"sig":"MEUCIQDtFvpD1nkx+HvLDH3RUzqMscQ9q1A491Ht2SjdHTBTSQIgSpD21BABO2wIFNZhuZ5eN+VeWhaHAydaQvNV5nAoeQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15423455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfbg/KCRA9TVsSAnZWagAABG4P/ixefoRIpLZvtU7I3dAr\nOx4HzOwgm5GyzHPz6lYf9ywgDn8fC1tk7HthheRwoMi2PalYfMacoC09s6IR\n6uNsTQDWiDmMFbJECyFR22dDlaD5x4pIcmIOIsa5Apcp+dBtzJV5hkvSt5i7\nvqXP3tGQEh4qi35+JYa138BKJqbdcgp1tm4bc9bxBVrcllJnWFI8IF1aTzH4\n0s9/QDrZVU2jFYhocSwOl8FpdUIpXrgqrI6K07RwGCPcnSnlrwruV3MgLfJt\nBjE0/zlNSoiEIBvq6XLLtj+vLRyH5Vr1ZlUyCl+L1iC2Sh9HKDimne6dObL1\nu84SW7qakrKSrrgElwYiTQJm4W2+8htQZ6NftSN8QzNh7b1Rx8wQrWByclGy\nTLq2myprtC3IrmGoWoClUBPtKIceVMRe08Zeri9Q31BDqgZAvea1DvHqKMLu\nA/TGMOEpzz57BupPpmQxSAppQ9gWSjNsKZ9s+l26fo1BPlEkPUrXugg8nCaF\nCmUC+LOC/6mG3lD/U+s/rAAF+8YXzfqpOVOi4vtpIgIjf8ODA0xmNmJ8WzBM\npYaLXnGu8pK0UYj+IGzJO/vGeEaf04+p0NoymukTsJ+inQF9+Lgll2616SOL\nELn6X+UxUaTKzFznqCO5QVAUJ7R5HzJ45SDnLmN+7KST7yF0BFZhLc1AMcCG\nOc2r\r\n=5smo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.9.33_1601048521566_0.2425624129742494","host":"s3://npm-registry-packages"}},"0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe":{"name":"@preply/video","version":"0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"aafb2f27bc645fcad18557c21f1f726a0be11e66","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe.tgz","fileCount":506,"integrity":"sha512-Wo8I89r98za+OSUsQYXEsZEWFq71GrS5BjlLn1WSE6vSeZLUWfP5loPy/AxX1Lr4zv6gySzmSDa33rq+YnVmqg==","signatures":[{"sig":"MEYCIQDDeairyh5ujmGvwnKkF60tSOCpxKmvpkOg0CKb3tLkhwIhAP7idR3D/9nEUd+cDNrEkWUmB6zHXWsh9qS05ZxhYkYb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15435950,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcJHDCRA9TVsSAnZWagAAUjwQAImUELnxJg/rshCg1HMW\n6W8cmiPp0A3yY3qYVn+klDxwssezxLPmYtMKK/KbgJkLSE9piA2pWUc0MzNZ\najBICuFDRwW9uAHHC/GG0NcFG9XOhu1srd1vx6ZxESKZoxZiBcaFjCKhcI7l\n0C1yhfEOFX6CgMjP36ukN6ydNV6hrQSfsrhuhCUsIkJ7m+O96nvcUP+4bpxP\n+NdFNmD6huHxS9ZC43f2TohYLfmQLkJDbzOTD5ctBugkOG7+GOdnPzTNnIYw\nUshMcv1qlYhrSaGetIH+gKRagiRGVtOwonfi5EJgFfB4qLTKbgwZsyS/v7bJ\nszkYyXhFFrcfTKR/loSEOKO18t7lBTXSHTfxAmHkWG99ojcw7XJpXM7HLfXV\nP6RggjCLgYPY8aEGgisCf/SwWm7ejPElFeZ0/M/QRqm0/jUuPYSTJpLQAiS+\nFiflclMWvmb8mKqzpngAe9anKA4yrrTSP+KNDuLwlEfE8Q+vd91jLM9s2jvP\ntSJ0Wn94zHF0l0POK/yEU36x8ZT95sc/KnxbJKdwnguIGjXKM411GNBrqTi1\nmwaEVKrlfARG/pxLOuCAWcuFF4nJilcjsVgHtpcZ41cWWgeO+jOgUZXqBd+3\ndht9sur3RZLjawkeHhH08XolPDbhpuLczEt2VNaqALUOswRA0KErdrvMhBAY\nabNE\r\n=EfRv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe_1601212866932_0.5429005016298805","host":"s3://npm-registry-packages"}},"13.10.0":{"name":"@preply/video","version":"13.10.0","author":"","license":"ISC","_id":"@preply/video@13.10.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"efb83ea19e7981e99f064d6e27f1f82a019a8166","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.0.tgz","fileCount":506,"integrity":"sha512-eR/agvQ/67PwW9KxlTEwsZyxXP3M+7nx/f7UauHFTW92WmC45s3wzUdyg1h1v0JEMRuz2eZH/fFdvPL49wuq3A==","signatures":[{"sig":"MEYCIQDeuivugSLvmqjo/29p8mACziMnQ+4CAHv7geQUW66m5QIhANAAs0GkpYQ/yYg2VzE9kU+mK0vKEFEsEjOMoc4GIS93","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15434586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcKRECRA9TVsSAnZWagAAHQoP/2a5gQXNVv3n7lf6ppbM\nQO+2fTkjWZlGLOCVgPNZf6FEpeZCSA4iCEct0+f9WI9ymXhAKdHKAPbOdu/w\nosgEX235MoW4SDxWmr+CwviOv+91Fc6h0uq830k2b/n0WyGo2OflFiTkZSGL\nG53BNS9CaGEexOdAzsriwxJc4EmIXQrscLx0cssxDPTb8pI8Z3rHptGxqXLP\nr7BumOdBs5IqdeB4PU9UKSDV92HupHhlmBj9w8J6/PkB0tn8k3mWk4Ea2r6r\nvo95R0f/7GLv9tio+ivgYTxKPlXOGwIcofYY1d8ytCgDRiVhcqvnwPcO7ykq\n1AE5Q+4XA0ypVm87HjwgPwnRr01Wkm38ypQqt8ftCbv589tt+EQD8Sk6kzyU\nd03MDHruus6fvRUY2k9gHwZncv5XlwaXJW9+Oi6KxXGnHuOcN+KD2shwCD/V\n2zB/wUwTFpEiQI6B4I1XPhIXCROZv0e4nvFOyCXFVbfffqpxlrqsoWV6fRgM\nj0IcQxSz3radkPVKRcUiNZikabIuw1CfJYOeqNhdqhhekdaxOLS2YfzUh5Il\nq5Vs6nlQ+Gcrp3e9iUkTi21uXeHB1b8o665XNhMCirrqSmtOZccY2fITx+WO\nd+EpTIuiks2PaKhRsFo2OGbPaZFcpf8EpuvgDwAwDYyTMjGG/6uC1r46ViGP\n8InL\r\n=Ia1C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.0_1601217603840_0.7989400290630977","host":"s3://npm-registry-packages"}},"13.10.1":{"name":"@preply/video","version":"13.10.1","author":"","license":"ISC","_id":"@preply/video@13.10.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"faab9ba2013394cc8008a7efe72c99492704c4bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.1.tgz","fileCount":506,"integrity":"sha512-9P+WAMI1ARLYRfARnoVCsgQFqa3bllwG26EmULffzCpHgnsdG77Mv3ABGoz+JQQi841gmmyRJJS1SZNUuyn5rw==","signatures":[{"sig":"MEUCIGyoB/ho7DrMi34uDgRVHrdbaegMeB290NGPXhgTN7y5AiEA8/4xkyFwUcODFCeI+Cxh9R/zvPVYD4ZEE+vC2L6+zas=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15436991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcX5ECRA9TVsSAnZWagAAwlYP/RcxD+hcsGg5frEkHRgG\naSxlkChShYRee2wTPThjPkiYXsyvajC5hIt9p5ADNP/Bw53Y9eUDbfaMh1KW\nRytYmYme8ELw/b7jObQ7YlE5Fy5taG0U5YsP0W0oiH7A1zqHbgisPWCfCn3T\n5helXjDmoDvMff5rS5KWlt5yE8S1fPuktpzPhhJ4nHZWWH85C2CerhnKWH4O\nV4yvvKFyCViVjWAyigjXd8Hw2BQPzRNRxLasceqWvJnXvJeYE0TKuReRUi2X\nOXSlko3CJ4PTHFozQL6VCJbHvRsgVQ+DAJjMWYzp4Rrn6oqg1gmF09gPZHxV\n6bHLjM1XFsNfFExSGQuieLNEYRB/zH0WKhLn//YbZQkFPdygdGtxuxtLqbGV\n75/5iyydL5fKBfCTWR5Luq25HmFjWjB3SVIVG+pj4QOJ4rh5Xfcmw/5zfyBP\njhp5qisURf2hxN1/2oZNF9Eju2nF/MOKJAygTpQqtbiVTjioBt49/St6lFPa\nGojQb20rEuo1p18D7vQxWedTZf9SWcsKeK+Zk69K/82gs1a4YTEekc+97gRG\nftZYhubhVcZzufwvHZpCkWTbUL1lC+ECs4l+h8AglKcCueI9LsR56HrOvWYG\nSgiJWzDALJ3zP0Wom8+6EgNWTKkZmPSU8NEC+gkww0v9xK9wgKoQCxUhBYdv\n1//z\r\n=xKOK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.1_1601273411670_0.24710116698113316","host":"s3://npm-registry-packages"}},"0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40":{"name":"@preply/video","version":"0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1cf3e5135a13055236d41ec2c77245be47aff682","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40.tgz","fileCount":506,"integrity":"sha512-HhPXuXcW/b9N+Jt81A2U61nF+8eiodSU8P0bRqlv91+4mLbfKa83SHLJOlLKS8N4FggwAYyhbO2+6DT0R81m9A==","signatures":[{"sig":"MEUCIQC/ydvRgurVYCYJtk2a+hNH/uqK8cdhIU83PiVFHGjQGgIgSXTn1i5zv8bGwJpqdL43NR67VRf/+I2uwdqm9ZPhkQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15439670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfceDjCRA9TVsSAnZWagAAFvgP/Ap4zbQPH6ZX2ohOKTa9\n5cNKSVzsq51RB3rAOZREtU5XqITaa9q5pJZ0V1mdZd6UgKSXI8qK6QBRFlDS\nwFvZ+xnbRN1JXCYjNxN320M6fx5ZDezWemFijiAMhkBY/5n7DmQaqkQeWNdy\nNPQL9pVSA2gFVRxHT0uv51d+fzxvGVbSkVfvWtCSQ8wOnjkYDXV/iVFhVrYN\nj2HyWWrwhFMKl7CJGfj6tNt1r481QxuMrMx7A3eEA+6oN+rWaBmeWll4VWZt\nGPk/zwBgnVQcOrGINUE1xFNWLZ2u2jnfETWF6VeHIIRuBlzX6Wv7D5R5vATB\nem6yjX1HQ3mgzBsdRLDOEoP2FSITADbmVEAJyYwRICArPatXSzPyOom7Irm4\njGIvRwS0WieAR4cAynY1Vbz5E3G0HmEB9bwNKj2liTiWzf1cl/2y1+gm3/Fw\n/2rB9OqAzk+cDOZQDmm/jR28vW/SNts+gcxq9+nXy5NWwHiWDF3AWVfz5aej\nV046CPHhhr2y7LbyuVA9b4rPw6Rr2Emx7rxB1qU9tSuMnTgeGBCfA4TwLYht\njkUxBs7MAEPCFHscGYoBWDekd7wwaA6/zh+V4MZ9bimLVEm0YqRuQ0kW3IUH\nBVlJLQI83RibxOytKMl1GYQfXrmzVPa1ZNIM9gPMXrM5QsinDCH/3yB05hik\nIRdz\r\n=Qvqi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40_1601298658262_0.41682518419528347","host":"s3://npm-registry-packages"}},"13.10.2":{"name":"@preply/video","version":"13.10.2","author":"","license":"ISC","_id":"@preply/video@13.10.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"bbcc9c319ec98f0acfe097011dca46e084db7149","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.2.tgz","fileCount":506,"integrity":"sha512-iYsv3QyAq6sIouTkqExPeHKU++qAxBLVOE0+cv6yywjmXBHIg8YkCOwcKPURdscEiTGo859Q3A0TtAuugGlVkw==","signatures":[{"sig":"MEUCIQCvcYd7J1D3Cv8pY8t+wJ2y2LaBpn1mZmXqGML4lPmzIQIgZ2D2dxbrK56kBqrgJIhVR1QZwdJR6dSTocV8ZBxK0qU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15400540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfczjxCRA9TVsSAnZWagAA2i8P/3xgETP2Cagqo8OGGeRx\nZN3PxmooueS2jzeZtojAY0Njmlqne2fQkUd9Q32LnzF9RwG/wwISHEKJWrTq\nMzvfh5vaTTzLdktQNTegoxnWZyBzw1TE/9mSvuxk9XlZzNDGKVW2kmW9Hbog\nZKMolse1kbwo75th8woFM0dQwR3rf/CIA4+2/0t04I4AVgKl/D5QT/+StOxq\ncNjJyDDO1yWWGwDCB3ppSnm88Slm02WQ17QgnCN4W7k30yK4omIeIHl1FC2+\n+IlzpadyUSL+Er5rja05oMmJI62mI5PaxIypjTicgwDeTUse3wltNdilAZBF\nnB721Y1Cd8R3q8Pe5HNbCholaS5GRy09kkDQ6b5mpeuI3K+2trEERd3z3RDf\n76swBRyNHSKZHqhXk7Wb+ueKhPDHXVvVA/mynzHQ+55aX4Vs5+w4UIn0Kkub\nPJyUsdxuWdCpgKPiDvVGfpALqBrluf1rXrhfsKwE0h8Cq/vkHxmSVW2fe2Qu\nNiDGu2cf0McB+YNbjCUcgdb/qU3X7TePUSGg8kLaUlbBK+aTaWJb94FV7DoX\nEQRP1iWTO80J++vcz5tmiacn2J0V7zXKtkWJPGyXhOWVNEDitT5oY9kT4LbQ\n/5Ma7mMS85HY/GYTiEyvx2hhvTtzp6rJtDksU4tirMQhQvosn944l5c90uJj\nbN/n\r\n=YvVg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.2_1601386735769_0.1792197479069635","host":"s3://npm-registry-packages"}},"0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f":{"name":"@preply/video","version":"0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ca42aaf3c5beb9458f4bb8461bb6c27f549d3dab","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f.tgz","fileCount":506,"integrity":"sha512-tMdx1sTLqbJL3J1GOgxNEHyavjswEsvaGGjxLyEYapiZGp0+RDFXDUJZo/hPNvMa4gEI1N/njRaJxX9492u3wQ==","signatures":[{"sig":"MEUCIQDcZ975vXSyB7LUkQqJO89uzt42juHx0pHrFfEU4vyc4AIgLxaheN5d0WwjgrTNdOhgGxiae0j0M2LcTkYDXanfVq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15403179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdIBoCRA9TVsSAnZWagAAD0cP/RqpDr89sJ+ndLig4mGB\nfVijRSbCW8bsg5eZRceYp+QqwK1l5gx2M+IdoVa0h1yX1rkBi2RTTPCSfJCu\n27AyXOifjb1K6UXpg7yb5JnCO4GEfS7yFfzK1i98FUw+WKJs2lI3cXnQDZ5M\nqNfc3eCfAiZBuOk7HZn5RPrWf0+qncp0pyfD/bAyYOGg3aGKlzVfhwI/5bha\nmmKnH2BzRjgBIiC9BDW9qbCv99hRXnY7rFEsMqaThyuS2NZnHsuVLa1sELko\nHQNaqablRoW/3K1y0HPGYZ+uvYvXoIzxT/Rq5hkxGJm6bDGu0Ot2NEBFrMqY\njbWtHesy+hQVd+NvvfuzOmOWzHBJZEz2ZNi3sRt8nOpl9vOgU0YWgTSazwMh\nEwE5upAwQMht+3YXK0U4pnJimYH8Vy9t96Shnc+Loyk+obVNYxQliWO85c2C\np43wfnl4qmPQa/ZHYhTnGOurA6bEDpZcc8/1gq2L107KDayPdzSkIvopKP4V\ndPezBd+OE5zKWPa4fS1ixkC8vsLyQQyt0N0xkLs3CJenitL63LN7BuqygTYM\nVIGFOhpsq26XQUfrdRSOJM49OqEBpJOGIgi4/JND79SL6zlCXQeIAvRdDX2D\n+S9jllhn5uoeVJRTRawBH0KPmQHR9u1k+YQOOo1pg2+mccnRZEre7yIZGaAT\nvoX/\r\n=QbfK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f_1601470567810_0.24158854416401865","host":"s3://npm-registry-packages"}},"0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2":{"name":"@preply/video","version":"0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3aecb3d2c54b9f32d36f1ea8229a85b97d531d67","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2.tgz","fileCount":506,"integrity":"sha512-FQlu/z5oNdVyPTmumA6rpoAU3hakyTFJ7Qh0zU6HRqH1ahHIjLNYzDl2W9442oyIFcihsigA54osNyC6NdEPTQ==","signatures":[{"sig":"MEUCIEIAoWxH5oRzY2KAJLBfR0dt3JN9saWflnkWmjthdPkfAiEA5UiZJnk1LX+Zi9b28fCajnsuzZqjNGPzKQR5HG4sSno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15403179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdIz6CRA9TVsSAnZWagAATckP/jJYdiEeutaVbIFgYCqf\nrikrIHAH6msZkAQ5nOZ1J8TBM7OCHRcjBNy/UiAGUTIDzwRLlEbgJNjrXga7\nBhxjhxYIKOOZebhA9ZsEec23eWLXdflKHcBZwOY5G0h8IWzXqYDB7v9R+ZSb\nbtrz+c4sepb0nsVMPYvHHwksV0cawmVgzzHHpvgwDIDy5kafwF7nIAdKsIPX\n/+7WLL2ZSm0dYU6um8wSZz8xroGjZZtEkNw9dp6jx7GTvZzYlXWj8gxpHZaL\nJkwTwopstZ4ouCNrHcqy8qaiRPEFJSjMibTFTT/BdQ0R39fKIClFw99zqNGO\nF24DxkI3Zmh8TK7iyR+PQvm7fWYWPQkBr8Rv8sgrQlmHrYRzD0FjBrmw/jP3\nYDoupF2p0z42heQornLY+kwyTNpXZmwi1KExQHVu2SpbNQi2SRjvnnq0Uee8\nfFeGTSZF8BTLvJwPZf3wOjv3zJCTKyWFrVkkqPsJfsf4nUettnMA/69KjXVb\n+EAgE6SryO0WnvrkEyO0eYvTdxRZJItUfXFpTbytPmflYIPiBQX/GhYlSPvj\niiskBKMH2o03sf3YRSw6XyU7mtS43rQVkoxcgA82tC2aIjKTjT90U5lqRoKp\nXq4hdJ50sD9PcvRdrq8msLbrnRuRNgJH1rk72N6ojI7jTZbojf7qvzXsvncV\nvV7Y\r\n=3wKK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2_1601473784789_0.7540012781335408","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f":{"name":"@preply/video","version":"0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"11a2e70557b1f492cfad60f581df1ecee84d893a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f.tgz","fileCount":506,"integrity":"sha512-u/WUOsrRRQFbGcQo00RX9zd8uaQZTau23ZxQvK1WaFydCNAIw4eaoVHDypzsDnxbH+mm5pkZuYOASzSWKvYt6w==","signatures":[{"sig":"MEUCIQC1U8ljwAfBx04WtZ3zOg4LXK9DzbNQyfBBUHHc1I5KPwIgAuVytYFN6bo7k4l4s31jwjVlwVvtKzfOe+DT9Wx2jB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15402490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdKmiCRA9TVsSAnZWagAAPK8P/jcWpHXj78AMs2dUUwR8\nOnv8gp05XzWDLBnL5Wx138IJUoaN2ikB+qJ/qx7SW4aXgYForGKj+BuhxOZ9\nMUJOAQ/M7CLE5kBHxBm+0fhrE3ZWbci4wDsJryRAwb5evTDBsYDiklT3zmpB\nR5mjn+Xj6LV6TVcvNC+B1QZ2VlEgj1sxzPJAHM3SC/Rk6USnMWOBa2svez8A\nKWJ7DB107BMNVI8WA+hliFN7GSj20Srzeujwpb7BaHgbYDedzOue1ksgdbSv\n8e8gRKAvHvBA8XBt61JdJWUGNSQ1tRd5nnp/h17aBnCyh3YZWRX7d/+LEXgI\ncynL/v1PnOr1fk6B3XKtiOMLqpD+f7+iZ6erB7MffzsnM5pUgteHOiZ7gBqS\nxB8KI2iEfqr2qY4jLdaIYmVeFvlrB7e/hs+ldmg7hJ8aJGE76Jf8SVcnrI2d\nGxCn6NtQngNxbR6A0cYh+jvRhTKJvbWe3ULVlXwUTlWN+f5oBQgRrP/b6hBL\nGC/UztiNU2qnjkAMO7ObyTFFxBSsMagucnHjBo6R1BGRmnTr1YKD+yh3TihM\nHcvarnunV3QJRIuzQBb/f37yPBVRcZZMrfusXtt6o21F3+FsnD1f7y31EN7q\nHpstqycL4/oZkIWHPTq99URSRViNeWwUSsJH74IUjUM13TsTC7Oq+bm/6qdM\nWzfj\r\n=aZ6+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f_1601481121233_0.9346161114709175","host":"s3://npm-registry-packages"}},"13.10.3":{"name":"@preply/video","version":"13.10.3","author":"","license":"ISC","_id":"@preply/video@13.10.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"375fd5158cd4094bfd8a7d9de82c2c2e3a9cf502","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.3.tgz","fileCount":506,"integrity":"sha512-trg7ROHDvz7OjQKtvoXbCUyerxXYoC09Q8KDavBIUgBGd7S2vJcU/9rE2bt88QMCavKX+71t3+Qi3m2VVVF01A==","signatures":[{"sig":"MEQCIFxal30MjMKRcJdfLUZmaElcSW/gWrWVmacinMVuWjk5AiB2l0lEwd0EOGwW6VKZQTPWSHZ5g5OJRSHQM6PGmoj2rw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15401322,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdXLPCRA9TVsSAnZWagAAmjIQAI9h41oCbpOGlnoWBmuZ\nXlfhPUYkv8jOuGmfRKoURThDOblOtoBw2aPzcUvPhNO3nHItrPvWCHYIm7Hq\nWHtxE+kg1kpNxThDty5tHNyPe2CNEcsxhRLGdWmYgsfYHP+xd4P/AuSk8Wf1\nys7P03l6248xfVBUtVYLFkNCCZzEJzoiZWIBuzqQPIGl4DXcLjO8pDKpFYzz\ndgSbhsc1wkDJkb2+itd0Lx+1D+uyqP9DwpnNduyXoJBaL6HfodOIQCVEtvWx\nwSBFMamF7dizBkhlKfKJhSy5tnIsemMUwJrXPk2o0FY0FBdA8usgt1j3q8El\nXUNe+Bz972ALRuyVwq1N+qN1pHUdg9+Cf/99Us5IRSpkXv4WXRFBKgq1eDxP\nMSoD0Srw2GTwIH+QD3iP3Mp6m53SaGRHZV1dp5rHTnv7sFQOYVZE5T56+MS1\nEbNf5hEfoY0/cIr3kUrpP5zTGwXzfkyi96E/9bsvjzBhddwXvAS63wG3ZwGs\n93Bl9go0LwouioIaA2MQ6UYdgxIOAmXUss6f1m04pj3WJIAwiF1XpBxD4jLc\n5LSdLDsUTBgmg6VFYzvWF0xMgGMlE9CbHHkJfV50Pp8h0hEXx3bYLf82g8cW\n+ij/B9jKUrUawvh/txtAd9yImJWQ9BPyiNn5oqkLhH4QnZKpUo01leQ59/lD\n5qF+\r\n=BoC4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.3_1601532622476_0.07458638263397432","host":"s3://npm-registry-packages"}},"13.10.4":{"name":"@preply/video","version":"13.10.4","author":"","license":"ISC","_id":"@preply/video@13.10.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"91df92183550ffc5593c3d56f2928e66ca7efd3d","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.4.tgz","fileCount":506,"integrity":"sha512-Yu0HnQYjtaxQN9y6EBFELKcRbdXIwpwrohM0qeybjaA1nKwiu4s+LeGgUGHt8wbw/Tk1hNIk4TbhA0NUuUx19A==","signatures":[{"sig":"MEUCIAjKxu0dERYNPv00bzzJM6ZFqDunJi0HomTZTs0Bh1zfAiEAhxhdbZ1HfN9mLn67KXiVKVH9MPtjSOStejKwDR/YrUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15405733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdYDFCRA9TVsSAnZWagAAYVsQAJ5ijiakYenuGhfiY2m2\nJz53kbFMLixLnAVgFDdfpphUTefoDSLMsinPoVtzfwdhHDZt4ujrqPlWChEv\npet4hVioh5PPsp6UTxSHdcagWgusfNYCVdGfklL/UMAjDqmxIxwfoCvnKpDu\nGyb0g9tHRFT9+q6CpQ2YyaJ4D0JQ2ZeoVhU1aw2BB32OLDH8Dz4aXiDau0hD\nwtrOrO97A8TwBMghQIy6tS+Gz76eJ4FK3yqLiZXXcnxeMFn/wJUbRx6Sish0\nLKEVEm2X9SMGT1GIlFfiaicCMJdbgAn5UKxTYDZMH9d/OI74o1Ly46/+m0BG\nTH+ZeIuzgml96NSEPGtydmouflSwIMZdMyzDNaGkgp7oGigmiUbaO9MBM4NQ\nrz+EMPKFiUA818MEbCCGkgKLRjjmo6bpYeVTjiqzrStFhIo2i6vre9cgl57Q\nQLe1yxV+z4qtUsFRPUJ3bEMG/zPYQc0bApejCSr+vbH55ewgDDn73BQVYxsB\nJ1nCzOvXc4e4RXFC+ULrftQvclEGX08y2ia7JtiKrvFv0G32g+RneOt8MGiF\nvaZ3XIld2xu2ErhwSKup/n963dvzfgcQZjwpN+Pyx7Jzabv7Y4auNM0EBKYQ\nnIfZprseEe00RCeVNHM4pF8W79d71afMknVcdJnH3sKeeslDK+818Hi2xsRr\nyusO\r\n=PwLF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.4_1601536196703_0.9760817530883923","host":"s3://npm-registry-packages"}},"13.10.5":{"name":"@preply/video","version":"13.10.5","author":"","license":"ISC","_id":"@preply/video@13.10.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c376de0b579cd526c957424c08368ed8748b1d8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.5.tgz","fileCount":506,"integrity":"sha512-Mw1AHCHeTDzzizdTkQOssTvDYuvxm26mLAUfJ/qvwkNiGk7QOZyx4VlW300sxko7dNYFFKRIs6IcMHo5sfbu5w==","signatures":[{"sig":"MEQCIGW3bEbU2HQprR9uxCcukNTUB1RKJUr3GX1xVVP45q15AiBU74cYndh8FMyDPBfNbPFz9AeF70HUOSM2oyfO62+vPw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15405928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdariCRA9TVsSAnZWagAAPxoP/jopI0cbm07OI7twNeEn\n02tfjqwSHAmxh/41ojGEMF8duM8MZ2gT4RpQ/6fKSXWBGJFLk8bz5pu+/wuj\nySQp7pk9mUa9hS+UEBIv+fEh6+nePde/sCNG4SEz2OZlxqJuQqi79S0jv5Bh\n01XWpru58YdxrfS64AdY3rzSUQb+bO+Igz4bxc0nhweyWHxuJwEfKd4texBo\nK4JuwdHdzeCIHPKNmzM3/sx0CmTFUXM+dD7kXhDVSmvzcY046WEka8mduy/m\n/SIC7tTic0kuD5kn86yDX1MgGy/5001unaJbq2pkMxU5TF8goDqaGt06922S\nGYoEc6cGHQAzm25HTuUJ7fLgfz142ATMhCR1hAFjGsooXZillinoWgabfDx5\ne9YKCzF5Jw3lK9XUktqYxY9GMCU9IJyourF5MjM3Nl0G+Z7Px9uJsM3U5Nzd\n67PXKXeVpQuNPUNESnbEY3EswAadWIZ6e+54eJGz7hjoQQjl33xgCPoJuFje\nZWrLr79W3I6ydAjS0RXC5QG5z+svIxSN6ZNz1qhsBDjU4Ktjisu4h8bOxKy1\nnlzngcZXW+Kd/3Qbo7+ugee+ZZLiiMLNbY3BuJfLotv/WZ7XuN/l52sYvHno\nK5QhqTJpi8+Cw/4mOD7roofBFYsm2+WnP5G9mQLr6jd+s8tXTtXrSFK8VW3U\nlRyj\r\n=nrQL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.5_1601546977099_0.8025595923434417","host":"s3://npm-registry-packages"}},"13.10.6":{"name":"@preply/video","version":"13.10.6","author":"","license":"ISC","_id":"@preply/video@13.10.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d925b488797526559b196b4b1d5ef248306b6201","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.6.tgz","fileCount":506,"integrity":"sha512-dfSDfNnUYDTD3c/kDA//KmOlghS8h9S2+b0tt3NAg5E2EG/p8OctNAjlFrLT3g09iZ1HEGDGMC4CqyS4m/ZXIw==","signatures":[{"sig":"MEUCIFGJvKAmCPHevd2wGkmSbWYIVXOjy15LsEnW6TPLsAxVAiEAlIbLvEfYPCjk4WvO5GFbHaDdoX6n/u4lwqn5iWJ8I+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15408260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdsQwCRA9TVsSAnZWagAA1OkP/2V4pF2NfcIffFi9V8ih\nbXwmVfx7bacXPdNZiCEewqP9/7FR+sEyGQuku232hr3GPkrfdui+cT1ZrhbB\nuC7z+LkMDrUtXzxCYoEj2h1ToBTyDVQa3Moo4Sy5H8HVrsGQ9v6JFGpF6tCF\nt+qR7euvqJMNiODKbKZ0jOd22qvfZL9nCcYhLyh3OPHMJ1dONiRGAq/CewCH\niJt1q/tELvyTQdJAgf9HPPBDCZ7Zjxpe9pwC/MGO1TvxZ9FlDGFyKv/8+KSI\nBEd0wm7fU5Bh9mgmz0fBSxGfaUxLjjUZr6Je8919Z0rRxklUS76aeapdeAmJ\nqYzIjr1DW5tK/uVa5H/Ox+AOkcHmuZrCI8ZA5bpgv5pLd/xe/UYqdo30vGrU\nVpnXp5IbNUaxqU5HPTiTCmzTfgR1k1Xk+dfyYI+nDIXcITZO+A89wYRtXXF5\nc6+LtYz/w3WrnWxKbxHemPq6R9FpRo8S5lryPHrBI3HBHDnhbphq8eE84sBs\nYUNwdVCuTytQEhOQb/OAxsk0EMyWRgL00LTuAYCwaRzZ7LGoBcxVLT/DtiJ4\nUrCvlGJtnKgbEJT4UKoEiO7Wej7f+xXIoGZet5PhDozXMo5wI9Z4VsEjusfN\n1kq25PFebFuqaOK235X0jjdohFOj9rueJij/d1kIgPz2Pn8LUoYONi/vgGXX\n55Pt\r\n=QB9/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.6_1601618991848_0.7214632532560337","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686":{"name":"@preply/video","version":"0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"09a5d7db2ec31d1bc32b813a28a5f3b612e4ccb5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686.tgz","fileCount":506,"integrity":"sha512-9cgvU2cjBvbUDwSG9utRdePJkA5YoCInF+LRdALK4zdAbjLN5vzlvZl25dL9LY8ludZIjrHl8B10AKaw6jvNvw==","signatures":[{"sig":"MEUCIFqErUlrdXZ2t5gK/3lKrev+2siFMOggzIrrKLPehm99AiEAxCyhVGSp2wjqP/DZpV5Tjb4Jv+AmHqhof3PKSsNotyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15410209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdxh6CRA9TVsSAnZWagAABpAQAKDXCVq/844njX7UNaFa\nTi5d1a8O0s7Ah06r+9VdMvWUya4xQCebn4KQvX4helmGy/x/FOqEpZDrQfP/\nbT4oDFpXh6ppEe4fdVkrfo3YdvJfewcHmek9Yizd0xnEpsjFaE9yVfa225fI\nRmNSzAUip20dqqjWKp0WVDBIo/IZz2UnOcyvteG8P2WzisAJFK+adTgaKBh8\nxsUBHgFQ5cooXyBCY6QPDAef36jhMoyX4xuLJjajN6TRu7/YO2wfvi8BThmG\nw77K+fCD8wEFGOQ7MGmgN+EFQF0X2NsT9XxcgiXaPrcpgOUAU5uEuCfhcXuE\n6Fs2NfiIT+Vbn+si4onPO2iOMqcOz5lFEmtzlzGPHhZDdy62QTJoj3KBweJ9\n+CJ7m9MH9HR3vAR9rs8iFBHctw8DsVQeqaLRfXaqVxIJl89Ot7hUNHYdF3mt\nrwfIuytBlK8KXde7YZadA6Axn/0h+tB0+Y7sEUeJ/IXn9lmEfccqcFTAyyeM\n0SuBFdf3SNK7mWvLMrq6Bg4OQY3gjKlxPlWpwJzlAJMjUzjdi4k3w82abArI\n4csTMtn3ddLMnTlKiD+quqCypjazXumrXpNebB99l2bEydMyyGPL1Ihfk8bk\nSMP7ROoinydYELT8Rlyc2r8dWDJBio+sLhZ5f20s6psHJ9JtXxC1GKfZL2GY\nfaIp\r\n=UHb+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686_1601640569382_0.9879936344957603","host":"s3://npm-registry-packages"}},"13.10.7":{"name":"@preply/video","version":"13.10.7","author":"","license":"ISC","_id":"@preply/video@13.10.7","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b9f6b9adc6fc5b46e647bf827e6a2f12d3362bac","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.7.tgz","fileCount":506,"integrity":"sha512-pZx9AArSx/bRVOAiNvSbNhhTP1+Gxi4BG/UFWTDUZDw7YHWqI7zNmkCC6ItK72+Ym5ReSuQdyF9KCJuwj9UsIQ==","signatures":[{"sig":"MEUCIQDoPAOyAdW+UPNVhH4PSEB/6uwFvot+5isI2N6J7ZcjjQIgcUVIoBKRWwBFVsot/lxoOmSy/BiDW9cTxsSs9mlw0tE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15409417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffAoyCRA9TVsSAnZWagAAKBkQAJGxIksD04woFl1pQ4uZ\n0lMUlDZXTyAd83AUM1wC5xLuDq4LUgHZD0AlHz4ZYdtD3qmMt6nammkHwfN7\nP0MPSfWh14/GXIvYSzt4Ot4HKa9k4uG8hv+REfzdnXgc3A7VB0L3LBpytrKs\nTmydg+nsjWYW3HVC7XoTqayT1BM+EWuHVbTm1i6eLdnv0aVnDOY8jrVQ3SpK\nJA4pBIkvhyrs96aiJBfF/68HYGiBaWJf+ZB0/H/VyU9ylH7VkXEiec2YB+Vv\ndx6hfFE0qYpNZQ6AvI6pkF7pPGyndwSZoaFZFwuIKZikVGDc/K1A4tL7OhJH\nenHGQBiRnEWJiQhINdG9BuQHyGxwsKHDqXE45p5UYGR7DKdQ1vIyKpNuEnf8\nk3KS97tM4+CE4LzkuWrWuIOiWGVILE1KI3d+fKIkUOxKNxWgji1/zcehsY3V\nXnOLtoL7TL6ltFfusZUDREBOII03pFJJBQOcgrFY0jw2YOQhXfpqJyP6Vsid\nWOM0ScJPWD5QtzVz0OhV4NwLfALCSPpAPvg2SZH2spi9W5C5UOutge2YnU2W\n/gXoDQZhzKWP8Li4ZLwXaSXzocAWsUNH+La+d5AlIodITYIKXPB+9dM8cldA\nhzMVje2fQMthHl5/623oF3KdEwTV5ojrldfPXfuF2jRIF4H6gJVnBTGF7blX\nlBPk\r\n=Gf/D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.7_1601964593685_0.9112566700200366","host":"s3://npm-registry-packages"}},"13.10.8":{"name":"@preply/video","version":"13.10.8","author":"","license":"ISC","_id":"@preply/video@13.10.8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3861c5817f9faf95bf6824a4aa3687519ed68792","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.8.tgz","fileCount":506,"integrity":"sha512-b+bQI4lfW2IN2S8UfynQlJQevJOxF0594k70/NigYq/5fNw4FW1KG6dMDghqccRngSrk7gF8mIX6Fv05JoUXdA==","signatures":[{"sig":"MEYCIQDeXIDYA1ULOPCefLHRHrNy8aAVvVMX8yXsfmN+jpmHOQIhAKtNRRTKbOYeZZt/NqOeLCONRvUDNxFeehH96+VWBBCM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15409535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffB9wCRA9TVsSAnZWagAA45IP+gIhHDZkoGeV+nTo4PKL\ny6WZc65CJo5B37qLyBuL+lNHH5tPHxljEa6vxKzpyBObOrPzBXL9c+ug5KI/\nHvzXzdiX8AJRDSvFovqAb9ndHCSV7N3nFjvCcFqV9bF8QRmgGWFlOTP3ZlUj\n7n+D6t+vHWkMZQNd+Z0V09S3XdBONPfFE/AXrY02oLO9mm4lZbMCaw/jYFxH\nEamyOt0ja+1f5e6n1fl0aw7fRNITBAQrjfsWlcVe5nHTIvyHajcGZW5cBNR4\n2jAy28Sxx77dX6zKXqFvRa6ehxsJfNrTjhGyBD7TPv896wAmVOw8nzBpIfX/\n83R2xhKRatGbdCdbhMknkMcPcuqduQFsLDQQS5jVVma6oj/s405yOoioGmTL\nCwIPWazP1VEdT34yvMdc2dvLe/PoW+Kcp3TqdyCxAIMDv+OrGOjQvBPfFWEF\nC4VjkyAaCoMOT4O9a/7KZPPLNPsE1SqL2aq6PQFgy1Ln22J1SNUvJ/Kysexe\nUsBQl/LSbvrdpVRmpkpGk2SRSzqRBSM4s9fpov5ZAKhXr6SBJQcakjoBRgKx\ncrK4wJCR0v+vyTshJHkm0KJGJm1BbuhYmhX2OsmtSOFtfxcD1XFvjeYV2l9j\ni0qkaQlHlFwXR9inVbeyd45ZUtA5x9wLG88MZRgQJZJESnKv5llgooAzGYaX\nuYQo\r\n=La9P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.8_1601970031267_0.9936768217602272","host":"s3://npm-registry-packages"}},"13.10.9":{"name":"@preply/video","version":"13.10.9","author":"","license":"ISC","_id":"@preply/video@13.10.9","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"580fd0f463c8548e93972208214ddac14fd88972","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.9.tgz","fileCount":506,"integrity":"sha512-ffackn6RnuBc951FJA+Q+XT1qfAc3bxAXfwNDQYn5cZpLRdW0yasTiPGHzfdE4UocwJvFevppuNU082ZnodtxQ==","signatures":[{"sig":"MEUCIBuma61/0xcP0EEtNTGAwRCZIqHwpvpf135LoN1p5j+YAiEAwbmqfwuPcMemfwD0YuVt1Rv3HWUBQk9sRH7vVlETZ5k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15409535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffCz3CRA9TVsSAnZWagAAADUP/RP9ibhlXUaake3g4dGR\ndUMVamkV4hxlp/FxPA2dQxojrGlmo/PcFUXR38jLB2TCAbnjVydsqJR/Nyyd\nZy7/Ot/VtziMh/egNYQOTXuEz8hzM3INU6OljT0H9jHvsYG8ZPd8J0mfaJ7V\ngr1w3Op77Y/3t8dhSD43q8R44UAKKZI/EdZCnnfQuNRFFWHtE95p030Z92wp\nSuEcoXo4Ky8eayvXTniStc9jiXMCxcQK9CGoKSoqyggzhC7Aw/4NfY14sSVZ\nPL6SgmyapJH9i0hBwwY/Vl0Wu974O1UMcIi7dBCPtsUEcrov4BDRpzP5y4Nj\nRZZAwgtxOGjQEglzT6sax64t5kE1hZJkZqr7mWBlsITnrYFoZlOecXRGq8cA\n7pUTi57k30mr3Ku8KVtnlaljnAx3lW1D9duPPCCini0wrdwB7XtftmI696fk\nFq5n37sXIykcQXrV2S4P01HhZCG7+DNg3waDt8AJWVfJbhYpEJR3JqLUNEqp\nSddziVFUR1YCnhoU4PrYJV16z0C6Sj+mEZTYX1QYI4ZmENHTvIQT2X5MTrjt\nwqFv/DFO8LBKZWAiuDVRmFLTGnqaQ+LGTzapdcS7qUrGZKFeraJTHJCpDgQP\nGKurTs/Iz7wgOvIXRoq4EXlL8VmkUv/tGAGjP07KhiGaiR7AVgQ74zeVms4J\nRb+U\r\n=D3Qe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.9_1601973494455_0.860444670759122","host":"s3://npm-registry-packages"}},"0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321":{"name":"@preply/video","version":"0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"18181756112063a6e8554405d48f35b45f9b5bce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321.tgz","fileCount":506,"integrity":"sha512-+pbfrlRjoO5GtycqRO5ERn2yScOwHJxbt1TFP+6XrY4a/X2zXZheKkI7bLmbQykf3gVFMpt6qp9if0jS3k+7KA==","signatures":[{"sig":"MEUCIFItqYMB+PDTl5joTihHF9Gc+WnjGpEdPF4vorjkDl/eAiEApkIhEz0J6QenSjQZcCI2HnHkh3HwxWDm+6hkBAIlBtU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15411485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffDSbCRA9TVsSAnZWagAAwVwP/idZAKxMEap8MV8fRgLw\n5A77XHiPe3X6UYQrbp0m8Jmj3pJyY5oKkMksyt7aP4NCqMHvPepe+2WToeMM\nngBdOA+SkTJyEQ4mM9WpAgpJATZrYPnIzHwGru1tZpXEi/r9yrsuC03TDYMz\nHoQCAUp0RLtXRyWBhvPlNCrQ1O2D3ytxSiHxhyh9ntve0FFAqMovC3PHAzOd\ns9N94Hzlhts6GrmEL/aQpbFG2sfPAl3GVLTPDMPEjwq6prCCm/g7R7mklfI4\n/7s+wvTUQuyYfOxyDbSvdw9XptvfFizOTaOliteNrE7KYcrNzrA6m2EAG4hN\nOpDliFmQpHoImXBqcL10Lx2/mXaAFfybzKlpWXQP/fq+MLPZd10GS1Mda1j+\n6bT+6lAd3tH80V+7uC1sZQo4wLVqnSuVZR60eMiBpPwfAONxesuj1H9pTuQg\nD8H1KG7N9MYMG5bh9CMSNLieuwi4cOfk7aDZ+ER4Ko4v8JtvzIAjHsgBGx5z\nPLBEjWHsDy3tcV1JXpqH4Oz5zkTf/6AtluTO7cfoKmpH74BsgR+iU3GBp176\nfDZeSMePd+YwqWMxSlrA8BExtm6GvxfE0VUvuJRmG8djtdMlCbSjKn8frybV\nPNPDdqIrpzff1v7KywscffX5M/NLR4QgSYXNELtM3q1u37dGC3X/0u2UG/ai\nCNZg\r\n=VXqC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321_1601975450511_0.24455337102466412","host":"s3://npm-registry-packages"}},"0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221":{"name":"@preply/video","version":"0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"19396ca5b5a13c1567a3603f8872119d2c21cce1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221.tgz","fileCount":506,"integrity":"sha512-IoQ1fGVyiR5hP0Zsbt3wV0/dJcoIE3ZVpk+2+z18cuSjHEPT/pCM/SoQYGnVRHCcb94WnTr8st3TE50neNBYDg==","signatures":[{"sig":"MEUCIGF6HDpqFDSEc5T34yPKhuGTvdLLi1vWMknITJ7l4/zmAiEA4aFMKrnk/qa7ysRpfYd61cedgg0fz0bJ8SkupLIj61o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15411485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffELqCRA9TVsSAnZWagAAu14P/3FY1q3nqYx6XAh2nzbh\ncIbFCOIbC4+wepuP5KDcb7UdC4vL60DsMmn6a9FQSnEDCTe2u8aTZqY213Nz\nxMEhOZ6MVY9GoajtkngNDX0PXnSBGirHT3hynxgGPk8fLDJ5ybso2yq8PzC2\nnmmNh3PBoH8eACSmNESR2fnNX669ZCCgyRlS1jvcYYPsEi9sdtv1yKxFIFeo\nrV0xhDCDiAqyGevWdvQGjNe89jlEY9f3BMp/JJZlUyurisGcIxJPtDCPknWp\n2DmdqR0M+P5NLEBRIJ8rnzlhKSnVy5jVZLM4dD0FRwVPWtbbgglSKOIZerCa\n5jqNugHuqMzUOXy1LLhG9HcXaZYis6/puhtj9PRkeIj9xCjh/EoQshib4xlr\nmJGe/DamEMXJIXqimS9DIf28RW4a9j6cuIREDvyAvEbCCiBMxUOtSa95tu0n\nlcWG46zdlizecOZW4KNIk6lU4eSD+BY7yu/+bmUh5Tw11WSTJA68QNfSFuBW\nk2H0VdWEzaHErWSgBK2WJEfmR8VRlkAw4MZ1WKvzy4DDiEL9s+VWSC/9+8Oy\npMhCBaWbKRJRpgK13ak1BRwydisvxYtcm4dN5RROp0SRZrewXp9YGlfn7RgW\npZEer8lSiLKIJgOuB0fuK3/KLJP7ILAtMos+EY2sSNsGwEC7E7V/oxqgbwvQ\nOqRK\r\n=vE3e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221_1601979113261_0.3946949600523404","host":"s3://npm-registry-packages"}},"13.10.10":{"name":"@preply/video","version":"13.10.10","author":"","license":"ISC","_id":"@preply/video@13.10.10","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"815fe3b8d614b0cec8496e8bf236c18a83aac27b","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.10.tgz","fileCount":508,"integrity":"sha512-tgDPkdDGbhxAJm8m1vzqSkoeh0P0C2WDcHKEKmxQWICeJVw+jNrR0M8kUod2N5YQk0sNvlG32WhDHIYklb23Ug==","signatures":[{"sig":"MEQCIFLkqYvH/ynbyvjbYGv9py2aD/UQp2YnXnZgzFXb54/UAiB1iXiYiORc6uRiAq9YSFPKDV99zigq8itMScjRWCEaTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15423915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffdoaCRA9TVsSAnZWagAA+dMP/AhY5I83yiawgRoPKKm1\nFLWypOKvn1v7w3OBHl+7Ka64/kAC2/WRXFCN1Pr82DbtvikaG6TiOb3kQxDb\nTa28T7qsYYAcH9tGb/rFneibBjEgvocRBv6sGkSYJggLlM1VIaBcWoQpx/No\nCPE9nZnbFhJThhADDzB83I/nkY6u/BxBwSbqMvGgKm7shjUYXsdpdptplg01\nz0ZD9bIfTMOEQozyHv/UOf1ZQapWYIKNO7Ie72M4tEBmeX//m6DkEExXn307\nW5FIv/XHGfSaY1v9godFdF5Cy3paNWilzNInXo64WslipmbBSWMpurUXFmos\nQn8qMfXXfP/tg7fT+84uReMOSYKu6bG+wdrSPwQagxQRYNVYHYkpwh3HyW3M\nCGMzx96F2UL0MVnwjpqo95P8+m+LlyFPN3imYwW9duxCYPOlaAZUuAGZjg6l\ngLFXlZ7xXFY6oImTzp4jhBtC1KcuCA0yUmkzY7sj6Frwvc9baz2uUaZz1lqh\nFxDVHr9K/koZTYsTST4keZoDQ1d2B/j4F95EFmTBkF6TFpfvJoLM8kZ7jvaT\na5CmL6R2S7MH2dBiHJ+1WzLuiz4+n3dWH1ywfMQ8eyOxFi081DFxSv1sxr9A\n78LWfPeDI0GnEsXvcGc41X19Og6/5Fu9I+sa5tLU0zK3xo26sycplxTuTTRT\n9xe/\r\n=iGWe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.10_1602083353603_0.24467765467243807","host":"s3://npm-registry-packages"}},"13.10.11":{"name":"@preply/video","version":"13.10.11","author":"","license":"ISC","_id":"@preply/video@13.10.11","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9e53aac30e729e5562519c9547140eed9f7ea9c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.11.tgz","fileCount":508,"integrity":"sha512-7u5+mA1n2IIlp9/LKcfBjjNB5rNPkSwbSrTWivqsL6ufUPQXHLb80kGdutFC1a14Z1LQ6Zs1k8bVTSWkELXpOg==","signatures":[{"sig":"MEUCIQCtfqJU8CuYKayuzWdnt36UmHKXsNhfOgamhD0T/Zm85gIgRfnDDnrh2N2UCm7pdBUqp2NrqF1IHk5rHTuyQ24yJc8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15460938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgGknCRA9TVsSAnZWagAAcpkP/3r6KnxmHtsVHbIt8o7C\nmv5LIeUnEZU19hQ/guPVAAewYHWsWB1KPNOnMw++7h8uUgfGEVU/SSW0wBxV\nbhL+F9w4NfxtHAHB1QAORGkfTSxevap+tWb1sSFUCzbm2WHv0qi/v+kqTQol\nNmGRul4uiEeQiwvzeZlX2SvvzhpVloEth2y8Pg067b2WOJ5mOSTsoVyau3w/\nsSKX52bXyd2SUt6p3sRIHJdcZ2P+3SjVjGlzMjGoGRHxpD3Hgu09EAJAqYMu\n2hSHmMwo1JEEZ7fY0oCN1UOgETgT/mppLGKEqkfdoCZE9Bu8uMywgjcQA4t/\nkOKR/wBowbEOhESl8F6LUikhy8pfBhGh5hNmV8cQYL5LH2PehbeDZzN/EYBf\n44U6GNo/1lvoWdBv7Rt1cm1QxW7dTdbEWUrWSVUcfQ5AzwBIHLKXjs7nGPxA\n7Vd6nDxdUYuj+u8NjSDwwT7QW2jdKuuYJQY3TV+7DBQ4kW0brapduCHuPDs4\nLyNCTe7jBvkE2ynjyF2jayUgN6lzQ0JnAeyzmpDnbyg450Ov1dnkA/0BLOn+\ndg9I2JflTrSwv/ioeEZaFqaeJ5yab9TZnCp650Dk8QPdhaa3CeD2nBTnV847\nKA1LG2OhWlOrsLXORQQXU/8SSVEDe/tDG+rWVh3ac9854m6ZYAyrNZgpcpXN\nJpO2\r\n=H9K3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.11_1602251046493_0.3471073490914378","host":"s3://npm-registry-packages"}},"13.10.12":{"name":"@preply/video","version":"13.10.12","author":"","license":"ISC","_id":"@preply/video@13.10.12","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6c9aa5d4ed6fd2fb693feb19a748da47d6acaeac","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.12.tgz","fileCount":508,"integrity":"sha512-+ZLPeSPXsGnIgTU5dhgLz6FvyyRRvlaaLZ5diuxHl3yVYtUHMWmyNbneZ2AJH5bmPucIhjhVd8ud3lT8WyWGcg==","signatures":[{"sig":"MEQCIE6xaYgRlBIOUfgcrQEp4wpks+mmVVkZiRhL3xbpcCYrAiALJBzzdZfajHMWWx/cNak+G0N1wjz6I+zLlnhFU6g/Aw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15462336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhHjUCRA9TVsSAnZWagAAbysQAI9P7ril4jzWTva7XiBP\nq9ED3Jea/2Xe7McGWomvvSGjlOADSuIxf2lR9w4YucvBKz6ThGK8Zzice360\ni6iCHjVxEVAkOfgpNVlAtN7XyTV+iIlsnUn3zYD3R63fS9y44UhYyXmitByo\nPGiyJ8I65pGLz3k7y0pE0N8nojeM4FYRPjte8pM+0W9f9XH9ZyrSht439Aae\ntZlJLdh8Y2x4cR3PwUgkKEFuXj3xwCpFGMcvxN4GhDgbWzD4DwmpMduB7fwk\n9CRn/79DWY4awXuqiDpPbMYHuwdJ7u+7WlgDD3X88MFzINgzBoiCncEFVR5C\nj5FSeArtSVoiccrvTB3xG2MEdnUp+lwUXaZvSUWIBdfm9BQXIg3h7tcjsyip\nhZgfeZahnRiuuZJiGN6Slb/ZEBaIVayZlmdpJP+ge0npFCGaNW78YzDpnLR2\nSPEngPExXjXoOhwRVWfMbvTrSFe9DQRacFEPdU6eMIDSn47pVidVEzVRT1OE\nP6ccMP8fjxCC+n9k6NJ1PthVUYb+EZzbm6+obc+6hjkLVn3GeeH7W0G1V2wj\nxnrr3FgcWokTUuhQUCY7SDIGDpn2ozA1HrJrpI84Ii2epErqgv+y/tWgGmVg\nei2Z+CEPrXRn7XsI8NlcAICtc2o9IDHoqwvN58AoWLmeyOVeFCO3GDAD3CSN\n5yyR\r\n=uOy/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.12_1602517203812_0.836887773977889","host":"s3://npm-registry-packages"}},"13.10.13":{"name":"@preply/video","version":"13.10.13","author":"","license":"ISC","_id":"@preply/video@13.10.13","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0507e311b2defc15cb53a15a6eb0b1ec550776a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.13.tgz","fileCount":508,"integrity":"sha512-T5QXJ1Pawvmdy/6ajcN147Cz/yZbvNukJNRyv/q2lt7ksPf5ve0ZrXlD7VA4bixfBUc3GK6mvb6IpD5/8Y3bTg==","signatures":[{"sig":"MEQCIGmKH8LXfQiBHugI/xZpt10FOd92mJiUSxWmZm2OpWAkAiBLD8EdY2bYgMBrQNPHzqjNsWmyXr7Xq3umQnlMdACqqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15462625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhUwbCRA9TVsSAnZWagAAN5UP/RXkW43cpCZfCRA0Sk/j\nuwKiKefOEA0sfyUXLb+FmwVFTACPgMYiDSMjiy4hL7/KwlkHnt4MQaNnHRKe\nVC0FcSc92NvNIHNMOtTDPe2Yk4PxXd1SLzD5KW9VFbAJCYbp/4I5oNZ2y8Jg\nhpfRNi9xLkmqDVk/Baygb+Iu1D0EyX0ySOjFTw/EcY89o2+eOauqy1Sqn2tb\nJrDV+inooA+DUCF0Xh5RXLMqgszmmvuioj4cQ2Fgj+ZCtL6Fzuv2V8sfxV0S\nNxWd/+S13EnblJ2sxRJmseJ4Dapan1PLrVJNciHq9mxO02iNEMePw7FTL8uH\n8bbD4G8v/kog4u+ZyMBZ6FnNzCPXs0Mod+8mqBPOtp/xzvd0LZHygs9C/c3+\n/0YBo2QQ46mz/AOjePZ74SdNwm/JMrjvOIlNIyC2kSsPiAj0LJbmitc8D1oc\nF8B8UQp0xo9A+r/oSBOimfeIkOa5M+LY6W86jko8Po3RTivEb6pHbtVIIX1n\nrcpsBgCveDtbD46TBvzEoJT8DR9t83gegUuUtRbMXUt5e/uN8LPTu3s7V8Kk\ndTarpKA37zt88R/ufyzmVEuw72y7CCutCjzNPq67rkw0osxgs1tUoYkMlJNc\nHFPs+DmjiHIZX2V/cECXMIIDYpn92RD8uDv013XTeRoX8pbt8V3/JsfxxLme\nwDvv\r\n=dcuV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.13_1602571290130_0.2019835113506605","host":"s3://npm-registry-packages"}},"0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5":{"name":"@preply/video","version":"0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d765fe1a908ff84a00829b217029d214cffd5ef9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5.tgz","fileCount":510,"integrity":"sha512-AhQ3NsYn2BEBbZAWFeJmj8B2Ukfx1yWL9FIbdr88jzBa2pP6G4pkckGWv6f+P+RDvKdEpYfTY3yLRJpisqqP0A==","signatures":[{"sig":"MEYCIQDAOr28fiUa902szQuLAwIaWMt2jAVGB/t+E9RnI682oAIhAJhSyxo4CgmU95VsO9vDrLorbIEY7p/uVHqRit17l4RV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15468781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhb20CRA9TVsSAnZWagAARboP/0oGfSMsuMwfix4jRkCv\nQv6ST8Gu8XYqhSAjmvakdSzm2xWfJqvEJ67Mc9fyQYAPTYdfM2qFagLMVeXB\nWejNwASZERYojUjSecXBp3ptEfrqWl3lTVoG56V/n8EsKXq5Skw7GQK75eL2\ngnSDzHiMtH270LsDVLdYiYzz/PAkU/QrvmIfZAy5Vsr3zTYIRGMz0z4os+FF\nKzPZVkgLYJdHgVCtNN8kig1pMrXR1S1w5W/8sLsCLJcJU/IcH3tTykrB1xS3\noBfj0n3V156yspElmBsQJYcB3JAWH5H/4CNJCmbKB6di06sazfvmkeD3DDVH\nWbG/89B5x8q/w7z34tZelArASnV1JJL6YVJmlK79LOYNx83JJCx7nDA4RV/d\nEiPzVCY5if5GRIGwnkzS4xiXDeLh9YV9AipwtUxU5lbKOg0tYz0HABwulowg\nkAl1V/f9XWT/8lno0W1xr4UtErPsjVROJWew3k78WtSFNJfv/H7t1olvdmSW\nO731GEBIeI2e5PRwLupCJTaJxupjOlSLOJvD+QBf92Bu/0ihbR9n7mCBe6i/\nZnYin1zHoc9W87hZoIW7KDZyNaZDd5sBjDf9Ln2dwsqf0Fu0yvx/7UaMSzA+\nydmQ6KlW2BkC3334Scfs46i58rb5pzdswUahf1aaPxzpyymEnN6Jtgv8KJoO\n2K/N\r\n=NGL8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5_1602600372093_0.4626368644558936","host":"s3://npm-registry-packages"}},"0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318":{"name":"@preply/video","version":"0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"525ada6a2b05730fdb6dc8c5343eab85406597ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318.tgz","fileCount":510,"integrity":"sha512-dRA/HKYuPixXMzu6qLVXUZ7tdCSRijiS1bTDxgOKUfRjKMjAw+4PzlAL9Qbjx7xfPPO3NPRmOxD5o4q+rrGPpw==","signatures":[{"sig":"MEQCIGzJLQ0WXURuPSmLEJEIZB/nipFnqpMN8hN6IbiWuzDsAiBj7U8K0tOWV4S9wMCtOnY05YI1igNIIqF8LWBpZ0fHqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15465809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfhc3HCRA9TVsSAnZWagAAwGMQAI+2AVbGv2IY/SYcA8K8\noUyhvaWQvQfdWEU+hoKCzL66zLWa3idaOKtLUMoZyUxTMMLbpUyikqsmfeeJ\nVV+JkrSUJogzXlT4T9BDZ1p7HmGhyauFiDyEMV5ldThLFM/GqZ4ssU6nkAse\nnq3cePqtMWPSH1GK8Cno569nejoOc53aAfk7tneoKYOwE4wiMQcPx3Va6783\nVpbkYlluIiMcmlX1EHvruIBr7e4UA9FDyEOYAzq3ABKhpZgdn7cf67o7uMaj\niVXC//KjERajCRaEKJp07UNCDQhCNjqC/omKqMApLceMPpv5XnDFSN+vcLds\npwmeA1IG54hSD3wWCyAGlHEWz0CO5C2AAo1oHPGW1jxtV+1FrnWtq8UbHoAV\n9+2kTveBpo+8uQsT7i1hyQo67gT4FzRKoN43IqjuFkLMxa59XL+CeBifaxSI\npTKM4EC7vgwPgwK/wkSwzoZ+WI57kHZZNPMAJJ+/O1ywq79omvCx59INs3kj\nLKj0AWx3Arn9QRliT29lXVTr1K5A6krDTCquGVovrKoDx70u5PLDbB5QiEf5\ntLhhjs48RNW3C0ZwLWS5kQRw2xyn/Fwhze5KS24M9ZIBTFx/Q/axEKMEir0J\n+4xAo1WuhGVqBOOmsIf8FzOqgHw36k59gwyphja0UUlx/RPtlwLSCkLQoT/p\nGPvI\r\n=8XTx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318_1602604486577_0.2885542233563543","host":"s3://npm-registry-packages"}},"0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924":{"name":"@preply/video","version":"0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b1d07942b2716feaa85633764b9db1457210c611","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924.tgz","fileCount":510,"integrity":"sha512-erH8+JFM0TJnMg4RVgBEW5OBDjSgrNQIgzTmBOclLjgPEOj4b9HeqaCnY4Wb1c0Lo244GuTqWqu651P12H5/hg==","signatures":[{"sig":"MEUCIQD5OCUzcAcq8Q9wRk+s7mtKSGw7HL5UnrKOdx/ZLP3G5AIgSMaB9YB/bbticI1jV1khUbWg9TqU8YFBfbuVSPeE+yM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15470384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh1LwCRA9TVsSAnZWagAAQuwP+QF+QaBgHAWBVtlSci9e\nSTEcr4fxEjAXPYqLdnrbS+4eFjwZSl7tDtxIqKsZLwJDk6mQRrCO29a03XbD\nGbVvOQtTI9DFkYl+bZzCBEbLyIeLvYiami07KOTD5p6XPBpBh+0PSA15U5Pp\nZd1BwhoHT6ChDYp9X5wwt8XHJhxUtaPFIbxltOIkmjsRNIf65fjRs1xTKq4a\nmEl6vcBNY95ZHsUbU2PxbBH1CENPTHv4nFs6RTVyPGnE5Nrf3m67u5X156VC\nweHPcXh1sJxxKvHAKOgXU7TnbPybeVtJolg4JgF9CA3LD/wPrMlWERJve+PN\nfgAoxMboj21McBG6PCrZprj9tSb3sqs427SX+An0g8b5IHRmVtY5XRbMMNKr\nERP8VCy+7Q8fCt6ZMyLguOgiRQDWTVq83H6LpRXYSWxbLHOmQ9Vh5WXUhbYr\nEltiOQj0rW+lvBmMlIwh3EANrMZR2lLLm44q5K74yYCmtKPOZ2gCG7rPsRCs\nA7c6XW3/c/IAWbYg/qRuXfYru6Tv4QNZUzU3qmNar+NvYdjavr3K935a0fIt\nnhQNKYAcwORNeGRGZLT0YHyzRWiXWu9EbfY1jezcjVC4QyumYLfkHvAEXavA\nHfPhilnEdMmBbO+p4QiWo6Dx85S8eQZafqRu1V2UAAGXPrVAYIdT77ZncU35\nuW5r\r\n=DL6x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924_1602704110884_0.8715176126615436","host":"s3://npm-registry-packages"}},"0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f":{"name":"@preply/video","version":"0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4f1b988a87df900bbbf9b796dc77193858ce3e6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f.tgz","fileCount":510,"integrity":"sha512-u0y3hwhurLQ4PTEt3ZJxU+fEAaw3umubAP6HuvJPeYLsnh78peqzFH1ea3Gg3L26cJpSR9SrJIbBYkNsPeWPQg==","signatures":[{"sig":"MEUCIFfrdw1f1aj+910oY85+HrMnmok6gXfVCDPuAtsfwb7BAiEAgEK+sV8FDt0anhVKQmCvykkuuKrKg2xNjJjKiXf+mOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15474044,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfh+65CRA9TVsSAnZWagAA9oYP/Agwd0h8GRfJ82UCti3C\ngNvzfOELYgDAfJeJ7n111rfIE8QaM3yYX1nifmzHEcHzwbhtRXOhURncANxY\nSAkwV35rtJJ71esNsdCEdBqWxyBR4mdm8jcuf3lHfrm1U7Vs27d82JuIpGD4\n0WZq984lO79ci3wPa7OLznCuqs1Ca8Ih4OWhplvoVRDc22ITes935lvBfgc/\ncs650s2hfYpAEbSx0t2uG5U48CoQvY7exyu74GHchkZuGFFYUu0f3tL+bEvR\nCLNhzeHbw9yS/mKZRrtx04YX8yNxy3fn/UVO0XuDCK1Kc0zrA1IYjwrGAtlk\nBvTmOFPo9Ljih7EpN4RuSzNVOXKnvILnsQDAKM2ffaaB6HUb52o1VD11SRXV\nRVHQVT4pYC9pGWTFGgH0j2aGNfV0s2zZnSaCQfZHg18Z821T47vvHLs/bPOl\nTlACRW6+juOc0ai5pCkfY+dZHVivUtjv2NFwFUW6RFDPpWb+GCwSeVTs4VwN\nyDE05t1U73ITgog2/N2PvbBHAyeCXz/Yv0oxME973kAOIpnFO4p3ZPdbxcSU\n1FbQcfRQkVhMK/H0mcWvRSOEkvM1jfvp7mXGSHqL1TA/oiTt+Zo3rBSVvAfa\nCZLOQb9XhWNGytJvNdSfZENGbGveaiSsWMIU1iogeOOVtaSpAm6AiH4XqF5N\nj5C1\r\n=QkAe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f_1602743992831_0.6984468218890052","host":"s3://npm-registry-packages"}},"13.10.14":{"name":"@preply/video","version":"13.10.14","author":"","license":"ISC","_id":"@preply/video@13.10.14","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2c3a66dc02f34f93e8beee710b66d8306cbf1339","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.14.tgz","fileCount":525,"integrity":"sha512-TfXAJFKI1AfJx1MVRWtApg5LE+ix1jUDBtBZplQSoheeTlvKRBibfmDa3rW48kdiUesDVf6cdrhkwAWnxitPPQ==","signatures":[{"sig":"MEUCIEXShEhDpV9N/nhcKTxVsXRExqONJDo7Fw3VB6SlbZUOAiEAh5S4ZF6cpkCt6Tr/gpWSCAwViViYd4T3d4p+1M2WMOY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16632873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiBjJCRA9TVsSAnZWagAA1eoP/05m4D4+vBVPSqcu1M/g\nijCNSqmNZYeYxYMNMNDrnLTmGbk5PRLFoy3bxLQk4MP93SixlLrSarpSfrS3\ndUL/troxaFaP6MHlLO9bxkoibXiz5LD45RA+514BGfrwTy699reab09yqWRI\nUg24WBI+CRkU3mKNe4dclEIib4UH49ATOfzzX2n4cYUkYkT3pz7vHs1wyV1X\nBpZYKVKzWiy5vJsa4U0VPmeddjuB/OjV85eMQPdh1zCQ6IhVaQ4SyVwm1h9m\nL0NNvAhIahHsNCT6tUuK7N6BQdQDYZydAEcbB/v5rarlc3Ch0LRU6gfIpV10\nblNE7HSGE6W+8NkNJHJf7KLfQRItoAxgBNYfpBzffgRBEKKFJK643er8bCcJ\nMNYDoodw5M4Yjm4LRFgrOxIdCwIyQtdyZA0aNKDidZ9pyBx7s/4kfd7vEuz9\njJoESm/4UpQWFfSLPT/f9jclB25JRKg+g2NvU6qZIGDB1FKje7mvHD+l1oH5\nhNVZj3EwXMWDFkHCOcWuqOMGGNOMHMIWtDrpN1A6ykbZyBw2MN2CDU3caagk\nGgq/iiv90IZ7wOuX9NJ3ZlSSdW3Fx+HHHvg+Bni504/74eII1+D6QzjpIgU8\ntqpdi01P/UOX1wd377j4FElRrCYAcNPcUy2TtguG5/1yoasDajMyrtTN1jDd\nydHj\r\n=J7H/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.14_1602754761206_0.7583171213702693","host":"s3://npm-registry-packages"}},"0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85":{"name":"@preply/video","version":"0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5b150e05a924c75cb64e9b47c8d69d161a84de09","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85.tgz","fileCount":529,"integrity":"sha512-54fTLQcWOzdbmliZqkPOKyWXnSNqlXJ9sT+Rgb8tCE6N0LfSYqNdyLULrPlXRN8nfTnpr6JoOsbHFnyiyp1xpw==","signatures":[{"sig":"MEUCIQCkvoeLkCwLZpt/1h5tuEd9CxzsZ1NEEBp68/WwCNn49gIgVTWHbDHPZV4t7OVJDmyH9eTKuf79OYx6hWY0f5/e/es=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16658339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiCs/CRA9TVsSAnZWagAAlS0P/0LCjbdon9ysUIRGSHpg\nbPID7Xt9NonX+dX1VPMUPUT+UDbFNGw7g0rGvZ5XOC9aoWpYpb6RMrCdCRzD\npvLPG9Kzxn2Q0nTowUSMEkPtsjlJKNT43v1eB/KnVbdp8LLD50B2I9AuNI0+\nTJ36m2usOLMsQi8/cph2RpNRPFE4A12zQXUiIvB/3Q4UGzOwsVOAQip3I33V\nP7J9+QyqSMo+B9EpVC1oAzD+gd4aRCXgR8PKIoz1qnvnAh5L6AUdTQxrHyWR\ngymuidtLfZngEiLn288azQs3BWIlxwTObm64tMC9z5P7AigsYAuKb1x9OGPP\nEP6wDfIOrvyvbMXIK5IUNheSzA8r/LQPFS7pGzERgze5Atw11VO484OWtMnp\nx/04gqP8WjU6aMqiceZi0Y5NtA2CsP1EwCm50EIcxkl6QG2TgSqBTVbfkdWz\nUhKc2wbQjLKyz8Ezj9/TMhW2LXnb5EuyQILgfP2nikbKRVevjVTggGTXLXn1\nSGynHjLVNaIn8hja1hTiqISatstYBxF+/FpveXeac3H548yTxfwSWDzaPEMf\n9QtDJwvOTFtSKjbX/D50OttMyrNGF+oP2oU9rxEYG8nVTLvYF2c5sjbH93Bq\nyr5SgNP/vgY0NAH0xhdNpOoIISXctE1k2+3AoLRW3HH9nF+8KPZzzqcess68\nsqrE\r\n=UlCr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85_1602759486841_0.8857384536709076","host":"s3://npm-registry-packages"}},"0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed":{"name":"@preply/video","version":"0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c093c612d8f7e13726a600539e0c5b40149de65f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed.tgz","fileCount":529,"integrity":"sha512-Ahu4QJVGAPF/hV7SIVb8tK33ECG6VOSo6PpCa3Eo935UyaDDpse9KqosGJGNL15jR4o3I7UILAMnfvY3FQwYuA==","signatures":[{"sig":"MEQCIFEnTeAFSnJgVqXF2I+SIssTy4/Rv4zDc6VUN3Ow9sMiAiBvGf2OWwVM9zdO/csCIIwWD5ShcH/9XgNj/YuubzRAdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16658339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiGtZCRA9TVsSAnZWagAA5RMP/0vfIF2dzeh3DX62530C\nbCw4m5DEsHNlfU0RUELtMnRDF+/tJn215bYDSYJPs0yxIhHZRBOBD01N2iuU\nUohMoPZE/r5lYVuxuBBxjOemmsN072fRyqJejnj9lCQbA6rounv4GC4m3y+x\nIw6Uch6Es0IAqCPzi2Hb4RYJsh0m+aQzyz2bsEaEx/wpm/SPozfp8pWWKpfv\nDhKkp9p58yV8fcpbIA0C2sVQgY9qni7Hbvkpkm3dMEV1vMdTTr2G0ttVMfB/\n8uC72wPWnCjshJeZL3MZmJ0GsDNq2GfGXYXWwBKBVSQdY3z6JAyjnw3Llthd\nWNgq2lJthYEw+ytzMpn65Lkma528iFTNIJATBLIcep6l82qiWsA3Xa8GgkpG\nNTz+dpvrpivFREipiRtb2UN+bA3uzLvaSHUS+TzY47JiURfkJ5eSC49lE73m\n/bqdxWEMjcmi5/xlVKcsb6uey7MLkuTkpNWmwGvGpHZ+1xhLPLrWsY8MLXoG\n7B8WwKazY5NezWnN1uo6XYIfWqjxO27j/Vu8EbLC4Gmo5nMX8BmohBxM+qfz\nQTlVD7DdjLhFK86c9ZtneE7YvFTuTb+ysi2RgSkKOERaA0Ny8Vi2OK/hNne5\nDg1+Q6B2e+3iPv4hEoupc2xQ3A8o1ztIEgiHpKZMoDjXEgt5BNo4VzRpAxM3\nneQH\r\n=/FKG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed_1602775896755_0.6302033202465267","host":"s3://npm-registry-packages"}},"0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316":{"name":"@preply/video","version":"0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"60b6df5bc8de8a7c48d55115cd59facc03194492","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316.tgz","fileCount":529,"integrity":"sha512-epVYOOB2WcCtpirDw98fkSKziAELPZ6foZxhS4xZY8oyzhM+wcHotuKUdCxvF+sijFtUQRSCTFjsnn9nxVQF2Q==","signatures":[{"sig":"MEQCIGgkKDOjVOlXg0FA+iQND57rMuN4m5UXfnRIC159I5z3AiAdMepn31YlhEp9pKX8wg62hHsOcQSyPKPXxxtGzq+OHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16658339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiHEUCRA9TVsSAnZWagAApH8P/0brMyj4acK07aGNfROB\nNEr6cVZuyV3O+p8cnEHss7A7vfbxskeaunuXiO/BDFRzJ8xL8McIw3eCI5P5\nJX+vbwD2NEeGO/scro6zJZVTKlTD5wQK+hjiUG3vKNdZEicLL2lZWYzv11+b\nNz7lfDVSfme6tOmnd8ZyIDKlNpjvAffvR8meKth7GooXILv34pfPt9dWOVma\n2CgJlO79hn9cFvBdB8w/bA4J/P8XcbSFQ/KBxfFxJbrszzV69iGtV49AOAYe\nIuekPxesq0qnw9gfPKid0+fRC13RWUWJkpL0WYRYH9oi8KbtBf4wZuYcCy2M\nuYuZmKn4bnN0EbSpDtj1Xo9zsT7LVLOdkDrMvRv6/tEP8lfAcFn5p5gOdW88\nXgVnovS033DLT5iANN7vP3FuPpFMYeub9NnSAqPqKl0xes7nLA2zsQlUg1yW\nK3tlQDpzFf8RcltAKZyqiqLHeLd9YPlVA98Fnv8s/GjmWnLwWMfI1XiDM8nF\nLJobd4DPadmfI5ek3GijERhDe9EfGa0RCc8Z0qR/raNgZeAsRLqDFPHxIvI7\n9QpJ2wH8hHtHXB92AgBkKx91AJOPfyu8yX1X6G7y6QvtUH4d6vgl0OOPwzK6\nhij3Cz2Lj6W1uoXAx2Yj5MQq6whDbnw4uU0lI0kpKJWN+CgcPJFzV2xyZDLG\n8hWe\r\n=u3h3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316_1602777363357_0.5800763572354379","host":"s3://npm-registry-packages"}},"13.10.15":{"name":"@preply/video","version":"13.10.15","author":"","license":"ISC","_id":"@preply/video@13.10.15","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"22cd8cb25b2ad82905554041784160e12326e98e","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.15.tgz","fileCount":529,"integrity":"sha512-vIneMvrzTifoG1rxIPvOvlZjBpKpLpyiwLattF7LdIEQQRCEzMyeYJ5E77oa8LbwrGWnRXLJ397wAln1nARiaQ==","signatures":[{"sig":"MEUCICxC8Xw3k91fbWQRhEhYXR82CJtKhm54hRpzlsNw5cW5AiEAtLUKh4/tt6+7Up0nTVjvgNKYpKbFx3JRMdMjTOm2XV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16646456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiX/SCRA9TVsSAnZWagAAmVEQAKC3zkenRPY649tp4V0R\nOVBoGBHZAx2llPpDobsuC6nS57fOZ9oaqD/4RoSO7eIAfhTErHzriUiLDCSO\n1rc81TCexQ12TakYWTJ+tofP+hUDMEMrqnt9aGB6XH17vnFJ1kAoEs73wbt+\nbRl+/4mtgxEYuQNIwtv/6gLb7DlcfZlAWHpzrws3oWAYC7h43+dbankCoXop\nru/f/pheQidVjhm8FT/ZAo7yBP7lzXweR/CCLuSc5Y3+X5TSqSLdcFBdGSqG\n+tMm+cKrOuVxJ7xIbS1veZsF4HsJePdz9BZV6wH3GTQdQjd1OTU+++SlH1PT\nscVi1TsRSyhsUwfh9VuX6INPp2tOgh7T8XJN5zZYjSVbkTAH3GjGnKhVRIrV\nE9ZwYXaaZimAlGGM4ke1msrvUwX1nMDkydC+0aIZ+XNV+evgbIor0pwGXc1R\nc2xMWCbFv1crl7NZaMa9xlDGRwvQeSrx95HenBor/Xak8DCvjVIVdR8O7Wu0\nl+Z1EbQ7HrEnDzj76HGsV+8aOjObOK4vwkfBAgsBJdi5gCzInnLJ3KUI156l\nKgCgFi0pZv3SuA2bILf1+uoBW1+PGjMj3HMfrLZnqTlHdKsgsBALQz1twcMy\n0aBwlJSclgHHOscgsDR7EnL13VzLEDH/HqwfwCf6Me1E95ghxkK97PPaFzfV\nQ6ou\r\n=pti8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.15_1602846673879_0.6389857868444326","host":"s3://npm-registry-packages"}},"0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d":{"name":"@preply/video","version":"0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"869fbebe256c500437e869319db5ad2b0d38ece1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d.tgz","fileCount":525,"integrity":"sha512-hWZ8xKp4so8kq3ROF/51qdDICBujFZgk3unQIo0T2WUuHYk6YdlGjmJv/2HIIbWFSTTVij9iDTTqpPdm9E6mTg==","signatures":[{"sig":"MEUCIQCwOEm3hFxkqWMmiOJwQ/yy52uflW7OcyPwNGJofT8ClAIgLXbhsj3m6pJJsp/w57rywbGbWviCD60XqUSHVAACkpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16640871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfiasaCRA9TVsSAnZWagAAKL8P/Rgv8WYOakEQ19ybMob3\n6Zg5aqbhCHdc54hIxvxQUrVY7xdyPPfAJdj2MB//2rKfoRlGnXoGuPiRc2i9\nE53qLb/B+6xRaheiRuc9PMNtVPnHy3OnpfQrwem8xysFOZ+jZy08QLjaFofF\nZ8Te4C+QNFs5ERO/wKi0jp8Qyc2g8iUmo0V88ohqfWkQrKP1ytS0qIOwxXPM\nM1b9Qh/EnV5RgKDLBz11B4zNF/v0A68QZymqiTVZlych8i+x0rhejqEooJn4\n812cNMzrhqkqBiN7mdxTc859vgA0g+GeRJIF2yzAkpw9RkHbNpQlym5gqHE1\nXplYtSAP//LY5AM3IWJ/np6YjcsQJlb3lTu/PvLogyp+J827LybxmN4ov9df\n2gmRBTn+DBXkhdn6gKz+ACl2Zai5YuzbBRym1ieCQjOZ+BLfqoABUhRIFTQW\nAxVRav0w6FDAKV14G4wGrqgs+HlmxRLVD1XIaonJOhNdR5wH7IWUMCZD0APi\nsKXsCXlsonOsA7ZpoqZpYKgLaf7r0pQs7Q/zJiDXRCoa5PG49rR8Wm6QRGMG\n+30pKhvLwiNqAHv5d8gKZBmQlqHSBB1AcxhzDPMInjWidtrDoHML4Q0LPpqj\nzSiBLMx9JG6CgNUS/jmqqsaEte4GRYMYfMXOPcHaT75TlKc3PQqqlhC/uxEd\npx6c\r\n=pwAG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d_1602857753823_0.5840084145189899","host":"s3://npm-registry-packages"}},"13.10.16":{"name":"@preply/video","version":"13.10.16","author":"","license":"ISC","_id":"@preply/video@13.10.16","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b0be500b875973c23447099ab33be61c939c1035","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.16.tgz","fileCount":529,"integrity":"sha512-uz1Ohw/yLGVupfg/kven4bn8tvITWLTGcEcmi/EUOH0Bpqf4j/muwxVUpXJbhffYjPsOW+swB/3J2O2IxThk8g==","signatures":[{"sig":"MEUCIQD5AK/DtKVbzY1idqVNuqNlny80Is970dTaByn/GmJsKgIgdasVVzlU6sfrs0H3rDC0odaeKxkOW979w3xR8l2yrf0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16648241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfibCYCRA9TVsSAnZWagAAqDsP/06PuYbDfdd2uCi8hoEn\n/+zeGiToRVXb4+Mw21cPKzymJiDyIAvtoncxG3MUsQdZnJkdS6RAc5W/aaBE\nBRIbw/q1Nm2zNQ8E2WxfC2T/IZrPs0y6oIPcTnU54eKGC9yU6koe0lYRjFCA\n9LlwoV2SKfu6HOlSRT+tGZzUGeXr7S6NySDfsG1NWkbEjzjzuRUCxp/16BML\n59X8umMjs3SxP8vKac4uLa2sodKeTol39me4BBtm7uXVJ0SnsE6r5DvrfJ/1\nhFciXwf+Aibw1hV12EQx4e3v8P1teWk0djpncj7OthTGMer66DQV6SlNL0jm\nNSnWg8y/8e6X2uDY4iS8pWHr70h29/xOW0wg8sfRFvEncgSEMVSM8xnzkH9v\n2M3RpvQVcw4hgrNfzPXnLJMW3bT+/IFFK7r2UStqEecsTiRwucmMBBuxKHUc\ny3gaOCUHOaECG9levxMBHMza0fLLqMMBP7dg/prObfK4lGMGSib2m3F5V/tH\nuehj3SrNzJgxjnX/U59X3HjHN4lyLvcXjbe0Plxs5sy8jxFAwKVvjI1J/08G\nyMdQbpB6L5FJLsthkXXo86ezkFzNb6wC0nSCwCTFavXbX312Ckpuopw2y3v0\nRNHQw2FNTM7koS0DIq9NzLq+8nfRMl6sD1MBIdxQZTNE3iXOwInd2Aqp8kAM\n9I5x\r\n=+rMI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.16_1602859159960_0.426298733119004","host":"s3://npm-registry-packages"}},"0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b":{"name":"@preply/video","version":"0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"601d3df902ba5b4aaf1bb7413ecc4a86414a1525","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b.tgz","fileCount":529,"integrity":"sha512-GOsEB11Nvc80bC7d3h/Hb2EEM999jvLXON31K7CJNIvFvevfKIntOaGkKqyTY/38vA5BB+szoWtbH3qKRVUtLA==","signatures":[{"sig":"MEUCIBTr2DiRWC9cdZ60eOQQONdkyctM/xU66Aftmij1eEvRAiEAwhGgv+fM0ExEkDws9YIomrbWcJTDT1IQx0RDtx1Xk9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16653066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjHLNCRA9TVsSAnZWagAAIpcP/AgbhT3P6wswxESwDiIK\n3vqBTlgQp2wCbigAyL7s0zPhVw9MCrGoI45Z+pJ7YQpTnmQy9eAF/sTkEDwY\n1OUmdMYsXHD3R5Xe9EhH3LuNVQhfTP6QNgc6joO5MKyuY4C1hAPnsow03TEp\nvFCqjQbYHQ7oER1Xv4mQ18YXQNLwrTX1KD1HeUQ7/LhYsmd1llTP83weyVeo\nakRp0GxczTrKoQejIck1WmViukLZ5HzFCapJyevklT1NGP2ybFMxoF98tH8k\nv4FD3Il2HmW98qJ24pn018fHxYc5nS6STyXadrPVm2KsF79Rpev19z1uCnQs\nJKF0vfjh1RqwrJyzpdP98Ob4ebVZEGaIGmzERkk4uxfP4PPwCwwjtIEWOKeo\nOJjTPuI6sEtAa4ZgdnJ1lHplQzd15ChKAHQ6dY+qt79TbCfFVXJO+1VO/68b\nIGYK4E35rFfNbkv62mqB5LAq+a0DY+xGFcbUfLC7pmInu5NEgMJr6ytxF7yE\nX0kgvlpo9+9wUwmahh0Iynv1WkHfj1w4pZUHWroE74LJ9cuW0jbEQfzyw4D2\nrtNsXUfy+jfpDFww/VXtn9Bo0wxaRsinzRm2Xt+3eOTvZmtVgpl2DcuWoOd+\noxdFjRVRMaHJES92vNf/WwOPIyqIX4ZqcpCJCL/G2TZBq2t1hiRUDZjrssYa\nRBal\r\n=AMAU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b_1603039948386_0.4624556686024188","host":"s3://npm-registry-packages"}},"0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38":{"name":"@preply/video","version":"0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ebeb73fa2b93ed70751c0253d57d670209c57557","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38.tgz","fileCount":529,"integrity":"sha512-jF9ADAjEw10Db/g0kz+iTjfDKvCx7pZL1R7FijrB+STU61b/rIuuA6SYFXWAfAgF+rS5v3035gD52vCaMfHZrg==","signatures":[{"sig":"MEUCIQCmxSdUuVBvRBLo6zTuUkmziHfJ6VoLG46Ncqbi2Iv26gIgIqH/bTAdnfjjVFF7j4TlE5aKa2muzJi7hH+33Yg9ci8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16653066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjH41CRA9TVsSAnZWagAAllYP/1FJTrh2KgE8zHchZKH+\nhWiCs6mxrilCTtgI7zSef+d8IFLmmrOAmitJUI/tXiuWiuzaZs3lXBimUjlq\nPQw8K1EXEWbGY6FhZI/iVpCioMz1bYAsJbyj70erKOQPpxWARmFqXMJUNFqh\nbgIN8G12Ztf6t6xpNavynFebWSoD3IrQ7HrJ3QtEg+NJ6l0P2KNgCY5oDuLJ\naBacWQv3ie8wyu1a4y9cTMGikFtJhvidS45tzhuEcsycGUwxk/ix3C5+cpUC\n8NBBN8lN0MsVSbljcV4K5J5TBsVV90R0QHr6UeIWnwXZFj5/RyZY9jViyu/L\nm4txhH/POCCb9BrWCiBn8PT8VlHxNWgUV1UdxOooFhFp8fVPUAGBiUJoPPcO\n8RgyXqTOpsXynmipn4v84HB+SsNPF4+dVlQYi715bY+MzYq/nf6QDZvYH39W\n1tVbwiqPxgIRGHGFvSdEof/f2lOB0RCuRV0KVnnDyYnusDm9zr5vUleznYGZ\nPiEQ8UBq2VA58nKQWKxezVeYAvJ2MCIIiA/cF+pDuB8S/+cTyj3BmtZ4zabQ\nFKMCRzscs/jkOS9PfcuRPN/BITCOwqA8FhIu+Nn0vv+5zSKL9zjFNLSVUFxR\nqwLGwuSNENC8SgLp1YSxKMqn5sTMeQTkE/hmTx5LkH90YBMTLFfYc4BRKniP\nKw8c\r\n=nRQI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38_1603042869003_0.21820483136706947","host":"s3://npm-registry-packages"}},"13.10.17":{"name":"@preply/video","version":"13.10.17","author":"","license":"ISC","_id":"@preply/video@13.10.17","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b8757b120d33b6e5b3e7736dcc8f0e99e8f5dd6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.17.tgz","fileCount":529,"integrity":"sha512-Oi3xMCIxUHqzY6FXhCJYY2pHu3wz4k8YyoTB1sRsdvFMg5fFDWFzjh2PWGq+lUjq+abLjCOOQZiD1BColD2kuA==","signatures":[{"sig":"MEQCIGvl1lba4iCIqB8WGMnbQoHCB4r6d30BYMb6P0ASdyxlAiB5KCqQAkJdDyKtMgjtcF7NENIYHbldSYDc6c5jkxHP3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16648316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjTT9CRA9TVsSAnZWagAARA4QAJuF8VUaGl433n2UUlmu\nHTz5YlBF38UFeGNCi+FwQCqnTD562wVp9d3BuGte4m34xC15f7EJdaH/T6oH\nXovsX4mjAD/IoAPAtwypOf8RmNw9a22q8iIEgE5ON74qGKB8RP9ZH/hv5DQz\nEw46JdCpZ0yV+ZBkS3/Og6vBTpUv7pNh+jM9PdGRXCStDj8HiejnDoDoOKPj\ndjZFCf5/bIbiT2ANZY1XPnx5gW7/iFU8nmE9Iug6MS3dGQKF0+8QFoI8n88o\nVrdHiZ98+GhvZKYL1U7sku+Cq1UWId8w4l3As34H0IM7U7tjQ7SUs54MRSCS\n74iHxTTHmqKWxYHhiLRzUh8iJ+KBaVc/8wC2LcfoMmJE/JszLKC3b6sTi88c\nu/TLWyetG7m4GVjnDy9UDuk5K5OZM5t+F4nJyty/5oVumDgbcEiDO1og0Cz3\ngQ1fD4TGrsLsBt/wQny1dlndV8LeMAotuuCecx2OKTyAJ5AwvsRR15UPM6m1\nYINkqKwemIBIC4jyaPeyW4cUZE1PGMi5GjsmeWt3mEJfaM20gG8AZ2Gb+MIr\nsmoS2Jcyb2cK5KpAc7f7kUCB4158PSbq2Ovzg338YFObxvPoYtYE76gHhqOu\nQQm2XdcctTySOrP+UjsanTayiM35X/Q8u0exAtYVFzIyR8DM/G5tKo+Ptlek\nAAht\r\n=K60Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.17_1603089661201_0.48419171034573405","host":"s3://npm-registry-packages"}},"13.10.18":{"name":"@preply/video","version":"13.10.18","author":"","license":"ISC","_id":"@preply/video@13.10.18","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9ff6a8aa693990dbc501c4eddf211185a88e0222","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.18.tgz","fileCount":529,"integrity":"sha512-7UUs2tp+bW7y3tEycwkCHKUYkSB60mTKwr/gsHsJ3rXoOOeCDmM12GWjcfA7BDPihCXwOhHwksrdUeHZZaUU6A==","signatures":[{"sig":"MEUCIQDAgrDiDezDqx9+z3kMUeBXSzEOIoz2yGKiCDAakIJs3gIgSkDLs7iGb/BMxxKOMsym1Aifn8HlHs2+VotIRmHa9dc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16667654,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjWYUCRA9TVsSAnZWagAASmQP/0w2wWyKNzUIQNpECkj5\nTCJ5dccymEuKqzwR7DvdTiVM/9tcdpiDma9qNvDxK8Bnp2fZ0kYKEzkYMWXY\n+mK2Q7xH8FlNGuEOF+XjQQkxoaZNdYUCdhJ++3TDfWSoDP3nZzi9yWEPceWK\nVc+tXteyrAxbp1nIeZoWSVeqTc1x6C4VxKa2v1RvUKeJnTiydYXTz2ADAqYz\nl7+TI1C6mqTZW/LaN7t+mKJ6nZacV5zGNAT6mwKoDms4/aO/nvnML3D1cKlj\nbAHrs+VP9irl8A2jSjpWqdWVOv7T4ZmFq4PKorJxcNt8IuQ0JZOObPwly11H\nPm3OyJNbjMNZYrevVpFj0I7bhc1EP3+ImwYC7GNHl/nZJbcp6jRZur/TgCRs\ndLh76huIr+ikjLZmyIhFH3NbE8FwUgg4X0Ww9X9Yj2ET9tcO86F39wq1UNKl\naSgwHTXNPy7c0OsOEyL515tXJ95hW4fnvOC10qNpdDlotf3eVKXMYhqcTEUY\nzOfkmMO3TUOtHhpogLm6DfKA37MPfkEiG4crX5EnmApRsHIgGf/vZ9F8vb6D\nV24y7UvCTzJG+6ZUAoEXfuS7x8VI76iEXUxL5njf1XazdHL1MrkWRYp5xhGX\nqP9UrToccXPyC/M0G6PA8pq9xlF97M2T57ABN4eh40ZzDUexabdxu5g1Evkx\nkKdz\r\n=+m7z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.18_1603102227837_0.9227517228028181","host":"s3://npm-registry-packages"}},"0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f":{"name":"@preply/video","version":"0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"75610d1e1109ef9bf1c88d86ae9a0a58cb140919","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f.tgz","fileCount":529,"integrity":"sha512-lnQ+U16oYpdCet4pTC9uRoGdrRaGLcsDhE0HCI8vgAw8Xl0BM+MzatMPQ7ejt0y7HgeCOE6vW0RmmhgvJAW1Tg==","signatures":[{"sig":"MEUCICQa8zLIOQM7S8ivA6I2R7x68ZtchexuOSfa0ghyVOO+AiEA/OwHbIytUD2AgZ8gws2wtlBvKwkgbOpED3avzRvJKhw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16672464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjYDHCRA9TVsSAnZWagAAt3MQAIUp9wiv+srOXfF30VO+\nKCDAgO3CQJaKbE0nBYdYogOCMV9U0yeL4OvvTgOb6rFtLajm448SKUcknDro\nRRptz3yNOXtL3XD0YDP5lKnXN7YiR24XAsIjyK28qqzSb2tCI5Oo6mO6gks/\nrm8/+i8yjiuL48awwUE9Sb9BZpZwq0i8DOXQsQpJpbxvomiHXty7q2UsfGU9\n3gRTbwRdBLk7Mwi++5V2DZxHIcgD1rtJTR1X0PJ3UFUD2iMg7qVo2ozDW6on\nVbm28a3rbMT7CuqIvZvHIKYRa+JRcpSnV1TS7W3JtlmzzLHQJmXcTBbAnzTC\nWM75skORLJIwapjfyv+a+dKVR2U/jp63F5DaREITJ37i0wLUsEqsrQ8hDO9b\n3UkjgKCgHQnvsLXWUeYMeAerUDvbBUVk+sAqX7rIJUxws0xukd3GwsV+Ro8v\nP5rh5ACsKV4vW+aPz68lA/w/DR++/jthA3dfUVfLmnxo8kvLQqX4VibDLX0b\nIrBp6RpxtkBQ5DPX634K441P4Bbb2Oz53yuX3fZ2pezAqiFcQhFNO5WE1/Rz\nvivdkbOfPB4/RWs9+Bw/wcQJNmSn63wBUMuvcl4DFLsctDS8/plPqdyGyl1P\nqMCmSZUvFs+uR5dgTHCJi4RuJowWn27L2PnN8nhTN0ZzgdzOR/K6l6GIY/g5\no6+D\r\n=3Bd6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f_1603109062635_0.6992626393291848","host":"s3://npm-registry-packages"}},"0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f":{"name":"@preply/video","version":"0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"65802fb0526276351fb8fc7c930c1edfcb7caeaf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f.tgz","fileCount":529,"integrity":"sha512-y4OSoWFpvul5XW2WKmy+AgPYM//94yyjgdctfd8trv2UO5ptaD40kLvSzAck/42s359olzKH2NitsSDloRKiqA==","signatures":[{"sig":"MEUCIF/xZFVCEG3yGhW6zwLkUbYp84PG9pSlg7VlsFEF/o77AiEA1YAfbFpTJJCbYEcrGyGG3+s8pN0kYERcVNrd+tJEnrI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16680079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjn51CRA9TVsSAnZWagAAH9kP/1nAix0Zv0MKZZpvN4LE\nZVQaCKqzcn3HqwjYZJ0c31Oj3RhYTVl9NvMNEvcIXCDQCUDQpdKedhEjkdbE\nrTyOe6A89zpyQDTzCfuCp2F7suwOrJFVMwslIe250MKs0J81FHiPJXkLShgo\nLIBHvr/dcsIhhS3oetGSSPnPfDpVUnQedgN0yrDT8RzsdX1ho3ci6niRLkGB\nJ9OI0y86mz3SB2qCd4nhJEowcw5qbBjXUgd4DarUr2+uW5qQtBNcID/HNMM4\n9GsJGaTtrJyAARwh3RPWHZS87KTu/wYGHeLdnhmTiZafbyvH+WcWvanEBynB\ntW9Z3rfc7IF2bf5cLY8W4iVdZAlhbhvkmyNNPfzQEEavpjI0VZdAhG2iieFm\nGaNUt8hW7b0B61h8xEnoETEOEuhJ88fCpNQZ1YnOJmjLhEjd9WB47CtlZusA\nSwJmgiLCRFItulsu3wFw9ZSYSXDFyRCfbozJh/x42UfGIhXd97JOXgiSKoY2\nyWIbooloyp0LcEj6crqfZJliLuys8AChepYQCbdWFPx7kIuxgVX69OkDHQGG\nWIbJlWnU3lyDVTIflPSWbeUND6hKkLGub1Gx1fyGf6pjntoMb/uNtc9jQg1F\nj0MPkzRQPNtk+K8RPGFf95BQNWP7hh0RKnWTTN8g9NUe+XkLdcXr8P1Tn3Xw\ntCOF\r\n=LlLQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f_1603174005328_0.7707913449154973","host":"s3://npm-registry-packages"}},"0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e":{"name":"@preply/video","version":"0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"39a2a218dd08975ac974ff95d07daad1543ae893","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e.tgz","fileCount":529,"integrity":"sha512-QIr+x5HiHzXDCXRkboIRuSDUYUPItfrVevz14hL7lPCuEEdnQ8NEIOuulqrbHymSVAFD2OnGXV/QJWmsIUM0/A==","signatures":[{"sig":"MEYCIQDz39aeNSyYhVQ1lRZGzWR+Z3WK67Zxosy9mTh1K7OWjgIhAPlr7KSw1fplcu9Z3YcdrtTCcqHK9ndo91lSGGOn+x6s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16687050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjqg0CRA9TVsSAnZWagAAOLIP/3e5qKNsdHKwSF88IxC+\n3wGf2nGtOe8F88u8xpP1Gj4lhPXumSD8FmPonUbAQVgLjUI4n12NA6lBwZgk\nELIBibLnjOxScUenbJ0TMamUqwUi712u2HRZpM7FZTLb+0CcYHMbnNWFJp8w\nd1kYQdGeSFubyCn6dG3ughQ3rjeMas02XAnE8+eotnj/iHKEQAsYIgYdxaBr\nEnZIm2I1jg7Ymks/wbr/+o41kVgn4hCZEKu0G1JpX+B9YzQHAPL65NargDPC\nLjtrUq/SmZzKne5UbWIb67tCnRMw5WMEIzjuiZdvISDqDXiuezim308JHdy4\n1Ibye4A+SuttdmDvwRc8dHfTdMVnSA6Ix9PFIlkGoRwpfNNfsD496D9ts+BX\n+bW5XI/v8a7o29vdFEtHgZ9SLQm7Osk7GklLkaDVTYr4WEpsbLaGQmt5DCT7\nbjL3cp4AUCA+C9QypyGdBuNPwtV3L4qrYnZwVaZ586vBSWaEMiviXWrJVEfz\nqzq5HtfYymEtpOpp8H7ILGBm9BsNxxWW8yUgxgDJCgKhyTuY7gBmSXd/FGCt\ncsV7UHZPh7r7UB9wQP7xiv7bGNY3uv13XCJq6iDljYowtfFUL/4LbXw4sll+\n3AWyn8hff1ZY9MFqM4UUbZmia12+JiR+h6hY5zNHOMlE66jXwE1KjIoKCkVw\nk4Nw\r\n=CaVx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e_1603184691427_0.18310066064308694","host":"s3://npm-registry-packages"}},"13.10.19":{"name":"@preply/video","version":"13.10.19","author":"","license":"ISC","_id":"@preply/video@13.10.19","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b6dcec7c741b54b706eca20769f21728c590ba94","tarball":"https://registry.npmjs.org/@preply/video/-/video-13.10.19.tgz","fileCount":529,"integrity":"sha512-q5LhmyPwlur1SHXE0VkDC0E7R4TZ2zPjUdiAquQq+bYQtjtFha9mV//0Jl7GIJsWysspjL1erqKqfgxcUFnp0w==","signatures":[{"sig":"MEUCIAkEw8L2aZSR+CCU3Qry5eCkj5wryLkjGymCDmQe50zbAiEA89fWUTHEhJmzd2ZU66Vi7t0lOesuX6CaTO6Dkwoy740=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16678470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjqrwCRA9TVsSAnZWagAAF+EP/1RXDVOh2ouLekOlGYB5\nEm6rf8hDfa4dpp83gXdXxUsYEIYqkLEAuLXzUOVsuG5uJuBc8gZyQax/QLto\nqpeGT6hB3VaKBrgaLDwyPK1xzNR4lzyAi3SIlSLcopv6FSq3CkTOEY3UHRDe\nSPcuoRONlgNNu+fhuOK5NFUWUywGSi/6SNn8pRrNik9QAJwC+dNAL/Nfo1dn\ns0A90NGKpXHKYIpp4czni/zCyDWiXsAkUCCdiXTroCNfrAR7+9D5iOjxAdJ+\nq0zc/283SZMYTAwf7Hwg6gAVTkASa7p2WXJgvFQjHg8N2ZgqmYNyP/Xn16dQ\n2Xx91GvdWP/+Zf39Yt8HCCXlS0EgALWiL3UzNSW5UPhbOwS0vNBDnvLA2fsv\nCjVG+bdOsYPN2z1mPjdRLReZX9tI4mDLq8J5GLD+7FjUmCSH9evjnHT/bkYX\nT65rZ16qMl41gXCN+Jtz4y0IVPc5Lwydk8gdSMrkb9ArVu9smFsNtB01wwKs\nJ8VBzBcOrfPLhpVyCshL9IEqeqi2XsNqEArWtykhew/k5H/6dP3Zv/P9TnfN\nsKucpqNLcsrCL0/r6aru654UA8EK3p9nsSLHqkPDjxnlmskrrFmxuI1+LNlW\nw/FxXzEclk7o7G9Dc3vq/tcmLbl7hmG6lF/JmHTtdHMsDzC6z9TLVzwXsRaS\nfEIb\r\n=xK8E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_13.10.19_1603185391661_0.22396219545597162","host":"s3://npm-registry-packages"}},"14.0.0":{"name":"@preply/video","version":"14.0.0","author":"","license":"ISC","_id":"@preply/video@14.0.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9c5fd991d06a87bae35ce9ef85d5439698e13197","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.0.0.tgz","fileCount":529,"integrity":"sha512-TJ7nQ/qPbj+13Q7WpiJ3Iqw7VKacKERPgkXra/RwYckxETza65GlNim8LLjxyMVwzndtPlo4ZNRHvlId+E7QWw==","signatures":[{"sig":"MEUCIQDwE3+S75z/q59dWaofAemRgQhZx2x+u/oNU9n8i+pP0gIgD3j7o7/2CjsDgexfHiPUSeidMdTUqtLeeCOwCfeOadM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16685303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjrfmCRA9TVsSAnZWagAASb4P/iZ9UlqtAifCDS11mN2f\n6BEMSYRVic/egC8c5FGraOBurejQAq/jZLSBoWTspI95bmG9gUALOMTUxyKD\nEkH2Ja6HuWGuMzIOfPh7NYk0dCF5JfcJiDXvTLuDkmFj5OQ053vax0V174vy\n7e+bfbkONf2Ri2JRTa3y+cwmrVnL23CYu5CuKSh8DdnoFLygGpv8qRGqFJX0\nBVeerCLTCAIiUMujuCxOLYXtoK5nzq5ht05baHE99goEh6HK+bTrbCLZMXc8\n/8HCd3qwc7DGRh/zKRM9XtCnpknTWuyD81f0hjK2SbyT2wBMDVIKxyrD0RrF\nKC8cAAvj8s8QWX1vsRyWZ5t3qQTLt5VOMk3quz4ascG9aMjwGAqKc43XWYRN\nXaVPQpPEOAzI+027fOrccmQegg4yLEAOxJx5MEp2zP/aAWCfsue19PvfNaje\nRMsqV3bGl1gV7nfQveswJNashBCzBuRvJqFiF5zxAPSjE2iS9etMgwmEW3PJ\n3OqcfKgMei+QvPqqRirT5+bXyEhDv4X66gOd9/oVEZ4B6BSsR6IIAvTFwItZ\nnzWsGkoPdfQBKwPdh1zOTpj/ItYaLIMAKyEBdHVQS0HA4MxfQA7ydI1DxaO0\nqigIH1I0ru5xPbEGu/et31eThcN22tVTK3k5jN3Shv8vJFpQop0wIEaEGlr3\nQ2CT\r\n=rSGm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.0.0_1603188709483_0.7954908929813018","host":"s3://npm-registry-packages"}},"0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac":{"name":"@preply/video","version":"0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"183188369f50ad6a12bab3ae83f0fd8517b2c88d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac.tgz","fileCount":531,"integrity":"sha512-pOobb/q5qJTGnVHdk8FhLnEF4zkoGLQGOfzayk/UFCfyxjWamYwPPy3BIjLeHYD6waAVyP+HzYzyziFoqxeKUA==","signatures":[{"sig":"MEUCIQC6ZpwFjTtUi+oM3BxbPb/HcEs1ZtwZU8aNXD5M0Qp3pAIgDFm7Hsjv5f46mKPf9GEyE3TSx0b4jmoLck54WEK+eQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16695569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjwyLCRA9TVsSAnZWagAAdvgQAJTK6nMByJhxlNaaX5K4\nCknav5OUP6mhNtN/3DIPVCDbdmECRClAMZypMZYaQdL9BMQx8VL1adel1rwG\n3FO+QD38o6RkzUrzoUrp90cVJnLDwEVmOKqwOZMY1m4c9G6LIc3zRZ6tFQ6v\npTaYS6ESTedK0s0swqB0wl/XQ6AoeljPUAVs0My8J0jVmBqBbmARSQiw652m\nHBnMxsKR3SjBt0fa0VOi1Uthe3u/seYOdezi1vILH5QcawcecIOOPXWJvAfX\nIOjoz/P3/8vKw6YEUn2lrB0JqlDD1zLUSCctZGavgiNiHmOqzx2rs3gmV/QK\nB89CtDM9v8mztLDx10Cwlp+j5edlffvggCNHGl5E8fhaC6gFmVvsLuXpcItA\nsRETAlbdBKQ2/uNyAHFGoyOh5VMVzfVDe7cu8Vr8JWd/SaNt0o7lL80QQwg+\nBdDu+BV7NNWY8J4D6dCR389eX3BJUDq9us90ZJ6+PI+DFmMxahEag8YCnLf2\nIIRwYF6Gv5G7EX9FsOTiu8jfObM7Oa9H2aSAmcfxRKiwnTf8yGA+z7teRwsw\nCRKk8+ALkD4pHtkxmGXv160pyM84N9mHm+oI/DpWIsIfh3iAvsiOF7C+VTnV\nyOqfHD0NDBxd47xnjaUo9KRkYwafxKBF8GRd3LB/OJ7rW4AFbdXpUaxM85rL\n4Hmj\r\n=iLGI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac_1603210378305_0.963471551177213","host":"s3://npm-registry-packages"}},"14.1.0":{"name":"@preply/video","version":"14.1.0","author":"","license":"ISC","_id":"@preply/video@14.1.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c107b470439ee958a68baac00684b5243733aeb3","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.0.tgz","fileCount":531,"integrity":"sha512-nl/vR5LjOhvP+S9daGiE31bfQVlYvOcQ4FqBlgknpAaVt9NOV4MuHsJ3xLrXuEItW4umrQEjuNKeOW6WtGdWFQ==","signatures":[{"sig":"MEQCIDe/nA9y9HvUu18YHON9xevGp56FChdO4rjgK8Ecz93SAiByyVhCkPi0xu1968Ji+Pt93JNLH5hSGjeoq+rrrkcqeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16702575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjzYmCRA9TVsSAnZWagAAsysP/0LRGzAovFGdvoiQhtnG\noXAyXjI60VdxQD9CAWrD0Kj707VFSqhjAWvI1FeHQ6oyyCUECsBnYPvCinYm\nzu9HHcF3lL13DGgYHtouGzka97brvahIGD3g2Vttt+HmDfa/WswmSgcvCm65\nWM4SXGChBaofB3O3P/BGV/SaxQnL1m63HC9vUhQLXumy80v8xp9Y0ZT986T5\nySCoSdqwDAHKpc7hGmZ/Z3ueGVerSB/3bPctb7OklKVJfZ7CwWrt8iFSys2w\n0h5DEpPgK3AoK91SQDbx9sDChSPTOlTXOg+vBXpzNv1DM6Ye/lRlw7SFMjZP\nWpLD1ZQn6KWJwK+qRbtOBo1Znok7qvLg+mjTMenwpzkkwouh/MOfHbKQghmL\nJw+TpJXrssxSuHsyl/392V+EjPliF2vRT0aSEVOO3RjRCNQtU/i/f09YaloS\nI3wxdNzSYbQwiWlsxBSqCuLqj8rzVGiCvyyc7L+re+S3nZ93qcX3uq5GhYlW\nN6kbtgbQ+FkFhMw/IlEV01++CYgwW8PHwV7B7u+S6XQkUsW2rKTzJ6sMRCIZ\nlGBKqASiVxtkNK7hq8osBDn6zrFInjwOl/PqZ2A44jOebUdbuSRY81Dd11VY\nW5a+RM003xVYWsaV30r1OWXD1i3DicmWCEZJ5aGRZq0I2a3+1rEiuvQpB/6Z\nRoU4\r\n=DNGk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.0_1603221029023_0.6446570941268999","host":"s3://npm-registry-packages"}},"0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69":{"name":"@preply/video","version":"0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c36e92e0a42e001e84b32daa3771e211cfe1edec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69.tgz","fileCount":531,"integrity":"sha512-4L9BUm/3XhxYdF9hgI3b0mzJctT/6CJYCmiRVdEN0mTmPlfxBavfEEwy5OvKSlLjttn+kJft28SqYgZH+Ax9eA==","signatures":[{"sig":"MEYCIQDqietnncGdL7AyHWdZhJKdctz4HEjsCJRC35BNXnIdswIhANhK6T4HfLgyTYiEUVt913RUTnAGpOgkYR44ZptJhoQ4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfj36gCRA9TVsSAnZWagAAeo8QAKSKQwCb9K9qWdP+Jzuh\nrSOuubektJ2qzC9TsZZVn9E2cvPI1Ck2GRp/BRfeOoXffYCN4cYyh9+uvsra\nsxBrJsJmfRYoxYwId7dHmAiT9ge77kfgE6nOSrftaCnR/lurShjScoPFdmiS\nMGIGnZm56TPUwYQwewi2x4Gvht+wN1htQMqrmnktJlHGWlDOqrNa6tO0ej03\n0ESry8m+0MMtWHxTcyp6l26kmKhffWXPW/Z6yxhEEOydoQBIj9IPlnlRv87s\ndsYlJdyQY4gL32oLfuHpFwmmPUr0ml1rAZBpuwIDIkchbnGg1+Of95Eiyfe8\nETjVCpyd+8zoFfGf60qBIfpBSEUrrddwQS3a6ne6Vxh/kOky9SvhM+RIqpPO\nuhhcTwUBZAkCcQ3ImIPWZR5d31yG+dKeaISqmlyNiyC+Ury0ZPe6627FHFa9\nLT+YSbiBzHDmfBKliJGMc2lu8W2ordGOjZYa6LXS2ocTZE9d5E8RkgzSVPS7\noxx/InPNfytpQvhCWnDhkp1lOtK1XXU8sYMLgUJyHEmin632tmsAZ4DFJgM+\n5iGqg1q1a6l2epDwqnOWzPbhNXgIatydKhDmNXhsYuk+BOMtJHLdkGjTe1c2\noJJvBMny0755YJWKltuF+9Jyl4ZjDNuXVSfLdntKC9VZMV5VpdcuZLtxcyjB\niAC1\r\n=jarw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69_1603239584212_0.6638009368497189","host":"s3://npm-registry-packages"}},"0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d":{"name":"@preply/video","version":"0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5b7d5ffa455c33ed278b4eb6be802f0f624d7c9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d.tgz","fileCount":531,"integrity":"sha512-D5XtMFbB+YxSq05QnzlvGuDC5uFLMYMxum6xsJydBoA5T6hR+MR+TplCJhxcIiHOfARAnKoW6IUyXVR2I5wgmw==","signatures":[{"sig":"MEUCIA7kpXP14ELVrvA6YSkdbPmmRkiYKZyogPtL/A6csbtyAiEA+vDRbovw8ac4EgxEq6kMU7Y208rQMSJbqW/hZwOpP6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfj/aKCRA9TVsSAnZWagAAiRoQAJz7vn7QzkqLtC1ezNFK\nU69MKi8m6/gTiOw9Vhg0i+YMqrX6HnMoXwNMJZwdLnMkE03ah3LTm3lQS9kw\nhCXTVEpBnPaU5aOm5zgiBJr9lvgEgj0dqbkbjkGs3jh0lfZvTWSESAzndBhS\ns6fLYMhcMfash9HCM3d3BMN1LZKEjdNTVTWJmarwjZbLkaO+mf8bTHvlEX0M\nyj1TJG/sQKCIgysIF59hKCXM4lT0SRXp2Kqdxy/Vn+ChRlF96QC+OncrFGHp\niLb7qqgQCcWAmAppXQSl8DBolXR449RIuEDrb4i8Z5Akeu1qJnJ09/3y59lM\nV4C9f6TzNHz0Tzfx/23TMMJ+cCjQKnU9Brv0qid8Qy+8E4dTK73BXMP0vV5m\n2o7wIyv9vKuO4PI2/oUy1rGq9UFVpIJkCycNtZFnVYxiGT+T9SNeKekARPbd\nL10DYsI1pgbTHXaI6RRkkXIUA+/4mFUL0P21Q6DnO3+tfiFNFB9vd6lDSmYp\ntCRoej9pfm+Wm3dvRIR+oz554D+LPce9nAW8ani1x+7YVmmTnzKOHGgFCKaF\ncb93MnBm+C/NxSukwNAeI4fSObzffNB01fUY0yLYR7t6cwffTSuNQmwuFLcX\ncnIqIXH522XR1Cp2IiKFJwDWlSw+xAaC/EBu63fwS9V347p7NEv+x0GVia+v\nn1qo\r\n=GLji\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d_1603270281932_0.13012868683263834","host":"s3://npm-registry-packages"}},"0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f":{"name":"@preply/video","version":"0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"03b01d5e0bf8269e6629c99198ded93934b6a2e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f.tgz","fileCount":531,"integrity":"sha512-cQWilJbFe/6iErEwgbCwI5dyarcb0VvM69EViOQ+qpux84Rq7ux6r2jpcP2Y6JYl3CUL+hYN8oCd4VkWSXzPUg==","signatures":[{"sig":"MEUCIHta1wEnyf9z4cMfGnvP6mBCxVZ5Pp7X7VfSXtjVXE2XAiEAgTBM/n30aFjzyUs47bR7hrk7rhz7863Bc4UArNhxC4k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkBJzCRA9TVsSAnZWagAAVQYP/ikyR1FIdncjmUhXHOBR\nC/k4reQq6EP5q6K01qHWmwHHcl0Ihz9A2X63HCUaTnlr44Pa6ipUSRBhd2CT\nUz3yhnxayrHOtWVaz8696H3i/SBhAwph/dNUKScVYl8o7qyeUGeLEpbllm1i\nVGiFDEK7YyBkrZWy3FR7Wf1QRfi1Gf1rIPd03e3stfPm3GruLda/IOaTsWgC\n8u+KNDgJKTYwhuWnj0VF/59RScvVfue0BC9PoO1OD9Anhynnqbwgh81K/fXP\n+zfoPE/fYfqBIvKpSR0sOYUXGmETFC8IS7oefK1ZuD2UOAB+SjekjdZSRjbZ\nfuJWmTlyu4O32f7Gbx4AB0v7X28R8LgfUm7wH8sggyL9N7EOsXPa+wF7ct3Z\nU8G4zw9k7LB7rFp6eAgIeX52oLf0Ys/Z+UNbZlSgqQo9nBHGzrtwEqxaDGdA\nCI/GaDn8EbuMpqgGFDG6XrNvX+7483AXCUg+EW+4xpbrL56vojp2YQ4atHXK\n8ivuobH38GePPyCAT80mS5AmijvQ7f3Zwjf21U7IEa/OqBlKC4sZmnsxeqHo\nz9Zbj0iNyj1v+yZqG0uB7VnaVy+gq8+FASD2atorYVuB+X3tFDYEh5ABttE7\nUkF2mPkij8TAytzfWCpZC48U6t/qk226O10ho5FgRuQITSaoaVxiSLDCOcla\noBaF\r\n=8axF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f_1603277426272_0.8746179898885944","host":"s3://npm-registry-packages"}},"0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5":{"name":"@preply/video","version":"0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9dce0fe214186ca441713d2c5ab162c89840e4af","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5.tgz","fileCount":531,"integrity":"sha512-Sxyr7A32Zn1LdUpQ4QGZ1mE9azuKAG+41y3KyMsYmJp3MBVLtgpqxfjR6wt+g1XoEr7kCSnDrKqBEKlfBcElHQ==","signatures":[{"sig":"MEUCIQCqJDReo4mjoUk22v+WSBZi6pvpz5XWr3RM/L5oP86JcQIgF6NiWaBIcJyjgFcwzuG7lulBk22ZxmbK5MywqerXCf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkGsrCRA9TVsSAnZWagAAV7wP/2TdrF/sxKrjFM9WhthW\nXbKj1aGs0xqkL3oTi89QuEyKj5QGQWNLkQm0GnAH998rQD6BtO/RpDijp9gB\nu36xPOY1mxeb0j6oh7dGei8ygdJMxNBesS1qyNg1rYt4Lg8gXwzLdN69SJS9\nsXSSNwCuR6C9i2MogrVYa7OKSSnxML0t06qOqB5sOE5/MTtsy+sdEM3YKK4Q\njwfv4XrNf8qxy6+NXQB1YocoaDomujL2hD56VlfceTiY9CKuWBlPR6HtA27s\niZ984lB+hHTYLjn+ApaEEgNS/jvrFCALqG9L1kZ+TaH0ohhlVyU0qeq+866X\n9NqhufmO0EsYXWy1CCV99TGxqApnwrXMHRPb2nkX938DXxXMb8USd3wwMkDf\nk5YJaKf7gk6n9XR37wWWsJOtbsVLy6rHAK772Crz4VSA0dtwyJQuDo1ZYWUj\nnI4+Epj14QS13RD5urtTZqdZzPKczymkeuhDuD+xhBPwgSai1deNSEA31OdW\n/ZzeXwbjl1sEz2m+7IbH1fc6ijEGeu2hUvhj2NiKLMlawR9Eu+qy9fwpHlsq\nssa8znUcP0saSVVs0Hcc5qeh1wgasm7L4YjSDmq2T7F26lYrNXwmqUm8FUQG\nxR09EmwDxtihHaKa7OfhcjcqmffOj/qNmz0gr4I6P2N/Qtqz1SpOuETEvq0u\na6uY\r\n=3ARY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5_1603300138736_0.6736278963735174","host":"s3://npm-registry-packages"}},"0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9":{"name":"@preply/video","version":"0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6fbd938ef4971167edf091f8633f5eeff530ebf4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9.tgz","fileCount":531,"integrity":"sha512-kWPoT/8BJVYacSIRvjsbmhs/yCaUF0lIaOSLt5jjreAoQrLkY7b1lfXv18w4s7CSxwbsSMVgUzgo7m3g9Rpvlg==","signatures":[{"sig":"MEYCIQCOO4SQMFgYSiL/ZrrTfl+NVE103htqISLT5/JyGkVe5wIhAP9A4lAkzMOuTbbSTrUrl95cHPuM/eGRZI+NSHy5lQ2l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkINOCRA9TVsSAnZWagAAb14P/jlI1SvFLJWEFAucagLT\ndIU++SSzbEQZk5WN40kZs7xDxJ9MdmqRy4XftDrBaQ5AF9QKMe4IVuAZVcL+\nWUQv6lW93iL/VqnxHjgc/MMZNCSjR977GOnEjP+3NDCRjvZQtAgic29koShv\nlyR0OxtgsRxb26plTyElOkFLX2olWg4F/mFguWINU/I3boCwPMd+Eko/a7B9\nFmmk0tOVUhIewOBBVgNIF2Tv4GmtQEYdcgGMoyPu0ofdHxvYAWyNo0zUVfcG\n4tvbhvk4Sxv+nfjhYmVvDK8znA8NShGxeu6m3gsKALFnye0NyiP5A/+a9Ov4\nkmEE4ZkdX1mtoTSjL4Wi/7QTKah1FTXHtHG2HxwDbiW5HmUuDsd3GzKnK++D\n7+y0W/i8TVIETRrt2aL0eqgvHojmvSQO9TrM1TcEcEenIF/PsWc7p/FNtG6h\nvDMjSMkW+ArQtRXEhmM37bkKJW2rMrES0qj1sGrlSxvzwFj2o7Zw/QCxDPJE\nmmnd6+39pPsmRmPOmTpbJPhtOjUVrPANxhhAp18RuxoGcK5rKbDH3X46NWgr\nAH5+8U0vAhcGZdyKcviLeAzRNEnl5Hwgd9YqHGGIxmhfZjsLN/hFsNxuahWj\n5HWwoeaI2dUtrNO/AKHImISYRhvvX/jTL7uTANqv1SaIH4kA6D8t7cvoZi6Y\n8UIO\r\n=earr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9_1603306317689_0.4226268203334882","host":"s3://npm-registry-packages"}},"0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107":{"name":"@preply/video","version":"0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d82a0d93611bf7ea5eb9111c72dd856599ba53ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107.tgz","fileCount":531,"integrity":"sha512-eTwab0CVWkJ5uXFr4uCsQTcb3zCCvWo9HOE39JPMcWENI/vxtD5Uyeu/VxZQdlpeBk1I8O7tszBV7cQgE0AjOA==","signatures":[{"sig":"MEYCIQCzDj6iknjyPyMOdlAcTymbWc+V4H5fPcPF09GWw4xuQwIhAM2165csuHkYqApZZu0h7Pd31jBaoQm1FIVgRpLNjia6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkVf6CRA9TVsSAnZWagAAe6cP/jsmZwe7rv6rSKUCVlqT\nuuI456c/nJYv3xftf/m2USJn6c+r8fK4WL1c/3lq8Kkve1l6kCmAX5tjdgQy\nMxNDWa2zmWtwP5M66GNYOibcALDvFwLYUC8i5lMJfJUrH6ZbTEITVRx3hOo0\nhDr5eH5xS2QNAGFYVHb/D7nqfKpO9EkX3CYwDTondh0H3hfVq6FyAznPq090\n4gzGwHs6GoZspge01dgwYa6ZHj970gtnaj5pU246PN2sJjCsUqkVZuccste8\nhai9XRIg6o48Mnl2zJNNbaFGACPalrOZMRl4I7g/6naSgou3MV5GeDfwihss\nBpAq+7BDmoE+YiPHZZUGrc355Z1PaGPtflGHXUpCnqn58OUkfNhtxgBkwvZA\n7AiaZbXtgphbrI1li+4tJY/xaiG2k6IyQI0bjCqusUz4X6Pv144tuzFgCRr/\ns/59DwJKD4uV1ddl24VriPZFUYAIjm8VuGS1d0rqwmjhs06hUFgDUAxQNsUu\ntnW9sN75zIzBa7Ts8EZhYbe/ggMvpgl2626wowoJirXfRRWhNnHXCtTncYe9\n0Jl0AmvxsW+tf4QWZadggUaPnk3xxhvEm8gNaox7T0nNcbGBawvVqLlpVM+I\nTE/HbRoGe717n2E1U0UHY/H896B/zztQmxO6pfICDyygAJLQGu5Ek0DKawxJ\nDsC3\r\n=pK1o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107_1603360761767_0.8495827415620065","host":"s3://npm-registry-packages"}},"0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182":{"name":"@preply/video","version":"0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dc6cdefab63eec28a7a5e8ddb2ad27573f6ce849","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182.tgz","fileCount":531,"integrity":"sha512-rv6dIu+F/5iYvxhxbt5lOmwrxgiudspmlT2yvRk2Xc9uuihGkRX+CZr0L1Y9x6+n8E4ukKPuFKUk77/EZeb0Kw==","signatures":[{"sig":"MEUCIDW4qBHGjZI07GuRSfvgNdrjrv5pXRbeVasfHiBRSNI5AiEA75EVfpoO081nMWVdRnaHl8bhWj0/m5we77eXS0jWB+M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16704189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkc0RCRA9TVsSAnZWagAAAnkP/0JCuLgts+kfdez8UKug\nJrRNyRGLPQYhfebJI/Cb/nPXglvzmvQTDUhmQ8vuH++hWQGU8EI7hdsxomw8\nv6sRqWIc2jFpPuSHOEQAIHmAZDlhXkMWBCeRTuMgbObktp9UFmWZCkAOHDP9\n24A33+6NhWXEx/NJYToa39ZonL9Hh/O+jERoIy8y2OQXDNev9oGR5ka+pr7h\n7Q2eO7w6l34QPighUA05EbYDIuO6JYFOyncPhqyyYJM415UpdzmZMTmcdgBN\n+pykKGz4ilxlzUyXjJGbQ0O+NTl4lXOmFx11GGym13TvT9BIDKxPiGvDHDEN\nN20kYQMuURz5h6lkBokKF7RekDK5QsY08XhOw8XNkVyxUhYzw6J5a8uT7Za+\ngK+J4Wre5DRZQ3uhwkeJBZGBaN3dthZP/eMJf/VPDWIJ6gbgycDyAnF5U/Tu\nqrD2Np8ixmBypLcobSnvEdTVEHRnTIY3xq4AszMrIac5ksdbgyNaUDTpTMKz\nkpBNSVjdoEAlLtiDsqxnk5WopByoXWGYTqomudzBK0yr43DhAN7uTid9GSq3\nSCisgg3RU5gbg6c0lgby/IZ2RkJKOc16Rny3N8NX5GXZMVuEVLJp8g2wa1Mj\ns0nyuaxUMNQ84gNPO+A0AledcYGkBXhPVFHn/uUynMgj4NVisP07vcoi+6+l\n9wtV\r\n=zPRC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182_1603390736490_0.38340824585133104","host":"s3://npm-registry-packages"}},"14.1.1":{"name":"@preply/video","version":"14.1.1","author":"","license":"ISC","_id":"@preply/video@14.1.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"224082986cf7e41922c6bf86ee6fcd640fa63b7c","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.1.tgz","fileCount":531,"integrity":"sha512-lHm4jlyiKhB2fSntC2n5HWxXCi/s3BDE4fj61fGSchUBCb4LfPfFWXYmZSwDUxHEv80YTa0Z51CyhSvbGyghuQ==","signatures":[{"sig":"MEUCIFSKtD2xhejShGFFvVaWyUVoBKtPYJxEF0hUDlTFgPNkAiEA/FGrtRmpDjAnurTJET03NOKp6kb2hS7DvrZEp1CLXuo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16702448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfly0FCRA9TVsSAnZWagAAOWAP/jTdW/y6wwBoajaxop1u\nVq+0Zz691v4sIoFF3NNuxxoDUXNlty1MK0mmXon6lh9ueoma36F0BeN5kI1U\nzfPVJSX+o4B8JadXTPilQNQy6IVR/aejlTgjxn06e7iQb2Si8V/6S/PQ133a\nl6NgXex0WvCynYmv0y3jXQC+dMsWPlDZcDGdEyPWlKTtVFNyzrK1wclOfNtv\nweGv0oYKe/a/yGmIPKHS6eRimlLufvat5QZ0Q6BEDs1uNDK3+OMs/vg1a6cU\nesnMrLjuR+Y5WweE2WjMnSGCeKZLlcRf+NLEeG9iMICN/oxpjBCVYgVl7iOi\n7TII7ZJU6TX6telAB9pwD+yHk8xAo4XdL8v4Wslnfak+HQ3zrn2jvhDAFnyV\nJamSNX0iB7Ajxrgg2wDmUb/EGLNO/DsjAGOgyQybga7k0Jcr+7qhfjaHbjQB\ntpJn3mQhhp8MLdxdFdYnustWXSVv5rbDBay0BZUSe2yfJwtO2gnoTlB9oYiU\nJYskvy8RR2tMkFb3ZokA2aYkhcfp9EcjQvfamwOa3xezVwQFA6+JlT16VOTL\nx/8hXzw0obHKEhWJZI74aC0AAi5YqHbArg59nBSadBfmsDvZV0yFM7d3T8Hc\nyKXEG5f2xde3F0BZryN828RG7BDRulagO82K4LSAeABA3rGw6ufe1JG80Qti\n/OC7\r\n=kASg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.0.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.1_1603742980247_0.293254678701415","host":"s3://npm-registry-packages"}},"14.1.3":{"name":"@preply/video","version":"14.1.3","author":"","license":"ISC","_id":"@preply/video@14.1.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f7d19055383cfb4259e5bcf904ea7ba2794e94e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.3.tgz","fileCount":531,"integrity":"sha512-3ikV1BAQdoc8o8q9lprc2gwQwCNxGjMnJDosVHKV4XhMV0aqrw/Z471PBjQSKRfrJjs5E3IBT6rYyAD7uKo6og==","signatures":[{"sig":"MEYCIQDmWHsnxiuohux8qRJ8Pa/SFGrl7okSK/j2u/8F/dcRtgIhAMpwL1Un6yBy7qGTiY32XP78g2axoCSoSyVPGBcCJmJz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16701848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmCoPCRA9TVsSAnZWagAAweUQAJBnM4I3f8FpkqgowYuY\nyvNjtu9TLVJI5HFDVQ9pJBOgQ8COtJjhghPoW2UkJuyP5o53TGCHQ80qkWmR\napxTmArdXC0kHSr4VDdrr12dVAxNzxiNuKfRfLU3l3pGhPt1Az0o3c+ut/ce\n9IHLKz146JCvuOjUtMA2PQWYlbwXYhGNdV0SXT+XuIWICeIQgkcs4wPWx8cE\nncC+l6eIhgP4ZzeHFNYFKeG61py/Eq7FfxOSvNjCOSI5lqHlf6y+Orc4UY28\nki7OfCgv2kkxNu79jhll8dLVHZDI14PEdEkZvYLXUhfUupPuhO5bZyvdz/St\noUWut6UkMLEWdr1INuPxfqIhuFpfRS/sPgD+/jMs9lJuQckJCpUfxq3P5Fgt\nT4Rjz/QkrPgc1ttsr8q8Kmfw1HrwebCEPdp2PV681mLN0nBKoqA1KUYHrkgI\nQJsiH/9DYvMsa5ejK4ETteZd7IhL4HqbxkcZdeAbK6239vr5G/Kl8avbRf+6\nCLyddznj8bZv1xNjNuVPSB5G4VfM5p15kjk6ZWfjhyES9zUOg22FiKuaRFtZ\n9dp9SFywskww1ZaKmQQ1T0l/Uj3xWtQ8Q2DU0/VOFX09mHOY05IJ8wn+L9Z/\ngSjXCj87VoHOP3obP4C5lhxA3j9DNNKUbfmchIL7UknkNyXZgJTCkkFBdWJp\njVAj\r\n=8yyl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.5.8","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.3_1603807758863_0.8241576463564353","host":"s3://npm-registry-packages"}},"0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf":{"name":"@preply/video","version":"0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"1bc314797ad43b1549a5f185c584f8b2b464505e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf.tgz","fileCount":531,"integrity":"sha512-W/0NVEa1GiPBLnJQdXZpSbFXC3R0qFduyzdFiGlMJUry0imZ+pnX46JBNgNHzI0HSZScYTVQJlWQDnW/yTlVUw==","signatures":[{"sig":"MEYCIQCmGGux+Tfr82HmjUyfgezl+zRb6CjVa53LX4LXeOFddAIhAILNxamD6jwTh9HFDThbvQxHuDfoQQs3bfYR0bs33/aJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16703935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmEvFCRA9TVsSAnZWagAAnlYP/j27GoaO8cvFP5xGDjFD\n1gBouVuZTaAFccWRAfULjtKpF2Mk4pREwp06QHAA+QGqF+AxXfb4koNXXFQh\nKIYrbF7b8wr44YddI6gjQqp8rvFDgc+5oc2r/+DVjeMX2IkEY7MlMrNxo2r0\ngvdcGHodLkVIQyFQv9MCac/6Qn6xWQi/RHDnbEwCsoxRJO5D/Y+r7rSiiuUw\njJ4+hOJb9k5oSnPw1tqObHtK+g77II6QkySy+28R6dKEDX3FlqOrGy83PPpC\n/bCYOesw9tjqMPPJ+47cK9pWFMiuxbWS2CbapSTQ3NXUZUD7Z5Zxq+3jDYXq\n4Y+7lDKRo4tsKWNyF5xZPpVlbQ2GUyi5WBns4M0A4WV4IFT+cVlFkZ7j58Dc\ncVRCOUC/zsOaQuldhtwbC9rnafobbZ8Ac1DAmoxyR1kOBthiiR6x49RnJ41Y\ng8y9cUTQYIr/8yeKTS14vIdZlYJUckuik6GMITeeZczHNsfF0+0301DqalYh\nwAIy/lNBHZCJnDl/hGudV7WAyIHftgOl2yhLmsTiy3R37GXpnAELaisBvRqO\nq+K6CpMO7/DVo31mMzTTA+SSMOoGPIZn/BwYL64Sr3I2+5vmuoGlK904jxJ+\nfdYPbeyokp33PSIzZZGI7LFeUWU0+iXMsxzmqGExnOLhWTX6UtdYB34DECDs\nWrCn\r\n=6rlw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf_1603816388270_0.34761134435959007","host":"s3://npm-registry-packages"}},"0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14":{"name":"@preply/video","version":"0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"54f34f8f2f0ffadea3ef44f66a138bd813cc2dfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14.tgz","fileCount":531,"integrity":"sha512-BTwwi1ATUXE1nrVuFamZ1Qy856fWpIYOu8BjJzwk5cu5dI+MLQvUUV6iAaCHdkR9GfRSyseiZ2mxGOVv7v985Q==","signatures":[{"sig":"MEUCIQDTzmwiVWrXs7z9nIRTEsk9qjPanq+vP82nUmlaik3KXgIgGkTkyeGjhHf9giUD/R8RKOe+lGFEJ0pEfPUgYBcPnJ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16708847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmGC8CRA9TVsSAnZWagAABrkP/05LLunJCSG4YTOqgkdI\nOOa4GGnu51DSsQnmHUSgWwSCOVSgiuBvth+5Obgzuahr87je7PuMZfyKd+LH\n+BwxCcs0TquB4efw+CQ+LuLNSS1kjyLIg4xfWn6PfYa6aADn+tM0aCHdvXcR\njftMz4f7hrmvK3QnLjem8YQj0IywesbFcdUXejKWldd6gstIaQQ/4jJULtHK\nvcB/gHJkMGM4F8qFnxNqXRFpMypDbWjJEsnZDfaX9CzydOfua1u2JVFNt60P\nYlVycPGJCCghmgPQEDtjeukz7uKp5Yi17etstBmfDEn1JUE1knSLUJL9GTKq\ngq7KohCSpeLQN+46UaCmxIMklI8ziUBy+yQwLev2PEukubDUrBhwgbNmBsmH\neu95aiM06DrkcOsLj8f3IqdWYOy5PocRc2PFq3IMnlTDmbGpPkGRaoYZbCvP\nv9Vi0bkJHAPuR8ZW4krmlsiqcyVccVgFT1Qu5P3Qp5VHC3Q90I5rfXnlQsn0\njUwPkf+ckKvUjktnPyfy4oseRkPblPh19Ji0XzmHauD+jiYG72K4M1R/x/S0\nvvRWAdFqysOfPSj6JlA0UpNcirAvR3GMO8QEhUIqN3TOH8QrbQZ2uLZWNNqF\nRCW6ce7lCHQjcy6p732c0XZz9DTats7WBLFYITDVIKgP2lZ4NwJe3iJvwsdE\na3oH\r\n=Es8g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14_1603821755531_0.540748948119754","host":"s3://npm-registry-packages"}},"14.1.4":{"name":"@preply/video","version":"14.1.4","author":"","license":"ISC","_id":"@preply/video@14.1.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"99694e9db17b0df83f44fd20d8c7fbd756ce91b8","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.4.tgz","fileCount":531,"integrity":"sha512-C9MyP+FmSkoUROxZRXg2gR/LpHbyiuT4grZ5CLvh5yTl+cM6GmwAp3NlEdQuJaqCNFX9+enbFroR+qeB7QvKpw==","signatures":[{"sig":"MEUCIDmyuYDOlKZ5VJ1PA4T9x4XxBqxCrXjDPZ/64js1/mHXAiEAp4dwgdwIjdyuQ5p+aBUx0l1VwU6ZT8PwOksZJP3g7Jk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16714178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfm7U/CRA9TVsSAnZWagAA9aQP/07uIIFWi9RGMVll6Whf\nafpWjN+Cjtq7k29t1QuEMfQm9VIfO0WsobQ/aqIcw06lmAHheIVjuAQOwh5v\n88GAbqF5jnf92bn1aXMYbhT62GxLjrv5drmGs48PiBEE1n69wqf0UlbLkEbv\nMJ+lbsiVPD6w3QYHk8Xlql6uU7zeJdANg2l1/U0m1ys2nCaGKzV157QsgWYv\n68R5ytSn6zgbry8SGfYxXstOVhMIwWhi6wWE/f9xjP1sDJJeCAWG+FUvRdX9\nSjcjoLSL1eQRDg0/GFziDnroQGMDlAiSUSPJziFicCkjLXUDqoYJjN0BuUAl\nzTLcvXyDGzf068BXREnGe6WFWqK7Rrqq32mucarVTsPJoF1saeHKnbKCYJAG\nC3fRlH6I3xO6lz06GQdu9oZlM+D6Zu/sjVeUp7zwIfPJy9iKMpiLnRe71H0/\nWt6Ti6qnhPpEfwnIzTeMxRKBAMnHyeRVMmTAg4YWPTp0Y6O8vvBDdnP4woy2\ny3viB17sEoKzRYx+QSeiOzavRpNzyahuGFP9DQmrylg5L/da9/yfrj9CEU4d\n9LQ9W+8YpnFfv3NcXRT8cH6EpLiXc1ZJaFaHoRdLU6P8NSF5K4EhoyKMd1gt\naewIZIJseY7pXP/nkKZDmH+fLCG9jQ6TIw7XeMMxHigw3xMzUNJUP9aZtTzD\nJMfr\r\n=QcLt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.4_1604039998657_0.09185787131097545","host":"s3://npm-registry-packages"}},"14.1.5":{"name":"@preply/video","version":"14.1.5","author":"","license":"ISC","_id":"@preply/video@14.1.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3fb487773b461bc96bba4d4f919b84dbe8e6dcbb","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.5.tgz","fileCount":531,"integrity":"sha512-CDjfe+qUDmz5kagmATU8zjeqqpWLTXkGwxRavST/K+v6sadLxkNIZ+eNlKGK5KcpJdfYOeGFdfp6dsZHIALaAA==","signatures":[{"sig":"MEYCIQDieHb5jfpRjLmI+Yb6FjVLJUm15ecXj6eq3oSsLMoyCgIhAP22nNdKHn7ebslvm2ZcQV7ZPvXpKvjcJCbAmv3jIaGK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17241587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfnEGhCRA9TVsSAnZWagAA2ZQP/1YtZOzOhQ5C/9f62It5\n3OlmPWvm19ux7WjOOq9n4Iys3M9K5ulCvUKbKYGkxsJU9zHA2eZgUhGv2QmZ\nJti037nkfhFKRoN4/dV5F0MIGc9wmFr1LiUrWw3+l0Owb7pHKONAHrYRisej\na+RvbyH8e1XsV1Hy4oal0IBi4kLJ55AlqdiXUY5Pl8LQKHqnXwuMrU6ymCmv\nnmIS5cmAwjvhcVrWv06yfDyn+NGZRzt4QA9InlvOHJEPz6vhus5la3mq3s1t\nlByhRdTfcSNh9v1bcfaXfHRqxWKqQ/8ZV8lzLzyIA61YpxdpwcJfwR3AG9th\nGjM+T3b4MJK5OH3T2aFozG8JEqKhnYaBJjBQWWYAAdiT5gMyOccyvK7hEEQu\nioyNCBhUQt5xGmLIka+BaDdnpY9JDIxgVli4PmSIVdqnZqlgt3KVCgsTmhNw\n9WJd4ovHg8XVwoCCgH3Ia2owVpaXZRmOgwvNBuzLpSGNFP1o5N0Ak3SyaP7e\nHVbknTN3MMZSOtXCae6TKWxXu9WmF96d5RXRoczwWK2n3zk/DZod69tcjm2E\nVJcNxvVHhXZ11bozdLBKimbH7O1CFLT61/nf6/JlEY9q5QJNX7GgYMKExMtb\n1w1/XhlC1Y3w8KxOC4uP4Ud26IMYW2xaMXsuM9tA3oSr3Osx23BcU7IMzQtT\nfj0z\r\n=1ZsI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.5_1604075936019_0.8581749021505767","host":"s3://npm-registry-packages"}},"14.1.6":{"name":"@preply/video","version":"14.1.6","author":"","license":"ISC","_id":"@preply/video@14.1.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e5cd20285235673315c0eea5f8abe3111fa57468","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.1.6.tgz","fileCount":531,"integrity":"sha512-uyDlLk8YwSOW4UwSQjs3lnEZub0kN33lowTVXuaDMex4sHmRYxAaa89o8/ppENwn3q6uZORmhbPvWpqJai2+Lg==","signatures":[{"sig":"MEYCIQCnxeUS4hvylWBkIsUqrGpDjG2/z7eLxk6mDe8zPAsRZQIhAP2z3IArTIT6g5GL6U/VzTyJLs6F/mwarb/ctmOfI+Cc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17248777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfn8CSCRA9TVsSAnZWagAArTwP/i8v4G31VgwP2VdFqiLd\nhdMxTDsJfXD1z3MM6/n8oPjsdNwaNGJQt1IRq/7/P+veDuFSMKM7EMl/yn/Q\nCtmS9pj6M7Idw3JBzcjvk6jmmH8m78Hr2SKTBPoy5sVbxI+kreEzde3g1OY/\nbV55PBVdsD+NEfM+c/hCa48U2/h7WNOm2j9W+mTC5Q+m4deCgHESVIgFIybR\nIfEpHZSV68XZ20oXPUMwk4Dci61oE7atbOLCKsUHpKS4K2JFHQi251TDycLv\nCC+tCWxBsM6XkxK2bC5NRcmkdXZqFWvaHhRqnLyy1bkravs1jZ0bM5Rj2BCO\ny4OL91zFz7HaMOtj2QcWAspOuF815EQ/mA4CikXvCu1NPLIlN4hJm+W2ctFq\ntcji0Rv5rEZ0Fgu7tafWaT5XFpoPz32c3UBo38D55h+fiUNxuuvF7+X1esnA\nE8MXbAFdVClk5jJ6cNvmDsM9xWYEeOxmXC+0ejsF1qopkNvlGIV08cpBQfvH\nejxmUdIYfdYvRldGzBfOMdSJGfwkYCF2SsqGZlf7SI3TCCfuJ/NzBzadfr+b\nfP4Llh6cBYlPTejjwMp96Evx9E+oyLfepxCptnSZF0kVKZsojpggg/wDDm06\n2VmNSqLjiou1QAgXs2Xybf0COHLf/aIX5vFbE6yngmnO8QpgoQIYH1aWD7mL\nlsVn\r\n=cpLg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.1.6_1604305037589_0.9932331451697085","host":"s3://npm-registry-packages"}},"14.2.0":{"name":"@preply/video","version":"14.2.0","author":"","license":"ISC","_id":"@preply/video@14.2.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f75e9a7def620d31040d749e1a88b066e54425e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.0.tgz","fileCount":535,"integrity":"sha512-ZuQDQR3IjhXOUHX64ObH8TiOhf+V7tNyiNX1qdBT4aEYIfq2TmeOhwHPqksDXJ9Ypc3LAj27E3aSrxqSpnzGdg==","signatures":[{"sig":"MEYCIQCvTwNJJVLjOH5uiiVGLycoISvnBgxxdVIWwd4cKnJf6wIhAKF/6XTxT8G1i+m3H3XodWnFlS7/+YkQlxmG8WhHg8zT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17286170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfn9PcCRA9TVsSAnZWagAAf/wP/iDLqm77z6DXwlalZ3bq\n0MLomMiJeuIGiip3xDv4n7FcMQMZiv5CYW8jZQdLcN0DqnStTzzQum8p4ZWt\nvWz/W9dh5nPJb5JyUV52bXDlbcCE4h+s0FyE0Bid0mMFxJMc2DDp3r1JBEUs\nJyPbJp2YvAEgol8ZnOC36R0Cs3dQZKnWrnNyog0y29SHHFw5oZo0nHfOV3gb\nx1StcE3ZMok5IVDlOGLRM0KV0JfPH1PA32waYU4Fx/zVOo9gZh5601GSjCMf\npjqJL0hrmxoN4E3JPUPCFpzmsDnOG5fVv1Iq07kiAoFJZJMoehTvesf1sTMs\nwQqJX/3ZpD6FqPjNGdsvGHAablrawaUO0tFgkBxMvVhnDRZKgr03upUwn8Ku\nDEldJ1lzydymNmYgeV+KI+132ZfefEh/LdeC5ajR6Meulks16Hp5fZGf3XYB\nZoMbPb5Alil3LoG1o+u4K2XZkVgrptBO/aG3J2OBa4i3GTeNn5wXUMaiEqMg\ntutCRWkgrKoMcZbUcWxImZjYxs5udmRyAo/ewWESRq50qHK36EgNbQwlJklE\nsMR758p9+BkWGZBmyMYCuln+wRb3+hIrr/hYnD4kuNFb+ibfTTnhXqJSnzV/\nafI06H6GPsWXjyqokoUI7tF3C36ZcW+Imo0OH0VRt3oPTZQ8vA4qM3mfNmSd\nQHg7\r\n=ld/v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.0_1604309979841_0.6644842619495783","host":"s3://npm-registry-packages"}},"14.2.1":{"name":"@preply/video","version":"14.2.1","author":"","license":"ISC","_id":"@preply/video@14.2.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"54505e40930ca012e32d15f334586b7874906f58","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.1.tgz","fileCount":535,"integrity":"sha512-tju8nVUCUnJmKBvt5EfAUDG/f49aXwnxVMP+rtdbCXDNxpnueJQgee1LSlAcnaj32JOf5Lc1+JyamIhw1kcsiQ==","signatures":[{"sig":"MEUCIAna+PsO+8xySmRjWeRrtXJoOaNmvTs776JWyBDvrDeGAiEAq6QwXzCjx09+4BD49EntjHmTEaRTO+DYARgc4LNRn84=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17290448,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoPsOCRA9TVsSAnZWagAATFYQAIBYsn2fQxCY4okutEQ5\nZyU74OYR/2aI2IkoKRZtGAZnJsEWUhqAUERA1yJREWmCgU8ObxSXqgmutbzU\nzzUdji/kg3W6FPWWvEJ68olbZXYc0t7F9NCqDT+y79puBrAXnL3E6Wtt07p0\nnsjRsxFD+LZlnjMQVjMjxFOt6Ua8JiGVq1UzWHUgeBGp2Z4x4UqQCFQQH3/I\nNU0vvcQ5uiKpbDQ/daezoUxt6ZqtSVXgF+DDklchwNeabOBeocsZDBib525c\nUrOiIjo2gr83exNwVTRflVm+Qt1/69qLhc+xnP3TlPLHvox7O3MIGg9rVpzS\nhBlLMfNdnyT1ue7KKMZFKWWma9Gtb9I3PhgEDGoF8AbiTSvrqVMzTMy0iOWw\n3Qw2DdGmWSMozkUMSU0LPnIND2mHEL9LfRmuMMZ3lJeVJitdVivcwUGNmZ6F\ntEtBpRq0D/GyWJjnlJtW0L+eKgqI+kotNk9C/TQhCuktNNx3nIysjYXXy9yw\nNLoHzDK8/6hrqXLy3i0wylX7m+bijhziu+Sibj4dXK78hrA3XTfvF/38cnfU\nZ4AsMjHqKs/35ZUc6tAskoTQIlodw4W5Bd0rWyewTxiQzBQoUnwr87MHecG+\nRY4beoADMvODBi/5cGYI+K6piHG9cw8Hm1sWNYFp0Qq/Wh3srCBmtIfmWlZ0\nMmih\r\n=9eSr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.1_1604385549089_0.025314095751246102","host":"s3://npm-registry-packages"}},"14.2.2":{"name":"@preply/video","version":"14.2.2","author":"","license":"ISC","_id":"@preply/video@14.2.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"e3dcd590ee8d4ad77efca9eebb721c89ab63b1d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.2.tgz","fileCount":537,"integrity":"sha512-5wImfDi+FJlmI+S92Ud7yjVbTfkyn/a3yEBFheatn+2X5UFk+HW7qLoNrtsE4WaCbGSR9RB3kP4q30Ib80XbRw==","signatures":[{"sig":"MEQCIFFP8dtaFokpyqRIna2FsV0qU4hZMaEpTT2Mhd+eRAqkAiA3XX6zm8z3cebq8cWUoX8Z+ye3glFLCfnHXt9ReYuFNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17303262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoQliCRA9TVsSAnZWagAADAgP/2ox6z9LtIKBb6EISpxv\nIMMaCZEaw37z1/lsGzaXNQokIeer5SEVR85tmhLNV3+eD5pHQ+atuG0Eeet7\nmg5Cth+0axCVjA7ZKHmwrweJzKQwKXbBqakQ/mdnuxkO7sV7QaQa2lxarh58\n5DtRyGD9kgzQHDp2EJ4UKhKCdV7peQINiHf3BtKdgLhF5/Zbd8h6cMwh65Dl\nOiq94kT9Ae6CdD1MeL/4kQtgbLs24xmXNNxmpU9GaAQuUVwI3uKiOn09KnEa\nqPUO3qTKbAwFLQxPnUaCKqlit2+pSLlyQLlCRxSFPP2WbA5G4EhZPfMn/8Pl\nVzmMrKD1nz/70CLVwmpqsg69UDWtNK6iQWYCdlq7VhKVUkHKTTgHr+/DphnA\nigoWLtXQbS07ZyGpx0JHooWEQYYfq5SNjIHNBsqeQP2Ga0q0yURVgo7WNSRl\nY9pCvK8TauHBTrYCRCk/zW1AiTmxPGgMTcYuOnASBWDpn2gl4oniQrxizfjB\nkJ4Y+j+a3YsbQiNj3yBgSZ8EqwIscrZBINIZW4BgeRiG52Zmp2ppQgOEwzmp\nrc9ecPeIGprRbszR8SqM/Tgy0/AFKikA5yrJcRmiemCGXvr2c3URGsybsk0F\nUoL/FVhZy8s+HbSc15ppb/dGtEJVsaZQ8ZPhiz4z3Eq8dgMAcELwijNowimy\nLq4C\r\n=UP98\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.2_1604389217752_0.42669170869406003","host":"s3://npm-registry-packages"}},"14.2.3":{"name":"@preply/video","version":"14.2.3","author":"","license":"ISC","_id":"@preply/video@14.2.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"051fc4664a3b277ead5e5e17f6975cb175c170d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.3.tgz","fileCount":537,"integrity":"sha512-ooBthCPeQT3/eRRzsTyjlZJ9YZ+kIIJTqCUsyaTg8cQg0yBAJVLwwljsPECNr7Gl1x2svN3pOD+oD+eZJ+d8ow==","signatures":[{"sig":"MEQCICa0mOBCV8hpQLp4fUeQ38WiUDmTrluBvuPJji4O5QZlAiBcXeMZPspuA9/wCEvaRwCFzx7C38s4iIuUZhwNqxjhIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17308593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfooTCCRA9TVsSAnZWagAAN6oP/A1bFQd6VDM0xusm2RJq\n0c7exTVa6JlQ5uUSoYla8J+K8CGuss5ookV/8RZvUKNLZNKBBE2dmaAOKwbz\nj+bkRNouyJWKNNAosp/XBl3rYY6Dggq6sieygYHlLwcSZrss77YSNUfOdXxQ\nfbBxZog9J/Igu2thWsYq0Ua2JrsWZNn47fkwBMgu6niG7mMccEko4Q3U622k\nVUcpJvW3JUKCvHrOv+vzWrayef/r6Pm2fR2hl9UO9dyOmkShOD8pFf+vrkJJ\n6GvxSt6JUNpzT807rYmYXlGAT6OaNMw+dzCL0vPl3E8MCWhkKCBpc7Jf2Icb\nMUjkRP9VQc2Ni3DDJ/wowrRJuaTnYueWJiI04jI+avkjj49udHY+XTiuBrwL\nBrLozWVrNyBmGhAn58/LPrdnTxdet+P4nvCHCvL0HoY9LSM8tcPAmw1Vyila\naOt7jOVUqJk5c3xTWHzoggbW7V2m50LbBhVEv0lmzlSiVes0sYRqA/46QsaO\nEPu5VyZ8gZtpqaD60FT/kbr6a7DlmlndlihnSpGJZVh3GqwtYSoQ5q0dUf48\nteQ+ww7sRu8rAZeM1IYOqlM8WNhuL78qdkeJWBgJFfmuAJaYmsLdX6j+LwYc\npAjG92/9MYm/1Zlj32U82ST/orI2sY2w976NadYi4CY5kpXo3U4G+P2tdLfg\nkyp0\r\n=AwE7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.3_1604486336954_0.9374084997942473","host":"s3://npm-registry-packages"}},"0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b":{"name":"@preply/video","version":"0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"27b080721ddda0036a589b042d34f11a26ac4541","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b.tgz","fileCount":537,"integrity":"sha512-vLpDDSJXWpnkj0fRcGiaca5v5uXtctx4yNH9rsBk5MWQPhGhCuLD94rWFi8FUfYLSkGIfatAXZuylFayCYY5Zg==","signatures":[{"sig":"MEYCIQDIodh/xgprzLHeeEbg2RHdSgvnT1Ep9EXK91wdHPaHIwIhANf5xFXYwenQ0oYpd1mHwFYtXEJ0uMCTj26SiIfvjJqK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17310266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJforapCRA9TVsSAnZWagAAINgP/1VQmLNdepjbWH4YcmMP\nguHhh8hCjwOT7SPW95fg7PLFKM6AKONcYa6urbfg+K+yry2E9kugj8CcPTug\nAl+JfglrHf1oeuE84DVlNfe2ufDXrnEe+fZP41SxAFfpD2vjkw9jgj1JBr4c\n3d9DrRoHTDyzzmn8Vb8XaqvxyfGFwzM91wi0UvzttGWPmjfvzBFfL2Z1IGHs\n41TM5obLNXTDU+N0zMNzkWuP9IfiNrRtVceCp5HD1/+OdsXqfs+AgTuyatiZ\nV3qfmjLU1CFtMWxdj8sZrSnIRQlUXKKWA1leKTPb6AvK0W32R16xh5AOrC9b\ne/8+ccciXDZwq/c0uftZEzL7tPrNANbzvJjkC1vGoc9MdCuoXD97Ny3lKuze\nsRlE/C0YYt/Ka9H30n8m+oTqlwSdPu01QjPPn++PK0r/wlij3eftji4XSpfc\nNx7K8yfhO5jkj8wVng8aRtLZsw+DaaqWzOgIkt6QrDs5+YVdPfg6HqVdwDsM\nDcm/UvyjdpKfCKiueEEfVTer8KJOFv2zCepBYoSjPa9npmHjIdCAOMvnXuqH\n4u2PCLKQwHMTyIX6YbahHsG98Vly6f0tBEJIeC0r3NwBTa/zr+RXoWk9II5h\nSKf3mQK3xRhoJnYz8UJMo1qoPz0ogVQ/toPTHxQQRt7Nhfj7cyu2PKxnIBUn\nwh1g\r\n=3MMB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b_1604499112411_0.30194207719422916","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd":{"name":"@preply/video","version":"0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5e29e7ca922ff60ac79497f93d8b8d144004edaf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd.tgz","fileCount":537,"integrity":"sha512-ZVJZIGaY/nlQskmj9UmeO0hnCRgr1bmtdFbZ943CmrxSCX38DAnuRZkrpcqXsC3t6OVsbI62EgWGGF0z1QHELQ==","signatures":[{"sig":"MEUCIQDjENUEXk1C6gyw+Sdqr5IhY2B6VROyxE9nwWld3PcXxAIgUVdH5WmHSg+rH8FRC7vtmZ6yqv9Wg5k6KpJKBnqZC58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17310004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfovnrCRA9TVsSAnZWagAAp/4QAI2x8ucO3rZ3F993+Mb9\nJ5Cc3qzXFyovoFJ8jh/Zv+5FDitLPwnLcYW+45L4vOXcJsBEjLloUj1yaT0B\nSzcfl952v3L/3w5kbSSEPzvFOiPzKAUpeoxzvN6UDF2TefSXXxcXOxI213cE\nVODBAWNEN3cwad18ATc3BlrExEO4SXwO+q3dXgC7GQRWbjK3PCfKnX4wmTcW\nL3CpmDZwQTPICshEXnSiVGG9PRV/PAQsH8yNBYeIL8xB5iCpulBqZdkstV+O\nFiVQLbuIvx8VdK7apUbacxNiG5TibPkH1GuBhzHiz8mahliATmQMXFHrLita\n4sVRR8LfRYN3JO/Jeo+Nu5IIiu1m9s2LgCOKj0JAoIrjprsHz6E8HxHmFt+r\nLVTqVfPKQ5pLVWQMWfKQ1zBFlXW3vo2+6V/XK2NpauOpCy7y+esOrF0hUxfR\nBHa3Zjg2xKNpoyyjw1EIbi6PuLNBgk2Oi7ZnY1RYTwlHm24LD3Se+bmFKOjq\nWs9JM0Um6PzzgMY/4RigGHZmxTB3u+EUrV8vRb6l0zOukIdiLlWvimm0kZqJ\nQcuby9atGqosbhA1Vv8qymB9tNRaDDncDuRjQciKsfi1OzKJAfXzeQOU/o0y\nfaMJWzh/M+DoCuqXG2c1uA5k7qQ5hOtlXRWwX4lFW6vD9W++dKSCTypW/Y2f\nNrju\r\n=83Fb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd_1604516330733_0.6074274130921127","host":"s3://npm-registry-packages"}},"0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e":{"name":"@preply/video","version":"0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2aa8b04cd89bd33af7736af14bb7dba3c7d32e16","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e.tgz","fileCount":571,"integrity":"sha512-uQ4MWfwCa1mHOFSxrTRxHdKmDzwusZ89BlAqwOgeZRKnaxt12f+o0Z7xcbpzXfCZ5nolMLEzRI0sURNW1ElMzQ==","signatures":[{"sig":"MEUCIQDiW4Y7qOMGtkoOjt63jo6nURG2Ly2MIqA+BXlax0zHLgIgYEpYIRBAofKLL8m7tf5TCCnC7RzSFgfUMC7PIuKxb48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17479085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfowNECRA9TVsSAnZWagAA9OsQAJkntPDg7jeYbg3sI3My\nJyGKMnl+ACebL2CkfEHuPXonM7Jenk/1G37Ko6Qfnqm7czi2DUcT/pogUs/Z\nNQQhvhwFsFFAhpUdma0KGnYYLxlQ9Wz8v1iQ9j0vQq9WI+pXjJQpW4wsUxw8\niK8C6Rm4UvqGrVlkBi9U2vfxdfKV06DUei8Wbu2eblNZXviccVtywn5bWIbw\nvp0+G1pYab9l0qB/3c3mDlKRLE1oK23FdYdqVWf1MkXijie5LR16+0RLeaxf\nLpmmzBCedqgIlZjqhdr8+bUqEynUFfXmFdcq9jmc4zos8B8nfeSfjTV8D0LM\nd4MX2cMC2JcbyE6gwZ7ZUCnfjdpHXRXrbX+sVHOeASSqkQCokyqNCf5YXhkj\nbPJ5EIG6njf8mploy3nZPUoBKcFNavbMvQ/Kk4CjZKtlc1eeogzK9Rakg+BD\nFa5sJgQEj9fCJbFSOACuGJ94Zz6PDUFjt5pDps3hHPSRCIKNqoE6tu1e1y4Y\nrL/iZeaURT3lFLMv8e52dUhEUcsunMQ7d0VZ6lvPUQ+8bAK/j5fZRz+LZV7R\npD1/45f6KRqoq+ek1kx+eAgsVxg81h8K8ne6Q8Ga+6+/Hjl9VRpMXSSaTcew\nsgilhC1vFAVtND6g1hZ0Wiewsb0HpFVu0ii2B0lw1drcgPsl+6b/LnhjoxE4\nCi/k\r\n=8+tX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e_1604518723683_0.0339398057426179","host":"s3://npm-registry-packages"}},"14.2.4":{"name":"@preply/video","version":"14.2.4","author":"","license":"ISC","_id":"@preply/video@14.2.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f9bdd352ce8ea15ec8466fbf1cf16cb18833bb92","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.4.tgz","fileCount":537,"integrity":"sha512-EG8IYG696JIKZN1cKR/l+3jy6kEoVT2k9swU0vRsORLKfW4QKk/+EEj840p6YUNMos2rhCwg6LEiWIe4Nwm5bw==","signatures":[{"sig":"MEUCIQDmfHmvk3SpdDpKaSeIg4HvRFnBlafLdZJULIGnpUlO8wIgeCVQDL9MZk+20lAg/boFbThkdKKBvQDaTjwo2GhgY0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17310294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo6xqCRA9TVsSAnZWagAAp6sQAINRyOIu0sOErvz0EZRn\nZJDOJhGvSXid4GbwggiAiwUlacxmpI1y9qQ1ZtxfN5QR/d8DLzB6BOT+AxLG\nTTWTWkH5NKML7v4GhODnkNgcby79Sf/pVvMcwOfk11wf2NLgAAD8tCRUPK+Z\nMGkQQhxVzzxsbr7LCLtrMxS1e8HXYu723ZyXc9n13tpYhwTH2FqZMnThQL3p\nQSnsL7GDvqpjUe6Oetz4e5mYLDnbNRMo3jrsxgDh5ADTNtO7G06ZuoU/Cl5p\nWR0oOmvKWZpeJUQsCeThr5ofJJPrkLkY+q/NKUlfU1hV5RE37IMWymRpKGPl\nZLYXWtXfT2roK9N8Fa87wwtPtRrLdoXYFg2ilYf4vuH2SoGXq3jdi4UGyfZW\n98gFTztF74sAr+uZWJfI16/v7wSSkRU+kbc2qsujiDRhkqbvd08UU/x2zPVH\nPBYfzHnyNeMSPoaI/+47DUsqrbDE0lFHNGqFhnQA0k5icdhzAy/LV/QIa+XL\n80VfLwyLUtMIYfSBeYR8JyW27NKSVL4J/aTwAT/yxHpFPf+GLrkNnUS4DZmD\n8rqH93//dEItxmcshBhp2EF2NJXLlbZkgNeXjduZEm3Bq6hmY/1RHvjx4Ynr\niMylDuqMH5KsQ6CDAeur5pSxtApSWbHzhH3tPqiAslthk/fb7bLRej+aTeYI\nPlsp\r\n=WZjG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.4_1604562025788_0.3410902262763891","host":"s3://npm-registry-packages"}},"0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee":{"name":"@preply/video","version":"0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"06bb3995180747dc75d7f87d7389eabf5716d9f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee.tgz","fileCount":537,"integrity":"sha512-3tuUWg7RqG6rFI3WUibSQDInVPBSNEy0/+3Mq5e55r+jgpec03d4dluD+cUvQx6pxxiYBaqpG1fwegcU8CJh6w==","signatures":[{"sig":"MEYCIQDCmaBBpJ7P4dsEHByfiGtqYXjnjcyh5DrtsR1QM2nTQAIhAJG4sNhr40J5jCblIk/DL15DpQ8zZxwfxs4Zerk0EpSx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17335003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo86wCRA9TVsSAnZWagAA90UQAI0UNxxEhF7pp7Lanvr1\nFPFV3KR0VxXG1Gw1x/hFxo7G0dNzOrE+/VzxSDLhQceRr3FMdGMFHJWJfXYo\nGkBP6aKKvFcktOFej9Qamn+JwGJyL+bmzcwj6hAkkWFOvw7u9pM/8h16A/uq\nRyquD8KIcseb0absrDYm6Kpt/lExooHgBtzMrZmti2e8VcgyRxpoJ6+707JO\nEI1MlPFK3xR1cYuKnD4fIv+oo+PbTExcir3pJTBavs10hPQypwplQ79Pcq/D\n8f8++Qs8JSm85AtAYlAxy4sw4uT24fSK8RVIuh4jB3Ve4r25441CBe/zquXl\nA3irHuNxMmvh+OhKYdEmwCx21ynC9nGKXK7WSu1ngp9YSpHW4lgS7iX1jMdw\nYUbYzK0a5lNWnF2RnlxsQHLReSxltATO9tF2EGkjIeMIRlYe0cFtxoeQ5R6s\n13P5k78UEEy1jSSUbwVH7ugY9BiunBCBt084k3Q5PqxCK/QSrO4BLcYdxQAM\nr9Zp40DkUAmWyYkCB/Ht7g4oGYV28to5Brxel+nubPDFcunYLGjWiEofOd4v\nV8g5j3s4lQrXQXIMPhQviswXzm7FvRmPz6DGYTpwRlqlgJ0gn/bujW3Yr66+\nhUnF6utWTIzKvSXineF+YS5Gjn2NQKQr7JQX8cnBxu4ZG61LVFfzGSDrgnIy\n88gu\r\n=ebA+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee_1604570799059_0.2023643499510963","host":"s3://npm-registry-packages"}},"14.2.5":{"name":"@preply/video","version":"14.2.5","author":"","license":"ISC","_id":"@preply/video@14.2.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c47d3187cfd6b7a1328ae2dd37504ab2b2e63303","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.2.5.tgz","fileCount":537,"integrity":"sha512-4H1zoIiYdmK5epO414jYGLRuz4g0cMhIKvvOw57huqt1zPpelpn7+kezFzUhWaifphcvuB0Q0JDU0R1JzZi1RA==","signatures":[{"sig":"MEYCIQCBsfCQ2CZlFT3AFUowh6dwvO7UZcgfLomRexYpuwa11gIhAOPN3cm6pxWGJt5NYeJhDtnvBA2Uxhk/wHj2mhSa/8TV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17333926,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo+S4CRA9TVsSAnZWagAA5zgP/A/31rD/0oiGTf7ZKYuO\nZtgps7FW5HWPgHSa4y8DUFshT8h2QE78Xqa2bJVfibCLmcqEE6mbL0pciBc7\nbZvD0V3uL3R/zd5d9zlEylsZkHN8aJIOLuoJO7eV1xk9peeTuBXeZtTXOK8t\nAVn9MMgfho5J6IUaWOlG/b2KSUncLRFswR0rA5V9LeqSkkDbYXB/hle5JE1r\nN4Y61nAP20Wz4M6iYvJu5WZJb3HmoJzqOg5pGMD050hjeaZ2wvZSGqzZvG4j\nJEbad74UG5p2OmvM3K5t6kCQNQeAwBZa+LSCM/HzK8/4lAoROnGlIGWNz0FR\nXF+J5qS9in0HfCtweb2SeiN5KJ2ulUlmoDpt5OGIv79IpIOOLpD9nO7Gd+qD\nhna2rSF4GGZHCJA3c03dEUlen76fDnzKO5ZhO/RYfC6gFtkIbIEAphzPPZnG\n6kJ8Wsygl6usmszQ3eo9Q+JCMEfl24pBIh31YoGbwSsQ6rat8C5CC9GDb6SL\nYKlbsKf7fUTMJzrHqOyBympIfwESKEjcVyhpknVRV8ZeeA9XJsHLhzIMsiik\nTKxVBeVeh4XgQdSrEDIKpPjvMXHjvvoZ4vjBziXBKuHLNgnww56/XuXAPksv\nxtbZ3WCXYQ69tIJlDGd8FNKUaJHP4XZ6Wvv3L1UAYrfcNOtReJN5Sq8jVwYv\nu6aW\r\n=nKFn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.2.5_1604576440025_0.8973519943323647","host":"s3://npm-registry-packages"}},"14.3.0":{"name":"@preply/video","version":"14.3.0","author":"","license":"ISC","_id":"@preply/video@14.3.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7683470090b319a89542b53495f2b7fa13b1268e","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.0.tgz","fileCount":571,"integrity":"sha512-Qa6lfm72H6GetM/ywFVXcvW2zn8hQL6bSdIPNUZ4hoTD809MpBUklrhvmvuulTMawTN9OpbbF/rjSofiakFZKA==","signatures":[{"sig":"MEUCIQCJgBpVFAPHor0rBb3QNYyCIxwJ/7/OO8w4PKwNtGQ4uwIgUC0CaE+bTamQPI0JYPlwClha9EWkihrUzDUvn9d35vU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17502820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfo+zGCRA9TVsSAnZWagAAFTsP/1ErARMZuqXcujX1PyEc\nJaYs7j9u3oa+LG6H5U07n+U0Z1N3TwdHrb4g9Ohl8y+uRNSQEFmfxePz1d5O\nQCDrV3tWjUlBlcHLnqO7On7ByhEE1GfZvxp8xpoSI8YJjbBcmSD1QywJH0D8\nRNzjHC/MkDNtnvASA5KaIVLqBYd6BSe4st4WoqoDpnshSKO/eF/tKN4Vv3iT\n00vTnXZEKm8hI1zHmLLDnn8vxHDZ0pg3PSfk4p9rqEpt/z9kM/aq3kOpDpjg\nuCIVfTylbqcZUHCzXDlP9kuDt8WyOKlzWm1N4n2m5IReMGc05+SjWOr5g0iS\n8AAztMWaTQaz4cbeDKnKV5y/1eiyO8Qt1cPJQ6EQ4bD5J4ZbiqtLK/jtP5gN\nAOcLWTk7Bwp4ijyBeuBMfe7s1FcJAN/wMGyawejNbQ0BLUstnT0K46xXi9Zx\nFkXIixnmAuY2ZINrd0qPAS5vLR3RNhT7zdPDNgQXeHQQgDs3bYU853Ga2Rv+\npHe/o4BYqCK2Up4iqxhZDMONN9mAg3dOY9/qAwlseXijdJJWyJvGelm7QjgW\nn0cvzq/F5m6H9dhH7ziAhF+dzf17T3QsvdGKLsHHARBlKLcu/peg+1UTZUzT\ngw0HBMgm3cFs+4bxqK1IvJOXa8a00bxDkU2Kkd6J5HiCF0v6kuFxhv9TSCsw\n/nuj\r\n=GSbv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.0_1604578501483_0.8253304195871216","host":"s3://npm-registry-packages"}},"14.3.1":{"name":"@preply/video","version":"14.3.1","author":"","license":"ISC","_id":"@preply/video@14.3.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9f5ed0bff8a5b61eaf4be08d1def850ca21055a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.1.tgz","fileCount":571,"integrity":"sha512-BAAH1hI4ajTSj9JsOcjdndEK11sy3LXwo954tvDyt56fE9CH4o+sP2DbztamW4BLr/O9vGt+BrErMXBo7B/UCg==","signatures":[{"sig":"MEYCIQCGOu+ZIlbx0IPGhCa+n2B8VAoycD98TSqoMPptNKDSDwIhAIKMpNa0ediHMMx06Ds+v6CbthtL2qdczoEU5KHECwzk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17516927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpO+KCRA9TVsSAnZWagAABYYP/iacuJit2U1BMq4r7EwG\nOsBbCsvuE5CTnyZ/Kw5IhKpKAJ7frWXbG4q4ISKKKtLlcUGtdY4EdJ6ziROB\nmWj3ql4mI5qh9DqzJqHAa8h0MGBz1v7juD/VYSqmqIKlqtKNbZjg9wZrsJKA\nIbLst7GdyW0+BbM1Lt8rthwlEtqTzaMh4SwKK3YMkoIBWJNbVRyyOgiQHVLe\nI7DPdvqhfb2V5cFjB18aTrWYdyFX7vkV8sjmTAJ7pP/l6rN+M2BHvdkTzdv7\nPoq3UtP8Wexw1cSMX0krMc87QE1SyOA135drFpirvm6OLAnNZxvt8e2rbzR3\nSNYzfmsP1aqDh1Df4BfnbgwK3992hVVmjsUmb/61d5W8oi6PGbAqXGkbApXC\n93XHKfhLOHlVcKudVzUjUIVNEvDAwiMXWyJcAEb2gXWhNWV6QNIFlCumRm/f\nokSB0JFiQoyYQs0ICQk06by2VWf98zNdmfnEhDHOmYoyupsEiggl5dsIwH9T\nIgwRaNr2K90BaV8dtgB+J4QW8tpQgbKdVSjv1xWB9XsWO+nFvUW5+NulP+fb\nLMr4FLdCCkcuqKU6SZrhl3r0luDc4DuaNITqnU3MfIH7neHvCTKF7mrsApZ0\nC9C7b2OKCk+6YzisHbV9xlrUvEZFnmqK6lPW/3g+jbk8aP4E5h8/xyxh1ZRF\n7fDB\r\n=6Iy8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.1_1604644745546_0.7876255622554715","host":"s3://npm-registry-packages"}},"14.3.2":{"name":"@preply/video","version":"14.3.2","author":"","license":"ISC","_id":"@preply/video@14.3.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c217b847544ee90963f152de1cf126de7a507aae","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.2.tgz","fileCount":571,"integrity":"sha512-crxVumoqzS2P57ZJEHz4YrJVVVbWLOHK1jFgZuY2PFxrPJ+5gv38XqJnqmA5cpu70WK4d9BeikE18uq5OQQgeQ==","signatures":[{"sig":"MEUCIG9zkotA9DPhaM+vlZAzNbaY5lUJrRhDY2tc/+5+gaEEAiEAlFM/srkmSNZ1BIaO9Ib8dC7R0LGAuQJIc+DGHh6+lZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17519328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpUryCRA9TVsSAnZWagAA62IP/i0B7OCFKqMnBhVzoTfw\nZPDnyP2UkPaLRHlSBz1ECUrMfAJ4RQCelkkkK8T7akAZCx8aIjqmJ97+rXSf\nXl0Aw1QhxPDdFEn0GorQD4Ntp/DinAK1jJrhuJLwQcdNAf5X0nyIJUn4NX18\naCR5vrx2LTtYiW8B5mquI7WnPKXANd/H9Nyy6oPbJrkHp5Xtxsyijt/mGiBc\nDVz2UJHWMXcIOciyIS0iLgurzeTGSuVs4cJ/y95VC5kE3KzFw416JtDRzPT6\nVDGTOQHXiAPy1TDvcKKRIxFWiwoW2DmyrJZ3Ev72lxM9FgbZeRyRcglb2gSG\nrIWB6ZOf2K03swtQB4GAnqCd2EuevNXQCbXqnbOqv5nuB02Jo37h2zkiv2qB\n7v4PzndGQN12Bs/ylb3cIcvFagDldL7EqUpwqVTWYxn3PkeaV/GlliWEfkte\nTiNmtaVOCs+fxDUHU8OBIZbV6DqChIUWEuhi7qw0tRm236CTWp4FYBf2VhBj\nIbEpXSdelxJsk8FDLE/xNb1bUpLVSXU0szKzBufa0JR8sFp5gs0/msWGMV16\nS9E1jQZHhU1m/la3KMRXMzYAKASVW4ZBWYumMea2D6EvoH9g6YmXqWLoxc6A\nH8TYoasZwLJdffaZJ8bqKjWuLdm3YuWUQowv7AbxlQ3ZMhda2SylLRetVvsI\nQABW\r\n=7Jm6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.2_1604668145125_0.9886950186659937","host":"s3://npm-registry-packages"}},"14.3.3":{"name":"@preply/video","version":"14.3.3","author":"","license":"ISC","_id":"@preply/video@14.3.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"8312ed9ff5d55a4bdd0726f33f761a372ea0e8f0","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.3.tgz","fileCount":571,"integrity":"sha512-zam4w+Z+g0W/2Ynm7Qw+J+2mWLnZC+qQeFkJP7iJPyzYU+mGfdfJZOI9X4nnT/qpupPWR4AFmN9uUQgKC1Fy0A==","signatures":[{"sig":"MEUCIExJnmKro8agHD7thwLBjvL/PC5fLCngsfQkU7TYvNOFAiEAyust/ATzIWtQv+hk6xrk7S9dBlmK6VVslhVSpsOcxes=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17516913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpW53CRA9TVsSAnZWagAAm4YP/27V57yap1STG5Fh9OaD\nyTDmVKVgRDZEmgJCGklf2zSSlp1h6sBzJPRqQIER+BlCqDc7yW7x6LLIpZ2p\nQ3SgjKxVajrM3LPeREIghrbOY9R18malZqhK8PmUSUnJ23cM8q6VDyc/omzB\nT7Z77Tm9G95T7iQkEabQY68vRsdaXaFEdJLewjmolLlnGb0Bsm7akeFoisvP\nST/2bFkEcBWWVa8v4vOc7nZbnV2AQaroTZ2G2ej1qRg0ZPYApEz0rRFKUM0j\n1/toVZF5Q6taJsoMU27NAQYfMSQLrc4y60j4mEs4wuhW8bXhZIxiq4vkuIif\nPukGCOz7QTcrjqISM1p9LI8QQpsQSWdNzBveQGrW8OYjiDsa16sXp8yq7i51\nTaM2pXsNVJKRSLIR13lXbBfMCAGJjH+IiUE8J9dIU7Wmabk+5+zTAvl/BX7J\nu+Q0Jp+PFP7UBEeYvr9cIvbqMGKkixJ6wwK63b10nwJfNCQo3EechmKTQQ+v\nhHxdZLad+Kz6VAL0kPqoguCbUU8ZSMfUkjfrvRsDu9tzdHB3hxIpRK+uU/JX\nIg6+ED5CXLyiPL9oeidxqXLN7mFBHIITVcjJuRUGAgtG5Y4XCg/cdqji02cn\ntR7bWAyeRbaq9jYJ116oRRYrYLaRKqtHFICIcGllPw2arcmh6sCH6q/uudsd\nxvht\r\n=XRsv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.3_1604677238164_0.6156834739458659","host":"s3://npm-registry-packages"}},"14.3.4":{"name":"@preply/video","version":"14.3.4","author":"","license":"ISC","_id":"@preply/video@14.3.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"c72c4279392683ffd754cf0027ca9332dab5270a","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.4.tgz","fileCount":571,"integrity":"sha512-9jRghmqSxLHsuSq3VrLkXtQrNqJyZ38RjedIlx3tkxoKSfrxDrBAbjXtTX8OY5Cs6TDlonUNpsTVbdDWYm9waw==","signatures":[{"sig":"MEUCIQDdeIRfvXLUk5QIhij7L2Unq4AMZKQ53rZJqW+nN+yc5QIgZi852lfB4mZPRKdCsO8ypZ5PvuRApavFQvEE1GwrF9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17519042,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpXUuCRA9TVsSAnZWagAA0vcP/1tJp4BeagIkTgOidM+u\nCpqi/Cz+xWacNL3rNdri5qHNPqKwqtQf/+rblbEHaZT7qORkufJTWr60lvid\ngxhCNzBSEa7hUhUwD5o8hm+t5/8LY7ZxyP6F97mnv/34Q5aRaziE/6yH3uCv\noeoUimTk5ay/R1apY/il6W9EHDoOSRgKn1zogbcR3456NnjFC4YMRVp2gKsF\nfowy5oxycAsnJ+L1E8stXC0iT8NlZ6qm46fe6yVyfJFplztFPRe/PfIJXGoD\nV38e+7UcPNmpxNvEx+r5uRfTTR16XSckJPBwJ5PvrZMF1OCj3/GTPMIlJPAc\nNCdktxj+swpHKmWjSwwRT4CrotpwziodebuMDZhdgg8BbCbZCH2Mr7eZd6XY\nCKnvC1oiSuBNsaGfk1WrgW+uPB8tRB926qMes7I1s8c4vDesom/h15eXsRCJ\ndYB51Vxb4faxF+C5wBAqvJGPcjs9Mbfqmv5+5vu37dAN2LUXtgmrAb1kFp9U\nh/NiIGvSSb/e5OMQ2okVhpf7WZy56vS3okHWAMiBNfr7yY5NEcezBfxgVmJM\nuJEwclXgrY7UB+OFN1EBn80MRpKNnWrQ5QQJUmAoZ/XFfNJW/+WNdqFPt56g\ntjeNME0+2RwXqPJhnAaFkaYUM+0P7DCAJe6CAduxFhdRK92W85Pj/1Bzqmzh\nICch\r\n=Fcnp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.4_1604678958005_0.07657574948949186","host":"s3://npm-registry-packages"}},"14.3.5":{"name":"@preply/video","version":"14.3.5","author":"","license":"ISC","_id":"@preply/video@14.3.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5713da4c12c332c89af235bf2f6c98fe339cf7ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.5.tgz","fileCount":571,"integrity":"sha512-24Qpzapq4XjQpt76WueLrVZqyV3vjiT02Qs/yAP369HVhqAfwcniOpik3TqFiht+PVPMxrsMArLY4aMXMTm36A==","signatures":[{"sig":"MEYCIQCPDCbVRUcXNTYJ3dfi6PjO9saHQcdylQXjI2bSELYjygIhAI6dfKmZcMXDeaBh/Jg35Dkwzyddh/2A3BPXj+AVCXU+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17520633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpYOCCRA9TVsSAnZWagAAhJAP+QEMQmTM0ywJHCR5nbAy\nwfaQYHigAKgD+Qo2eQ+EgIW9psedRcZVYzmcG54zaZT2GoH9gePl9JIjwCO3\n6wP/GjSpGzZ8JgMsj1L14Akk68ozsOWzr9IWB2drikKrH49dF4hPkK8JcEeJ\ndy0Sc+gVYTFFUitj27Hhbow8qQSOFoJqV9H8U3L97OSuzNsK8X/UCiTTwmF4\nrwh6gPR2X4/UmV09bo7BvylmkS8plAOf/HC3JMjCEuJb1ShjjANiQJR8ODK9\nM60lVHNgKOcK6xOxAa/GBYyuSz53gxk7yl9s+YgLKht/T59XD31JeQUajxbe\n677O72OYj571Nztw/tsX2mWeazNrkhMh/uAg1ov/+FaNj83c0URPbu6sWmG3\nYrGIEG+sxJe4iGWgMWwTl98QxT1wsdGG5jefGEENuSLCJ7qkogsChFSDIsW8\nzy4ImN2B5fzsN92bj7WNNqib+y0XP9HubkeoVbVpQbqJQhlpjMCADpzbi4HY\nBSg3twLt9VXLarwYixZYx9yGnfLDwxbqe0njYd93asbaIBopj0k2nxgKYGHX\nGtpcqb90n7URb39cE4THcf/W3jFj4V/feu4MK/0yi9zKHlKVu+b4K/KDD/A+\nZ3FGzk5o2g5Vhz5xE8DvfOqko69HUiBLB2OZ3eVc1jBWUejbsczsXO3niLaf\n4VkY\r\n=7ReB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.5_1604682625421_0.6118691375140894","host":"s3://npm-registry-packages"}},"14.3.6":{"name":"@preply/video","version":"14.3.6","author":"","license":"ISC","_id":"@preply/video@14.3.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"9940602856c52f2bd69ef78c85115711da534cad","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.6.tgz","fileCount":581,"integrity":"sha512-1O6hFACfAtjUq9NCbtIo4ZISQAg0TtB+ZptbaJHBNfzfKXYJbc00HFciIT487YPjGsm8kd5yXEWLgd5K4RVd2g==","signatures":[{"sig":"MEUCIQD4pfXeprm0hrpk4zlO625O2AUaF8exA/pRuWzgQW3JowIgCQtfEJxu4dy9qhvqqyb8xZ6tW7TuglYpBSMItLHXuRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17678356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqOsLCRA9TVsSAnZWagAAbVAQAJH3/GuwT9EBlBKkPopk\nJHQeIZ4hb0FG7Ib+/2HaxX5bRReQssoCcrKPW+Dw19sxEUvZs4ydB7HJCp6/\nsBJK91eokPh1OD4q5hHMhZsgL1629n5XZW9seyqMbrCPrzDESsDWoo7eTDhi\nuqYhRHIyEcwtZdBYABdNavX0mzJxdHHYc16QKy+W1OYumh979IWgzzbXUIHq\n5xKdzPVS/2H+RcgZtbWPDQAA8xtH1ohe14p9lpszRfK1DGXYSiOogc7AeSe+\nnSGAyQYIsKsNqUgLmwHsZRPnlmkHQF0r9dW1c4VqNMCks9fAGQl9z+GEmJM8\nYj+nAeVgOJ3qfNK8QZ64ydtaB6tF5Xunoc4wvtC24D9K6T4pKc+5DW7i4xPs\nF897SunLi2UWWksdfJ/+bdm4JNXaxcszGlvt28xUb7BzoaHkmIR45gRukLhV\nvfXub9KrGzaJsiW1zSPGUsPCPcREeT5GfIkzsZYPzhB21ITvvyAxReTWY6iU\n5ReBQSPlrKGIV5GvdkXPrjwz8cMX5kjkid3QkMNI3G582G61YaF+aUj+veYq\ncg/wOiNOsDvpFv0vemAnanETy9R+Pux7A1RxAmj3waOQIUtgTK4M7H0ScZ+q\nNAkaPUI748niWWgLMD6IX/FiIXRfL5hECs9/u0+Neaj8+Ll6AFJauF5jOnkQ\nC4Xi\r\n=9ds9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.6_1604905738407_0.13203052884196453","host":"s3://npm-registry-packages"}},"14.3.7":{"name":"@preply/video","version":"14.3.7","author":"","license":"ISC","_id":"@preply/video@14.3.7","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"87941745b62326725f9d938f4f678f10cdb4c1d4","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.7.tgz","fileCount":581,"integrity":"sha512-Ql5BGWqryRVL3MUonKupVgJnxBaqLYzYsRPhByKE+Eog6zxuIhcPsDQYJdMOwMiSeVzM0C5+74ASM65MsCLnKQ==","signatures":[{"sig":"MEYCIQDCfB43GPsjsFG2s2R1nD/eCBLeN9QaWIts3Qnrag2R6gIhAN0pwrZiXBQhccuTuf6vHmafEQoLdD/i42NUK5e4GpFd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17677906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqQAqCRA9TVsSAnZWagAAMQMP/RpU1Ktiga9VHlpbthc+\nIcrqWSvcCkXNnstvKxzxIAbw6i46eBl0VJX0OUliSZIZmk5xkNOurm77ScLk\nxqbz7n2locJPH53gVGP4ZlERAzu8M577vRiOkHdSV3zg0o1XZ5bShy7fgTfC\nZIMKmgu9JoRP5rAjumAxVEiwWXBCRf9iNjk7ERa9o2JsKTz4NByqkXQwR1jJ\nzuCZiqxAG+GyfA+1OEpdvLhlaB+Kd218i4IGkT/eha9VtXBsB0thGIn5kD+N\nheueOe/DOby0NaRO1lPYAyOLSZ5XQi8ZgdSPxtQIsrhlW8xBDGIB4dl0fVig\n/sGXU4BVR+LgIc5DMcKmALhnnXIM5Ypwwtt8H0hIOt8LLOSMfc6Yhl93lY6+\n/VsqiYFDnC//SyjZfzDHYEZ38G6mFSJwgzzak560S/c5USyWEJLV4wOGMW7n\nMyezcd/UBGWusfiIT1M0P97kfcZvnpNxiUmdC4IXaDOoLljzRD7DoUj8EWnT\nSf7nFONan+w/X8W0OlHgCQFQyQa0kRIb9qV+HzxH7mHoY1rDnbi9saO+FBPy\n/ORd+1dQaLD4dIOtilaJ2X6ddc6oPv25C68BdC2/G+YfZ/R2NapYqLBYt13I\n7fw81DPMXIahl1zhMTdMAEYEuI6zFD1hBgDDbkaTNeXTiGA/0p9k/Fa50iFT\nM6g6\r\n=/+wL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.7_1604911145282_0.7382438860230207","host":"s3://npm-registry-packages"}},"0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1":{"name":"@preply/video","version":"0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"202ae59b2946dd417eae2321a6d2162448685bc7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1.tgz","fileCount":581,"integrity":"sha512-CLato3bDg7vzTVEX6x5WoPfIDfS9T/lglk48bTd96hbJMkgYp2NsoIuFRnGLNU6jZd7iOBq2hEE/iCtgffq8Kw==","signatures":[{"sig":"MEYCIQCvi6L81BprzQfET1Gusja5SH3ku98ldExcrr9dX0im9AIhAPXiHZ06lm0y8Iy2z1BTnsArskJTlI5IAOBzH1Js14sk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17685362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqR35CRA9TVsSAnZWagAA6F4P/A91qn1RMJnbnaG5UgDX\nd77pJalLEcBn5QPEXs4vDYg5fsMjmy/3uKFxQ88lc3gNHaqydWZJeL6kLt8y\n+KOv8ycSGYUF+PnTjadwDL7uCm28TChjCnpmFQq0i7DgqzN+LluPG4A12F8S\nrpSjC65YQK3tV80/q5rLSJ7+0xernpSZ8VKeYB123nsE9ziUDqtVQVqMMbvP\nZFzS0nNxim7rnhKcxjZPPwmztC0wN8vZEWBMIJ3W3tITUMEeERpIQSETIvHY\nO7EAFGih1GPoj7osBek5s8uo7yoIrqXnG5czlXKJ7sEIlIhnV7nkr2ukzV8I\najWQdpCQmL2TeikeEUQ2OVU1aUL6KuJx5NBd72SQhfNa/NBeXr2aTa2qMrZ2\nf3AffmtgdNodC+em795foBLKLGGJeTZ/5HdNxqG0vRzGSCEgkYG+T5OXLSzs\nijzZWuqDtm+NtD58H0FuqdYIFZea2/5IA5d5Rf/S8GNi9WLPN4S+KXtsXjPr\nbiflsV1PS8VuRuSnC6yTufcuLR1e6s5/Im2MsDkzbQbBSfD6XjNSmJvGefhg\nHCmnuKT39mU45T18miO3Fek+E4pOEwq5YqsSsl0+y4hQ6jpKQZlzcTUIYZzf\nQf9ThVVgKtyXBf2D2nEGszfpgK0zTywDTVhVvh2iYLeaMjUdpaKUaBHDF//L\nruIo\r\n=Hkcw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1_1604918776794_0.9959321782552002","host":"s3://npm-registry-packages"}},"14.3.8":{"name":"@preply/video","version":"14.3.8","author":"","license":"ISC","_id":"@preply/video@14.3.8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"952db62d0dfecae9cd8c122fe39474efa1e57e33","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.8.tgz","fileCount":581,"integrity":"sha512-lpvXaH96xTFaj2IOWrEmRkCv6dG5+8VYnwNVh0/AnzyChQ/jJJABPt25XYanw7gcXT51NNgTV8izz5rbFYFA3Q==","signatures":[{"sig":"MEYCIQCWtII+vLGEPPAElalgBY4LCkl2H1xgcB5fEy6yUGvYPAIhALjMxztRcn/arOJPr1A7CHPd9OMnS5iM2T43VXRCtzc5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17678129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqUBZCRA9TVsSAnZWagAADXgP/2txYwy+SpVbrC7ROjCn\nzmOSB7dddHEBKrW2sdkM1/EUVBIRFDLEn+Zp/kTEbXZADignvkXntGHnM1q9\n5pNQhfdcmPRjjDNSvAN6V4L4lr836UzxfmHibsPJXopWzkq/O6tfbh1rSten\n7hLsKdJmzOCGOmwYWQjdHLMZDu4QHlvuNdb0JmqPFMv6/OxSiMLNiDIm05Qy\nUpW0Mm9gKmzF7cqQghqK8u584K4KibLXHNxgrQ9UuNNlnrlbuHTNBluPEr/T\nM2gKNJ5rBZgoxIJ7r8iTxlp4ksR5KpIVOEq7v1sA4zZsvb3ed783trQcVEoZ\nRKW9C5b4yGERIuIx1IWxCcQrTnw2K2UQkzUKtRr8uDOLBEA3HYqGwvJ2YBog\n49LEjwb6yiyEwMZqSOKamxQsBYKWQ3xleKNmIiHLzCl6fZGGdFhdWOP31PB+\nXB9vBQ87PDpmMPNQ3Q1qE0+kDg0nrcZIqqeCmne89qlfQRHP5P65XI5ljE25\n4eUq1Lnyt0RA17upKgqppMjwwHVSZUVBSwZrdykiadrSotKLLRpEb2a+eZT+\nUMKvWu2LEIr+W9AQV2Jt2Nbm0SZnPl8Hpe3KoS35bZReSI9NByANWCOw1kvG\nSlcKoWhmKGAALR0EDQP5u0NpFL4EoWCKh4yGOg7HqwIRBY0lznkgeXaBwVz2\n5VqI\r\n=BKlG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.8_1604927576459_0.020173366558541073","host":"s3://npm-registry-packages"}},"0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7":{"name":"@preply/video","version":"0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"6e0a6add6d930812b09e6c541dfd0f49a2b120ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7.tgz","fileCount":581,"integrity":"sha512-6r0NLb2H23ZG9VsXWfWlNBMMduIKSF6A0wliO0WEKBL2DT8RABz/pJOTpjjjF7IzVnWRt/wSN/zDAsQFH8vhcQ==","signatures":[{"sig":"MEUCIQCv0vN4o0KNoR7JSzk/31PO4Cc5CxN9GiUuuiILw9dxSwIgezM/9XwR0KOVDOycLBN1Mak4iRKGlkaK32aGcfRL5Gg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17685362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfq7veCRA9TVsSAnZWagAAk60P/A7AWR7zXDUn856JOZqs\nkL6sSmBBCtlnj9p2M1WBpyDruKcBpGA/bAsu1CbXo9hrdPaF1yrprfzdOFVe\nMk5thkQrRG7H9Rx5SblfMpYT77/iKGb/326ElijZRX6PWO39b6wRfC+DS1Br\n0yJM/jnkpgyzHd4+IghSG0hZlzod+USMOZNDKr01GARpkvCES+kje45ZuGdV\nKWMxFd73sl+f+22b3Cdtpjx+2HJB0SMWOmh47DiQlGvccp9rCe6tjLXwSSAu\nYAI5vBAwblz9pcrapGXSsH+SHGp/UUZXeUVpgJmNroY+OiRuZaFXyicUdaIE\nGmrUNOwOm1O2RaVIGHxzaW5o1SrGsB7OscrXZoNKsjKZfz1qHBXW26Fm4JMG\nCmaVzBWL6w7SynX6pGY0Pe+pFqLiTO8oeP8X/Nnv8+N07ar1OTwi3n7ck+kl\nx8Bsp69Ph26PsQCv9BMq3MkrV95nxz2Dx2QsDlOrrpP6Hz0dV/FeCAnAZWrr\nGSzprlb8EEp/xLntuv8py3MoKzpyIM6OQcZdu/ImKjIMpym347EkiqvsWqYq\nXCLiLHiLRppPm3mpdsOHtKjjh2l6flium7QkJbQsm9bYped97DEBrMC2/Mzv\nkwAc4QhcpAWVLunONtByYV9FXsjDo5ck+4LhrCd1wpdFrvjfJ6gHgQd0gONB\naKRC\r\n=Cbau\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7_1605090269097_0.535663072370399","host":"s3://npm-registry-packages"}},"14.3.9":{"name":"@preply/video","version":"14.3.9","author":"","license":"ISC","_id":"@preply/video@14.3.9","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d8a967376ea86bf6ba7dafb069d96c81fa091757","tarball":"https://registry.npmjs.org/@preply/video/-/video-14.3.9.tgz","fileCount":581,"integrity":"sha512-9z4/epZq+b4xQa00IxwV+JG69K85adYTxQvy7OiihGUBlsLagxJQru5xExtlDFQnoxs/k8AtakkAxkooxzg35g==","signatures":[{"sig":"MEQCIFwg/VPYh8HTwOIS3snjeE0/LvPOlE+zj9GgwtHspBHbAiBqrw+HWmphvPFhJFvu5pjUppXg+lPFjnF20QSv6UEBSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17684630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrPXjCRA9TVsSAnZWagAAkCkP/3R5k1fYuq4WEQxQXYI7\nxekY0spzJdslFQfqktkWzOaXisqsakHPGlIl6tH/F+ZkCyXbo+EwM7h31rOu\nAewa7G+zR/7JPrK8oUEfciUrwswV2CxTEWWMSm5+FgoUrpHFg9xGGhhn3LWl\n61t6Gie8WGMctgrGYm7CdXi4pa2ORTW6+CriSdfMzdL9NUu6LxbwBLHIkvCG\nUZ3gfMoRBdRGblofupqzpWxMlLqdoCiFYvezgxdIa0xFunfp7sHxGldumBhy\nHo4XuX6xS4k8R18rpbWM5WbIne6wFGvmMLAcJDmRNqLzl3V3hO72t+dAl2jm\nde41TTdoGE7iEPjxEjROmso0Hr7kBi3ajsb6kYqq7AmO2T2Wvr6zhfGvCsTj\nSqp/Rmr71mxsvEMp99MuRJOgNxRnm1fSUzMFXlSRsUXrio5PPUmVlvMsBAqK\npInlu8ioFybzJLV+YyFMk1/2tI+8FvGWSxIXLKr+73/sJSii3hk4QM3iaJuG\nimV2vzLwnTPFqaZdS6k/ILJ2rTjFyRw2Cl4grNV/A4Zzw589er86XgymjQkT\nkiyTLbjsIJPpmdldm/XbfNXJV4purSIUVwEI9seve7SCSL9LP/Rt8w8hW8ha\nLGz+6ByyNKzS+TArS8lNuzL0HCQT5X/B5zU5uMbqVcXVwMjHDoFDMm2lrTpV\n+Rgx\r\n=OYp6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_14.3.9_1605170658792_0.27364401406269834","host":"s3://npm-registry-packages"}},"15.0.0-alfa.0":{"name":"@preply/video","version":"15.0.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@15.0.0-alfa.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"74d5bef512fd82b13bbd93ce955b83c43dd77706","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.0-alfa.0.tgz","fileCount":583,"integrity":"sha512-2gIQodDqF5lNcha42oSy+fC3SD6m1bPGPJyNHdbzZcXlo2xnoCUIyDYVV/8t6IxK5O2nlWqO3C21uVyA/slYdw==","signatures":[{"sig":"MEQCIExLBMKf6NBs3anvKvsWAe36AI0PhtULfUqhNNb0DQ66AiA2VJi8caHxjZk26X1YAsgH7z6TAA01X2eVzR6KAwEO5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17693354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrVk/CRA9TVsSAnZWagAAloMQAKA5KLFVVL5REI3HZKAl\nk1HocTF729B8dv/v5b7VDeblhyRoQKjZVZTO1kOnVEF0L1aFhoDWEf4zqlH7\nkMRcPz95mXILItdaKXnb/eV+WlTOgrttBGXY3PJ98BxWipPl/+k9cHWr31RH\nGQN5pRRtyJaKKPE5488TdCs4LRaCvDVJB6SCbjR1epBibKfh0cC1ZMs9Rod7\nFe6AnL1Yd7aYypLMV9BqPH7994L3CXT6FkdPeKj7xusO3ZJvSpICtYFQbb73\n6wGlrXeqbEGcSIkqKE4D8g6n4M3kxu3c+sY2KG/3S40SfTPtbwQhi1JvkMqq\nWIIph3XSjVeY5bp7gQ/0rkQjLKRbcezAEFq1C4U/kawQ9LKOg95+SVYXmneU\n6W2VAqVSdm6gHQwM65QTd+O/wYnpEpfP4XgdSHWmGE4Fqy38tPsR4W+dv4gG\niHmtW6SwF28QLdCwbxJ1uFl6ofV2O45LM+XkV7ewouNBmx12hKriwWW+W0Lk\nEBeu22jjyYzKXXSalTTMbtje/NtSC4S6j7FEa/xzAncP/HmyJzbyL/LxURy1\nQRH+7K5zcVFzd8WDMzjES7FDNqI2V3sA4bd0WWCecd8sXvC7uAv9n5wm5x1O\nexEBKWd83OjrPd0jIP7frluRKutvXwPzYp3BtTe+SWH1QMvQwcd2m/BQOHKd\nCngE\r\n=95h5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.0-alfa.0_1605196094868_0.01263414134106755","host":"s3://npm-registry-packages"}},"15.0.0":{"name":"@preply/video","version":"15.0.0","author":"","license":"ISC","_id":"@preply/video@15.0.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"51a429e6c2c0290e8dc33535bb34dab11fd97eb6","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.0.tgz","fileCount":583,"integrity":"sha512-IOmEjxiMa0GI2T6CPbU6GDa40NkDmFIAjQ5kB1L/3GceDtvvPEM2jUQ+9LgkkEYloUaQOBXivvql7EP2eXfU6g==","signatures":[{"sig":"MEUCIQCUsvnv52260a8arsBMVUXgtL4EFSPmKeRu2vRrZS5y9wIgGyIQi+8iVcU8QL1z7H3baPpW/pF8irvZgx5zNUv5PN8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17696316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrj8ZCRA9TVsSAnZWagAAWNAQAJD9FkNRUQaO+0JiEbMh\nuxh4gyCeol4uZi8B6ysP5Tq47WIMyQTnxOVfCxr4GxhwEzLRnhjb2ICmDyYZ\nLtUAMXiPd7bU+C0tBFXbmHtrjoC3oFt2UjJ/0J+OOeVFxTyqlyEOCDvtRULA\nBORJAFxfwcn2AoWRi9ehkILNaQ1KxMdvygVGT2+Co4hzOCpP1l83hgd6lmbC\npuNhitqgy6Iwu+6qaoupt9LXBhPD9o7BU6325915+900o63/q6hGq5pQqgRB\nWofoZIzjFH8UGHJ4XfLvgZ7XV5DNkMBt4vJVg4DuVipEhprsNJ85X9LCpC/e\ndyeci8ZbnmbiOGNLOEDnaR/nwnSj94ZWbXCS3OJQQ817RIT19pEqsWAOUVXM\nhT1DxKNbsCxkg1fqAbgLj0Pyn8INyEDrxMggVzVncOqTkEMo7DiGog6TaIR1\nyYlQR2h8obME5OQBgNcd0vIfI7qDTj39/Yxvhf6q+74Rbxke7ULhs8FL1Eb/\noL39rce0TjYV2L9es16ft9OXF3OqECQpAqYh7IzW1XUVVZZLnj/i8S8TRTK9\nwYcYZ1iNkV+BzPwNOswWD858CqIzcc9SJbhSlG1u2Vxxwj3aw5RmtCJP0y0z\nGSOOIDsaCV7S1tHsRFt8OZDjv9A4y8XhbLDtmdrywkxfuiv5RloFuQY00jYx\naI3m\r\n=wwsW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.0_1605254936514_0.42239609836471925","host":"s3://npm-registry-packages"}},"0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66":{"name":"@preply/video","version":"0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d936bd65580fd7047209f265ecf4b3651f00a2b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66.tgz","fileCount":583,"integrity":"sha512-o9AEDni609kwrAdz4NOfFNYyNM/Ax7+A0xDXqGqhriirOuKwoCTn9swJ8HuNc+zz88IELgBbsHRl2b8uyyZisA==","signatures":[{"sig":"MEUCIAeGQo7UhG59XX6RUy2J90WyE64r1kUPdenJ4gpmvSq3AiEA6uTjd3wjBCNzWIZzWrx5jobKtIBQd+bQErGTiBHgnn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17698372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrkRcCRA9TVsSAnZWagAA7EsP/09GOyTrJ7vX6gzolBox\nqXPBfou5uZj85uZw+rg9A87DplhxHQFeUjIvslCk7IINsjSy9mItWDcjccl1\nayyPY6DtlFsFoOF4EpHYU3/ff7svhYUZsI8mq4MYrDoki+WgkqkxYCIfowLe\ndyJ3QG/65+ttg+unbxgs+rUEMshp8MsABixJceAFWjVew9yseWF3Bpzr134t\nUht8BDbvRCBRuGkX+6iCY1f/GEvloQtH6ToRh+IWyiZLiTgaubMwQ8nlXGJW\nHo483eYdCqlnpV/84wR7yFgBNcypCMUWclaB8ivjgwVsDZQPpb6729dx4ypE\novQUUg9ZArlBKUqgqHuBQOEi9xhgt+DcNiZcld0vHAK1nbT38Aq1e2zgXjHt\n2J522UNE0kPO1DGfvNCbYlbxwIx23JaVsElq1MUoP+zTm+OPRupoXQ19tydI\n2+y4zWyMnRaf8ixodOrtNTNny8zZm7Jlf1HFgf2JubUNgvD6ovmhftmtOVPh\njM4yoedXAOOWoEq6hQMSycqnEmq34A0I5a5FYFIT4B4wFe2iHhgYQ8FSOGqC\nfFhBfiFuOoDgkWvWLXhvJUl2qfENsi5F3znMxCTobtL3ig3Fs0jQyeUzuMy+\nrXNsDuz8jln5HVjurcnFDAsfup5w+vuwbA+JOpL5w/aEMhXtCzzF/03Zfpdd\nuY6L\r\n=ITQg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66_1605256283906_0.27569411345599937","host":"s3://npm-registry-packages"}},"0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa":{"name":"@preply/video","version":"0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b3afec1858d8414b93c914d6f061af31965a7d02","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa.tgz","fileCount":587,"integrity":"sha512-ISaoGy0+TztiOgupqquvTiX9MDex5j6MHfsxW15pFbwFqmKlJFGonztxGvKGM6529bswZ+XzEHmxqPTtUNLl5w==","signatures":[{"sig":"MEYCIQCiz5Fj9hHs0XJqxlxhHt7LF8+xemYGEeSsVMKtli6n6AIhALsoOkaOo7qgVHobI3Rz6QoSYAPgSW05qXMIpDJyp89T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17744918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfroSyCRA9TVsSAnZWagAAoZAP/37fylB+fDnPX1eqa3QB\nyEbmsPFuFa0Vvy7tQWa1s3AHy1b1Q9b6wWyxGBHSDepUCObUrxtUHj10+9MN\n/MXYUQA8HshKmZ2RnnXNoxoJqq53YjRLhsr7iLHRsw6mPZrIyLQg3VDp48iJ\n9QpJangCEhwOi8wlYPgvDVS5jWV3eAtc7pNztJJsvBWjkFs6Cebt4dIz75uE\na+63FtFnby4dYdMNXziQexp1IdjJFAKXtWAgsl7q+2eRVSMFKCnXzrJ4eCjh\nq/FFLD+HBiunj0hbDdLMp7GimCwvYNsGa49dBA/HTcXo8yy1e1GEQLpKowWr\nTn0E/K17vDPsHPSuzUoJ436XUBxc1PzyEfSuF3mRj6RMYCLbKY/a53QjE565\ni/U2YmZ42N3MzG+pw+ZmN0etUc1MQ+ar2/KPm+7QZc5JK7zWAWlTROGfF/+6\nStgPk/4kZ+VBUton2zx9V+YXw6hxDkFpNAt1UoQAft6nKS/oCdC4FRlo2Qnr\nOQzVwT5gu/cppKpGYbIE4PowEGXa1DVg0+8aHMH2cFSQLzknEfJytmkro3WY\n8fl2Zxf/DYBLcFaJiY6o4K/L5udFAKdZIPn2Npq6i9L7NvUMLliBk0htYNsr\nEQQ48uN//6CzkgemHsucQyfUkVt/VShipoBDbD18vtMF+4bhlmxGr11LfOYp\nZM9O\r\n=iPth\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa_1605272752892_0.11735983981570142","host":"s3://npm-registry-packages"}},"15.0.2":{"name":"@preply/video","version":"15.0.2","author":"","license":"ISC","_id":"@preply/video@15.0.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"115137c809035ac8f6c32f69c8c44be956ab4463","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.2.tgz","fileCount":587,"integrity":"sha512-n7gKjUuS4L3mqCJfvGIMQWxyrOtBs7/Hfm8PblmR46FZNd3VDKLQBn26EnF83jlGYOkXs4EWfparZCE90+bYWw==","signatures":[{"sig":"MEUCIFe5Q+of2W4rVGcNUBiUgNPZnSL94eczqdxf7amKJvj7AiEA1O4eiwBLqt8zaPQmXpBF1oYXH2UnXQizwWV+pSh5FGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17743064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrq/ICRA9TVsSAnZWagAAb04P/Rx43JY3/sp4ZGURFLGv\n5pIAO1EE8lfA87VhE83XaucDUgkGWJk8+b4xseu46vAaK3C5vCoM1kuIxsIi\nHx3TzeDAa9Y24ecqDRkcIcSv7m6iRQRTn3HBtfS43bpxtC40zehFkkZZLDDl\nSYDnv+gY6KDTVEVWBMVuicX47N++hBuoKvZSg23AtE/W8SSweLXJcClrNIGW\n5ggu5yTVwrQnmAqOO7+OyUfXH3K1WKAOtKQAsRIJGf0lkoq4phSZZZFZ1MeM\nPD9fwRKwbBX/6J15dZTHI4hQpQR61JwwUpWww7dEazapsioC/0ciMsucxtSS\nZ3/vxGEW5t54QfYNO7F0+y3sOojfd6td0eH0m6xjsbRao8L0ASqvCGYGQ4WE\nTJ9k1bhycDEI+cSXV+VBlwWrJkz3m29HV5PJdG1wyP0B4sPyl9wXUtn375g6\nXBj2ljamRXT2Fjoc2qpC+yd68zDi2yskKlyqQGr7EZdzU+MQOKat7Ewuv0il\nrSsPFCwDfrMyLcJ0lVB8GWQo9Uj2SUBR/SyI4j43F2hY/JPYkB0MknJI4hzn\n7NcY50k846jujGt5WtvnqZeRTZl1DRTfr7taSXxefofRWXVDrs+u+lUMCLrn\na8i5Nhio8mzAv4z6cRH7DyeG/W9WcNDsfBXpIwEPsb5Q3I3DNTuTzfhrziYr\nkT1K\r\n=7Z0K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.2_1605283783241_0.3528082044196721","host":"s3://npm-registry-packages"}},"15.0.3":{"name":"@preply/video","version":"15.0.3","author":"","license":"ISC","_id":"@preply/video@15.0.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"65c7e4822488bfec2223788f9698f73459cca566","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.3.tgz","fileCount":587,"integrity":"sha512-JpN57bIpugWfYghlCFa8S3M5CtgvVgsArO7WKpGG4KsfXDVJ8cTN6Vap4s6ZO8wOQkuxyjOL+tujQMtFSseKkQ==","signatures":[{"sig":"MEUCIQDykxdFF9iD0dSKaDnSoi3UyMb9ecrP9eN18zndj7ifsAIge/+x8QTdYEaKH73T3nH+f/itFXAgjpoCxv8Qollirw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17748614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsquPCRA9TVsSAnZWagAAVwoP/2PvG2Xtb7UL8p9oqFdo\n3QkWxuqloPgOp2/9mQbEU1rI9M8aJ69ytFWc6mQ66MMRBwSVQbYtzzYzD5wN\n9T3CvOR2QQRLd/deXCD21/rzmsBRjW0RoJr/gD+YurcbYYc+ikVPv5JE2i6a\n50mEWJWJia1ypti0jlHyWZkzZ1ULsVgpz0AO/a27QKCYnavhup6k1KJmmYZb\nGvrpjg3mbnlLSkyFhn4OQdpEXn8jPc38Tc2VxKDUSI9K9IoF4KzxqnQUhwpE\nTcBvIpHQb4UHc0mMSrWE2yXN4OuhixTz0ToThNVIWpmFMSBBku5es2z4+mgJ\nzDrVxJDzP5elSlNtmPAl4ZqXfVEthDtPwe9w9vmBzsxDRf2KXIxZfJ/Kq7h/\n8N4kq+jZ8mxzNMFyAfZxrTgHIgpfkMhzsaFBxySqR9rnW4fhrWlxJzdBAp25\nGQosTcTipW/xkakdv2tjD64rIX8npibUJao7hyjKl3ectzR1BeHTpeOY5NYh\n1IF5IiTBw00Eg32H+t7Jo0vxZZ/pmYYvCRVAkFSnfR1iIO08n41JQ+2Bkc3V\nHN2sJ4EB5y7tNHI7T21YrgHOcNtDfTSHO+YHm/3YHNwl1t26GCljhqlk2+t9\nRn1dzJw2YuDv466KvfKHZJqFFOi7r28bNfPWfjnylziALCXM07YI+5ii6c1n\nKMDD\r\n=sg2j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.3_1605544847036_0.005452651069103087","host":"s3://npm-registry-packages"}},"0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374":{"name":"@preply/video","version":"0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"cab78763f4eec727f96f6f4f7520e7005ea4788b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374.tgz","fileCount":587,"integrity":"sha512-F+fHUnsqV41ouGsC/Ddfa4oAqHh4iO4PQkUcLIYWUJ9eRrfovLSjn1TgkZ9mJ97YNdfLPwLEB2jZ0yQIyEjLNw==","signatures":[{"sig":"MEYCIQCTw+o2M6U+7ZUUSrdoGhnyVlm/MEHIv9T0dg+tYGgAvQIhALiLHuoOiM3YFXiYNv3vLFPYShnYFu+7jjg2T95RGYc+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17750579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfsrcNCRA9TVsSAnZWagAAkD4QAIUjeDOOmuyqsCkvLpJJ\n1PHHPAdNYisCm4OhGCEAzxBe95VIePkj1H/TWpbMNBywIXfhE94c+yMQzYxw\n38s5eULM1K6BJW/7dRL9sLZuSH39f89IYKj0kHuyTN6JSxH0XlbfAEGjDzao\nNbS+LwwgVCwNEhH6i5RF7PtNXpBl/ShNO6I4k2vUz7rBozC0X3bBeLLqAqZk\ntE9feISJJkcBcotsfI35WblyHglha+VwpKICNt2fR2rIdvfDScesX6wyh8ZL\ntKxisrRjjdoW0X9Yn7LidfP2VQnfLN5jjNKv/DWGVEtIonY/1ePyUB5aVxgZ\nCXUL//e4esYL/q/V7eaCYPQiqmxs0HX+wPm7vZWNZ0/QCFN9DCIFmlW4YhYg\nF+1yhkRmNfHPS/Z53wnt1cTT3e4mo88jQMjIHAvVSLu1u7HlgoiLVn66zk3v\nwPk0wjtssY6kLQm8SQu6sZar6aTt40yULW+sCTQFi12BIxk29it8metDTZ2H\nTTP55EPdoEI4js8TVvOX/z3RO1+9pn1z5eLzrZ2UDle7SEr6n3Vn9LwyDsOj\nRtQEP5JkjVpm6mnbJeGvvdDuRQtUHZwGMpq6koCWDC7iwrWGceM97xVr3OAb\noQQtUsdFtFdyWgByODArWCMgWQ1zngyHBSWgLkdxpY93gxiUcL9Zpf/SZ9bc\niloG\r\n=wLMm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374_1605547788722_0.6752715985412818","host":"s3://npm-registry-packages"}},"15.0.4":{"name":"@preply/video","version":"15.0.4","author":"","license":"ISC","_id":"@preply/video@15.0.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d8dd54611f22910e7458fcc16ddcfd84d28ba952","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.4.tgz","fileCount":587,"integrity":"sha512-7BSf0vFpxQsUf4aKMLEAr4geu/jx6Ed/8+ae8LgeRrZUKmCCf3v7F7jjBQRU1/KKh+rniDq+LIqEYf3y7KSy5Q==","signatures":[{"sig":"MEYCIQC5zCO+igIegD+fkV6QNivJ2/ctKJw+mmz0okZXUWQRCQIhAJAzq0TvC51P7c+RUjlo3D2wSQ1+jfRe0WiS/LEa5CUb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17751085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs3h2CRA9TVsSAnZWagAAmuEQAJim0a+X3W0Ot77cZsbb\nVkKEHO1O0fzkY0rdt4thHrxM8R8Yv2gKOcOI2ZtLHtvwyDlo86ICbKSm+yG5\nvhIz8RcsZV5ext8rnkYVYZj7Mbhf2XiegCy9jgIc5KBTcntp+EF2J/9JKk9s\nMtsCfSkq0x5uoh4G/gSIhUU5tyO/qUi/UbGog2M4h5rbYrorZjjHea2PbejB\n96bfaQWWKPUrwjqQjqTF6etMCFWvy3MytxFTtODytjjl58h0whXyp4NPNHp7\nEbsa8rypvM2KWRRTJHE7V2ULnTUpI0uWOhY+C4T9IIdq3UzA8R4YyUqO7Oz5\nucjWaVHouHiIuMGlF7x+Yc8dS61AU76TrDgVEm1mDHwHObCQRg+cJmAzA87y\ny9euENEoCVnK1nh6ZP2DlLQedqQtaz+s1D/iYdIXF0qvgv04sfOqYGmMSPYY\n1i/XvdgPOP2u9Ib7GeLihS1HiOvB5OW+lq1sK8kWmv86ivZ22Wm/cUQyIUDd\nFu0x+Utq68S1wm6Me8+taCOpEOPS4oF+cZD+Ye3tlUyDsJXzFwfpvzjcuq0o\n4X+y+K3lfWcRueOZxMzvJYRbSgFJ+np+2VzAwfJH/2zcP+p9Yb5mxjlQ3ZMl\nmoSOaatjRv9ySMxqNUCWTTfezf+zYP1faWt5edWqXbWYBnFtzOeOZydIFRh2\nyZWE\r\n=Zg46\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.4_1605597301740_0.7437928091051957","host":"s3://npm-registry-packages"}},"15.0.5":{"name":"@preply/video","version":"15.0.5","author":"","license":"ISC","_id":"@preply/video@15.0.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"3dc9972f37c7c64e725b2fa1a55c854168f88666","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.5.tgz","fileCount":587,"integrity":"sha512-dfC9WmVYbEY10YaFHzyb99smLDssJr7u6VWGZhX3myGPGGqW5oOsNQIs57sjBtSA3m9Eft0nsBCYNmBcMIlhTQ==","signatures":[{"sig":"MEYCIQCEN7Z/ZtLPP0lReUfH0qMmN1JOVExD/mcseVrfS8tNIgIhAIs27RU01lBvWyQALrItc1vPc7/hjhv4TSBNOFg1sAZi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17751931,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftLtCCRA9TVsSAnZWagAAVVAQAI0NrjYw1pK3VhN5ayYo\n2UhLG2V/vrWMt/ySBHikMy+GHgffC3zoCO71YIvkgGYC/2zYFr5ycFPphIDR\nHR0IaJR3VxqDxaGpTnWedSCdKDT3aw9Gks8co3nmEP0tQBC9+z4QVirBJ3/Q\nDgF1HahMxX08acCSYMirhB+39ALcBOKHeiApmP7nX5hko1OVZJDA07beSpWm\nA5kB/sCV7AaMp5QyMfkzOrVgbJN4AKeTMTp0HFuzFTiUE+HynXdfxJWrGKPG\nobykX7zJpPBa2WwVdaZRgN+klMNKH6z5zZBW2D43dvYiWz5N+/aU4NSBdd4Z\nDYd2z05BAyJBuoKVUQyrdd/vOD2OTqyNcnAPfuuVIJVBgmkPnr/mGKnVHDSK\nOBRBIK5gioSGOBmV5IQq7J3v3XJfE25PDfbe5D7ulai8J2W9AFD3vVeWl2em\nMzJrbBtapd57K/Bl76LQGHjDuxwhfWBq/ItT4B5Dwp0lm4TWdRaw06TXClhu\nx9Z3g+4gXvwYlwWWph6EhL1UZuqynD19lK78UUK6ZRUaXkNgHYLnI7dGlJVS\n0/RhJIkpXXaYgsfhLd+sj9+j5JvFfS9xsFjUa2QRM9bY5K4pwuWQJ8ClNm4U\nMgQUPDRIvP5lHSfpnW3hPt+CGRE3bBChD8ShJ2IPC3fTLuQQof/W30yGw5zK\nZEu1\r\n=K+qb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.5_1605679937603_0.24806008188093998","host":"s3://npm-registry-packages"}},"15.0.6":{"name":"@preply/video","version":"15.0.6","author":"","license":"ISC","_id":"@preply/video@15.0.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"5dd484e7d3607874ce28dab93f8ebd3672373e95","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.6.tgz","fileCount":587,"integrity":"sha512-BsgMrTjASTr+bR7kKLG2fD8pUiiNMR/3xDHSODmUpvSGb2/NbrCkwwzm1VFJc9dMzyZsdQglvNIIKbJZaLstLw==","signatures":[{"sig":"MEYCIQCJGl4QoRDI3TSg0i4DaF40iXiFQqvpq0wpR/KLomb6xAIhANwvoTvcIvtzZzgErjiPakeLdjzIJpsQk2yBPKdjOyTC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17753982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftQisCRA9TVsSAnZWagAAxqQP/1migLG0AC0KMMvupTzN\n4ty5vbn44TLh5unMpML+/xydBiU51dcBNbhro/IJ9oMDer65z1/8eeRHxbdT\nuWx66YKAk8wucjiYCvBdQjpFkKnn3dIF5GeO9XeljJnXjXOrHz2XcWdMqinH\nneTZ5oipG/yT83Dj9rKLpdsnUziaAOKL2E2sE8WAwTRYF8NrIl5s03vYby9y\nqXvQpnjOnE1AEfk3IobA+r9Je/OS/t0R3WBpbD7USKXpqhCkpMx/tdGNm2Wp\n+wV8fQbxvlhtSMqYy7/Tobexa/HcxbuLbmxYNb2K9vZt/eENmUKWQJ652gXz\njTh9GbGPvX4/opy3vCBQNJn2LTfettpw2hc5OMYz17MkpPT8V1O0kuRy0kpT\nOBslCf4S14gMmAs1bjNq/l2/ZRcSZh+fgEvcQVGAOME4RzdPMiVPBxeEYI2T\nTy2thXRaqMGmn3kFV9WLJEj7fQGc5iA0gqS4SJiGQhBZ3ErjHBcdCXsJU41n\nU1jT9Cs2ST2YT0CiJbP+cGRg3D2OYbikJmDzjfL2PJP5GC40b/BNNFQ2GfhY\nKmhN4RMgvZJsAJ3wGe5Z8eIrQZ27iFXnCgMtZcQ5/oRuJITniwiykKULSkpb\nhjQKPp/mN5/Bv2BD2XbdE9M/G/C/SIduqc3Zny0kK+lmYZv75onbVH0f4iIh\nXYX2\r\n=FRiU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.6_1605699755820_0.3849827366283589","host":"s3://npm-registry-packages"}},"15.0.7":{"name":"@preply/video","version":"15.0.7","author":"","license":"ISC","_id":"@preply/video@15.0.7","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"dfa66bc57feabc4e18a3b59004bcefababc4845a","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.7.tgz","fileCount":587,"integrity":"sha512-trLSNC2eYq+N5AE5DU9nFWNzwEaOjRIIxEUe72/E5kWv8QBd07TZ7e4An7cEWjUrPNP/c7ul9ndMjlJERPGo4A==","signatures":[{"sig":"MEYCIQDrn/Llg8j8PjJVFGoRNmyJEra2r9t50Xd5HyUmf2FVewIhANRiShyzDf5fm2Xf6SFBD4elHCgy1K06301+cm/Zjqo5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17754075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftincCRA9TVsSAnZWagAAYHYP/1ymzPtu8uqUgL+hKLEg\nQBLf06VfX5aKJdx87+mHz5pe+czm0XGoPwyHAbTpJvblI6hriSOBFHEs/kKa\nKg/9zTwiJYD6PffCA0qmQlQuwu0NwXCBHYQbIm5MeZseTm4hm3CyKVl9Zu7N\nmH0PgziSlsSGblXPDgNAHlqvjamzIvpr6EWiTsr9nk2Bmk4YO/sVCLti78iJ\nfWB+UlQIq8/K5zwBLp9zd6j+kCxaIXdCyC/qPlw5Yi//rBP3YwxuqrvMDp4w\nOHQrQHLn32mIXRgn4zcElaBJo0DYk5+gTaatApyarWuH4O2wt6i+t11X8OQR\nr/o5LQk4JhpjL2RIUEU45E2tx0FPHiAprN8iByNx7FX67HnGUYSQtZi2+7kM\n4vpdK2oSEZoOxphJ0zoz7tsF3cjJwS+WyXWKfSEweHDKwvmLolVw/lkOJWyS\n2WecAfKnbk2SNGWE1ixzprxgtefDGesclK0Nbss29zppTuVgA0lbA/bsEu5N\nU0hTdLWn6ONY6Rz1B+QgxVaup02aOrRMCesGv8FtzjS/Cu85yRf9Ruo0+c6D\nwnByU57wIZS40qJGfCNwOLE8QOCEnZXy41ugpC9Xc51u1/YuziXnCW+iXisb\n/MEdw7A/40tSorELqV5stbiz1+aFPTwVAD3myvWPBvsv8+YoLEiRwiTbsGQi\n7uf4\r\n=1M0P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.7_1605773787421_0.6193818125316459","host":"s3://npm-registry-packages"}},"15.0.8":{"name":"@preply/video","version":"15.0.8","author":"","license":"ISC","_id":"@preply/video@15.0.8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0503901ea0fb85194f58853ba89923d57cbf48d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.8.tgz","fileCount":587,"integrity":"sha512-YyV9x7fIf462H+YCyvbS2A529S0DYA+d3x98IBJjesB7XrBo9VUUZ1xzXDFK4s0NrWDiyBq0tNtdalRfI5WjNw==","signatures":[{"sig":"MEUCIQCx6uw4fCPHcUWXTJhzOTfYWuPuvySsIeVhKQ9unm9wsAIgC8/YM/2nYOCHN1rzONvhlzXtRJltz8gni+d3M6J2Kps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17754720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftjY8CRA9TVsSAnZWagAASrQP/j02fzvdcX95+XN3TAHc\nh5xm80Oo0/dwonH8V88a7BkGWsVBcR2RBB8KDbnl7N42V/GgPh6hl2hehe4J\nm61fyPjkr2gM1iKSEnsf8LHyv0gCVc37sq9fVd172AAFUR28y6AyFCqmARXV\nNM2QRs80Ar/RoK8LovXCtRhRfq4kbPurCKoQb7/Cqy2RJGsz80oLAd5tsCBn\ngJdnkbcCn30DMYoNagCIRtR6Say0tXp9/w0wzZRJxrRwtqat86iSOrUQ71kf\nCG6MnbFD526BAH9CDVvM1mO3P1eSoMSGYkQyzd8cSsvYNPBbRJL1+p9TSuCd\nmyX8ZBxlgwXkXZk+ue/oOp5UqV3sK1LLpFEAF7ZO214sNvPlmVMtUQXjb2XH\n3nxErV3ty9i4y+lSd1wt2SMoanIn1gwe3+3uNIk8XgMwhnhz8ShCsmJ5ducT\nRBoPx94QynzKyC/CcTdz/058RI+g57YHCK650Y54yy1b/2enV+/8DybPS0TD\n4CZolJZ8NTb0NkHUSdnEEebui2E9qEG5AfzwVo48pEs4JLOE92ScvEZ6Kinx\ncvf5Vvn8L80jjvkM1ODUJ0x19fk+4c6MXznnmt+yKnaaS+d+rRLpY94OFn1t\n/VzRb32NHSmewn1CshzaQtXS7uOcCiqgl8FtnZUzf7yqjch/VmVZ3vQYFt5C\nYJN0\r\n=H0LA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.8_1605776955159_0.6263366733723745","host":"s3://npm-registry-packages"}},"15.0.9":{"name":"@preply/video","version":"15.0.9","author":"","license":"ISC","_id":"@preply/video@15.0.9","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"52c9efe80107b2df125c746417f27bde94ea8ae7","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.9.tgz","fileCount":587,"integrity":"sha512-0i+0z2jdDwHLn/LMHlWjsCi+J3yRa/1H6SPOk5lhIxep/07A5TAgxi/tsjz9PbD4W+edigigws8r6OY3qEjWTw==","signatures":[{"sig":"MEUCIQC5tbFeqb3VjaWwysBcgOysPx4NPVg78q1A9ltnchnQrwIgQiOxva2P8HflVOSrr8acpvYmr2W8oMEcJTwRa54dnF4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17756045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJftoOTCRA9TVsSAnZWagAAClIP/iSFJcPHQa48UyUZ5Fxt\nbAv7MeFrzuYeAwJY8Uz8TL0gMsqhlTSwAyuS0yyIRiHj6TebA1EYytHSTEXE\ns++PNIoF1B2Bn+3XxLMv7ZbstY3G0oHFt16oEDNbrBU4I1PlQIC1bhuoRb/6\nUfjVOAakfL+5yMfvdI7Z/rFOOpwm83hgFgjV2fcCicPyVF7O03Sf9T5I6KM/\ncQayl1Yzbu9qP10uAoV+11evoL+p5wdXDqvFsZNU4zJeUPtv4NfyiLPOM+gn\ngHSljbYaIpu9QuUEp4uIGxNpk71bTml5zWsSZ8sJLEDI3UKCoO36dzenbrEW\nprG75ouaFrn6X2or1fsf2VsvpBDtVGjCJfQXqP4Kb7sX96MjcZCm96K9Z+lS\nwUrb7uO7ypMryfm7RwIhviCl7C/ZAvU/jKkzvzfAEHnEGcVQQH3hECSsCRed\nsTcuavFluYSPk/mqfIjFeFbybPOL+SjbYv/DBxHlxxjvuORmpiongaDJmGY+\nW14SYHDuV2zk4mNuYyEKYYSVdacCBYo3XV3ctUGRUlrE066JyyupESG0VLav\nNd6BXepBNXIm9ZFCkFeHwuKlILPyHaB/Dog49OBgGbBuFd6zmOe2gdBlK1nF\nnuHKGFVOwmtigmy11/Y9FoPHyCvWQ0+OaO5NQzndiexxxrBch4jCbO52G3IR\nIChP\r\n=vX2s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.9_1605796754781_0.18674003171961706","host":"s3://npm-registry-packages"}},"15.0.10":{"name":"@preply/video","version":"15.0.10","author":"","license":"ISC","_id":"@preply/video@15.0.10","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d6af6f3c2c4c06a51edeebb029106270556291d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.10.tgz","fileCount":587,"integrity":"sha512-IblZe5jnlRNsGb7wfJUnvEl1oQ8m1Rrtyq0kHt5+Mk6aG/+0Tkuj83WQhybKga2o7ZMB7hYQ3wZpEFVVtzbuAQ==","signatures":[{"sig":"MEYCIQDaHmBo+I/0I78JEZDGvV12mnTING1odaF/UZwnZFCGDQIhANxYrLgbQzYvz0ywWA+peEvNsNZWo+Ww9n7xWZgAAxiI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17758670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvhF0CRA9TVsSAnZWagAAOZ4P/3vdwcZNEIE04u1PNcUJ\nQ04t7ZrlvxFB7r/QRZbH2yy+KayKcykFElM96u7h0j6lkpfoJKczHmtKXoXi\nDp4FGLuX5iZEPxUkYyF2W29+jdyaqQH9XRQDMWPMoe9YmrC+JauhptJZY7ig\nyYurVyeJVjRSGkJ1wr9w9K9zkyu99QIaHwbVxSetmrXHAZSVG5RAdongXVsa\nDlD1fEGI59Lgw1FJ5UeOVOfPtU1Ge9PJs4EFXg0xFiWxy77r1chZqJ0dHkBV\nJQWadDVv8NeEGorjd/8dhouMW7RL0Fn89FfsgFqJ/QzSBttediHSM0eWkeTw\nWNYCfEsOYsDwj7XaEXIa639guorKq7ZR13JpTyyvDI5sgf81IgqzTwDQHjVS\nh9aina6e3rwC/YQNUfi1EUp+j78+7UU+FilG397abun+Q6hhrSf6WtNM7sJy\ntaw6XetaY+rkkSP1pWgWjMy13MVGNoelqqS+fX3GBtE/IQL5EWa/c2H2FMYI\njiTa5SKU2voJRqR4FImq5ZVDxmohAUeGzUQFJOGGyGIq5L0egabKQ1PA103j\nmJWpajVH3AgehAhkoAR8madK498287xpPE8esM7k6VEmyC9+AnQiai5ZO908\ngtghJ4v2mzFy6ORBwdO6biQDyRWcajM4rQgyORthclESRh2nEwMmFekvLQVn\n+kNB\r\n=cBfq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.10_1606291827970_0.4469859614215739","host":"s3://npm-registry-packages"}},"15.0.11":{"name":"@preply/video","version":"15.0.11","author":"","license":"ISC","_id":"@preply/video@15.0.11","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"90ce64591abc6b125feea6825b84edb11a8260b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.11.tgz","fileCount":587,"integrity":"sha512-xSa+pKgrzBP0++EsWHHwxJZhZsuW5hDMf74sf2RS+Z+5no4/YgqrzqVzaUfBz8Z8xmQxOVKt0b1RYzhVTbM3Nw==","signatures":[{"sig":"MEYCIQCOTVVhedyRcBRoHuoDaFxRC0ZB6qjo63Gw8LlaR9KZxgIhALyP8qufDJCL+ECDs4yUZqVLyw//kxyBJGC/yhyHLJE0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17765039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvljDCRA9TVsSAnZWagAAF60P/jla1me/xnc+KqAdjQma\nY7RsbI19121H2Ij4vV2o47Smw3jJxojZvCMgP9dyrY/oboJmBw4Wdm6T9S9T\nBALg/z8owEzhibWt8zRYsLRsN0+5xfbh/9L+qEOjYPkmhFcjuXmKr9mfQOXr\n8s7K+gpJRcex37yAsjb5nC7OyrqCbTvFxwzEs0oQTgOlQp5BYTmiWzsrwYix\nlzwI3xN5wbBfU6J1w7UQFk8IM3h9xwVaXtSnaQWmtS0qgtjEpESsltoZGDal\nOQvvR7YIqW1hDX5QsgdI/vYIBqpAdAvKD2o9gueZYdmyZ1xBwhMfnGIZ7pyC\nxP27DHNQljMOgJZoe1DACMrIVM4kGaUdU/K7ITmDlp2dDLG/PMI//3P0pRlz\nOXes1/b6HssbBw2E/w7YlmtvR9tVvyjfa75jqTnoJYENXovdEmCjapwj39Sd\nxD34jIxIaVgDCkph1419F244NGZ+wIj2Z52OBSXFVRInD2Z79nEbzlrcv2cx\nIK2mTgywpA2Ons1WF5TkTtZN0I+s7GFi+bKKPNq9Z3ZfsW5/74hSBxypLTYL\nm45b6okJEOrGeSRnWzpmBFci4rbZ8PEjMwFE84VzqSG7Ii4F0z5FY8x7U//W\nFNui8Bqf/hzB5s3VedMl1dH8O9RbLGxefmCQm9HlbkVN5GMjeLib9X8QJQCZ\ngLNE\r\n=qDY8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.11_1606310082086_0.7995116378535194","host":"s3://npm-registry-packages"}},"0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338":{"name":"@preply/video","version":"0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d5c209ce08f451265a430ecca040ec419bdc3831","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338.tgz","fileCount":589,"integrity":"sha512-YZ1mB+GVZSaj5HeY7fTMuZTjtMGXLXnNUNMVX4YddW13O2uoJQEmzgGa+jT8i+QX/dapxtdzXSuqbe8rt6UuWw==","signatures":[{"sig":"MEYCIQDwH7c2U0o00pKESaBQBw+3Sl2Dx4dZNHzDzwW/uTQmlwIhAPSztTDfp+ysOWVqcT/Pcu5XjWXZ7dSpWZnl3ZEXRCCr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17773270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvntACRA9TVsSAnZWagAAM0YQAIzy2G5nb9jaXSUtm5Ty\nvg8jSX4lDBOTaILllszPfeD/QU/hlm2DUZlSsSyJOuPBA/J4r4gXZecNLQSg\nlesGd5jk/9I4mKcZ2/cqPI05WsQdYnRmfEZoj3b7o76SCZSOTKwx5nD6YCxS\nV1PA1xtmBRUF4GaGmiSHVgKxt45GeuyZGpNoDutCI6lKOf88ztVxc/tTEysL\niHMfqf0ufTn8ON2cSfC89HOIJ86yseMIKyacCEN2zfC+kqC04AaG1vrn6zFZ\nRtycKwQP82CWW8sNqUOTQTFNfTuMHzjZSBst6lm1BdU8no6ThCGXoMNCzTsE\nZYa6yXDQhCgArUyND/LV28u49BOOjgvRVjCIP5S4/LeZl15yEH0hCBXKs9x8\nhYC9nfjA0fC59c6Eq7OFGJC4CARBMrkaTym9iXWZcYDcwq+y175Tmp90eBjH\nblUavwzBkEo2bDzk/iRqmIjsGzTevpadjn9sPnT4QLHaNPg/Xg/osjVPaltl\nu7iAFNpLkv49ZdQevzUe2WJU33uvOsWTVksY/rArQ/0/i8EyM7t58I0mQO5I\nvnygpRT3OvXO1MzQJWUi72rNEzUnqnF5kbksDdE1G9AHTa7Tl0eYnmKQIYzW\nSclRVfcgcR4+rUD943qVtjFHNlBGXy+EyTLyELHMm/uqrNrfm6py7ntIE3Z0\nX1Fi\r\n=50oI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338_1606318911651_0.01841751228834454","host":"s3://npm-registry-packages"}},"0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265":{"name":"@preply/video","version":"0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"217090cab4840621bbef7df91a1d0ac334853161","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265.tgz","fileCount":589,"integrity":"sha512-jvgQL4CqM9UKKQq7Al+tx6MbSGVTwpjpXzi3a38WJQYaiA7AUUx9PVwOXHnQXs6NGygpFRrx/RQE3Jn0/jQWWw==","signatures":[{"sig":"MEYCIQDVv+nitrwPc/CYovP3tDQvICi0jQj8P7n12c50CVYKggIhAOaoMoncfEZwJ5R1ILOEH0iUxLV3S+hZWW1+f3H5dzM/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17774030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvrQmCRA9TVsSAnZWagAASAIQAIROKsBFANIhqB+Jp1vH\n3FC88IIjopvsEjIn++kFxZqJvssW0/7NEqWwcYASZbMYsROmUCTPIhQEQuy3\nLnh+ncIEYfiu6CFolTL9LlViX4ZOy+oF4CHoMSl0JIHqR0asxJFz5lFpT8Eq\nMQ8iCwRx/Nt2XvTp57bXlZBTrR4mibirJ+8Nq91A45mwE3QYvku4uiWQj0ni\nGklW2ZA6nsGAfpF50OpszdvLCiApr3Ou2esNNgTknh5jsXv6udsazwkr9kra\nlwr/+om7pCbpMLR7HCv3IngUJd/CYytt1aAePvs4BimAIxRVonNuQIKasfIl\nFwQjBHAAgiW/4lohHpO+ckmXdXKqWq2pVKGVoPwcrtWu/XA+bAAsV6Eyf+Pi\nXqjxaYIXjbeYkUwtCU+aeJO9augEaFraGPdVmcE9yODGMTilS+k286Qhb+m6\ng4ZH+nIStGvz9oGJfo55Dwg//G2A0o3fOotYLSMfPEH33kvle15zhFynD1pu\ncUELkpn/3U+Mn3qQVx7L6uX2o0+p55h6waQrz4y5t3h8lDnOExWJFtsdjK44\nMWlQO9BNPuSwkVaZfGvC82N62Pc581Gz6ONDJ2+j1OhkQMg53nkiEQHaXzb2\nPkUPGM8cpShlA7/3GIRpgmacSWZyOn+W665Nl5r5Ydh3DbzTFA+tNL/9xzPN\nT5Xw\r\n=eFhs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265_1606333477456_0.4766261199752806","host":"s3://npm-registry-packages"}},"0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b":{"name":"@preply/video","version":"0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"17cd475652e22101cbaf81c027c642efd9e2ffa4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b.tgz","fileCount":589,"integrity":"sha512-oW540Xu9XGh3ny2w08lFhwZ3ppgoWt/LhyJJz4IlP2nPYO78958nfN3V+KB9OiUI6Cgb2VVfJaPMdlCL3Xj0Nw==","signatures":[{"sig":"MEUCIEoH+ZUqjfbnzca/rsuuNIw0qjhdgmKF7SynupjmTfFwAiEA1vClWb+ckHXESKwz8O7Wc7f7GciJm5MWumTD8ys/XpQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17774030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv0RbCRA9TVsSAnZWagAAijIP/1qhUfNbMTvZxzAtDJrs\nWwev+UhjrN4ACqaew+ptR6gyxsWCuHNKulSZJALtCTSmhak8IQocucsqYCi4\nqx17c8a16HWMWSaXO1U0O8tElz3xOUecV0LEJ53Hjh4u9fD5UxBGXEjsq7ds\nH1ceh7rs/x3tjKqPUj2ZvQ1+beFjDYA3ijC6KJPgcRDVoG4JSurknjnXTSrR\nF9b1rGcQ+mbzpOpQrbuMJbm9W6ixA6DvWGfcnkjScrI6qvjatQ0nzexvKDLO\nrIGIev4qzfZixxcPrGUDXLHPE2o2mJzZA/utULqWZ1iDJ/9hufELg7/7kjSm\npldYoVNY+QBRGRzBInrM5fOCalZaLxuGLtQi0ZOU9WToyrfExoThMpkdVG0Y\nD+gQayrl9uxd5B9nWTNdlnGKd60JQwFQ8Idee9HA2218bHMgNFP1DYUjMpzc\nKzESJYFif9OLCGzPptqpR9wcJPVvDC2PjVvkfZM8BKoOUoSTy1rQddSvU8f/\nAipLi6iVvTE572ZG7It/hBzxJcfM6fFELvkK7DyI2tWI3i0U76haWwLiS1ve\nZF2orJxqa/BI45xnMtUD3sVeyNtGKg9+SIaYefZWHnPuWdSe1Dw6Yda9M5Sw\nZUl3W8f1xS2TzMYlD1RF/GYTLPQhBODhPKbUmL769qtPR/ylTDR5QGP13E5v\n+LND\r\n=j28J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b_1606370394694_0.060414538435372034","host":"s3://npm-registry-packages"}},"0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46":{"name":"@preply/video","version":"0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7ff501954977fe062425978847f240ea9008d6ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46.tgz","fileCount":589,"integrity":"sha512-Tym7VV2BypV7qHrfeWVvdqr7xWfyNXpEAtWJFO8BQSGgYh7UGzNyLsl+eao34Nn0OszBIoBmOIfVsXPyEMzmRQ==","signatures":[{"sig":"MEQCIFKuTLBN78O5sgML58VQbBaqLFINJekkAzf54ual3e6DAiBhYA/7lbSFFJZ17pFSpDDL1CPdFStrLBZCFMyU/uSCXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17774097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv1O1CRA9TVsSAnZWagAAKGYQAJ9XGw/kxR4FbEfUgcHw\nEXEC91rlCNk2zYAj1hT4TS3s1lfvvXA0DZza3POQGEFLuSSDLehc1AThTHBl\n6BZbAgQA/qKZfz3JhLUSOz9+2mV6odQhBPbIsFz0eDaS7RM29SgGrt4rtWh7\niql8+KoWl47lKpm//DPH4mj8Mqgdv9HhC6rMHoC98EmkOsJsqnxwQp2KbYgD\nJOEJ+4v7myrUC1kYzOtalz0VuBSIUbRgtWT/7NeJ4rLF09M1sbTqvsFEWB4R\nEq0bMSGdoTxvQiqeyvlFNlwspJwelbV/qRb/eh2DA0nGubs3tmRYz/FQZqQt\nJ4S4ZECb7CsfhR34+rfmFJ0VSNmiGJBZTghW2zqYkHw3zysTQuvfIV6xyR2P\nKSx0s84+UtY56gevNg22LeJmrNPqDwUfvAKNYTP66KQFPwTGIIrchxaGhhXh\n+H9gpNqOid3cWjflVO0XTLIJY0UHGYMtUwCmWlmT3ciWuUnWJrDUMxNfxXBc\nieTNIKfZ8+aBymzcItblRXVsSS8++k2sJ+dqA92/YCkNiT0MYZ6ljcrla6wU\njOOI8CS4elb8+aRRF36PEhZxNyyzmvNhpC6ChTpBMNz5zlaX/uieqt3V1jDU\n0IjpAmCXNJFHhVGH6p1aeKGL1DssWGEM6kwWUPlJ1ToRfEq1jrLo97Lw59fA\npE7g\r\n=D5Fw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46_1606374324741_0.33151717011201054","host":"s3://npm-registry-packages"}},"15.0.12":{"name":"@preply/video","version":"15.0.12","author":"","license":"ISC","_id":"@preply/video@15.0.12","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"91962eb1e4ed9709d75dcbb8c238fe4c4d8ead60","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.12.tgz","fileCount":587,"integrity":"sha512-bd1TiruN/VLKCe90a0GULeMn4lzNiSakXuLiP7C4FdQXQPhB5uNUdKznK2UeMyLqnGKwC68bii+cC7n8Op2A5g==","signatures":[{"sig":"MEYCIQCFYvpgwQLbwKCPWOjax7Tcx+xouGwwG3HzHWw4H9NLygIhAI6UdwZ2NVqY49KOjxr90jpWREFMySCbdE2BuPog1DCC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17766406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv1Y3CRA9TVsSAnZWagAAK78P/3EpiLoZFl7Rg9G7tzQK\n4AsDctNZnBxfBqiwRrDYn9DsjstHBOm1FlZFnX/l39RGsmjlChcsKDRE9ziB\nri+MaGfI0GiFj2onVx69GSjx4xOw/RpHBut14lAh6uStM0bH3+SoIjlekzT5\n2wOF3CXftQLiUJvogKD1mImOXM49bA5Bdg8BfL2bDrYVBCFt+0vgEJ8dmTj/\n3ZvQnxCFtm65+yzfS1F8np3qbSm42Oaxl9INeckAyLLBVV0uf3lcCXgmAq3R\nUtYuaYyz/OCFAil6IEy/nf7y8xPx84yunm+j5+TPffXwKf2ijpwnuLPHob4m\nE2gCjGaHF6YNF6cQtCFSadF6IvFmCbQgXJ4B9xMYGuNM1ycwlJ2S8zRJ1OrJ\nZCi7eGeuOgheKeNQY/8zszhR/2CzPCs6FwwoRGMcbut7QTyufhus2k37T2nm\nRJwARck1taKcjUYf/rEp9e5KwSSxj4PloaeD2zmDoGxgBnvW7rzfBxXx+0av\nzN6Qq1iLnONDj8KoPI4TA+UY4bl9bPVRKec7OZT+nkg165sYWdEs5jOeOnUu\nnMYCVxO0g0ovU9VVPmmqJKFg5vQuTt2kJgT6pJrmOii1idrFs9xEPMc3Lusl\nOad6BB9RyznWulKksam+ALAWWCCM+MEkpv3EmC3e6NboCtev9a3QvSpmcW1q\ngSsT\r\n=FbQ+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.12_1606374966360_0.4732647115921509","host":"s3://npm-registry-packages"}},"15.0.13":{"name":"@preply/video","version":"15.0.13","author":"","license":"ISC","_id":"@preply/video@15.0.13","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2924149c6867d9dc18cbd255d844d61bf9a148e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.13.tgz","fileCount":589,"integrity":"sha512-JkWjfPsOw6IvbpA2kTKKoQ8ASwTQI9yOyGwbh95+UBqH/2/Z5JoeURr4Zl3A6QKXprNfK06JAnlgbwBQq8fEFg==","signatures":[{"sig":"MEUCICd4ZpwtTWGE1uM4NzM+l+TGxDArp4bVTNDEWsUpk5uzAiEAg6FKk9/vMzYYjNZRbteROD98Y10rhY1/eXG8ONeQjBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17772623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfv3HkCRA9TVsSAnZWagAARuUP/2oRmnveDItwiiikH5hc\n4TYF2pCq3Dmudc0Tq7RHGC9P7EaBcO9zva4Buwr9IXwlecbE+Pnyq6hOoo8+\nJiJe76e9dF/HTZX1cy7bdwprusgjFCQgvAiXMkOat8RvujNph9RS7ZsHBTmB\nkmE4bp0TBA/7u+2rzZ48fA0Q7lGAxbimWk90c4jopDr6BYX3CEs6hYptymRi\npplx6FLwNv7y675zBXbo+buc752dm5eb4J5/AmmmP0pnWW/vUcQLMbzGj0S3\nmO3hckSSTlt+V2ebkdB5+atBVVbOx83xPEIJqUo1WL0Ve0guG0qiqW+hrSR/\n7hvaQ+h7g2WfEteW+Lb++Ci4wdQ8e9WYCCtmQZ5Ck5R9+ygIldrAiCAPhqUP\nqxSzonJuhbaE4zwtoXOT9zEc0oWsaItmegJ+mr/ZHeYBKmy7yo9BboG7oozo\njEnzx0XyZzbwu2gn1/xoMghWM0yAR/96Ofnvchw1ooDYORSDq1BLdIHd9DXn\n7LsPXRUEbm0ihrQg88NEdJTPvXUuD440EzjJaHKeWSGLkuy/ZYqdms/ir2i6\ng7aBckN8Fho6OFDgddMsBuEH8Tjyndbyik1gyuZ/47BgFXHli/YQ2w7quJL+\newQ6j3XpgvaNCzPUD+NbOpHy0gZ42ajtwYLJQsZ/WSQc5e+LZa8VCHqS8Rxe\nbLxW\r\n=MJwS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.13_1606382051185_0.6825730554436222","host":"s3://npm-registry-packages"}},"15.0.14":{"name":"@preply/video","version":"15.0.14","author":"","license":"ISC","_id":"@preply/video@15.0.14","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"423b69f747de72e5c9bd591b962c474928dc35bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.14.tgz","fileCount":589,"integrity":"sha512-LFKr/2e0SVuGXy2cJgVBCedC3mEjZ4qEqQ57H9N9KOue4jyx33cuuDI+dfg/4Pptce8QRYxwrEPrkAde7pZwjA==","signatures":[{"sig":"MEUCIQDIBjGgkoaU//fW+KuJ80IBIb2s33oNx0uhEFYw7EAt6wIgJ09SNXWssH7m8NdpnRMF31ChBF/Aeo3ZSHXr4ynqMIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17778643,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwMpRCRA9TVsSAnZWagAAghYP/3HjDnrf4hTxnSJc+UsC\noScwH1Ol1G/ItMAZ8O/hYoX055fHV0+JWKpArehMjfQlwSvrRSR/5PAcrVMU\nWE57AVCeR9Iy/R8y0bC1m97aqQnZsCoQqW9nJGxAIAdeC0lKOHWfOUru4uqB\nzcv9r3a99G7lhLy3RS6uuiwAq18ayoQO3pWzQ6qh+ZopaSW+u9k45BkH38HD\nVEIgOrsVEdaBZU6EEno5fbUzqJrewLBGnZJYVhftZAv4CLLL4NHxkFKaO8T3\nLr4M/tjj+sEmBhozP4eoAM/Rc1KmCby1gitE2r695DVmidabQ1kV5aHlQjpO\ngMaXow29i3YCoXCxm0FlcARqiRLpZJ11VUrSP6VBUKLAptpZ3QEAiavsKZ57\nDAhrLQh+rCDiFZ4giURwxCq7msnmbkuwHfvvwnCe2RW4stFb12W+twBD3pkN\ns9/JzIM6lx4LXyQUfl7c0q79TrcwZ8f+9J7lWsKgrme3cFyCGhF5IQzedml0\nb0DhvAkjp+xaXNKPv+MLbkNdKTKsaYW/v4IomRf1dZ7iTd+RCgIZLX9J7NUc\nRJprjmEyIWCbiHCCBhlRVOYtPqxehgCvYajIMI79CR8J/iOca5no8eYny8/K\n6SJn+48+rqtJK5xuO7gleEadRmsIzfEBSZa5zNBdPzCOmCP0Wwr6ZBpiuheB\n31At\r\n=1qTw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.14_1606470224253_0.31321931035780826","host":"s3://npm-registry-packages"}},"15.0.15":{"name":"@preply/video","version":"15.0.15","author":"","license":"ISC","_id":"@preply/video@15.0.15","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"de0e5327c79f1fb9259e77a1d83e9cd3e93ab5fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.15.tgz","fileCount":589,"integrity":"sha512-NHztlcEjFVwcuUAT5tEt5KgAOywHELDEjRFp8YINhBBq6rJAhVvPFQmyGuPXs5w2wdnej4Q9Totd/mtJwoPs/g==","signatures":[{"sig":"MEUCIQCDGxaw06Cp6Yjg36iivT+kfoYeqhvsoAWCkI6n/Ys5zwIgMlS2q/PK2uUzGTPZhhuxPqS50vJ2Um94NnEI92neees=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17778685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxMW0CRA9TVsSAnZWagAAyKsP/ROMBdBDdTorJfEQ2Fgk\nF3ZYllJtpUEvLmmMJy8G3Q5zXf0YURMEOO4t5j7QgCivJ+K/UMQwZe0oxaRR\nSj9aDNGzhBWMpf+b/CgDoF4Ej1typn1snZHPBdDFfjStVhR8M3CbJKpRXH8h\nORqaYoZGwc//a7MneX6Jt/5w1vp8mnQOaf57FBgceYwCK0RIp2yWF+MBTTiL\nZtI6ttYf4QtXrHPITBzEhzXEAe5vbugNp3gz7xciiaOGvLFdns/EP4kulDD1\ngMFtgyhgYGww0no3aGk7lMbamYqFSj6jwRlfAxBk8Hx+z1rsPx9m5Q4XfeXI\nNx1iO9hkMwVBKWibtdevI/Cypqub4nni8/r74xudj3Nlqx4mjc/Vf9P5sxjS\neD3VESEF+oFDJ9MSwRicj56xKszwl8fAanjGBmVpdGbJVGrMzwa5Ol9BDMuO\nan+7Vq+kuB9B9cHTzEiic7/rjemv+oUTXM1iJUqn4ApnxNS/N480o8kC/Yx+\nPUhEiea/sayCqSt4aySbblQ6iPe8cz27XNs0GISBA96RM3ifu/DalnqX8cjz\n4sqfyWwlsxstOQUpkzfVqGmDxfLfDb6iH4bSEtuup4DUZKiwpryPRIYwUlVu\nrikVhazYUz8chvBSsb64QswmCuDtGLYceQd9wZ9M1C2GHRkiv5+j5S65Pr6k\nwuUk\r\n=rZ8k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.15_1606731187408_0.09283316124108976","host":"s3://npm-registry-packages"}},"15.0.16":{"name":"@preply/video","version":"15.0.16","author":"","license":"ISC","_id":"@preply/video@15.0.16","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"45c78fa00bb038042c4b9f99958371ef0cfbec6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.16.tgz","fileCount":589,"integrity":"sha512-yQry0MGpJY4JZFlMwx0jKqufbJJBUftz/isIVEeinTbuHYUUaLMbgpK8WvOW6f01YWLOnwHNVqCSVhHuC8HYpA==","signatures":[{"sig":"MEYCIQCrnqlpgOSEDR05PzqehjSR0dk7G+YO0NVnzl5AnWA7JAIhAMSmThdSAxOoAmygoD9TEDTMFS/5QALA/Q8y6p0K8lxr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17780995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxgF4CRA9TVsSAnZWagAAK7AP/3tc0R1zUdr4/ihg4fD6\n8mWZl1ud3vXs7HyB56tShEYz4zIrVL9bMhwRv5ksOStfuv4rIVeuP97TaBGh\n05QTi7VqQSbwJxIN6+O5PfsDAUwVgc/SBeW+jLj+eGnUHlU6/fAmTK3oDWCL\ncX6IlndfOxyXPsBcRmKsFfxhyrjONwKW5Eor5LkpnloyRoC+CFFBRApxYoQG\n2eAZDOPpcdmCf2WNiUsdriQVW8bdeeD4cPrxRz7N/Eszko/h9ryTZ+cziGGH\n19d6NDUwyKIWyFUlb2spp/NYdWgvHU9Ay3FvHyBllZrAkyLIBvdvlraxrHPo\npKt8qbOfckT1OGWYtcHWomqJ6ERykHbqqEdodoZx+KzNV3D2lVX3eUkDTXuC\n2ZcOr5U44XwQKVUOy755cvaqDPg5wlcTBK+LqPuoG14+b/NiMj0z7j+34Fxm\nfR+IyBdIwjVRtzevN/rOp1S+HFplyaJKntwJ48nb28N1weFbF6W3DkZVyHmj\nmn9yG9CjENNhv5YNgW3A1cBB/82RLiQvpJ7gHabd3nzSeeapBvUNsx5N60Dp\nWKPcxjR9MoVoV+D0GPOji3Tdl0tXQA7XcY9CCGBtysibdg0M24jQpjYCSLtl\nbcOvO9EpRb+x23aelXAJpPq+nbzJzPpyVhN0syn397vZKM4UPzXhCsqWGRkD\nfJIv\r\n=h7yf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.16_1606812023217_0.5247738991556257","host":"s3://npm-registry-packages"}},"0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a":{"name":"@preply/video","version":"0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"7de32956ad55b81fca5c6c30b4b7e4e4f9829d6b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a.tgz","fileCount":589,"integrity":"sha512-xltqFR2s6yHDkE/DbD8rbzNrKyJwUNE+Qp4IXllf6KVMHOFwNsgw2RtXHPiBn4jTDGlERZiRy2Clj/nCB8LFbw==","signatures":[{"sig":"MEYCIQDukz3DGM0JBY0r+PeQlXQS5t8dM137tLbft8Sr9ppbzwIhAJ7mcV6gfPs5v6ITi1UjbHU/IzU13mL6GKKSdanl8djJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17784845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyLprCRA9TVsSAnZWagAAyQoP/AhDLcbyXz+MAUp7clwd\n/cdusddn3q2T3srlZuorqnUB6Wi+ULW2DPiwhqE0T9N5srxwZs2UErLtjw35\nxKUJ0VZuRrBG65y26OQvTDehZVs+7VoiN5i4QbwwYNFYcBU6V2DwGKAofFkw\nwTpOznNyPc8RCyQn3kbPTal+I+KueIc/ieulpskpPhb4E6ad0GFbWQzH7fiE\nog+WJeJe45s9GN8j8t1KF1lLjT7LItS5IORh8K77i+sabizdPPo3I7yfIq1n\naAACeqaRUjFW6JRL5Su1QSeIchhKmYQU1Y99Seqh6XIKjajFKreY1UtWQbX0\nwITPhqfGHgTMA/r2Wja8QDlc+b/1ABQuMedkdzUs/+9R+sXbMwgfZXQHaksP\nj5uF1uGKddhj+gl4haTcvcf8bhhXa/GsJruWucnzJZ05Y3eqelBqlwWJ5JnC\njtN9erB7BaZ2KAMZ4qyyyiw67Nn4hdwfe+e4Oa46/L3PCCpSyDTu8MEEYGCW\nEQPKHTHRgKTmGMxxQrKCXdsOyv053e6tWnppk6I0h5c7I7mEg0XUy/Y5q1RZ\n+NDtyoKFYhN8s3BN1FYeevARwYq22ZfOQf5fNM9F/Jyga1azVUWNKPgfG2QY\n2GRfdrNihz4wzmhnVe75loArgyBB0JHhH2gHY1CbvadjGknbKqeX3orzUrUA\n8U0B\r\n=lGIU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a_1606990442276_0.24809820480445643","host":"s3://npm-registry-packages"}},"15.0.17":{"name":"@preply/video","version":"15.0.17","author":"","license":"ISC","_id":"@preply/video@15.0.17","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"96078c1538807ac9d446cc7740d5d27995cf98c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.17.tgz","fileCount":589,"integrity":"sha512-BfH1Syv4rlFxZtiKTlcr7sgAlbObGTg3GrqB7+NP1sStulTeYX1GQ5npgniJpFubzVj4/4i1ZfsgLqYURURaOQ==","signatures":[{"sig":"MEYCIQCAdJC4ijEJ3oCwnL9Fi3xtd9hQiUdHXeEnIGDxS0uSSQIhAOgRCRjR4j4sAPHV3S4kc9WdMxakgJz6RUao8auigGBb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17784705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyOqYCRA9TVsSAnZWagAAFyoQAKMowbiPnzzjUxmBZVTK\ndBghO57TRsCq9Qw+68J9useYRecbYTVAsVyuM1KvAGT60Xma2i65o6ueYJLj\nHZLmSjClun+CjL039dpBZuCiWqrBz9PCYbflr+KTwPJnZaDHSyiz67AWmbLq\n/QW8QRlOjEUxoONDaii0CdrK03dxRD4AjqJpvRJVu7lNM4zzL+OAKYhyDRBA\nqYYWzOOx0IWSh//VFWW3qoI58jYMDKGkvVajD6D8UkRSqedgRwZldNN+I3C5\nWF/Lg47MzslSr6ryDaLDPNJ+2tlgBrusGQN1vet58qD2VW5jL9UN9JZSlkJE\nvGtFft/Rqi8B+BNfNJIF47oZ69Pit2UG0PyzT5DXeHzjD2l1BDBmK2nh9nIA\nd4qgMUKeKPUkNJDNT2iijlZwCpLAi4woQwGT0lMKLUwe5finio6O9UCl2/GX\nCD9MZxcRbSxB9cZ2iEJWS5YWIc85eFTM9sPPx7poCWS9Foab0PIoEonV2SUH\n3G515QeTOM9ej+tUHpAFwKlOLQ1ZygL77O+3GTJm9NEfClCsOnpwCENk5raq\nmq/C9eNPdq8cQqNGWluZDNjtD8ZhbPxkI/mnoKJGznDvHFBT4OD1xsD4akvp\ngpvftUvMDVmpTkOn3sMw8uNBsyAzpXmi8X3YSXVTspXxe2B0rB9nCGV8tDnD\nEsqS\r\n=KVgw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.17_1607002775716_0.4923808107464489","host":"s3://npm-registry-packages"}},"15.0.18":{"name":"@preply/video","version":"15.0.18","author":"","license":"ISC","_id":"@preply/video@15.0.18","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"ac57e17b5a3d7872c012e3fc4b55ff8f837b3065","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.18.tgz","fileCount":589,"integrity":"sha512-QczgMnl8/8OJPMCl71XESr75ttZeiHhocUnHmpbQZazUUdwCLcxj08hwwaRjr93YtOTZFD/peZHVU9lX5OyYsQ==","signatures":[{"sig":"MEQCIHra++8TZKYC69Ob0kAqJHWgnPKim6iKNs5EPRm3HitIAiA+SFIrDKiYee/BP5c3GTNeK0ENPwDdthNrkF/IGZzR3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17786900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz0K8CRA9TVsSAnZWagAAZWkQAI4uyZ+M6J9uurlV+g2H\npPqK3mDESSP9/IV29yq3qFHTh6oIYCi/4avB2Vqlbwn86kzq6JIXyZj8uC0y\n7paI1tZDbUMNT+UQeaCcFgpJJ04jO229GP05g4mNO+RpaA8vLYCxkp6LQggk\nAKv5TPxjk8LT+ZDuOLCNIxBUDfjrE06h3+g/hBIX3p1spEe4mVbMsFTGiwcG\nFLgTOPpK+Wlijvk8MyUJCtyWoMYtc53cllj3efsMrQwu2D/tTO/UItVT3V1s\nCZw6ijCzeflaFB1wOMHFU7X23YnYrR0LwHBQnZiKsqL0/8Vwn/s5KSL+GcBY\np7qwdHs9stT/CwdQmnZECm/U7dc7i9pYY78ERVkKPhz4tzR9BnyuPDCDr9Bb\nXWkdHUCC103nXwS0QckrsfjO+VOOceY0e2ieDjSJxmt0iTcwmTkwguQxkiw8\nKmC2BY8mNg8DK1ErTjyIXmxUMXdHjHUH1iURyuYR7GlIWGiDnLMp7COHBsOp\nUxk/18RX0LpfM49VBfoQeDk7ayupyX+I6gN5c2WJSDg1kVf9Z53Bbbv/CTWx\nxQnGBrvAJdF6xwAMiDIXhqVfjhOjKDhspfSojpoK4EUAmVOyO/owrnF5ZjD4\naAIyqbt32zlPRQiCpDdUd5JMWUZtkKK6PzpmNgI8mREXCqcY12TqOhBh5Ohi\n2gtG\r\n=cjI3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.18_1607418554277_0.9784610628361745","host":"s3://npm-registry-packages"}},"15.0.19":{"name":"@preply/video","version":"15.0.19","author":"","license":"ISC","_id":"@preply/video@15.0.19","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"d04335f3916149bbf056a3fb655fbbe253d9b2e9","tarball":"https://registry.npmjs.org/@preply/video/-/video-15.0.19.tgz","fileCount":597,"integrity":"sha512-7o9W/CbDPeZjk8ziNdUElaailBAjYdzKulgQFx8QzPEbQhkMlVq4x7kmB0NtEfyj0o3UtdsOQfldX6lPaPzUbA==","signatures":[{"sig":"MEQCIDyJVLl2fjnRVzSDHGQVT+sg03Kn/9gQ4GVV5yQwM+2IAiBZXiiN0YIlXhq4vGunqM6kVEjcKISgFCThNwEhJC2bEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17836324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfz171CRA9TVsSAnZWagAAtW0P/Rh7/v6NtfhmI3fBAd8G\nN3A93TJAp6HnwXJy5NauFjylhtF8y++VEiSZQjtZBf+dUp4zRpFEv1100bJ1\ncvgNVLCalAT+di1yRg6FlM76TuCbjlBkz8RosG9EJt4GIhO2+ojEXTX4DYgA\nX94qE7YMQUDnYpxJyjZ0wJItzVg14C/6Gtcat8wf5R+5uOifIgi6nlnV2kAU\nDYZL8s1UEIhoa3DyfW8gWaG2f9L3u+IwMRqCdNwEXlvwfRgvD7Y4HCM6oSVQ\nNI+ufZJN/si7V9i3QiV0u29ulistfbz6/dZzqcNk1udgHnto8v6UJI/w2DnV\nqiBeAn+rCCJf2L1n7BZVll/szPLktf6Ux60xD69e4UatB0SeND3IfPIZ2hQ2\nLB55vH5NSb/McWp2ZYj1+pzUimzVpCDCiS6P3ALSW3dWWAER87w9ahj+5URU\n/Am/FwT7dry4aqvReB2brmh7drcv0p+6LpRakeyR6uTYyQ23teThYF2g01eJ\n6blmhA6T5P+z6yvtacNPMT23p/hv4tj7SIa1icfEC1/LpBkE/yxu9AbpZuEn\njqu+amZfkjLw8JQtR8n7+ZXpEALuaGWN/bhgYuVRkIFt/WjvFO6LJsD3N3fk\ne2wB+MdZL3YKjQRFlyvHxgFA/aBkn0uIUjf6Lw9nkocnE5VUKZdRNK/nTquX\nVXXL\r\n=APCj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_15.0.19_1607425780653_0.3988351356854132","host":"s3://npm-registry-packages"}},"0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e":{"name":"@preply/video","version":"0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"4a05f4d8c986ab7f22c4a26deb587b9b30a887ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e.tgz","fileCount":589,"integrity":"sha512-GjwIg/A5pvM4+kZXUuNZ7rqGS4ZdaZVEdVoTx65SvxCLPeya6Kk54d/kV87bcP4CtLZtVnZO5s4iP9ZJgHx1Qw==","signatures":[{"sig":"MEYCIQDG/UZ0Hg6c9OJr7uA9x75Nh7QlTAy/veOJ2HU2g1AHhQIhAJDYtjxRIIBYgYaDMtRhs9dChqSqU1oEFi1fWFE97xxM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17788318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0MdgCRA9TVsSAnZWagAAw7IP/iiTnJayebqK6l4s2ypD\nzl8GeUZMb5/LS76SQfRYfGFk6Smknh7mOiO4DGpee9EgFVwkQdiKA/dEPa3d\nZv+t+eX5IuEWanmQ1YFKk7LYno8FZOKarIt58PNwMYplm+YzGFM5enlngaS0\nc21YkcRrNF0l49eGttkzu+slf0U3JO1i4TiI61DdyODLKBCMi6PRjFb/DqxM\nA0iJqsIv+dyQvsL+exTpHc9Yr365HkkfQda7gbUmiAnowdsfl2G1qmUHe6TR\nECziynrC7G/L5Mw7kHXROjecVbrjZtncaWZDB+yiH8qoMSxVmJ1i2fKIwzlq\n56kk65o85aYppfF9U8Q3iPYzSB7oFWD1fl2e1wLR1SEgGI7yDkBztW1z5/9u\nhWycYvi4bznUnrJAYNj6tKYsk1aMNG+UsaQ/Pv58E/+NjJXdFVS72ZsJVoJa\nrxK+snCJZdN0bQjN5h9xYK8aU59dfZy4s1mFRy8Te/RUoRV4SPEJLxqrqU6w\nCTT04LCfgChuvxQqhct8acvbhQsEn3OXDoqGTdKKx8YSnViBegNOqzmm+baB\nkHPg5gZHC6Ft3tmNxUa4oG+TFEXXJVrNaSiZDIwuSBDadJG+2Y+Fkm9p6/Vy\n0FOIs/+HQ41NzyxRsc0tj5vu2fTbGt816DAphBcNbMeHvAN+qHewiI+Go2jb\nDC0D\r\n=0XCa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e_1607518047470_0.5054318942860683","host":"s3://npm-registry-packages"}},"16.0.0":{"name":"@preply/video","version":"16.0.0","author":"","license":"ISC","_id":"@preply/video@16.0.0","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"2b898cfe7793e96ad5c0f247beceaf1a00803393","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.0.tgz","fileCount":597,"integrity":"sha512-Zy6ymzFVcE/DUYlf48ovifxW8dJAaGv5VjmhoWmy9huotziiQkVK1EvVB/1vh9H+LZsjeDv65qZOa5fB+hXIHw==","signatures":[{"sig":"MEYCIQDzXSt6JL+Yw8k00dqLkUoUo3abYFF1Gi8IfnH1P/OBiQIhAM18ii7WSYRKyG0NtesQ4vxd5DUEzRcbI00ILNosvtjR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18099047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0PcDCRA9TVsSAnZWagAAh1YP/24Idqi/Os0+zMo6N3fR\nZga1MWUd8+YacAKGtL7e72TvqhirNl4vMxZqRcrEMvTvQQvpJf6TkRYSjf2s\ndkwCRyeFjKJQ3aTeQK2UbMKtnsPIk/jza6CNeLhx/eAI9VHk1/FDlZS3LExK\nhNiaYZqwkW+AWgyo2wb1zfJS+OLU/FgF5AqL7AvqA9w/HiN080GPRdesGjsc\nPFL1di41B2t1XzSlFWs/nfd+U4euMNWQa2+nGHTz9ElM0lv5EyahFONt15NA\noOQswzify+UYppAHg63AquwBtAM8V6HBUnvNs+yLRuotx7kxd+Gsa6gsD7fk\nSWD8qSlEkdZlBQPIIke2IW2Oqvqmp+WC7znauUCiAY8/cGCbcYFr3cvEPYrH\nkGsCSAXB4L63elTFTaTOZs/GogxvYy3c+T6ld1WIoTEXcDYgpi+5Rfh/jmRm\nCvk5gR7VKkQCh0/lD5fNYeosYOzU+I/pOEJ0q+65hpBYfwnHZHXU2gpBLNaz\nS1E1kcuTAQJAWb1B933nqN8rr4A+h809S/j+egUhCU+CxrLpDV2nt3tm2Dce\nbgbhnZlpF0aLCJivi9N4v80tTPmtA6oECu1Nh3rrkPCLtz36FROkVWCLUgx5\n7VrfLcU2VcnEW9vFzNjlLDoOpNpcasKxUhwg360UWubONygBSqc+vXhKnUn4\nMkMw\r\n=VwS9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.0_1607530236621_0.7551273025596885","host":"s3://npm-registry-packages"}},"16.0.1":{"name":"@preply/video","version":"16.0.1","author":"","license":"ISC","_id":"@preply/video@16.0.1","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"793225f7d5abd1bc1e3749a9c2a76457a6b0418b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.1.tgz","fileCount":599,"integrity":"sha512-aDuE0winwtAXpg1pk9KFN0gbnymSdGuotn9TgxJ+jBGEzUFGWCUDXn92VacM3yuy44PFpTc755xptKcMCN/qHg==","signatures":[{"sig":"MEUCIQDp70NYp1vS9JL3quUR1Kkqjj//OlJ7yX8i6Mq5V6Gy1QIgNDujdM7Ndeh569Nx7TbVIsajRpYgSN/eHdeTS4h4ouM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18100732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0ey5CRA9TVsSAnZWagAAHaMP+wUFpoQzduf4jKpmPEN2\n7ubVWZuDfQe5zM4blGzzn/CaiW8AdaGyx8tRGbTVwFvMcuxRoeXqq5Wrp3Is\nYen3hQOq/magaQatSOYP/8DZYopRMaEaComyOQqIz/zrXM1ogY/AgVZG48SG\nXtxwxpnLF80QSWfxd0scR69AMS2nTafW2ANSFgG76FkbrwSx9UtdguyGbSBC\nqLrC1K7EG+Da7KGTGjNZVLWzCnF2j87xwdjS3XMybyXXKr1rVFd7NlSRdT0o\nSACx1s2jw+NgMYC/SNQg2NEltBply/5I1AvzhYxJTfeO78K8tKO9WzpXpEUK\nSxFbYfPN0iYkMijwG0LO5EwWUF4+j0KzAL6MQXN5+el31rDZgYbkqGxR8hZk\nRFZ2osvLlH9AI22E8EUchzRYkwJnqbsKAdbxQAYTKqTSBvi4mCocnYR+oJ2q\nd3eUAhjCQmf9KSWEaIQFkcA+wbk+KpuK6kScciIAA7NVz1OJ6nAgAH5/AE5+\nq95vokD7WUzR42JpuiZs91mAon1JeSRuiBSgzfIroWJc7vQadioZTXeBwHph\nTSC8KqDrMGHvo1aiebqxrO2jctIOdBGnqWY/C8NsE2cK2X8JfcxzQbRIRcfY\nOa3caqvXpEJCA+X6fpaF7g2eNvbEErD+DAEM7Ua8y1D/QWH4WApjdrNBwC6v\n2B1t\r\n=PQan\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.1_1607593143933_0.1628615390192356","host":"s3://npm-registry-packages"}},"0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8":{"name":"@preply/video","version":"0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f64423a00ebea3923742fcc7be3cff7ebebd92a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8.tgz","fileCount":599,"integrity":"sha512-3NXTL7jpIkYNu2oO/1WD/H3FuaxGbonqM7a1tXgcc6QY79jNAisI18UIAVFnQZ0pjWVMR7WZ2sGbJmbJCtuO9Q==","signatures":[{"sig":"MEQCIETR32imAncjyyqDQFh48TERKHVKyrgkR/veJbqy/5asAiAwtdxIaFdfXtqS2+wzPSD7FJ+yugHRFWNph+oij3o8WA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18102097,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0gKvCRA9TVsSAnZWagAAvAkP/i/lzBhOUGQiP3EjJ7Xh\nFBxCZt4VSHzmG0HmqpsbfjWl6+jDUWt/xhW/Ddp9t12Af4WspbHWgiNk/656\n5NyE9cHpGDUBOP0sOxspMKc9MBb7h6HlYGXzKWRrwdozn0n9Y4A2GXBahko8\nndQs+CW+TEfosU9aTORavvB0oKFFtdkRHnystYnqT8ykaxkA0krkz9ynh5V6\nMBl6cVoXG8nxB/t3oefo3kex6m/MoYTIZXeHSxdyqNNeMIqpAc1kIfeAJsSS\nlYdAEJwemaxZQjeqIZu0Iggzz8aO3VwM8zKDEscnGgCvmryCAtAGOnvWd2br\nwfx7FbykWqHYfWR0zkbITFfEN75b/lWkfYOC30Jw8O7iMLJWq0+UBk3O2i93\nkY1ZMCgHC4BsHeVLd6EWppYJppInShlsTLYmlhB2jjOdNMAVxkFnrnomiqP2\n+UCsBs7vWIq3YDR4X0QnJQhveQQ5dszQySFbBKPu0LDrmO/8e912H2FunDDQ\nRFgsa1QF8/dN6FfRhfWVXZ/DFnUwzF7P663wQPZdViHFHkaLeccDTvu5Mq3n\npKtTiRRdKtKW5XurDhkYK9X8Xyy15wKzYndQITSRynBEWOLXmicfxXOpN9TU\nLmX/mv5wg7fNMhbPFUCYmfHDmbi4O7VKuRVPz8U3Dtkju2VlTnfZwuJ2yNq1\nKxfE\r\n=qgxa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8_1607598766923_0.5805782341416306","host":"s3://npm-registry-packages"}},"16.0.2":{"name":"@preply/video","version":"16.0.2","author":"","license":"ISC","_id":"@preply/video@16.0.2","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"b1736499d03f8965c4c77cf71a2ce1fe80cbd842","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.2.tgz","fileCount":611,"integrity":"sha512-0UiigR6kDOzsYMWAlPIGJGSEPt1PzJbNvlrEzFBFFLvOEbodR5iCsAz3NwVWWB1QYgdVhu6Pnwru1wxYSBBSYQ==","signatures":[{"sig":"MEQCIFHilhH2VUaeYM+mfJLAu8jmIrppDfpzkiNk0kXdz0UfAiA3StpKf4rDbof8BImg8eAn7X+LaVKdDyMJPYdW/sIXbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18232449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0muqCRA9TVsSAnZWagAAFrAP/2hNuTHNAOA83q0s+Qef\nXuOLsOoRqkxi1zPGlkSpoOPEqgeiYj6x84ph7X+VVS7S+i10H0GB9164SDg3\nv6nhdBy7TrEEGnFNakYJAbgJXE4TIVCKFSN7hpXc8iZtLGGhHAO/pK5ffyMz\nV9dXxkdvd+bPXxh2NpTCksrITOMCbRcpuaR/UzfOxIQiYJEX6OepdFccczdV\n0vtPJS04PpoTAFBoD1B94X8EHrKIa69tVfZxWCI5ixsEcAZFTPN50AEMt7Qu\n1fwGieR+FUj3tPvpSKm4ZWUqne0naFTVfkYt+bCH8HCMN2d9BWzlnGsy+Kd9\nvkrD/boNM6DwwKa8tLX5AiFQTdw2+9UgwSk+tkX9gqT11q0zBbvwo2yU1wVQ\nt8/68+rBN1JsvatCdZkeR2ld3wm0BK42AB9Ea1KkR3uLUCPKeW1ftwj7POb+\nOo60HR7a3hLY8Qn557AdcVYrE3vMSEoHWWOTEA4tzQ5s/3mnmKCpU3Y6DgUw\nhaE16MX1FLa7EL+i6fImbC5RhzO7qqL5vJSQjg6iIzDYeWnvyEmjCG3vUrb5\nwo5Vb6m5nLqj+sKJxJfT9ep0HqSW5RNzZXBCcp4pAdfBpwL9kwtlmDzMExXO\n5zkc776770JGdzE4/6x4ccN5ojcXfqklMjWNISPt6CdxgUIjCmRCAlt8QCq1\nEexi\r\n=113M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.2_1607625641893_0.8910722984523727","host":"s3://npm-registry-packages"}},"16.0.3":{"name":"@preply/video","version":"16.0.3","author":"","license":"ISC","_id":"@preply/video@16.0.3","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"f302484532bda40ce8ce8c1122a4e71116f1e6cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.3.tgz","fileCount":611,"integrity":"sha512-FU/+gJABsNqoXa6W9xw93hAU/DxiUPKUCYXZqimSWQZUNn3enMS3aWzYQimKJO05ilfxThYbi3CqA6RDyr3Btw==","signatures":[{"sig":"MEUCIQCZfeOIctTAte2iuHDn2cj3HTeE9ZwTuYdv3EYuOrSWWwIgEOVn/NpDJQqPIRTgxWxSj0wBLjPNF3QY046UTUOjjSY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18250869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0zESCRA9TVsSAnZWagAAAAcP/jHMShEckNgLJvDN2/vx\nAKmTFjSBMuU5Ke22DphdaQXd9jJsoYPT3MdgJaFzUo1wVOCn5dmbMfwPFLPN\n9tiBqGtcdVqzkOOO+eMKY5NHan0D4ur2zEBmWBp43jd2N0QvNzAIY78LzcZX\nZvPglQJWZCimiUqz89pT+gM4yVhNfKUA9w1GyZAJCfk8xxKDqZTn9hJm0jzS\nX6Mxf5m/cZGOSUloxQlGwQQX25a8iLhcAMZ/ckm6QnK41K7z03oOlU26sTE2\nk7bLjYU4mxAhPCmUWduHhdzJ1xf1/wu0aAa2Mc4j6WYTYfXp5vlLsg20GOW6\nSs4PvlBeX/DnUaLqHSqWF3iKfP0hptiohAKuJf66UwTK4nGk0+XAmgJ2thgX\nDXdaRARqGBKOUtNQKo8ri+bor89Iq49gdzvkVizvcgWLJ3FV0IYrxt91+3PG\nwctpGalu+0QoFjlt+tD2c01gcsllZtHVtFlJcyMTVA4ZhaocH+79E+rU7qFW\nA6ZtIs5WVms0zorsZxqxYrOGgAWyCEYOHKz1SkcqyjtBe4ugM/EnRvH3kFd/\nUTn73qgdDhiXehcFKTMCncJCNBRz40qVEc51hcA4iArpo92PFy6Y8wnKr/fL\nYskrUAO7paeGNJYvubQp7zQ1owB2C6f6CNfFcF23p2PiIahLRTFWEwQ2HjdV\ngLO1\r\n=u2LF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.3_1607676177840_0.5968854617622799","host":"s3://npm-registry-packages"}},"16.0.4":{"name":"@preply/video","version":"16.0.4","author":"","license":"ISC","_id":"@preply/video@16.0.4","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"0a7577fa2a1d2d1c6929a711e1dd1148128b9e63","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.4.tgz","fileCount":623,"integrity":"sha512-pYH0Ju44zic9IRyXFfHxmXj/tdNzbt1279u2F663fMC78+CflbOAbdKsqhOAcWt7JwPPXm/2+yPNFVa/ONn4zw==","signatures":[{"sig":"MEYCIQDbs4vQHEkkQhtb2gSSith6OUt26y5HxOsIQaALSB9YjQIhANtCdcy3Dy0mei/gP+PhQX2/Bi1Oo0DX75xUD+aUzm2K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18331729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf03atCRA9TVsSAnZWagAAG40P/1LXEVgbLX+5/eASKI22\nmEnvaOX6uEviI8V/aJ4PX3aPduNZAFWh/gs9UXPIF1jSUIdfjuRu2hsMIhbl\n06w1I6/JyZOVpT92AmcQSVZ3WtPOslY9XZetHCEqgIs745uzf1nig9RiQJM/\nnZ4Oi7WVlA7uh/wkmFnva5kyVUuDgRfsiy3N/1yEcvUR2RvN9etgdnS6wcA9\n0hgDRThs4PMD3GXag6YPwyuRk9S9sJeLfHcmmqGkA00wPvaL1VrZTZu9VrY6\nRIceqHbpvAat3R+/xOjdJVTKbN/pUIYAku2TOaNwzHCBsh5mnqADW7vMsziS\nDpTAiIT5lbWRTyV/jFxB6TbMp/irYzhuHPbEZE0D2UOw5ZmLwhyvojSniVm7\n28TuzKTNsdNCjz3WuUUeuS67uFntCvEVE+4O550PRQKzMboEnLoC/nDpc1I0\n+VeMzRaR1DcgNWg5FOt7TwuFygL+1NPUJC3ZcRtRcn8cVjAVe0RA0XlHKxZX\n10QNi/W33XONmgkg+hzQpiIH/MjEO6ccSUVkQuenhJn8KFMBbDF/zaTvnhFl\nb461YUVJL2/nE54Mh8D/DRTCe/H5q51HEbhN/M1DtG6bFstuSar6cZBbtVIc\nEDrGSgmqZNbGsmyDz2Opwx9LFhzE0TSIlXdrnPZUn6YA3r+1S1VG0nwGfJxY\naqow\r\n=MXeZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.4_1607693996038_0.9170340469502443","host":"s3://npm-registry-packages"}},"16.0.5":{"name":"@preply/video","version":"16.0.5","author":"","license":"ISC","_id":"@preply/video@16.0.5","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"39fa4ccc2866684bfebd873b705b6deb191792c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.5.tgz","fileCount":625,"integrity":"sha512-2gvWvXuyfWYjov8hNHGJXK2+nO/aAhGA/fV9UKuEwyld6ZMN8C8Y/MJ36FQ9Fr0H66qM1iKgm3fp56eLq7ZIXg==","signatures":[{"sig":"MEQCIFqHm7mC5lo3l2zQSBzTysq7mSkh2AvXevmHAWws8yXEAiA2pzjfk0TXqAurkl1y6/t/yvkMQJSZiFj9xTHI1CZV6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18399264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf036CCRA9TVsSAnZWagAAwdgP/2NSUcRQR5D+DB/bLfF7\nC+byWVhuZLhHa7gaoREPmxbRlowNY0ssciJc8VYiUcNqmP2Gpv9p01DWoJNS\n3+kFHyNfv9hVDvbOYLRFg+01JP4BVBaS9CXp7owuYR+MrQqPmpWSI84VBwZz\n0GCuaDY47iBz30ofSqLjlxu21qH8CdCVt7cAb/EfYjbSCJPvNPfbuTF8kPV5\nzvxKrbOMehkd1spy6J1xMbkn8LsXczFrG16T4YP2ByJG8i4NRsESYj+RI0pw\njaZ9XObJkreBuEgDB2J2yDNjpDBWWIFsA4/6EojmvEoM2s2aVnfmItU/15/b\ny8FGjY785O5AavDWnpsslRtYZxklpvda2wWGKgASH5F/zuKrcQzdC2YONKCV\nNhuLd9/FjlNa9JcKUv2dvft/kb8DVOkGVUVvGw3liSgDmU31edM0xtXb1nqK\nuOhqxuGycrab45zlj5hkR+uV95jalNRohlUST5OQ4UFSFWOuD57/0F/fqCo4\nu9Tzknch5lehCV/TpWNWXElAA+Yms2HvnICUlYH1NjiuzmBm7Jdux0kTxMW7\nauYxu2dcTdNBg34gHNXMmV2XXPn/5yioz/9J1Z78CeDu0GBqMNpYvZavHfIW\nEQ/xyJ0Houg4opp5auqBnOj1iwFHAzLPpNX8o5hl4Wget03cgMNsLi7ctCDc\n9g5k\r\n=TqNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.5_1607696001413_0.9689050903356784","host":"s3://npm-registry-packages"}},"16.0.6":{"name":"@preply/video","version":"16.0.6","author":"","license":"ISC","_id":"@preply/video@16.0.6","maintainers":[{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"}],"dist":{"shasum":"85f2674a537b6f1f3dab09a7f744e36bb0937e90","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.6.tgz","fileCount":627,"integrity":"sha512-qdXUncQ07lqDbH/m5ipQPeLtsrndGBhpFc/APda0bk4zN0lqQVdtsqfRifX2+KkpHg0oarTngw4+0RoTvvO+ew==","signatures":[{"sig":"MEQCID9xC6O/V4Jk9KEyzpocecY7IkUkVXU1nzTPqtPb2aXLAiAzdsAs+UftON727VIorQb4qV7j9pTqO7mDySYx/ZqYrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18420564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf06fSCRA9TVsSAnZWagAAOQsP/AhO2XvuynEM2AdtyMcr\nsv5egz44kNSXP474sWBW0byBTa5ljMLhxFTQxripEN7gk1RLDEiFHhtFktVx\n5/bsJmD3y4lgBIAUgPkqx6U56GtymfWIXWrQuav3vo2U1vu5nwbBzHT2kwSu\nX2KpOHK070b3xjrwBb6mb5yv//+EMCjaHEwYULQv3nkBFhB0L/5RSZOyrBjQ\n488aCg4ZyqL5m/7JUtbs2TDoCD+MhohTKz9Ovdz8q9UeREDLNzPU9dd9nGPH\nL7RwXMYRe/HOO/klG2O1k29cQuQqKJOLmw2KSbc28/PeAISjkKcrd8z2b7sx\nqCTrLPACjo3OgtBYzo/TY5UNMPNSYdqnFGIhZ0MsTt2/ctjZLAESqnyBhwRa\neWD29j7phodKqDbEBhRyBzx1aFoh9qoBCnCa7s4eSVfkccBwl3jw2zJYsgtx\nxZ4H4qO317l2M8zSu/YcwXo/Vt5NWb8WReCWllb18weh7sSsoynf1kp8KT96\nXodrx5TWIjCXP5eA72iTawZcpokiHavnr+wAhDL2mJ6dIwgHdYWF7hTUesq9\nV5kfOuRR6M3+ma4GE1zladgcMHOh/iPri7KaxwxwUNug2Htyih46cdMBAnIw\neRB24MhY/40hHTBtz8xpw4IIWWrlorYUKcscFo2PHib05csSLhadyybwOsoz\nZEm2\r\n=4+j6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.6_1607706577895_0.8374087914116013","host":"s3://npm-registry-packages"}},"16.0.7":{"name":"@preply/video","version":"16.0.7","author":"","license":"ISC","_id":"@preply/video@16.0.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6f9063e30eb2dbd9a3e3380fb75c50d4ed0ed8fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.7.tgz","fileCount":635,"integrity":"sha512-xdj8QL+7NF8+wOBW76tCpyvB2dny025qmyYUgHIb7FVpxaUnp3ruFg+3vdk9P6BE5X+zD6RZ7hBkHnLeX31E3Q==","signatures":[{"sig":"MEUCIB4TMPD1Tac0aE4xpOnURWYagR+So8nykh0NZU0zVkLWAiEAzJmCX8zLaH+ZnolEUMnwHkiD9VdNOpTsYwUWDxGEA0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18408509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1yS5CRA9TVsSAnZWagAAZrUP/jBoAo4h42mAS9yBSuvD\nK2WVSYKzq2hq1dHG6AhmgtzQDUk8foV2cST2eSWdyH2F7uCcefkUJpBoKeWZ\nT2z5/6JrPhM9zd8YQmVJtr8tydm4lLUqNxT2HXrlNKs6rsQzLpuYaHtkWfCc\nAgRIUVrF2Z9q4UmxUasKtnVtkYzt1mFfs/j6I78oDsdOFv/HKilIWeTn1n58\nqv927j7GjFT21bHOhgZblcIMqYiZqQ1mhq6M7FhIwMzujzwWMESir6HPU0tG\n+28NUISS5yzaZrhzOrCAUNAB4a0S3zen/JKPz4IzLeJ81rVMpKR/W9zLWIuB\ndLYc0wHsPGkvl9V0rmoW732q53X0As5EmGXTONwyjkHwF+AOCBgMxtab2iR/\nF0xVk1U/nsrqZsMoYGYxO5pO29SYiGfNAkGpIlibmMp5fAg6ZHVSsu7D7Cs4\nCVJ+UpjlMbnqWodyv8DcAYyXHafbhzmy4fZ2O7x3JFLwxMh44SP7avuBask7\n7PWx1+v4C1mP6pZCrL57/0exQh1LcaEbcEapYHtdRXSgow1FqNZwB7i7jCHG\nF5YMhETYCNez73wwwo8EpHVNqUpt8jmVa03mvpgMfvguGvKIyflzKVyRtRvw\nhLd5YO/H73EPrEXTeL6hftTA3nVB/N9Hklv7aw9BlCEHgZGAfQ/fciHs+jnA\npoTz\r\n=5qf6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.7_1607935160949_0.2016152578071353","host":"s3://npm-registry-packages"}},"16.0.8":{"name":"@preply/video","version":"16.0.8","author":"","license":"ISC","_id":"@preply/video@16.0.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"94e3d1fdafbb9863fbb00b40c6740c96f1f3d6a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.8.tgz","fileCount":637,"integrity":"sha512-yi52ZoVyROCQeC8Tdi8LiSjOgC6/KFr4dqkzbcZEZXqc68x+1xnMIH2cLLWPLS+RKaoHFih42vXmncfH4ODLMg==","signatures":[{"sig":"MEQCIGuYZr3pAx8cdiF0iz8H5+Q7SFjmZiESWBb+HfP0B+spAiACaCJbB2S+0ADDkn8AzqZozzeVqEZZHxrP/7OTAAZ2tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18422172,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf10FXCRA9TVsSAnZWagAAgdoQAI0QtyWiT055qc3bKC6z\n8c10S/ervbVoqQqRK/W9POAcBBmdaJ6vwjPaOwgNloqKQLnDDxI16c5ZP/XL\nv1SWxclgZt6ygvWearnQHQOvX8limKZkt4CXbAALul+lTO5w2HQwTI8+j807\n1jJvLUUiPnVaL+ODSzSecoBZpRyH1IZNfHqeoGFxCexO/fjBr+L3xs8K1Jf6\n/rO3eoWFzhjEjyo27zD1ynfAuVBVupERUe8mZ5juQeu5OaBUXEppxAR8eCUH\npU2Lj1Uycex4+TmUgJ3PwpGe6E0vDAkjgvhY2jAaFfKiVEzCJ2hC0NIFsGQq\noIcy8t/c4A7+2N2/zkndFr3/42a/CVyW+qmGQuLZxpVWf2ZWKzp6h/s3drUQ\nc4TTqjMk6+yXWf0Xzv0rjsbMd6NPggl6jzWRG1Md6ww4QKdajGFyGC/24dNZ\nlTiQERhX+I5XuW1vBh3SmLtnYf+APHz/ab4mMQqehBJ7dpIDX6QixkEtNavr\nVyIdaEuNpKjFOzd+P839CSVtcMICabipnSGunXacRlCxW7csm7YA+TBnW7OK\nnypxa8gGhJheU71tFoV2uMLHjyLPWQaQEjcV3Y17mAGreQOHuhVUqWuwxDPc\n3uF6rR/JOzEl3HQNRbXXBkKTMlfKZgnBlIoTTGNz+++nTQgkPazUljKflc7a\nHt9T\r\n=X4gb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.8_1607942487065_0.42474860596734954","host":"s3://npm-registry-packages"}},"0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510":{"name":"@preply/video","version":"0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2768bab5418940bccbc3b61003d889dc9afb1f57","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510.tgz","fileCount":643,"integrity":"sha512-Mxf/QUzzOpTB1gGivCnUUTt6Q+MlEahH70fExFUGAQxzQPt5PHohXsdwLNcoy8yvl0MTvtMnrXlC5EE8U7KwbQ==","signatures":[{"sig":"MEUCID0qkVAhvoBQmSooGk5leU55VH27s3EniEvrVAYCfgn+AiEA+DP4vVn7KgDP76NWtQ3m6XUshlPL8KcgIDSB0ent9Ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18466557,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf15Y3CRA9TVsSAnZWagAAD+YQAIsuHE4ibZy0IdrMOxzr\nbj1JPjc36tU7k1Uz90hIc0xclMzijYC/TcvUVjlNCg1NanMpm2oai/XC9FQz\niz8dK3sGTDAsxkt3fRXLYh6+/MzGp9r12Z83TkCkbwhEgjGMDrq1OnQ7v856\nD1mKTOtM53as8nAoSFBv8XE+3gDy9yTjsL9G+Uf7yqLbaNfb5uxevWu74ROj\n9JBBq1EjAq/M1dqlxSpYbxEB4NIcjvc4kq7zHsw67iczjmhcF3/rWrVorFyH\nWFn2mf6mSwP8DlVr/EHsLZmQO+qYW+MxueGANsTzJicx9BmUlcxj5uu4J+eT\nFcXKbHxu/A3IScKHjVZbFL0ABeYBJBMBkurPIl5uWRpO90bFS+ybVj8uL547\no22xi9FrlAI7V0rKHqCys5GsAWxZTtF19VxM91mq2kOh1uk7zG8AhZk1mzPq\nvn/Q1+mwYFhjiYuXtUasZTSSPDskqUVKWnBOhzul6PZN6GcRsZW0B/Q8rgby\nUMpz+cnB7xr3cE1TM7maqyN8FYMtiCC7RjHTxXTtM7EFiLUTX+LPE6qg5DP5\nKQTzHUlQhtM9X9A9hMBShPCm7sQ9DOAVWOIKjVxWOhlJpK56HmOXd+zmbQAI\n9J317qOw6ieums/KkiXiLZfsyj7cmUqp0W6BgoE6o765U8pcs4YaeV6OLSfO\nph4M\r\n=moIS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510_1607964214154_0.7006828283804569","host":"s3://npm-registry-packages"}},"16.0.9":{"name":"@preply/video","version":"16.0.9","author":"","license":"ISC","_id":"@preply/video@16.0.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e0f2400570c34019c599adfb10c34c6442e3a8d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.9.tgz","fileCount":643,"integrity":"sha512-GCrHLCoMkXSitBPVaaG16+8Qe/3n0iJWtyM9nWFZr+fszZNdKTDUCCDuAM0jBKygM70lJdvK7kzZjVOjLFzL4A==","signatures":[{"sig":"MEUCICqMOUrYuH4G249rDbciGK3wkAWOEnLMQfZKgu9Ij9P/AiEAvYwd2Hqj1XiHJlkJl1lbaPPB364hoqdSJQwbClsRuq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18465800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2JnYCRA9TVsSAnZWagAAkJAQAIJ/0lZ76lObrctbLGbV\nwqxUg8gAMfpScXFSb+ObvF+cx3kVLY0mjgQDUWGuGlZNAVnwO5yrIhl6859a\nTvxaSDHQ4c/yWuieiFmJI0LvHTIvQRnsD+ZgASDp6/IjM8X5z6ce0YVoiZv0\naPjrejLKXsV4ImvvTQy8WDSlKtDy2/lqVTbUCb/nyeLE9RZxM9LaPRKXQdYf\n8K9jZpdEOfbHvasQqWMR8l7yKQGxXs9v1dGiiORXPt/hjqhz8kTqXK3LwGXy\nmNwLLI+YcIweKcllGI3y6EaVPyueI674yUUsOiXiaUDGrKYjZ3SP9XdUfJmQ\nAjVuqwArklEcb/97rOFUlW0QDG43GfFmTIkFSLeNRnyPzznClrFoJ4AcgcMr\nNV3q6nFIHPCnCAJg/7Pd8jO8PCEaK3B2QMUUtDSDTWfvAtrRs7Up2k80TtIl\nkds91Cg44oPuN00VqDTch2gR+9Oh1lept4IpUH/eiiqplpwmpFNGemmiZLBp\nQiaqDtCAKdLzZ+L8n7OpfjO1Jwrdgopv/18iU1kcl9rlPpV4dkMSFWwzyEn0\ns/hgK+8anqz6TL0SMmanLttEVWVU5CJkBsGWu6CdLDZKA7PW9Prr4N/8Bael\nr5seCTKN7i2KKpTnRtVOqURRt5w/TLdzo2Aq/4Wok102BypSCWRmyfiJ53DE\nGTpA\r\n=M1+6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.9_1608030679577_0.11243394522912209","host":"s3://npm-registry-packages"}},"16.0.10":{"name":"@preply/video","version":"16.0.10","author":"","license":"ISC","_id":"@preply/video@16.0.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fd9bd423e9c5332d9190a64d21fc41f2a93e50c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.10.tgz","fileCount":643,"integrity":"sha512-S/XvyBLdZT2DFoGuikqPyLW7W6joAW3D3Y0uCf/Q1XPUDGFKwEb9SiTlqBZH6R306DOnnrJ7spqNxB7CxMQEpA==","signatures":[{"sig":"MEYCIQDh1cJfYvEzbP6rtfStjZNuEECQ5Y/XnnzPKEOZLK138AIhAL+PC7ZMcns2nmUAxS8gukCMhKXTNAOweQzonMTR7L+L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18541090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2chgCRA9TVsSAnZWagAAXyAP/37gSPK+WjX95OUk1tBj\nLSiLx1SRc4jx044IVS5MrJjvsEWzOv/43xt6AsBvcoHQEuafKhL/NYRxHDvx\nRLx78xQAqh5VVfd8kA5FEql8qcOmwLIOGF1myp0i1rPVW65dmj7w5mzQ7ZQZ\nRxFCml0+6J1BuAXq9lMCvC9j/PO48GtIN/qjFkcuTTCr0fDwZ0vmjpMu6jtn\nvM0f+gTNpsYXO2ScV953Kxxu9ZpnZD17f323bfpOpIO0ox2Q+smagYFPR8jh\nD/XEfkbJ52ONwO5ob92RDyhS/VFEBJo0318NUxKSyH1ujl8P7jwUewhTbGYb\na16so4xQRAag4BWwG8WBhc3qFX6DNe/q6cFWnfqdaTKHhHbqOxqPHBeSOw6+\njx0VTaU3fWSiEgPCAtFAnkUaAz74zFZB18iuLNeLuznUVlarFgOPsNtjWW8s\nL9nDfvS6FsxYzoAkYAn6tp3UahXtShDwpu67JoLeTm6bugPFArF7nEfiZdmn\nsYNpIGo9y4liqxAmv7zydt5AZ2a8TVc+fFT4Yh2lv9AGzNnth/frlvr5zpmx\n36cQRl9Rt32OPw+ZQtNxiJpdcK65+MXYCFhPJNPj4tIpc0HBqG/rFWdFpLbP\nelpQljA+kil+sBtHbRBcLWYMH5o8klINOe7qNRlJcboPzI0VD14C9OCMRnw6\nqQl+\r\n=w6Yw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.10_1608108128012_0.20398858929474506","host":"s3://npm-registry-packages"}},"16.0.11":{"name":"@preply/video","version":"16.0.11","author":"","license":"ISC","_id":"@preply/video@16.0.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ad0200222f6c494ae1e9ad11edbc43c33b638392","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.11.tgz","fileCount":645,"integrity":"sha512-wDVkPHgnHolAaL1X0iJsfdUCXo5qheirOr9J7cYNfl6QkpfMU4FHOyVkovd8S53vXwFJr14FTZGr7Nwy4t6F1A==","signatures":[{"sig":"MEQCIChwAE2DXa8ZM6HewwdS0KwFS/VKAEfsEVV/88RN6PfOAiBtPAqTrlmpYWqfUdVkcit+VC4bn1JpqblhjkGwD7b0bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18548516,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2d1xCRA9TVsSAnZWagAAoYkP/iR4qVbdL5mKTX1bierw\nOspQeCXVu/kkHI7MaW+rFsx20rm8hiGOmhhyozt85kddB6uIBBeIronjm/wv\n3lFWGnGJ7UISX/7iKlNHayUyyMdgS6+r+ufzaTNQj3aO6tbgWWbgqzrBndkx\npG6dIxhJopZOPlK9ggtWUmdhx6xsJCl3sURfHMDR2Ff48qKi3f2S+SkIcp14\nUsFlhHf0R9sTWiGuPpzE3A0p0lh1XE1er83OA6nHzqyiHr1DJaFhbi2z4beF\nB5K4Zf9TQclqNcSbxfyGGl9/aUcBqbURwdSWRSMTLtAUFN4Hcn3Xrqr1ksJ+\nM7/hEhc7TKKIpudMU+gLRG8cbrzL4E8eKaKvT59t3p9gKrY3VDElsnV9q5QZ\n4MB7fApEuo3Qx67rimnMAnwALw2O45uALqEPN868IXFYFwHxmmR+7XWPWhT8\nyzVVzriAFa2OX4VeCmmdxD3LEPnh+tqqFIWzKI2WQhA0ZobzkI35ThATOUwm\numKDVQyfKcIC+gmFWEt7/DW3pxCqi/OtvrVKvjqdtyf9EhkI8repFN6yE3ZH\nTxU/QZBvTSZZp06qvSWIJLsnzyIW2ajwye+HtHiAPBT5jOJ3ex2RVTux84gC\nk9vkDRu2KJ5/X6AZy+YnpQIHGdTyznX+E+BbfM8DJOVqzZMe2Zc5HKKN72UP\nW5s5\r\n=jRQo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.11_1608113520036_0.2668492347888509","host":"s3://npm-registry-packages"}},"16.0.12":{"name":"@preply/video","version":"16.0.12","author":"","license":"ISC","_id":"@preply/video@16.0.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"39945771b465b61cda95797b4a10d6b5470f9bb2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.12.tgz","fileCount":645,"integrity":"sha512-/2Ads8lNGrvvFD8GlacrWSOxhQc2PsfK0hwx/YV/CAUzg4cuI1J6w+gqC6fKem2MdtBoJosh//9OZRl0ZgOpFA==","signatures":[{"sig":"MEQCIFi8CW2sUFXnmhQh0wpBZIjUi7z9iukFkPZbBmujWSTAAiAL64UXP1EWxRMH9PMqkG4CgYvLDscCF/eFUXpSKCANgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2gARCRA9TVsSAnZWagAAJfQQAJOf+BvD6ETTcnUgHqm5\nlaOoGAmX4l3ylCNWfOIKDXATSBOhlETQGT3fcYABqRyEmG76PW1XPk4XKMn3\nZxaECtzqE2Ql5hF/Z17wTXnr6DwBlp36qs6m8BUUaaYN7c0ytkcA+j9y5i6I\n/6/vaB8P5d0A+fPspbSgLmIB3VRFyGwAx0kLUdyXc+NOcK+1bzlulVwbWdyK\nqzVQw9xOT3zoJR/8H4f5bhmqcE6W+e3y4RAiPyDxGY7IvNJQ8btnsN5BdFB/\ndxBKUO0mI3UuBQaXRafFfmctwsk+KPa04EyHZ2k1yhi5f4iv8sb3YYC3mBOy\nr2FbF3ihQt6xTO80Xy4dl5idSZzhg9yKDS8JJwm9q6F3tGLTsaZUnn+cxM5/\nbuPkQnyU5deYR3DiPzzUFcPPgS5vHQTCW2qf3iHIh2E1lI0UukCURpWrqnlU\nXWFlMYAoPXYZHjo4nu7sHfvyWS+KYx1AgiRYNB7BTErGoDXXAFAwqLV3lvbr\n+J3KjiQcETlU4W3E692rM1OY9Cvq8q07FyH6jlQY1poG9Bmz83oCh2q8Rcvr\nQTJSR+nO3UPMOvmsx29rQC8Zp0INayh9UEtKKQzzqZbHXPUJKKkGEtmnOfOE\nU23s2ISIxh5QM8fcuKoFUQsrxA3ap6Bup09/DePzCaxi1p+bholatCDRlQFC\nySPU\r\n=OV0P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.12_1608122384266_0.19106622053847522","host":"s3://npm-registry-packages"}},"0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35":{"name":"@preply/video","version":"0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b0209659228fdd56a297c367bb7850604fcd20ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35.tgz","fileCount":645,"integrity":"sha512-cTRXvawYbFI+l2UANIfe4sxrNBQqhzLSih48Ep0wVbsrgxrCHqFdZAPDvICTW9Oe44ixQN/EkImHW0dULCpjJw==","signatures":[{"sig":"MEQCIGCvOFJhhrPOR8KQKy4FsXAdfeMN7AVnSdnz4rdAr+W0AiAq36BfqP4vaa61BUovs4DAtMUKEnI+l8fWpQXtm8L4og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2hnvCRA9TVsSAnZWagAA7dEP/08tJzYOBhUttnZFUVGr\n7PKP8YBnu+IjUT6Fi7PvT43SKfqhukUYRfD9z1vC3LgTzOIK/BNV19aBY3ft\nIPRqp/1fqpNF3nXI+2HqNr/qnASAfP5VxeDTSkSJMnuCgCSw7j7Kb3xfH0Oe\n5XT8YD/7UHk+ErRB+pX2cvmE0164RpAW11W7Z88EyqNaKYFU3UEZ2gtm53B0\nNh1XqwRKpUC3frmibeUtLlHPngNDAmWSf6/BNlurPk5222uP70S4R6qcM19a\nblV52wr4gQqVYAwo2XL6hI2R21zYHPGSGmeuUHNx/MIF+Ftz88QD6esd2GrM\nZVBQN05/2/d9K8YRU1Y5WQq2vVzft4D2wBrtFzTEG8OZvOt1KmMAuxW5Jflr\nQB7MNC+eS+1y8UaU47RloeR0A6Ruh1zqaPfByxoMch2CDb++ThY3TDHNWZVO\nuw7HNNaO2GuiHgRxVjFq4pGeTyT3yTXlpUv1DgT+r4MmUcs4sAralR4K9M+/\nRPsZANqRCTEoy7oOX6pQt46XuiLqm6A+xCWLSj4Zt+XaHmM333RMRm7ZujiY\noEzoajSOM1pNk8TuEVBzd1TZo8xc/DF/ds6l4pzPyK9WXyFXFciS0bcBLETE\nGhaFlMHn/yEwPGsikuByKC5CMyu+YyvIvnXsl1a5GmumUJsl1AIFU/cudwvk\nSF29\r\n=6H1+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35_1608129006256_0.3727424285614478","host":"s3://npm-registry-packages"}},"0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d":{"name":"@preply/video","version":"0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6a5de5ab69d12e25b089a033969beeffe4b50ce8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d.tgz","fileCount":645,"integrity":"sha512-yqEG7fDnZztwno3YTxyYUdpulUfGV7WPEN3OZY+YG6K/Z2mKJMAkVRJ+FeyB+DWI+ML/VWbkRFEEnMv9rsS0cw==","signatures":[{"sig":"MEQCIGR1jFJqlsOd8YlyQNBVVhmt6+Q2FPVTJ9gjWNSOM/yWAiAocoP2teZkqWzGN0gKOCK/dKMEwj2rG/tzO5QXZah/Ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2ihOCRA9TVsSAnZWagAAjHkP/1TGosBs1/utRGCgzwms\n453sR15iu8I0WPQAWTwbvhqNZ8i59vzEksqLtzXplRNRaaKKpRQV71Yv9jVK\n/s/TlHwuH1OjTM90hCnYixOCXHYu/820WLBuG/1Ao+IQCtqfVAkvtHMTi73H\nkY8+MNDyd4KZDmQavGPOCS8TVC0eWR7mMb9jh8CvxlZuUyf51MFdchoYMg5o\nX43RKTZqcl+ez4XODwV1l2MUj1X74QoZNpOnaU3di6Uf8s+phNu6rGVKbLTu\nvMSiHmQQjlXXfrdmNHX0T9/kYi5ynne3XhqdsngOn3LTe3+pzozTLgMRcaye\nToxUx36SDlp97iOqYuitKs5MMzxtW4C3xpev0IwA5UhWCiswqG6jlwwRJqfm\nGnf8/RWJFQkepCXeySSbD45xDcl/hD58hl5B46TM7v4DTWrCS5AWB1yIrLt7\nZpw4yrxWsNUJcwyz7iicXfImpLwKnQP6e0ng59O2SsjOqGl0dB6Rbq5QXpop\nzEWaJ4PnqKFRyJbJdSfXC5WgF8xIK3Nupc2RekfNNUcz+uStPy/nbJ4qaiUj\nVy4wIe5pL36aFWsPVtfqlzAFXDNBHLYyYpXvWZsTuWvtTV8A394MJPsKdlLn\nRZ3WPnHUAVAykqDYTvlgxTuZxd8zjWe38SpKQn2FDzQTjvYFA50cKUWEPR0M\njwt8\r\n=l9Kv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d_1608132685374_0.877482443594308","host":"s3://npm-registry-packages"}},"0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82":{"name":"@preply/video","version":"0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"56029240290dcf6a9bfcde4cecc80c271f769122","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82.tgz","fileCount":645,"integrity":"sha512-XANd0HM9fKE8jGYjqPZxIGQh2ME68ybbe8PkofEhTlCnhgavjKmw++37q0OxHf3nPCNGfh4hbWu5NTJl8eDZRA==","signatures":[{"sig":"MEYCIQDEUcGO0sWcVAK0KtpYVMDp+WYorcEAeAZ9GAPTKucgTgIhALstgd561lzPfhNzcibGIt3YfJ24VYpOqos0vuJ1m5w0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2jxpCRA9TVsSAnZWagAAn2gP/1Icb5Cbfx3yA7/M94Dk\nWLblXimPpQQBOPw9orVmuo7CepVMpkPIWF2+y0/7lGOQYxmj2IUn/rHBtvzs\n3JEvrMeEzfFRx5oHXZwAB2xameof1JxCc1sPKxctgWGCHLUBda33NcCk5Ids\n7Jfpm3o2YoONeJFvM3IElcIGAjREJjURM70WLSbnDnAvbL/4dJMFjKVMPiLT\nwmV6tVUOtwQISOZ5Y0/Is1ghS1/DlVcYjtRT5NJD0Gr62mndi+GcBzHlZgiJ\ncI8cEUGRB5rNSTWAHES+bLitbbPuw0sk7SfaSsRp2TQn83GTmzRJUdMUS7KM\n9ev7aL83ymywC4lqtduXH+DJIfrGM6z0g+GUhlnIiyzljwfr30t09Ae0eaap\nLLMnko/UgRH5TT01y+Szo+Dxn+RI44IvQh4o8V+bt1HDvwfleRNlsTJ+9jEx\nEb5oQrNIfo8VYNX4kjSIv/3WdVLexrfGRnGwq4l5Y0WSMCGp4Ck3A3SgMsX0\n5c4Mrl6GivuoWMbLFi9tNFODRb9MJJYdbrIAOUrwbnX/mCoNK9Z3Af7St82S\nkldowB/wjZqML6psiBKg34JNiVnGVsmhg3tsrRkoYmy4A4QjrOmwUTZRpRXi\nxVTRJPCKC+9k20O7i1/qGzPYtoQYv7PyiPv/YZAn285ZCM+/DqaOvj5ypWZ9\n8zVO\r\n=ZOFF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82_1608137832279_0.6679221002403977","host":"s3://npm-registry-packages"}},"16.0.13":{"name":"@preply/video","version":"16.0.13","author":"","license":"ISC","_id":"@preply/video@16.0.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a1688cc46476241ec14401b8cd8ad3ca55a70abf","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.13.tgz","fileCount":645,"integrity":"sha512-7dj9EI7iPVtvAlF6DiYQpn2g0BtHw3hHdGykvZFmMkjJxfuQlxTDOzloHmu9zzyhI7yEt0hLBJL61o86dcN38A==","signatures":[{"sig":"MEYCIQDCa7Mp+i1bk5V+Y96zhcN1oGbYD2m64wvW1LaYqqI7awIhAPrkkkPhF1NxQPbLQVQo0RiJxbffCx6/UT3x6GlthRe7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18571088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2u/DCRA9TVsSAnZWagAAYTUP/ifM85SHTWIS/0z8QqJ6\nLDicwu2gtDV2o3WmOinAg7UkJKq9PiAdT39emlU+ju6kIQI7NmdeVd4htgpb\nQdf2OVDE0koHfpIvH64oXARClM2yRsqLKzW3HxqdDyjZZ9Tjjk2Uo2PkaUmw\nwuHOCNlDlVRB0Z1DSoACW6p99voO2q9pIZfkoaz0WEnHAwD2hi0bhfPBeRku\nCqiOwnMYJEkF0Z0u7ywNB3zEEB1GpnGXZoeTLBbCx+7xOtWriiYMOvz0Tn8v\nWb90KeXCwj5Skhx1VNsDClrcFHKNtFzk9zWvslCVixWqjkE22B4CU3HiKIjd\n+rvE8D3zgkmX+XexAyxWH67BoR7mjPTqeZOgw6SZNDjV5WdJ8/+57oq97TZr\nxHevq/FkJuyX8ZhDjo+WeedT7Ak+1RVKUeWXcWfCqVVnv/uh6nAOsR4CONUn\nwpWvG2AgsnAMDK02jxzdJ4NUtfgg8KXFHUFJjq12wQ275qyfTZO2Tupj3rJi\nFIaxVrSajtOK3cYFOVc8aokPmV2qC+/k8Vek8mF/J+EEK5KVlkscRNfxUmDz\nWuKO+AadLWUG21o8cKZt5BFbqbE1amh99Q8u6ng6wIaWoAIcsAGsGXVF/t4P\n/abFBXSqnw86vOvgNrmrSMsWXJ1jnsSq9VbvZZ0Y0Rz+kWTBTVinL24GHo6U\nfP2g\r\n=10F4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.13_1608183746974_0.6459283832678975","host":"s3://npm-registry-packages"}},"16.0.14":{"name":"@preply/video","version":"16.0.14","author":"","license":"ISC","_id":"@preply/video@16.0.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"32f2e91207d4fe9644b82690c441c2e35a864175","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.14.tgz","fileCount":645,"integrity":"sha512-Su0V23k67QRJybLehUUFl1SPIIeayOwCebD6yEc0QfHa356Ffnw7DCMx0UjmWT6WXFLN2i0PkGvv+2FvsTjQvA==","signatures":[{"sig":"MEQCIFy31qjeRroKR9ztxnVnmUU7KL9HyfyrC9EGNelpi2EfAiBUY4K0YjQ+C3SgQRrmTQY0j7DvvlodCcDPTye1t3rC8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18600427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf22d8CRA9TVsSAnZWagAAInoP/RxnQYHwJBZyLgm4C1D8\nph2YToJcvry8zlcf3gWdzDIW9yCFIqlrkSTlKtfbG9cnBGaoLN1hPFFPU6gt\n1lfH4SZuxwhgtdJNawLQtfvukXFQyM1zZYKOsRXWZLe8RGAc1krPo6FiotGH\njVzMFE+QvfeNVGOXlsvhSgOkACtTO86g4uegAN7hOUcNjOohyFrskWoh9dsO\nJwPEy5Yass2HxEkZdQjPn0pzBIVjGJyMw+9dQQs3jXkRr1fPCe/8Ty15fnSf\nproFrPbSwvjyA/sJgj9zkmiSj0u3Dvgb2p2853Z9ay28vRk+lxrJtyAEnABa\noWW0z53I2ZKAfwVEvZCRqmHyWdmvChhBHFGXMyAIQqECcIJWoS5xVVskNgab\nqMaNv/nkRGjAY8Wc7mu0NQ/1jCMdyDYgrmAmSitdPdaJvqfpBv80VvLmK6wm\nj8Hpoh1/IN1mo+5GirtWbvx+I0C+jn/nm4NbZ7i+nqRwX4HirR3/xnoL6umA\ngjxm0bPdR6ADZQwF4QhhGghIdLpxD7aWaU8awWcuCbZhoOjO4Nc89fKhsMeh\nGqbwAEtywIkE1qd+HzNyyKxZyhGjAWNW4FgmhMlAELe07f+uTzrR8C+F8VZ+\nqENUNccCkqquOy22+1Nw4qrgT41xN3f2OQiF8kn91AYK90QXYiBwuEtdmdQa\nFfdB\r\n=s1db\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.14_1608214395678_0.4353397197370201","host":"s3://npm-registry-packages"}},"0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b":{"name":"@preply/video","version":"0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"378f6d7ccb812124d02db6d689e97e1daab65f12","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b.tgz","fileCount":698,"integrity":"sha512-xMae6CVM3FnnBYmjzbxbPzzRBlWoLAkP7lMuhpCUIZLBaYST6HIIM0pEBbbSxsaXv3IzTd91EGEM8Ry2l7Z70w==","signatures":[{"sig":"MEYCIQCA4uGTWeSWEYygyYYv+I+oD3H/v/hCUgMpjkNMB737ZwIhALkVP8RBfHkrw9brFGgxMhbIEc+ZxjRk4imu8fECwjWK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18728065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf22qcCRA9TVsSAnZWagAA7S8QAKR4vO1LuQ66BNhaXuxM\nsbO/IhX5rtg1KI5w3qwi9i4JWePEHFA+ocdFfchugbdtqThWrhrwHOhr1Dzz\nM3uWQk18e/W4Dl3nzQgLNMNqCPVZnj/H9zNRUkupYTzuBkBOu565/2KxBWt/\n+56DLkoIELNAUHhFYomWoAmbih6YmM/gSrA6l93e1hBhtplOz8C5bK3taxH3\n/vC9T9KPl5nojnJDbJ7Xou5UVVOskkiQuZsEHmsP8JIrF7u4IAeZQjSKmWId\nz7iEYRsjylovVB0KflzqulrfF7stb6UIpdX9hkVC4MMuYkTkE98VTkVvIX2R\n2S8T3HoE2yFLqcPhH2xqrNLEfmD2JRebFofnlLRN9c60saodej8QAjAYLltt\nutFqbM3Qw0eg+Xxp/Yl9lfxA21xz4tqPNRD2bGLPrIqg6XSqNftX32fQ2qc6\nLtMFJOSJ73I24O0y7jAJaFtkeqHnvazKYLLLdCmealxDvsZlea36zLEgVaCw\nDKth0mkFdoh0kaFqk+ntKr3r/WAaQTH5McyzW39pxw1iyxbzinkyfhJaUOMm\nt7EgptVR1D0lTSCVjsU8MFDvxP53Penmm9KIBDhftepH0iykdTbj49VQIHZk\nYwW/oQuywzch3j0p2N4ZCSaNGVibwPt/9TAyqfBKFg4yrhNkvA/onN+EGwQS\nrodp\r\n=nNrY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b_1608215194583_0.8840212743172484","host":"s3://npm-registry-packages"}},"16.0.15":{"name":"@preply/video","version":"16.0.15","author":"","license":"ISC","_id":"@preply/video@16.0.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f355e13b60bc9e0d6f4a348fd405a14b64e79cad","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.15.tgz","fileCount":645,"integrity":"sha512-Of3TTt1KFV9125HmUS+1nBoNarVKnPV9SXJ8oYy5ZNAJulJ8yl7cM8ZYzyWck1J+JTwmsjgWBH+5+pOK5yrq2g==","signatures":[{"sig":"MEUCIFfteJojyjNkjBuU3zOvT68K7oy90w1rS5vEDtUJ+4TuAiEAqPYX8f8DJ2QeIsgiu5XdmXbaRNLbBNrLZBQGrPEevRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18539588,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3I39CRA9TVsSAnZWagAAeqAP/3oIl4ehERNnbWUvlgZ7\nrcbpvfPsaBe5DKmzk58UPvZ2GtWhAmhyw+fGEoTJlmniqEBOYjTjucHdvYZY\nr9F1tRdWL92hEcOmTvG84Rzqpl2etdCpTS1XU7FHGzPuole+IpykCPsV4JSB\noSchrt/uAqhlGlD91ICZZfdMtxThjgaujJggsC75/vJqt480GY/CBvlHkXGK\nhimB/qlPvo+Dq/IGJ+OOh1VNW9UHilrA8aZ8zzVzil61DqOD/wHNOE1Zw3So\nDiBQVcs1ckeOgkIyi8ryoLe9ScddeKRNioiINaVYxHhsYB6Ks9UuqMGUwoVV\nMokTsXH9AScABmiIlW/TDn9qdlxVgUK44o7assMGaampoEJC/uOGuyTynJF/\ny6NbdyzKV+ki88XZ6C7xesUxzBmZWV+N21d6Hhzrx52IsQd5nV0jQ1muchsE\nHSKGM7rp8lyyQYZKGsA3RRcYCCFebCCYr9B8yarhl4vORM6Bmp8sX+0BzPPV\nEx+p5UR6s9qHxX/XP7Vrl+cq93V4OSfzvocW0L94x91kSiDuy/8vYvV3Pg3n\n1b53RIyuONmAxTdfXtVCVGK8O4vi//idi8jQgwkPI2c+VXZhxf5nQeaeLLgo\n7HDOad4Cs6XISrv69GIIhFhpELRvaaDQ/95ENSX+bWSwolv4XIWWnSQtOfFQ\nQzUz\r\n=yH3U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.15_1608289788375_0.6911450531616465","host":"s3://npm-registry-packages"}},"16.0.16":{"name":"@preply/video","version":"16.0.16","author":"","license":"ISC","_id":"@preply/video@16.0.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c8c0808016102b23aee359546f7f9292987eed58","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.16.tgz","fileCount":645,"integrity":"sha512-HZZ4t+x/2mAyi/AJWrfdnQGBcLrMP9zrwyFdxT9RkpHzdWqI8uTkybViGWj8n0zOy3yxJfcqqJdhrbz7gStn+A==","signatures":[{"sig":"MEQCIGSnVVvGw+gp1USSgD2YFEWNPWLY+JH+KsV0WqXQwH1gAiA141J4apRkkqnDg8E1gbMrQxJ8aAZVpUSWXtmoqeXo3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18545083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4FE4CRA9TVsSAnZWagAAqBsP/jTKH3hvwwebZu1pDGKM\nry+jHDxtIQcw/cmzO9l0aXTw0BdtQ8GWCinN28Snr4gRoMJAzgn+kYnAMTq1\noqD6W1hohAhdVrKytjUJrL5oN5q1TsCCyKBtg5PErbQHsqx7lneKmL7soOkD\niwUKCgUYPcGfU3AYuKE/rbnb29lz2e8/TksAeCS4O04uApO6I7mAM5uIbNqe\njypW6KgzNbQSqm/7gecretnLEZJ9GJDbtbHq5gn3ZGjyi5wljkW3T8ZH5haB\nRQMx0XFfCbjD4zTP5wcduzJE0gzWZorDnOiEQ34Ie/D0fMNyvc3coGY981H1\nYTkas62Laa40hruI0SDODwiKwS8HR+udXWMQ/Ptgsha2RfxJ/A3O9FzjAz8+\nD3vXr3Zv2j5daSDVn7NRZ9aj9Ofz4vRtcx0TqqvVOflCHa55Q/j+YX+jV/Hi\nBbTc8REg5nl9SYlnA93Lf+m8iq1gR3tiJ/DBppE71SRQLDXlflivsnPc47Qf\nA1kScd9NWD6azqPI6J830/zOTkYvGDY1v+EP2xQqWNzL9j2Mqb7maVxkSIjJ\nOvqnUPd1Z8ChMHwmVLSVcqdROqtSq+Irti7jnoqECUqTemhRSZ35G21nKkNL\ns5mMtZw1kHr858LhoI6kHtsFiDqwVNgwjUZgWL+jnAYCtUBh691+qtmzcO3j\nCVNz\r\n=f+Vj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.16_1608536375383_0.10876048962440787","host":"s3://npm-registry-packages"}},"16.0.17":{"name":"@preply/video","version":"16.0.17","author":"","license":"ISC","_id":"@preply/video@16.0.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"eab3bffbd8f292405eba4940a2e7b8b15e97e610","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.17.tgz","fileCount":698,"integrity":"sha512-Rw4E0EnPORhOha1ZPGYIn6UC9xhneU198H/U1jp96aGi6VY0sAaWu9AMSU4EBPhFg+DoECd0FFm4n3QbXFeCtQ==","signatures":[{"sig":"MEQCIE0IMUb9vWWwbWQ+hCPrQ4Vce2VzgDEsky1Mb2HFEpIPAiBLmhSoCvr3AoG5xCVgxi96eJON4obADpqdQy7Qu18wKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18672518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4FhaCRA9TVsSAnZWagAA+eMP/itbFNT31pSwkw4Vf5nM\nMmLMNZzgwV7rRVaBQ2oFJpOEYACLUU3/VOJRYFi6ctmEq4bQif/TwOuSYYIN\nKrn/WIk6exmFS1Knpg1jsalMBpnHS+F0Wsij6q6Nb9Qs6/ObSgN7rmdLVtpm\nzAY2MxOM2ZrUwQkDNWd6z2MN3Xh66jhDXRSOpax8mDs+E5+tcfr0NqPQAqKc\n+dEuid3LIWb5ZzwR/q1CpDuLt1bZG7g7PPWJjevDP42G6lykHDSiULw8God/\nUu5I96+3AxuB3CpPldEVUTh5xoD0bmnMTZVeX31WkyosnUz1PzG9vxYCnNe0\npJXxh5Qd+FpdhrWucXjEBEXNaxk/IjZU1CeaOBiMOGXeqJbArKHoppqQN1kE\nN1R3i0YQt4ndG3C2brKnA47ydsron7Xp6L/NhhzZC3K57rKedp7xgcmTJBNX\nXJ7gwiK1LWqNuBBVgkzpLK6zw/6C8ixRmP5V+Syml+ZgyknJYsmVCx9SdBWL\n1w+bb8l2b6ehXDh85cEFO2SkKHwfO7t3fQnFdQWqdzgt4bo7YMzi4wCnCAs3\n8M4u1ddVnhMjuIrq7QRxig9SbsqWCd3S02HzjHb5hrgz8CIQXhvnsa0mB0WU\nQz3qGI2FbdijNmPH6FA0ipaH7/I81sC4nEr2+0ZzAuZ5douXdmkMHRvyt7rB\nSsUf\r\n=4uvU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.17_1608538201576_0.8055158362294366","host":"s3://npm-registry-packages"}},"16.0.18":{"name":"@preply/video","version":"16.0.18","author":"","license":"ISC","_id":"@preply/video@16.0.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f26b492d590823543c6260121df72d3b1cb2a1d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.18.tgz","fileCount":698,"integrity":"sha512-jOtDSjY/ocE8eCHqD+4+QLTxq9R/ufnM1e7+18S1HtZoCfN1gm4xJl5WPFbRfvPNxpe6uqY5900rH3+/7uToRg==","signatures":[{"sig":"MEQCIGhLOCH6+2U1fmswQQOEfZ6WnfXvWbtshVijU6wwtg4DAiBv2bdUEdv8LEJN5H6P8I8zM1NDq7OPvwj2fc7RAifsug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18681140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4HT9CRA9TVsSAnZWagAAaSwP/0cYepy6X+pD00aRX9eL\nK44iqn9qN7WOFTiSrcy+VSdbPUW5VDklJEZnZDR/M9WKpx0RKB3a1hiR1xm4\nCzCGWaiFJQt8tVeHo3o24UNLAa23elk7gM52I/wkBI9BcXi3gnN5cTtI8ZqE\nTMLfkOcf1npcjokeRlZtNpJaMpNzQpjNcnENYaH7rGR/n6xghhhOGy1X+N/e\njWhhM+3o+ndmN1NKqLxkscxI2OdwFuAmhv+I2EI+tRWK6APDbDnxCu8lSVz2\nqodfP5Dcj86WVuVW2uSZ1WJfZLYwevOox87uvJg8kmhWE+wKAcoxAJ512cy2\nj1TRCUZ4vXEI5Zs+W07GiQsJOxXTK76Zn+gb8ez8XFkSvcYEXpJPW95epHub\nYdUJiSNNUgMN47S+UOnEdp0VOzGGoDv7sRQVm1j1F/HfNfNAQOUGj9HgB0r1\nOWTdG72Gc3yoYsJlhZFXam5vj5S0nSol1rzWBSBNrtUjVkZnr4w4sxueQwtl\ncUOM+B+LUmxZpFBC51PjgYjd3Ff2HJeQDmR48OjfyDtDuyfVu0UQsi3F2Ny1\nfEaLuD9oIo6YS74+nUqFkciRbT2nRoTpyBGibDKz+FX1JSQNXCgLeNSHKES/\nuWwWKGd46DFIG86m6iX84pqu0HZfDo++K0HgFIpGbh1M0KksrPhaYd9LrDSJ\nNZm4\r\n=wgPs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.18_1608545532603_0.8455556590741333","host":"s3://npm-registry-packages"}},"16.0.19":{"name":"@preply/video","version":"16.0.19","author":"","license":"ISC","_id":"@preply/video@16.0.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3dea81603d843dad455f4141d34416998bda70b2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.19.tgz","fileCount":700,"integrity":"sha512-5aHQ2oySECZGfANfjUwwHI9BaCsijyIBp3gocawSRmfrks2tj+gyuCt3lPpDoP0b/iEVbIt4uj6+Q5QCBUoqMQ==","signatures":[{"sig":"MEUCIH0vbe6yF+QnJVc5Ajn2IhkDu5n2shTZ7cEjIpiV6/SoAiEA4K2Df03bB/g8WTTf1qCmCEnu/3NCC0zC0mQAYiHSUWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18696621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4JexCRA9TVsSAnZWagAA3CkP/RJMt3q6XBfDQgdVec+N\nNMGQfm22QRSOMuVl9Zr8qeuUFbbsGXO1VThoIP20NI5ob2olco/Pc5JNLxnT\nXF6BG9sz0K8qewVB0m/KyVHaeGr5+1tcHviikUjJbk6FqRAU0FxWb7UwhQ1n\n8kN706dTamXmb3Y41Hdfv1o3liloebQdTtt1NYRXoDHZUqqJ9cK7oJx4MNh8\nmL1fM8FAJfngpOS18kGwsuW9Suf2g13l3sEoA8f1ldxvBfzFghLFW47bMj6V\nk8G9elhRFKY6FNP07jX9ez5oA1y1NRxJlDkIEtOeeL/XHp89wnFUqhKssFhr\n54rgI7DJg+6cYct+kSYok6tN7kGX82LolFfbySMfAuDK6liQJo4pCzUaO9iR\n91KlvYQbN4Oi52eJQ/2+olTVNLS6ywTDK7tztXs77JGGlaq35Wf5NKZfJj7f\nTka2PwsLn5vCUi9aad8RAZudRiL0eQMMv7LEUkFIBT2w3ywvE2CZgMRaJGn1\nWx6yvjvrkab6SUVBmDXxZxj2l9dPfwcelauPUnknOF9EqSTVAruPug9wFbgt\nShP7aPr/pbYukLQlcKE1KjcoFwagyq3UzmzCrzkuBzc3h6LDK3/7Ql5BmP2b\nvGRQQmuN/FMDpE4ayFRumlFYZRnLHUf9z7XJT2xvr5kXIFICoH2B7ixieOsG\ngcuh\r\n=aQRM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.19_1608554416975_0.433905391060615","host":"s3://npm-registry-packages"}},"0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af":{"name":"@preply/video","version":"0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fdbf17a434d10effbc8a8c0f89c2b5bd98d9cc6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af.tgz","fileCount":698,"integrity":"sha512-uc+zMtH/I69YtjAhQkxs1ywNvEan0dz43w+O+oT+WEBgv5/V5R993BUU5dahmbSCRdbjNr5JNqkkjEYY9YVRig==","signatures":[{"sig":"MEYCIQCVNGDw8DmdED0a7lyK+f70qRfkKYvqL6Ctn5EvPMZejAIhAM+aiAeYJ3POqpzHFtfQsFsil0vQa8qk+e7MQliCCUXv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18680209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4KN1CRA9TVsSAnZWagAAZRIP/1Sj/5n/SiYXTC0YxavK\nZm6ilO0r8zMGlWIi8PN1g0SpV289xj62iVmey+oZpVMdyvMgWVi/DSXFFOwm\nGeRumx6nKIbXdunDMj9OxNAYiJ8tbYkBOyd6T9cbYtAU8dm2i0KYp7vN3Zwe\nIympYvzJBNpV3eUrJmCuBxKxbMYEwqa5EHDM6wvrDnlgYhu/IrOg+PxNhsJs\nTyTkddJ1u5pYDrHHOwaGXPdnIlD8n9cB6Ik+pWxg2XQPzd6xskiCue4UDM5D\nZQUFWAsXI0Igh8AKOLmuIWcl/prFegHfkiR26DDEHlpowo5e7RJ4ydD5ceGh\njahapfSZVWieqWiHC5NZckegVTiTrjDvQ5hKQ629Ikqwv2OAocAvESLjYQ09\nxl+6e2pX96bPtXC8ngLiWXIB6hjVUVEcLmXknz7ih+B+voX24XGPkmD1bV5U\nZjVvSlO+r/ZexISO/vZOyToBgc2/blSxh76gw8XCEqdy7Ru20D30rJaADKlg\nVkLa/8twTuyZHpxJubKp2gOaRytp6M1vK+ZPY0EYUMcmOIfIQUMlkUddgj0E\nB3JwZprByFT3gLJpAWJsMHiUppiM7jCQZQaQzYpLF4cl7xQdRO5YbWRYMyr4\n1SZMw0FRjdZll/RH9w0maetbfqefNVRatox+/47X6YhcvS0Y5yxAuxpkUBr4\nIcdz\r\n=gUNn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af_1608557428699_0.41251551562368793","host":"s3://npm-registry-packages"}},"16.0.20":{"name":"@preply/video","version":"16.0.20","author":"","license":"ISC","_id":"@preply/video@16.0.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6671b1c01b473cfe6f7fc7292b37fbc5d6c0c40e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.20.tgz","fileCount":700,"integrity":"sha512-F1LTUzh4ja59V7LfDNGIFABP7vPtgrx2nvKIil0gPoI9gFT4N6E/wWU1RUfpm8I3vtMXFMdec/HEk51V3HIxPA==","signatures":[{"sig":"MEYCIQCCpFx9aanM/1uy1UAPh5msBfFjk31TyhYOesTp5QSBDwIhAP4cgqsYDAE0EPx1vGn5GfQMAMNvqsWBZmT/8BvS3+Je","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18718073,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4Y5lCRA9TVsSAnZWagAA3pUP/jQe3Pk46KwJOsrP/4qA\nNp1EEAcgq4a7hA0Wm3OFBhvItRRP3rhciqTZHWeyjUfMcdDVGlAor5TM9yZd\nJL8VVxt6NYmJhsijA3NSvTMvXONVNBSJRHf2Si63k5YnoWt+6RjYckSPPDvV\n7R7aofQoVGFZQe1CcndtKZ4IXbkbwf8ZaGC5xQfKdHggnUl96NZRJEBCJPIe\n09DviDtYJ5LIEsXobC2gc74uhbjXFa6E0fWURTqYdGBC7nWVr3L+UvRfRpqz\nl37VRQ7PaNz0Dah1xRv7fAdZJtwnlC7xGVM34Fv0M9+cKUxymyErJehkKU/x\nGNP6GtHMfvQowi37AQ6lODMKnhFnQDGzhUvjwOydV7UnIKUdY2bpqie8VQvz\nyQYUC9rKScsJJiPOBsi1VOEnj62ILHbH3y9IZXNcz2i2tLf9EWO+qFCQwK0F\n+JxKvZ8YdIGGphguw+uLXZnlQY5MJvkPXIaLirgw7W9FqWYfhexyX4xLh3kS\nRzwFYmsrBlMar43FXFAq/zcvMksyDzwuncJZdnGJnTalsSchBYRquRQWybh/\nScSSawTIk2oFoQg7PPEquLhbYJ5Z+KydFefNKt5wUDrb9iy/2QtrpE74hCIA\nEi4xc5oxfoNDg8MDGEiPoKU9enKJuMR3oBbbJ3gIROuxyKCn5G0MoyFSfTnc\nkak+\r\n=+r1Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.20_1608617572740_0.1725235862909944","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34":{"name":"@preply/video","version":"0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6f8a11d6ba17b19d906f14dd398d46df2ba81fec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34.tgz","fileCount":700,"integrity":"sha512-dNx5zvioI15jY3611D4lQVY7B/9hspG0ZLp0chfkXg3yCmBWDkee5QInVnADY3mFfscWSKKBfKG2yZfy5Jf7TQ==","signatures":[{"sig":"MEUCIQD5rIqs1q/u3XXjlyk42GxHQWeN+6/BmAgTbagW5UfRQwIgTc8rN9g2H9VtsevE+hWK/yUDe+pC7XVvRwpjFw/89WU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18720425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4Z6uCRA9TVsSAnZWagAAGnEP/3V+bN4IVZEUnxrqLgeE\nGtPHJKrfGhtE+4ysoeZ+uhacKM1UEM7QtSeSttf2XOZdssdkgm/Dsi5tleip\noIWM2un71CnpHHskNMW4S+VHnOBvtIe2kwoeZWpaJ6rr7bOMj/PNunTrdfbn\nAImtYPzB0+KghiinewYm2AkbN/iLJlwGkn6+MxfF0Hi2pMbUChwtMybfdUPQ\nmny8h0/rUzGNtfpq0g4g2bvk8DXTX0hw56DgDottE//t6p8dW9IQOu8SWQFo\nN6TYppLXZymLlXwvW547UfYvFPB5X672jajT10vj5BCVUG9PdR6ykpVbTtzz\ncQddjYstMIfXahDOVUOLKUXgbkcUqsa4+JU7vrM0WT4yQhpLJDwDpCB0sBP7\nz4PINWA8yK471A3J7y78jI4hmoIqqxb7dV+VI/LrMNk1MMwIZUiHyS2kW4bF\nVCp3zGtsdW7OeIjj9mjMuUDgJz1rSb0HCiUIjIpQ0IoZ27QiO6tYDeuhCFDJ\nQ6cwk1uIzbyUIpDzR6rpVmEHsNRXhVGIjj2eQWr/1YJtd1kZtyDxqRVlEQw1\njHPi+pLZs0GfwOnH8SOTv/DkjOm4MIpKa43XYDnyyOCBjZikO7Oh3OM38vqw\n/IVNIULsxOrKx4Zyyx2szYsAjP5F28dDT76EC+3BvYYQsi0PSBCaloDHtpQc\nuKta\r\n=0yy4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34_1608621741299_0.7599998871427629","host":"s3://npm-registry-packages"}},"0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7":{"name":"@preply/video","version":"0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e5da45859b5e37c0ee5448616bbb774c107e24e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7.tgz","fileCount":700,"integrity":"sha512-eH3JETNmv4lw6zDem7f1bP8sVgyDShngQXkTat3g33UFLM2G9a2kRGV7I9Ct4ZUofXbj98NQfYZW94N+UcQkKg==","signatures":[{"sig":"MEUCIQDwPe4mPghF5gZYawJdQQ9qC1c8fCtNp+5nqNSVs4lm0QIgd40+buzGeg0Q2Kh0Fp+oFCJHIWGje8SIROblr74hCQ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18717142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4apSCRA9TVsSAnZWagAA8gMQAJpJETGbHlIN4V1a3g32\nzxywvdz14VTpJJmxkeI3oP1Us2yoKzt00eLt5dBalMVg1/k6ekOGVF/B6YGc\nnAZcq8PTl9ziLYTLmvXJp93Xd7zx9UMZymZO4DzOLzSIoJrLaXYdlLKzNjqv\nvpvzkfWn1FOfZA2IWA1xsbAZi+1fni0cFPUG2PSY3+iO5u2+wTNNRLxWYFhc\n6sZ74V14VbXiZWLhkAKDetu+G1XE0wnEIUhBaVoSjDx2d6MJIXRioghmGBwE\ntk9SI0AYgNAtHDA2so15XIrGMAot0OzNaKlmFpqJCkbNVLk4IUaubfbUYMY4\ngdIBYBhrwiVzRx6sQO2XK9Jo0Bn6m8udRPz4TXDJVpGNbeX1Xoex1A9aPAqB\nRrTlHanhz/X2my4LMG7/uvGv4Im08yBGCvc7zlRG39YqoZ/fExP3ps9TDD+y\n2HprnsiJQ8UEDUsjtGjxVrDk+XJJm/OdmWsJu7SLLLWBrxeItHcqEKAVz9Vi\no6PuPyeUtvim4EY4O4Oy1MjLgQAXQzVV2trfiNnzuDWXaLoHpvfwqgDcwv/x\nEijWpFote15kDoniVPT+IbJ+Zx2AXRHPF5JmadXhosW7TxYKh/cgC8w3Qhhv\nfJge/ltZ2osuICtkZLA5Veg9zLFGeVGv4UNWHhfW6aQdWkfweaL1O06iXKNk\ncqkR\r\n=DuFe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7_1608624721590_0.1068113912507076","host":"s3://npm-registry-packages"}},"0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111":{"name":"@preply/video","version":"0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f42c619ff7a1382ff96513f55b5e8bfe265e6295","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111.tgz","fileCount":700,"integrity":"sha512-3XqWrmU0LuSbgxrV77GDwm7d+yEmF023xOnYn+3+wyuYCXVZOdC959RcOGA2X+e3UxAawstZJiM6V+8kwV879A==","signatures":[{"sig":"MEUCIQC34lwwxieV3ADwS1JIVPKGfrW4e/ecKYEnY6V0dioKMQIgAp8ggPRXJe8YSO9D6unlkKjyFZ+6IIm83KE0SN+vAkQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21043780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4b0LCRA9TVsSAnZWagAAoJoP/1sn/tQyV+jsJEK3YGV6\nD6o17qk2aNHZ9HfRDZQDf39N4GScqkLkXk371S+ycGpREbG4atqZ9H/9yOqX\neSALQpGwEkJrCbo876ET539wrud7GIEQt2XWEi80HllgfOsAJlQV9XN+ghC7\nd5NryUxBDpoC1zleK37BaA6bMOOKRul2Wgch5Fh4SapdlBe9P9fcfFPy6MN1\nEXW1c+ly4dfm5NSWdZr22lu4pvm0ezRA5SoB1MsQa7eozAcEjb5QPL9kURff\nxhLZPkx2noYjcVaagW6cNlsIghBaXbCRm06eF5Mv7SBzFM/aJX/NDaJF7Y20\nPe7WMkyqGGH+eopfK2SQ5RGgxMYKq7/zP1U8Gnh98c73Fn0J1DT2vu8u3Hrl\nxTjJtsooJVFmt5/xbzNVz1l/QBiLfydl62apqQJXLlqkSmiFSiDQUax3tBvI\nZ2WvQLW2qBbGsJGPtZMS0MW+9vkNGuR6j5xjWQ+h/TnWb7m4vnvZcLuRq0+s\nhfG5LqPhWB9+OBKP4HPIK79cpizE5k3x/pXGweBhL5dJo8QttenH/ZUw4yOl\nQ0dprX8+x4AiR+1deH9aL+8k2nuLaG7PWVL1P1XsQs5ymvYqZKBZssXMIfZH\nsmkmqGrRooCwl2Cy6LGnKNA76iKhHZOVeR9wgcvajhcjJpulVnlF3A5JN936\npuCi\r\n=XPJE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111_1608629514674_0.8193529521720173","host":"s3://npm-registry-packages"}},"0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc":{"name":"@preply/video","version":"0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f5d1004f39c9bd9300bb0eeb243211f8514b71e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc.tgz","fileCount":645,"integrity":"sha512-Hl28SOcDHgXRhrRgterN/zsN7hjjj1qXMHpZP4jVEhRROk2QpsUf65FB313IwM4rWcZFutbMbWf4DSPpHJKtzw==","signatures":[{"sig":"MEUCIE4FYa+Xmn+qk3mocz3iXNoiBJ9lxATkSVLd4+UNMK49AiEAg078+zxsKLSdSZaOa7KTZCSO/P1FJdMPQN8ymA3P/yo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4b71CRA9TVsSAnZWagAA4owQAJETa5MqICwroOtzV6OW\nNzI+/x5zqF85f4uA22+QQ9Wn6Y6FoEvuNFMDFdurZYNhh5yjDdty9ZzFfptW\njzy2Km2Lbsb/REGJqJIsAXkvpa3pUjYsj3l47hrf4jHLQ0viExiQdM6em9Dr\nA9m7ZYf43guAbARvpT4nPbgDCP4ZTbRzq5wZ1O8sb6kYTg/iDlJ4HR73sOFN\niXoAm9bf1/RoAbQ1vn27/DGotr+Q0aVfS3k0Ywg4bIcL1AF1j+4pjz8cWcbX\noi4WKCKGKCBwGOxbOsKkEgkcL+GMZQiaZBC6Etkxrl/eLh1bvulRX8Nv3Bms\nbTxEsdBOLJPdk8Z99hX3dAkYazdIg6D2l+3V7/Ic+nmHxgLXtstJzWTaOT6q\nkdMsiBoLLhfgCzxfx9PM+p1BSRyQIU2Mlg9l4pYTsCTtGc+us+kl5Xhoctkd\nP8m3THsoL4LciJi4EOPMxszbScJiHsk/EsLCSt21XAPHyXh8Pisi+DOtZ23e\nj75RIvmJqpqfBKbDjJqhG/4HAcT5IaJovwEO3+PNnEnvLTi8k8u6hHzR4b/X\n94ByqkbbZvB6JXahNIXCe+uedpNLzCgJNxSzjXJQrwbaeAg6Q2Jj3AtrrPAh\n81wY3tIQ8WOZ7sB/z17FxbSnXM8kr2EnGCbvljC5f/fvIeNwh2FaCrQJC3GC\npr0W\r\n=I5So\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc_1608630003748_0.6497773490511298","host":"s3://npm-registry-packages"}},"0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13":{"name":"@preply/video","version":"0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d900fec8cb90b396857b879cd6531201ce9f18a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13.tgz","fileCount":645,"integrity":"sha512-kBFngfF62e6MKYSTkI3gpUUhTRT/i3PSD6bX24fKO1VqfNjtJkacdJmfq0c7nzie1VawjvS/lSn4wo0umwV3Dw==","signatures":[{"sig":"MEUCIQCggChPd5JJ9Q/mFgbwaDrZFWwvXqCBF/A9lIdtXrN73gIgHwOQUWlt1AayFNybsFX1DdP0Qy8gNQ/YXsRftELjO8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18555978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4cTrCRA9TVsSAnZWagAA9lYP/3Ak4/HdSzHBEg6+bW9F\n5/2pjLNZvZ4RVH3vdTA8PyGg6bHxh43cwiSK1uCeEngWmVmGG5sXr0t6oV1D\nKQzaJ9ay6SONvlRGizazmLFx5CtMdxvNcvhN+zmSpTmqJj+W/39rzSC93FZ1\noHMjSwHuKehoQih/7rlG50XrHSnMhfVNSzGyJ+DbtLhaxt4mVgeERoVBB2jd\nqrLAVtGvEblfbxN+HyFDo+8X9jWMZToODylyyjBHTgq9NnyKr0pgvjl+NTHW\nuu1igO/sBTiUkRak8gGvI3htDilRcvTwG8zVzsmCdXyUMawIpfuqQo540pdY\nG5iYlpwq3F2CYGmofDkI4BYfeKq2vfknXqlzsIVKzUPfLU4A9z0v9EQFVM5z\nSnm0QdW8ERTG+/jOCtLEg7CUUgZWu4UK8boraFYll32j69OBaeRuFLdIr+kO\nkTbbpkWvVDRjRR8LseY/Ti3PWqV1Tt8EFKNttihdOxBp1uB6+8vY0i8BEQB7\ngUY+TKiaFGq7O3yuhAui8jSMW+QUxe8k1JWxfcLqlicmK08il5BjVkbaq04G\nNL+PIGwHILrBaf7Pgdx+xHfWgyL+Q3m2crKJ5jnE6chndnPLifnLfk14OjCP\nGOImMDuO3M0kSMexAO+Oa+IvJGKQsH/tYH7aePckPev87pGRxvRim6Dx/Z93\nE8o2\r\n=PgKV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13_1608631530273_0.4021133343424417","host":"s3://npm-registry-packages"}},"0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf":{"name":"@preply/video","version":"0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"50a34201e31003a6f6f77924a15d8df566b3b577","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf.tgz","fileCount":700,"integrity":"sha512-OQDh4NVhQCCz3aXiz31rdcvO5DeM2tbDYjoNfNZRU7EutQd0SkuNdJ9W2CuZ6nrjnfqTw0vVLiYnhdq6gvJMRw==","signatures":[{"sig":"MEQCIBViGaeP0H0BnGsjwqf7cBJf069wlk2Xlc0/PBBuwY0VAiAbh8X0xWbiPB/Tzpt6R4ME8Wtu5eS3IntyFgjHAEuqOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18717142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4ctaCRA9TVsSAnZWagAALyMP/3uZxeX6sEtDCxoV6e5e\nKGiSllVG0bvL3V0USE8t746gnwudDAucrzvWOR97ItyibmcnnIWSh4fCWGmB\ntSrvogeORaPylmstkbGOyrwtb/AFpne3aO3ryZZmSXeft+0gqHhIW++LUm3M\n9lHJxh+3wDNeUseoevmjTi1Al7FDwdumWDcbYt77og9ofLxF6S4oXJqSoxYQ\nUXD/G5qS8LG7IMLqcPngaC0vlZ7HiLuMNct1R008kMuxCXNUNPy67F82IdjA\nwvhBglX8KHvoUuV6JtrKc6HBvQXX2KF23DqMn0z6fBSYcgjOiGDkUE54CzvW\nrQyDo4FCM8qzZ+SFOMws00CQjTXDwaOy4kZKUYvoMEZWZez7KjJAuQKXeUtp\nSciw390PSZWHiaQG63so1yDtlb3ZezXmfw1QBiqmHfOGRq35wqJdIpAq0wop\nE41W0tDyUkH73cTfJHp1EIomcXAZv/uaNKrAJzEPQWF8FuOsoag5qpcfLudG\naa26uRYq+dhHiGqSHZgCZEDP7IGMIwBMqw42v2oRzKRxdAOQtDSDLTQgv7NY\naWK3wuwdkRZMZtqkSldZnbZzgrOt9QQ+s3h9PoBUddAfubP5Sny4sCZOS6JR\nfkWR1DeC6vv16KPz7nz8cgmDcTzHyZAx/+sNal5vRLA1XplcEq+zOA3+tGf3\nQ7U4\r\n=6Orn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf_1608633177201_0.4000075111546957","host":"s3://npm-registry-packages"}},"0.0.0-beta-7664b68efc46345f930de8ff209a968328131122":{"name":"@preply/video","version":"0.0.0-beta-7664b68efc46345f930de8ff209a968328131122","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7664b68efc46345f930de8ff209a968328131122","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c2da526c767f40da0cb39c404ef4607398b32e52","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7664b68efc46345f930de8ff209a968328131122.tgz","fileCount":700,"integrity":"sha512-lLv3x60IBqQ3Ty1nVBGiVHhajT6OxedbbPvGexeYdsGaxWwEnjRJhfjKkIMoeJBpTYPke84SIjztRGixJq71Iw==","signatures":[{"sig":"MEYCIQDnhG7kwaqmyNvoKKmAKVUTmWGaP+J+if5whLZSPVJd7AIhANcDsn0udlCIyd/T96vgcIZC0vW48O0JgTtnLPaArXXE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18717142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4dxpCRA9TVsSAnZWagAAwOsP/Azdtj7LXLiZ/PRL36qE\nDkYrc65VAZnIuFzno/xQiv34/ASC1BzjjYFjEB3sFzDZ/P+XbRjT2X1GHQhk\nh9Kwu+dBKaGnW9oiojMuZnxJU6+FJ52Qv+nBaiB9IVXmU4PK6XT8Sy9OMdwB\n3mNokLWkWnv+hhCzZVzc879XmqG3lmXSDbMybsbKfcZts+p34wBK0Mv+AMsQ\nMdOE608P0/YWzTiULOdzr/4qgiBuOiRY2ptG/ZTLPKRIeLvr1lyhXEXXS+0G\nr4JO0Cb8UxVTrTILLA+HjozTrGn4LQRW3+1XZrxhTG2AC9EF5q+iNNjKxUE8\nsO1/c4MkpxWBHetA91UfvoclEOv/UfBTg0NVuidkg/m6SsRGobJylLuephnz\nuSPE/nA7P2nQdZxvCr/7E4R2ZL7x4cDSaPxJ63bhSU+yVICbp+qsy7qUQ30p\nDxQEHKs7B0jx3a+IF+29RApdYiLPh+hNTtPD9td4lCTnM+3dW6h1KdFpFXjm\nWeAqzieHZz1swUh6Ei1k8HjV/mQoWG3m6VVRZNlMMtUhXbCxtzWHJ1WzqLcT\nHs1SLgHr46xCeWs78BrkAOpr3s0DBbYX/iFfxJM4ShSa2RzYCeo4fX2I/jDV\n2L5AIp+G/xlLRJXRBAn/L3qlw49y2TUVv/WqSpcz4TYmf/CrJvt52aEg9H4b\nfls+\r\n=oIK1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7664b68efc46345f930de8ff209a968328131122_1608637544305_0.8720385620820921","host":"s3://npm-registry-packages"}},"0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9":{"name":"@preply/video","version":"0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4fe34d3f4ce8867765cac96279d392bb55062720","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9.tgz","fileCount":700,"integrity":"sha512-unMNgyLOaUWdK6Lo3qW+tfAxX5H29/dMuABi9wL/ECPU+sLhzOiRe1CXXIe08Nfi83ijU1ZNZXEBwUdqP4GyBQ==","signatures":[{"sig":"MEUCIE+2aTfH8U6Y5rOmz6GObkoT5a9v4emW0zl/lu5XfxxDAiEAiH9DlO/3I/3XcGr/2bX1rQSMUelJJGP+LJCObFXCx1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18717142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4ewTCRA9TVsSAnZWagAAEooQAKQ6ZbiReeomWmEBR9Ea\nxnBtJC9DvbAUvRGwZ9+9v4rylbg8rbCZjE4KyiRGjoxXGZ8rfmXB21T92XjD\nz+pHCpNxDOnBV/MQMOK5UgkNEYvnBipHIW5ChCQ3Ta1fLSzm4VdSBgXGAxit\namuwxeSdKMLuiqYVylmImTGozydtGbwxmpArNpxf0PeqrD6+XYcu6lJUEtf8\n6hEeZ5c4YEOJbB+rFnEaP1UOnxcaMRcnqpfUeDSwW88S6R1ZoqhbeL133XC8\nJ/S80OOdOr2C2WzHmdpVH7Mso4uC+Ep+LeC0O9m2UrGNc2hG4jfhVGq69Mf6\nh38UCCh9baRY58YFJSFEf9wDz//F+0JB7NeJfd48HH298TXMid9CXdamPtjG\nPQ062GoJT+yLvRa+E8HXlpRr6MvDEjX6VTPX4yHWhZwQP2QHA27SLtf26FVg\nMvuBXo9Xjl5rNSQRimtMA4SBnDJO9Lb+FYLr7HK4uPCrXdaBqmFhe/L5MnTk\nEqb0WKEuAR5ndfya//K7cjWGcIlcLf2evUPcYSG6aVCf3RMsmMF7qQn8/hMA\nhrJMS3a/RxeNP4z9z/hJ5SiJkfl3m4JmhHCTua1gCHr6/MNFQPAMZW4T3P5M\n/lHh9gTL7ZAN+xbeXt1Rwb5rGR0WJBEvCIYmRXJGJ2A3wgSOKLCTjZIHHSHY\nHI6B\r\n=NnZ/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9_1608641554961_0.6330613786820776","host":"s3://npm-registry-packages"}},"0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580":{"name":"@preply/video","version":"0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6db99ba132a27b4632ab25b9d118fc99f1c994d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580.tgz","fileCount":700,"integrity":"sha512-ZtxNmEgo7oz1X/p2dJM6VDCCgglmMzLf69G0DozeqjasEGO9FSRhOm//j1BHK6pJ15fw8iCpVtUjNv2cSANc9g==","signatures":[{"sig":"MEQCICIdbhmol8bn0+0vllhXsltyRTnmLY2ABhKybzNJAUFWAiAujWFMs98uZ3FhSxfjv4o+7ffnR+q8DKO5WScTVosSpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18717142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4gEXCRA9TVsSAnZWagAAoFEP+wXXtGLluGk3rawY97S1\nOo/AbMTDAHdnG7Wdg7Ox8p3mD9IeNB4aqNIN9GhAcn+Nu/1XfvnrmZXIedYF\n5rt9ooTx3JksqFnGyDK3mLfVmkKou07BvH4okq1lk1ByTkCmOz4tWXQth39m\nvTTfmtJcHlOUDLwOTHfGMyE5pfwsJ+FsYpd1uOdlZoc24sCqlw4EgxGwbcDo\nvlKXWcBSMGW0aGGnsa0aF8lL0/2r6zXc6/uNh6Cv1Vsx/hJ4BnqzQgqPmeLv\nXnvNp4kUcFy/4b4HQZ/a7ZND5eo4WyCepqV551aptqu9POxuOVLLHgykRq/0\naEyM2russba8e55JsrOzyunjtk0YhLn4ksN7a01BDkzxBAB9SRrmSkx96LoO\nTZ/QfxrFQDdASlo5mZGXqpgifMtLJhV/ph14CvDDt9DGPaDpintAnb9S7AMY\n6/o5WKxbjqJqMeg8GLhVNjuWWYRNeDSTTGzVIx0Z/gzsTCrUCt0fEzlkppf7\nKAlq6p95iEkuZ5ZcaSH0rygplkjmnrMjHNdCRxwfFLKpSDsQhX3pCQ5LX1hl\n7uXyR8tOeSCJyD8bZakkcvGQtbg0ZzGgvw+Gt27th+zztJC+Oi4nmUQrR8ci\nLKsJ4cteguD6NWABR0jtCOxrVCZTUlgh5xxIeFVyMS2IbukSgUPRgUKXlLil\n0A6F\r\n=P55d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580_1608646934617_0.7246987844503314","host":"s3://npm-registry-packages"}},"16.0.21":{"name":"@preply/video","version":"16.0.21","author":"","license":"ISC","_id":"@preply/video@16.0.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"87f6a799814f2de75aa8b0450413b3fd4824d7e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.21.tgz","fileCount":700,"integrity":"sha512-2kdlDu0Gn9LdFWWKHcBOMgvD6+I5FjtpdXt4msp6m2eZeGqPqms4K4kzgIqercBINKPoYxsV8OO1oXEFgq5epw==","signatures":[{"sig":"MEUCIQCD1kFMzhK0L6Uo33IRFKSJ8W8i2mHosbgQNxBbi6kCMgIgOyKlJhFtmrURKBx4eHLRO5yLvXMVWyXGawC2VvKEMMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21069872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4gVyCRA9TVsSAnZWagAAcWkP+QE2Kp7YpDdTG6RW7V+s\n7iRq6Z+AE5/kt6i981nNKFUgCS0GbB4GUpH6vwiCbdvSxopao4wDu5oQY0zU\n1fiH8/HDUK4RdcM/GQ8viM/s2DHR+PBYDuq6eZfJQXZ127+/dHcgcvwiAvBW\n53+Rj2M1ueApw0q3Oj5J/IAQ1aL0ZgfNqqr9f3058McFioJQ4u4VjQO7Oxz1\ncWtZSUu6D5NHBC6Iz+NQkcDz3cIw32V65TrgVGIDWfH06RNhuqiOm0Y2PiLT\nvBc30bjQzCkQuipSzBIOiFZkvv7QhXhVItJAE8MeKveDqB2kgbS3/x/hU484\n/RjDzWV1FFvj4k5R6toHTm9Xip73HQb3KqzR4aRwaQ1T8UAVCUkiOQBQKl0y\nNMNjkLN0do0KYcVatoSjKmNw3P9q2iwnXR3MvffVD2Wl4ewRx/pozLVmLG5B\nu8ozC5UXwV3iA3ZmVx2Hr40hS4QLpXEpxQDmxy9hf0AkMXQr4nd4tsUXHPOA\nA80CFHJ1svbjSWniLk/T69KLwC+rpySvjehGHQmjQKFv+E0T/Lc02Tjpcv2P\nSPRF5g/Hq3KUewZKeRKCxJhFfQ+Mh9P6i6q+NV3tWzEIYejhOHWat+g+9Z8o\nHtWfA7KDkrrTK6/cyTDKqTapGhST4cijAxM+ZvfAB5QOZKLHV89ASd7g9Hiu\n42VR\r\n=EvG2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.21_1608648049777_0.8139126842935076","host":"s3://npm-registry-packages"}},"0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8":{"name":"@preply/video","version":"0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"36f2e96c144cbbffbfebe28c88e288f70af11c2d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8.tgz","fileCount":700,"integrity":"sha512-wzJQ2UUESIoKZj19Krd8uT+BtUl0vKXetgslVwqt3/FzKDQ7EJepHgckbRvOkqKGpdy+9/uB81vonZiqSWNMcQ==","signatures":[{"sig":"MEYCIQCiZ9VpfdtC01zeBlPimysNLYU2xOK4YrEMk1Ebejp9ywIhAOqy8519TKwDob/mIkHRTwwK8HxN2ZbuosmCVPQJIF1w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21068941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4grBCRA9TVsSAnZWagAAPpsP/js+kQtuVoutKTYuFZMV\nEzvG5q/HQd2teY0cVavCdnWtM5zZuLZb1DSxGRFtxu0riGMfiGB+37toZgR7\nnTDLmLwqm8EThaFmGcAUAn+9f3jPN/fd/JUZcutYwFps7uj+aqIraU6bv+ze\nbWmX9oNr/xPBJ0P0m/FDHDdIuwHqmi4mqOfo8Un4mjLGM9Loi2nBD0kor3Es\n8gRZcVRf4Yp7427GA/tfuQ9BqFU2JJh4lyEJrqnrX4ig63v1cBoxTOpFZs0r\nmKa0CbIxf9oNmGs8IpwZIEfzn2kW8tCoCWjwA9yJ6VeQHRyydinvNyyHfYLI\n/QQehQAYfq9EykWQ6axe7Edvt81sx50xdmXYwXolpfiOHj74jUf/rnOi7gz0\nMCTNei2IKXNaWmw8mqQcAQiuW/LnJD+4ecV5D0GIf++L+rCW4SiZBxrDdb+1\nZcU+QFuVeyKW58nWBFcGSXcnAnbcB8wWrm+6EDkz5tkgOwXXkDItKh5k1GhN\n9P4mUc2PgHyRbQ1aNcrT+oH/dKvsd3Rb6G0NRwXojt3UViBvzvKqDPL8qdyI\ndAmCJHetHltLH2kGlzjzemgPv9Y8MpVQZig0IJFsPMCisjRk+rP5Z6ThFON/\nJVq1NRDxLu560KCsxW2kdE+1wgdM5q1BU/wBXGZZQGQ/iUFEFQBAPH2J3iBy\nwXZQ\r\n=OioU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8_1608649408131_0.3184056368874262","host":"s3://npm-registry-packages"}},"16.0.22":{"name":"@preply/video","version":"16.0.22","author":"","license":"ISC","_id":"@preply/video@16.0.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9de2b4cc6175110763f2518defde4d656089a5a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.22.tgz","fileCount":700,"integrity":"sha512-TYQ4JsbFBIdo207714pzAkHGD+a+6i59svhRLAI/zd3N7yJoHN092JcbqPrk3931IaQ0cEBTszzSOsGlLjrpEA==","signatures":[{"sig":"MEQCIC/DnRql9XJuwkOBMHu/yleGXWNFUUvgjHK0sP2PS6AhAiA1nywoC7ATfHQp4ViIPAJdeUt19SclvKGRM3/XcSto4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21072281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4j3bCRA9TVsSAnZWagAAyNsP/RWjV5ZPc/MYuRPJAK2j\nO0/+/n31aTaQVxidDiMq17L0hMUo5MgqCM8BpFeD3K49rrabLBSg5k69eJHZ\np8c8cSg3mOki8wor58xZFTFBAhAomdUws1PIhty8fWechKMEbSAqvrLBp4Q/\n6cvGnx557iIv1OnbwHCpnZsSJSUo6JNM21f+d+CrJfIzDGOkmcHx+iAMUUhI\nabF5yDiAEfg0MY4c27az05PmauWaqvxFSXfRG4s+wI/gWIdrD6bgdC2HkCjn\nPzJlrSeWma23mnfHj6OnBQw3NEXWIOZ3c0w2BUcel3EsNQCHr65q6qFNn4BE\n6TTAswgNw4JJbsVjyrFr74G4lBaoUnV8EJdeyOt7Q3sWV92R4AM/N4zq/Ynh\nOHcnUeuf6bb693f3/JVdGivOlG+v28aTeoxSVYyKCES15dRfBiVJRBxr0St0\nPCFeHRjE7Q8gPvJaR20G0N3hVjnq5LuS1wifzaQBdCP+vYBMbJVVgZ5Quo6V\nrNSCAOUxF1fAP49bjUyoDKyfSKgiKS3H12pJ4JMZulQNMYd0RVrv29sYnuU5\nRAYsF8Uf7RRZe/RXyfLzs+72NRv3IxPG6gBcdWZ7XnaOjuKXFt5s9pvZMQf0\nwfcc9UqIAQ27j6+bxh/idNhGS7XDy6LWIzKuQPmoX7RB/uWboLSRdSjlMzd1\n/0/s\r\n=gkvB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.22_1608662490431_0.04162041290643326","host":"s3://npm-registry-packages"}},"16.0.23":{"name":"@preply/video","version":"16.0.23","author":"","license":"ISC","_id":"@preply/video@16.0.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"664d32d183d4a89780d00b56294d65b1facc7458","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.23.tgz","fileCount":700,"integrity":"sha512-oiITU+8nc+lukumN0oE7PebOcAWWyAm6LiH11oA72ZS2A4KsVONmUOcFWIj9AJr+sEgKmKlt+ORVoeUPkZcKbw==","signatures":[{"sig":"MEQCIAFSECDQ06PvBT04xVHamPnS830BASI0Wxl3DfbWEyjKAiA8SMMF4REb/n1d3TbyL6QcFqalFI8GCZKOj1zwxOkzfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21072328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4uCpCRA9TVsSAnZWagAAir8P/0Gcch30hkek73k9qyT9\nKA4AqsbhWg9KQ6pogF+PMA548sn1Lv6pwuqvg6tQuzNysLBZJCqJ/jyuv3ls\nKzmpT/tIcwgsDKGBIBvS5hbdm8E07wwLfw7uuPA4j6vqNoPnDHqye+J0+37a\ntsaHeP5LqlC/Xc8O0OK28y+xVjijXA3jClBHUpo8iJIodWm7EAc4GPO9BZVe\nKXqFF4mPaqA/uwoW2sdScDUnSSkd0uozOkI9H4ia+MLa5VC5qjckJf2E4lPg\n2gVJOS/qpBRbQxOl9gd1Y/B2TKzvxPr7ApKcjyJuwN7saMxr6KknScNEZHHL\n//VRgGxd/Sh9taU6meJx0cmf7PKZR1b7JF7cVCNPolFFCqV3hVGWGdx7Y8Sj\nlHGiOuCMQiRSERY7uo/yV+NrxqutH0TlwONmATuitE4zba4EDiqip2ohrFdK\nYNyia9Cz/Uq0qQRLwHuHXsbtRhUezU22rrPzrrgfGoe7KLjAgnB+41cRL3zv\nVbEysqU84NEcxnfiMwvBXOY70epFdybQoa8zYYctQNZdplvvzVSvKNexh8VS\nGbmJROeRQRWSZ3tv6svYqdEhRNIA4rvynaH3s260Bo3XDQjFxDPiZuRNcwgy\nhkV1xR9mdhodpMXcY8LxPkqSlQNO3g9+LGcfbJijG0KwZZoVmE1xty9Aaa4R\nYkB1\r\n=3nk2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.23_1608704168910_0.25064642697991935","host":"s3://npm-registry-packages"}},"0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77":{"name":"@preply/video","version":"0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a394bf83f09145a557acca96099d4472a07b48ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77.tgz","fileCount":700,"integrity":"sha512-l6+7swVB7PMOU+dWrhsnmmvlX1YKJBgMtuC23Df5Xdw1iukXSarevSfdKLuoJwnPFLDiXLZs4OdgSsekl2KgEQ==","signatures":[{"sig":"MEUCIH/MZr6XYvy685A/a4k1m6tdaQFV0dbIH4ewSaS9JuZeAiEA2mJLc4G5XK3ctAJsM3aNGNruuXqZDH+tEWYA/J4Pwp0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21082409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4wlzCRA9TVsSAnZWagAAjMUP/3npHycmG6n3PUKJSce/\n4GleXGigDP6S7wSglywIsIKx96Dyrlxou0t9bn1ugjIexhTTvz1TvmqX9m/A\ndCkihxQuhTe1zvZfFK1XRVJGz4lTa0UQdH08FEnt7f9Xkm9eFpky8QOi5CYK\ngFyiocnegFcB3xyi1lfIO8Hb4K05dnUFOAESBQEvCcZofCWq6hXpxQtJmOEC\nKSORTFUkpDIhhWIVUmUzgwMggz1QjnSFvzhs23FL3k5nwt4IkUtHAqP5xj98\n9fONrUIPnTauRx8ZqYa0D01A2dyS8URLIcpqNXsjfW7o7rESDf6ST1BysN4k\nNmx48NV3absIKLm2rmwDLx7o+9gK9KVse7zNjv61VYpVmmxCk+3JZDZR5U0l\nDgtCfnCFa1xtloOpUbtr0ZXsXY2Nw6mwmJJljN9j2SMktR01q8ElOayLtyEG\n8SqxFgbCOfYw62wIpKies2WLGO7ClJ0OI7fjJHUhxEl95A3pN9GhBmZ7tJfI\nrf2v6GYh5KB1rHawEto5fnLcatiewesrcag3N07XKkXveXCtECQu5+eYzKus\n6VLouH9apNgEM358dHPqrONBBUp+mgtJ1WjReYH8mraS8E7dc7w8VuHE089/\nO28BnxzL5lBYqbeqw8dzFG1shz5lXs6YN+QCuFzOBpn5Jeh4pO21VNBdMrhD\nrhmA\r\n=6yaQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77_1608714609575_0.37721887330203985","host":"s3://npm-registry-packages"}},"16.0.24":{"name":"@preply/video","version":"16.0.24","author":"","license":"ISC","_id":"@preply/video@16.0.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2da8878f4806e23eb153608084ab0cdd79bc5365","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.24.tgz","fileCount":700,"integrity":"sha512-9BxoDWYLzeVIR1JOmeXQdHTcCfidpDh042FXWCZM0+wF0+i8dYsyIbj9dQsFdv03CPKG/LhMEgVoLSLURig25w==","signatures":[{"sig":"MEYCIQDgL76hmoqcZxGLhvfAgYOhFbEwy9npCyPc7wgBSUGXOAIhANspKadmbIlrPDtQv89FictIbajEjD2/WaiaUrH3U4se","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21080475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4xfFCRA9TVsSAnZWagAA3PYQAJUu6csI3puRnXthQd1t\nOE++6NGiEAhDcnSA6bzLHDyQqv8NuPyek4i8JzfkjWIVRAlxQOb+VJY8pKwm\n8sRgnJhoRmbUZZ1wM3VrC4g3SwwTnugIHqynUvJhNRjkRyCeuHDQG2kKrsD/\nusq+Wh/OEtmdM6kWl4SI8QDbpILzaq2C5b6aXONZNKLDdqsze9IGMphcGZ6u\nEWWPWYB4F/7GvFKJcs/2jjnuj1zn80f69hvzkgwukC/piBsGiJNmyvCn3VGZ\nuvShinOve2S6c1wb28uNjk3yBscItqXQvusMuPM7lzzUZwY/jfrm9rdhGy7f\nlj+lNEj0i8oiCJR+07BJtu2rz7t2oz4A7iEMKxSjfFDt9qJFbFOAo76VxyNX\nFW9TVFOb+ZO4USf4ejg0MyZ0T6q69KJiHa7i58sqE6JzLd997gylgNonDtWG\n11QOe9i8DgVSU3lbTEf+pJbqp7sdfZ0LBlN16F4SLYmuSv13LVRFc9hg7nLh\n3QOaK/WQ+Steq5VO4fQQuB28pjouZEya3CHW4bqp3vMmK7thdhIe4w6OTlmt\nHVPu222ZlbNoLCA0IzypZWQe0Q45ud716SLbXKdRkd7VFsNewLiP1XE/gD08\nUW7HKAtr0BEGVBtH55RubhayP7/jpukjht+9OU+Z+dRuUg1J3z0HjtRqYZsJ\nnBGp\r\n=hIuO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.24_1608718276157_0.26165990725481003","host":"s3://npm-registry-packages"}},"16.0.25":{"name":"@preply/video","version":"16.0.25","author":"","license":"ISC","_id":"@preply/video@16.0.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5a542e4164966e314c8e2c83b2c0ebb1fff2eb00","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.25.tgz","fileCount":702,"integrity":"sha512-HfhsqEb7qH5ZIDTIuVLQKL/HgWyohJ1QS0idHGYgNXwup8/PUJ23T1LXSxsmnxBS2G+c21ymnOxqv1oTPvFSNg==","signatures":[{"sig":"MEUCIQDGfHBvGqPnkPm2nag+jyGOdJ019u87M3uCOW8vwPGakgIgNrWYwS14EQqmur+aiaDQy7UObCPUV92htVdlOTHtPNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21128115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf41cZCRA9TVsSAnZWagAA+BYP+QC1u0C/WM3fZsxCrCZ4\nvpN1loYpqzJZH2l5b5VH20ZSTwN44vPnnXUz/0lFsImkWXJYguo/kjhyKjBt\nXjCd+iAxLEnYdofKVtPttANqw0V8EmzxsuDNTw7YexRR3NSH9ib7X1k2gUIx\ncohxtHqGqnvj46NKr6RgbVckKPXGboMqpOcESJ/ZbweciCQyBUUEK4c7wpy5\np96zuIJGpCXIKuIXIPxTC4WKZSx7QKX3Lo4ySGdWLw1MyrnXQhAufXi7dh9K\nM3V3rxahkX94LDq3sRQ1SmmDPW8seU9+ZZ9E3mAUj2omXjCi42l6LtDTReVI\nUJd2fahzSyeNglqxp2B1lgAS5YIY7e43lhWhbjwkDjXWs0u2wUScUlJMQNkg\nFsTFUnl0ILBQgeS9Ws+vATGyHOj+A62r67sk8G9SB2TDLNAnnkUZxvYv5ZnE\nWgxGgNUqTb5L4LA3DUf1K9D4lCBLbylS6tisnhaijOCoN/sK+gXtZ8g3l3JY\nuLrZSwP2xxUzmalkzLBPEQbIez96EmrtghJX5Z0A0UKsXuoSYdWv3+E+5wch\nQkK++BCaR04erWGYqCzj8K3F+jBE3iiXZlZTGOIrFjAXm7f9wrGwdCHl6BH5\nUYTCT4glTINM16sFZCbLoXPDc45DawqbGFpXyF1olXex1U+Sd1KihCoo7uF8\ng2C0\r\n=EDR0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.25_1608734488709_0.1964081135916922","host":"s3://npm-registry-packages"}},"16.0.26":{"name":"@preply/video","version":"16.0.26","author":"","license":"ISC","_id":"@preply/video@16.0.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"610d70b3ca878e47c89064041169db79c7dc9ab7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.26.tgz","fileCount":702,"integrity":"sha512-ySEhwzJZZ0zZZ6+CknVGSZvGgYlTjaR3bl0bgBJXLdic3Pn/2lerZAmUHJcAgzWannKhFSouaYbRJg84+i6Diw==","signatures":[{"sig":"MEUCIHGnVEpIYw68WapFwQVaHFo98y4t1mhUY9WPuVVtROJOAiEAsgxy8YYcdGX0o2SOzpbFaSb0gjofmSzZDW390ZF/kTg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21128790,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf42vTCRA9TVsSAnZWagAAs4UP/ArM5Ha39/OIL6/OqDwL\nuXSHGEcJEPCQk9KlzTrlwaV0CWjJy8hec+vZrj/6ldE5G9Jqcffv4omJjHh0\nw1fXWsVLJ8i5UVXISlTWn7SfKjoxqWUMkSNMSoxU4lKSrRlwuM9X6MsEOmiW\n5Pt275G9IBui5VWgkDsxPf3cT627wkKzB5AhaN4WaWZQu7RhkFsBZgzW/ZAC\n1CFHI89j4V1Bdo9q088LHSx2i5Vynb1qVaU0dtQSI6YXjdtIABiHluS6UaMf\nOfT+wskCRB0XRNOYrdtYeBq+sF7hIunrjtV98rqjvmQSMRJSLhAbNSmWMrTq\nigxpdvFUGYj/8AxQeqv0MijTSBbqJCTiNaNyTzMt+0Irs/SkJMlE7y8AMV5z\nKvKlV1ZiwfVqPIJQjV+n6hAH3xTweFf1q+L7f+z49z10l4es51KsjPyoy7QM\nLdPZAFnwk2Na772L8hx7N1lqXfXS8NHleI/di4QF0io02KTJsdGaRZ2UfLE2\nPdx+Pn4FYz5N1esEBS5y8MlD+cuykVtOXIfew/DYDQ1SIxxrP+39JU3bSoci\nUuGqkP7DTQTqmZrCAW84L6Kz6bmSDUpeZxzYburDvJzJ2uJBF+hVHsahUOlT\nu2g3Iu/WA4r/QzsFBeF71AhKPJ4joYVTxuldCoLqepZOmld/TDqOVqY1gJKp\nEb5V\r\n=e8nh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.26_1608739794853_0.021175847559823602","host":"s3://npm-registry-packages"}},"16.0.27":{"name":"@preply/video","version":"16.0.27","author":"","license":"ISC","_id":"@preply/video@16.0.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7d67b7e42fecb637a86786f10111a9ffea89bb35","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.27.tgz","fileCount":702,"integrity":"sha512-Df/G5Ymx18HkXoBevRoW867BuAIRCIT22ofx+Dgccyd1rDKgOoxWoTdnTctpatF69bvyFXk+ZkvSqWU2vu7nOA==","signatures":[{"sig":"MEUCIHi0X/1tw2wtSruRMSJkKrHFyc3jLly/T2pTjqsaWOMDAiEAoZRFr8zY9YfDlW5P5aq1ruZRfn5XNSQgCYQO3N4fd4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21125955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf43tyCRA9TVsSAnZWagAAQUEP/2xHgUENl8xQnReNijnw\nV6owwPyvE4Mv4LL+5lUuHAmIK/2/CzETEhyAna3ClN0ASN4+kfwHXi+ZLazu\nSbt6Cl2F5zv1al2nc+15PVKUVRXF/6K25of+KtRSDbUHHM9gXXRRc1VHsjjy\nq0Aqe1GkCUy/JyXG81pgf8uLrFIMb1B9FQkdZq6RzlOZ5hKWmWwkr0RTYjYK\nplhXXDGaraRq1iNdkenqmDQ5fo1vczAVmqQoRQchoGFXbGzWURbgyG9SWoFq\nhWmLGcBshNYD77DowodZbLt2Tlz03CO5MhJG2I5LtzEitkoSAAVcVUPODoBW\nvey5rXdCcCJistLW+f/BK18U8s8xG6lss//1EjPPT5t8mYqkYSopGLvzqLRq\nirbbIT5Z8tD0VdZZjzTgsuZYuT6MTASS4xBi7hhHES8K6sGuuSBj/4Kry64t\nTnAjaYhv7iDt0YEucufCxTES4S2iyiCpgyTl1xB98eJmYJ/lE72kBFyCz33n\n4d+35o2AYBL8vqpRUU1DGNXSZelZjRLf6vwFbNl04D7Q5qV8K47B1kjB8n6Q\n3LCi8oGO/LmhidoFCgQaVdSpXgshzwYgXcSThFeO3g3JW77qR7ntK1nM2l9N\nWwJxCh8rWm/MtmId+1B6BtAjfcc+TW3MDbbzv75vJ04MdVMPB3q7hKqFrRqk\n0pIN\r\n=JQQ2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.27_1608743794001_0.7912864372602733","host":"s3://npm-registry-packages"}},"16.0.28":{"name":"@preply/video","version":"16.0.28","author":"","license":"ISC","_id":"@preply/video@16.0.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1c30d9b6e0c19605a81126337de0b97c00c6ce15","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.28.tgz","fileCount":702,"integrity":"sha512-GuWKfRGc4NL2phz+YzqcAaHkdF7Kb9UJW64kgLOBPNFhIdZqptJrptOsQiTt8x89KjRFA2JvryysFq4v3jrJ5Q==","signatures":[{"sig":"MEQCIGFdzGE+DFrjbvDPzvlDuWvjraH2MqKKR5NNzC9AzyMGAiAYF9DWZfnxO7x5U5yTELgj4J+nBaUWKa1TmJr/XwFURA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21129732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5DEbCRA9TVsSAnZWagAAHukP/0Z6eX3Hyc4P1ArBax6a\nsAonwdP5FSd/WGINVGpNOk1e8KTzNAHFTr9pTNLJbvdbVGCFmZSoMXezcy6l\n9A3mb90wOX+Z5hkOKfJ+AayZRJGkRohiJ8VaZvr+XGpkV1Ibt1WD3B8v9OiL\n0XEfwSEqD2Pih1+VHrESnh6kvbGClHWchc29behE9ATZLfgGmwKNXb5v0QSo\nOGZgonnp4PZw5a1nP04uyP6KNP6Q2/X7QDbgym2wHfeFMRTli7GH25PJ3xuk\nuyZlsJ6T02NyI0dvURE+tfpIrWsd61r3xn5iWEk33hM+QcyLf4xCoQMngfSl\nJ/sly3Ev146oaHs1WHwzqKIL6rXHd1kgTDuFaZkA5+D+X25LDrRmJdOc4nHn\ns0RYraACxgl0iNIfkydASsdzIozxQaNCxZDEc9IYQPf4Qr5r/0fOYGMRZT/4\nHlVFv//SNbumE7bg2EzuIwHpuSrMD1l+oqzjCmd9VCvDp3eL3wi6clt8f6yj\nNV6c1OMkpZtoYN4N65iHNvNA8J2XlhXiHldPwCXRim8L1WqsaH0xsoN2nd65\nkxlSQxQyVhbkilQXjVoL6mVA9bKGa+YVxaP1cxCpR0hT3ZbDWqPA9L2k0LJV\nrjskC9ABArAfziCMK+OG8zDS3pbF3UcM/d9CBR9egBPCXuVmiZncXMvsoAUZ\n+rV1\r\n=qyFJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.28_1608790298203_0.7306995901227613","host":"s3://npm-registry-packages"}},"16.0.29":{"name":"@preply/video","version":"16.0.29","author":"","license":"ISC","_id":"@preply/video@16.0.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f46044db63fb6166f7aeaa561e4e7c5ab1d2e9b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.29.tgz","fileCount":702,"integrity":"sha512-LofwHObvPs2OqwyL/uVzhDgcvfwBOPR87b/CG2Aczhukw19S61Z/gF5r3KOvDOdzObu7QWr2HQRFPU6S8pZNeg==","signatures":[{"sig":"MEUCIQCyshdw5XLEFjPCzUyPy1Wuj93Y2FLr31LKD7fe1KbaxAIgbpz3AwLUbF6llw3Orj56NpMgkbwHxYjDtqwKXdqCnp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21129215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5FrKCRA9TVsSAnZWagAAbhkP/imMQLoH2V7Iq7CPhKvB\nmBhrXH+Wpxg5hVyr4LzzO3Q9VB8HW7QWsATQCGXPVm/4SUf1Ufr9xqhMwy+3\n/il3hbKw8JjKvpaBpR5gBfFziuBtkaAIVl1jbrDOAXsPNZ+U9Bw2Z3JKkd/P\nC1HTYgiZnVPJwLR5gAzmK0mAz0phC6V3+MOmdoilh4TCNWqsS1pf/6pychXK\nqNw9Uibc+BG9u+oiEuaj5D2j746BQWnWpvCRtNjvSkQ9U6tRHyu6QJgMoKKi\nzC2YgvJZ8mqz3e1rHG0Wn987YXVjGD1Ku4rAa8reXKo4YFqqJ/EAf7GHoD7Z\nuqxndK6NUtkXCsjsG3UiXwsWfP4nuQejvLI4tPxqoppEP+uNdN5SgPsK/+U+\n2yFz8bYZL9otNr5ayCwPdr476PY1iw+ZBYt1pwfhQufZnShcBxXMi5WRJCHp\nWdL+/Hvu2nl9jfZwxqaMTL5uwS5+2M0/2abzsVLqJBKYYF1cwXTkuRlUlF2a\n1yD+5V4ZqJmNVjQJGhuEmX6TmQdeX5n+qQtrrRzPDghXI5whlBqXYcxZTa6s\nJf+ZATwhXU9mJCBhCzGE/7PYjinyFY8UzQlIuOZwMxAIAo7nqF44zHZjyBuG\nJmj2oEGRZBqOnnF4JBnL86YjttjwJlOia1Tm52dpjUjy5x6dTl2Nj8HzLxMr\nW7Og\r\n=2Ne6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.29_1608800969282_0.9963412899481598","host":"s3://npm-registry-packages"}},"16.0.30":{"name":"@preply/video","version":"16.0.30","author":"","license":"ISC","_id":"@preply/video@16.0.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"762799c9d354e793e8385445ef0dc089e5d9e95c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.30.tgz","fileCount":702,"integrity":"sha512-F48heDwB16OmEXnT+hukeEFNZEF7RB6fCGF0obFXT4mtl53KWy2D8WMhF9lS7b58btcQvG8BkT37Gt2Ppf9Sqg==","signatures":[{"sig":"MEUCIFIEVhQDMGKhSITaLwW+7yvhIm8ed0okUTqCNzWKjGapAiEA2GTOmgD5Eoa3Du7x/ykLuh9R5iE/JK/4YWBQp6ERTek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21130332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5H5CCRA9TVsSAnZWagAAw8wP/RiRG1F+saJtQtscZOvU\nY5awLwE7qjmuzvFYuIgnZNUlz/W98pRPWTnx5Jw5l0KWvQo1pqujEqe6aEjF\n0zmRUDXc77iPn8IUy5m64/M0qWzgzNGjXjRGXUNNQlyYSJ0PSD7Ofes8xAB6\ncyt/xL9ZCaBIQp7tr5illfCXlDlSypCY/N1zIOadl3TmvPi2UantCr1ER0u/\nvrp4EugAvX3ADIX+gPxq6Km+bj9PSEhUEt/iKsgG5sz2Wc7REljrUfQtKL53\nY5s0U+CA22fFVa90QtsnmmFLdz2m1qOR898CA52seKFMbo2WzwvMrOsEcFzm\n/94a4laqmb/Bu5mlbypQ3wtysdaeJHp7CFQlmFp3dIYw4u5bTODt09kWf0dP\ntVOY/EE/hrZEWVa94XSWjAa6psevUhntG6GZoNOGHwop/m++tStk+w/VTfUK\nl5AQ4YoAnqjmS1kVjagu1N+NTX8kU20qhBJ0PhBAPTc53x4zM+hzuH6hJcFK\nSZa5GsFrKISfz0aXXSKQ12r5i+k/y68Woy7KsTnMrPmeJKeU044yqDjehk2a\nOs4MSwjVSxBDXzgHJ7wz9gmujmL3l63WeUrhXNdyduhBphuEMcme6QDdr+0c\nrax7ymphWMIPkjAk2YznP34P/Wdh2RiCeg3vU1vKj5yTPr0kT+zsuB5cfjA/\nppGK\r\n=mb0T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.30_1608810049937_0.7220100436374584","host":"s3://npm-registry-packages"}},"16.0.31":{"name":"@preply/video","version":"16.0.31","author":"","license":"ISC","_id":"@preply/video@16.0.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"be1c529942af200ce1c41d5a4f483551c8123e81","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.31.tgz","fileCount":702,"integrity":"sha512-v2ToNEsMQ4N0Pn7ggOJrA/ijPBvA1y+GVYaqHdMa5tHqrUJBy5gjN9CQ20ZRGk/SG+2xpWyNxGMp7T1KvL4B6A==","signatures":[{"sig":"MEUCIQDTwu0p+5clY4G9HBcgY4tPXwIvHCN4TBcAGqx8JImOrwIgfVBarlVW6/9C5OP298w3DNkJydBbm331dw9ZJvWBc/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21131693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5IVkCRA9TVsSAnZWagAA99sP/A9iRZyhgrTEP9+u6C71\nue/gz61+1y8pc6mW0oDVytVOuDWysSpBrypVNOM/tOVLAnaqs9cdTn1ou5wl\nuMpYRiZJoszbxXzkAgShZKrGEUiBlF6mRRr8gpeue48uA18Lx1ru9URbaca3\nUaHj4jCiitnGMJ23W3DM+QRG1ykWm2nXbEyzJT0HgRIfC+GNFvfSb2ru0ZI0\nnDxzZL+Hsq++4SBubx4Wp0De+PUzDenV1DdBhs8XMliRFhXu7gx6gWymx5lE\ny3v0osn4aW4EEdo9Vy5HfiOtFzNT6uP8QxaejWW8Zqk97A7flWFSg8v8vdYH\nFUgrfL/9x2Sjiat0zBQbJTKQ5998PqQsgkMF3AUbkvPNZdXs6g8k2zgpEiIt\nkr736LTOEV4g6iY4wDidK0bAvRmxvt9VBiD3rL7A8fTC/mUWBAzFpCQ28Lx0\n4TRJpk1rmNWmteTiL9zl9FoCtF8qZWo98j/qeCylrT0NQeNBEW37V1/cnkuM\nCiZJ6DkwM16dhE82aIjp9qwUkZnvdhYI/Aw75/zVMr+rCxvk465xvSiuSVJ6\n77BxPjgHRwQ/CZHUu8ppZN5QwmtR+bvN+mxl0L72zE+fQYTKOZqNOdsT6vSt\n8xKP/5TOuiL8Iv9bmuNInn2eElqaoXMPrw0G86s1XslldRuejzHnsci0ZdU8\nX3PN\r\n=fFNQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.31_1608811875640_0.5037321091112128","host":"s3://npm-registry-packages"}},"16.0.32":{"name":"@preply/video","version":"16.0.32","author":"","license":"ISC","_id":"@preply/video@16.0.32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0d20512ffc8b4869147b65936b38b1c035726cc3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.32.tgz","fileCount":702,"integrity":"sha512-yO1jO+rJbxTTY/J8ugUudnRJVgiFSwfaSOk0ybj7i+MDe3qQ6/4MvAQg7yqqDR4eiX6kDj4YpY1tN4oWMtqEXg==","signatures":[{"sig":"MEUCIC1Ihn3yS8XKyx9AuzdJtSRqIoMr6UHeGhYZd0E+p9d0AiEA3U/BbBO0jXo6kp2WUjWBUxEwkBeXLSWcc3qkNkRQzdY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21239405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5KiPCRA9TVsSAnZWagAAgw8P/09S9KJxTWQqVt1mYHKV\nFzXKF7UA5LMSt9pgpok/R+fel0owrVAO7w3OXHYRNSvMuP06jisjhDQR0iLY\nfsrcAn73Dm/210yy1N1eM8nAiwJvdTs9qF7EJaBy+cjHiAhXzQL/K3bCzmO/\nNAFxyqSuwDs10XUjuUor1Y8kQPgy0PUb0N5lcFSIjpbRsTNDHHiYo/UA9WU3\nZRBnOMJskhC3fJBNLzedo8KaWYUX3++y2YGLj+Q39Hg0i/m4/jnD9sFkR/2R\nDVbGdTD+Qgq2Pg29P7MWS8XuClCCswaNbZCL/ZitHFCs2a+ls45CwJJNMRdY\ni75WXk24wsYNlQm0cPSKJdtjIjNUYYjNlss9bccuOEVJez3z3MpBssOVjGW/\nDxqq4naCiHdlcgyBQQCA387R9cnwCandL1eMJdgah1qUhe92wNjn0tB6Ejc8\nfvDwL0ty4F+7rIr21tmEfiE2V982lPTRd3EniaHIxWf+h6J9RuzVIybjAHXc\noJgJgZPfSXX/w+uH6m6i0QtLBHjPCxgtTXIKA5devBAEgWwUAJRDhS/uYvod\n02U7N1bPBHOBKtM8G73wb3czngfYlkihaOFo7HIuI9BsJWR0mLsh2K+gzg5P\nlO8PPgYUyzE/WoSXwP7dASoqaw4B0ti9e4uBf9Zss3p9kNDjBsrfE/kI7PRD\nPlKp\r\n=lJBx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.32_1608820878490_0.7511063317957891","host":"s3://npm-registry-packages"}},"16.0.33":{"name":"@preply/video","version":"16.0.33","author":"","license":"ISC","_id":"@preply/video@16.0.33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d11a5ac2aa9101626df2cb1ce4eac588243ebc89","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.33.tgz","fileCount":704,"integrity":"sha512-P7inzMgN8QchHm/BbqWvVxFCGWJJp8gZFTN/MTk1fDgk7t9xXnOulu7ExFIeMh3DTW8mpWDDyo60cNQWUbHIVA==","signatures":[{"sig":"MEUCICOVYzKgdPiFrup1X7P8Gptton4U4VPk4bNosyWwwTomAiEA+3dTcuoHx+ik1Ysmc06NLcRbms8FdESbT9wkdFAg+Z4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21296373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6bXiCRA9TVsSAnZWagAAlKUP/2bUlpqWhAy+mFGQoiBE\naWNLuZBjo+pRF0i/WOm8M1JL8TrsV7xjT/Ke1w44Re+IZwKtjaM4A+ETCgGZ\nhb75k8vML2y6Ue7fqq2k7+KQ4pjjJdtBhoccDO9FvkbGjoKFx6ky/IW7tovl\nNzBYF8lLytKGq9hvCM0GMvK45ykMglr9lR1X3eUooTuRdDNfsMqXL9p/lpe/\nMsJD7loyzr287eIRSth+K3/Z3WEvTKXjcL5kxqXLtLU5em5XlNel7/b1tKvw\n2hUYspCLFw+ZM35GmfM067hL9Z6vIrcF3mQICFC1ZAghVpLLx9XZ5n02+7HP\nCUNaD67JcLgXHVUWIgAno+St1za8jwA3qCYvSOu0r/yfpmKo+xtimt3VxXjb\nIdX3ymbAV8f+VzhtDlAhJBlPtcwbEoLWiFoo/Bwg3igFgX4s8BXBYbk8yU6g\nKkpK9xDottQwfJhsQ6R9EG9zAlR4gChL5i2QsOdbCfA8OG6QyK+EfUuzxPIZ\n/Rmt3P6atG73g0bKn4z14H2cUE//8wY8s8KJoNlo3Tj8rkGOaxuQyS/laJX5\nPRWUHEaxCFE2bv40caECBfNwryURwPkarjMOB2JjYnd1uujvn49u+I6oOhuY\ngslmnBld78BSgCG5euIn0xB5YqZ2EzJ+4/ZD+TwxB0Xu4DchzXw39/ybuqQW\nMm4L\r\n=8j+x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.33_1609151969752_0.6095797225905679","host":"s3://npm-registry-packages"}},"0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8":{"name":"@preply/video","version":"0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1d5b852463add771d5d97bfb8b6001023375d8ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8.tgz","fileCount":704,"integrity":"sha512-ivDAuoWCgKenMhbw1Tly7Jw4sgYfvYYNEfd1S4qPqE2p0Mm1YUHu1J8mvq511jGHt2Q5T8DgkfnNf64m9THGkQ==","signatures":[{"sig":"MEUCIQDhO/jbPAwGj8zgbDdNb9WPxXqQvClA58ti762vsZlg9gIgSTQTo8RfZO+MnNr3HQYqeXc0tor35+ihrTFdBoEwoKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21302612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6gywCRA9TVsSAnZWagAA6MEP/jK9EaBg7CB1cliWVLj7\n0SNe1FM9mdfoYNZBT0NhNV4IPkWBNAP3Iuq9XKjTe08/aA8Od9yimeNe8qRP\nGJsiFto7KN18VL3sPdnuuAD4ploE3hCSPeAcbzDcZYN+hqeh+9B5n6xuqEGN\n5M/0D3r2QWWPZ+IPFlQo3DknRh/HQ+juHMNhNLYXyE21Jw3X1srEhA1skUtj\nq1Kh/OAJtJiIUA4RUuAr/hPrkiz3f7UicZ5xooyijk6oI0SBQ8yUpMBsAiWz\nVr9Plbj37VbbHnMMNRrCbd1hvHAdyyAc8I2Z0LY4Ns/pHYaVbYGfoJtc7oj8\nos4ooYyd6HIBPoqpEWhayn6O+M/kU67GENBYQi2ADfOtRstGmgQIcQ1Qm8Ys\neS52dT7y6EASCNY3ZotIsd5ho2EMnMnIsoEqPnHHGL+MkR2lPxUE+auo4biW\nfJOMa9hrFbTOBeCbrvxqG3tE4T2jmLYKej8RqAzQn74cgeO9QnrMv0/MJK/P\nd8aWsYgEy0Vxs9cJ2ZRKQ3BVsT5Fo80hE8EL4WWZv2pzPzcbZS7ecd8VJ5zy\nd+3wPBUYhXQ/Ua75tsPkiOPr4TZqAscXEyR4408PG8u0wTaJ8PV4rDBfJBfW\nga0KiFaZdWr+ECpZSSwUV3ayJI1rh/AajSwrryqB+lUun66+iJZiXrWlN5QC\nhw3L\r\n=+gkk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8_1609174191613_0.648975735785176","host":"s3://npm-registry-packages"}},"0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e":{"name":"@preply/video","version":"0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ab92c9ae93a3ff66965bef7add71a3c3a5d04a8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e.tgz","fileCount":704,"integrity":"sha512-foXjQU40B+ZHGDPxS0CADN+xa5sTOhiRw4jadyTYHONcSQTSrJ9wOa04iOpAiqTP4BOWy8h62RE7XuAuB7KZeA==","signatures":[{"sig":"MEUCIGRP2dGYvcXdG6IqSxqoUqbOJ4OvtlLfwSSs8jwf2EMkAiEA6DBBF9d2R4QXMzp0QSHoBgLGo5fm9GbvCcD8rkQmA5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21302612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6pNJCRA9TVsSAnZWagAAyMAQAI+tLyL05ugzNxOMiPaE\n0ld/TPSb9hkPPZsj/NRaZjYlX/hpaKTcjTy2ORs7/QB0RxWqF79EaVgGmIMZ\nvmeUyJMLfs5E8vBVpNuvWSWqK8iLB3CMRtiTIbrHRXGztHpt+UPPovs+T3Mu\nz33ghQRZ8ZtYaVP5nVfYSHOxDEUeUF/tTSA9jE6WHh4AUMQSUO8NbOs7Bwas\nzJNxW2kHJHiP0xcnCGXjdwF9uC67FTUl7zV0ib6g+SK4HTGC7U6T4pO9+v8w\nhcdTQIFWO9tJ9l0fwfHDRXea37YsFLd3L/4xKl9D+2d8MSQJITJiikfp+Zod\nX+UmkS/gR0hDr+GSLB5rykrCms7WnZtK6esMoCbUyWTB2RBJ6GAtUiKLozZr\n+QKHGRuExEQyTHA/bsSOywWMdhei0lCK+Jw+Ex1skp2waKcrGRoub94mgDuy\nbjyYLGbe+kZlyofGIVewnZxxXrD+NtiLOvw5cFuh0bw2bey8xPEhhSOVmdzR\n+Ig/azV8u/pD2Y2wgL57A2hlZ78Sbi+4YIIcT2bUxFU1lJaQ7G5roSmx/RgY\ngqJVsETvPTb60gusAFBi0fa29jyvaE/m37jbPW4zT9wvgupkdVVxxbNe8nr1\nPth6nxfjkPxbHIgOaquhcmsu4CElxxi2tQHxGtUgmveuW6nY45uKC6gZyX3d\nHcpN\r\n=ueW8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e_1609208648378_0.45450885672105823","host":"s3://npm-registry-packages"}},"0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2":{"name":"@preply/video","version":"0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ed069cc927c4465717bd612f9e086f91ca1093c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2.tgz","fileCount":704,"integrity":"sha512-Mc8K93caqZcN4D7IkR6TypaHBPHC5XpKYMto6Zrxu9Zf+8CEjD3cTgLJaJNun4G8NSk/W2/d7Mn914PiCMI0ig==","signatures":[{"sig":"MEYCIQCdppUlwZVuWMx5hwAgEPxn4kAJxOElA4ZmiHoTYkevdwIhALL9lPDm9Uo8Ny3e5pk3H8pEGbL3Ulb384L9KAGCg7e6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21333122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6p9rCRA9TVsSAnZWagAA3sYP/1NiLg5HGtfX4AjCviBc\nrBF1l816/R9N6SFA1wphyITB+0jc6FW/VZeq8437i7MpmA8Ci7VURB8aQqux\n8B2wW+JMrETBLjF3oO5Vv1QQ/4drWeN+gHZE5+VJHixEd/ff+wEtop7J3Yfd\nfInB+pF4la9HptLX6DETFYy4Jqn/t8YOm329Z0B8byLil025Bzo6L8t3mMxV\ndOSU4mh3cM1WnGFvYWqL/IqFgiP/0ZTquld9mQiL8kxvisIBsTASELVfRAI+\nwe0g/YMZX25/3/sn8KlQqjhAkfszLbIJGh1bbSrwHCz9cTlkr3nQIvQvxMtx\naiHK3zy7ix66fV9nqTxjz9JaH3H58deSwIYCxwsOlyN5JeN3jlAfGEM673Pb\n6LtS80+wOZLrx3oihYrWmenABlRvVN4BmpEfsdKD+mz9qDCUjcSpMNfA1z81\nkgsUgoLZlX2n057ci8Q4gqX5mqyGdZsac4e2SpTVmkFQo0iHEbU+cyDlEBZr\n3JVY1mEALMdUPG+A6Z6F3l4KTpZ/wFjX8/d0H3KL5dz7yjDOnp4fhAI7R+Y5\nnrokl6ysp9JadBH/HBtuAMqzYRdei6S0FD4abT8HW0O5+7L2at38WFiHiiLN\ntIrzWvlihR4O1KrHc526QD4gcuuECSaPb78g1ew7rxKtjIj3gRbYaOTHYpOX\n2Y0M\r\n=/alx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2_1609211754274_0.28580653986477933","host":"s3://npm-registry-packages"}},"0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d":{"name":"@preply/video","version":"0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"75b350e9b91e982803e76231564f78ffe204a54b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d.tgz","fileCount":704,"integrity":"sha512-B9gFpe3JWg9pKi8/zid3sWjYzHHvs17QBZnWJRsu+2t8Anr5h5hWWd7m+8AmyHMyOgbRryqo1cvFGAaBYEXmCQ==","signatures":[{"sig":"MEUCICn99k+9CrAyXOXf/oHLbR5uXakC0wlvRtGLDtGEzN1RAiEAspJKH2yXkf7AdQI7dR5SO+z0KYgS5biWek4R1ZFcjYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21333017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6rE/CRA9TVsSAnZWagAAsuoP/il1DkXM4qRARid86PZO\nBsDL56RRozpfQLV/G1rY8PVc0DfExS1FQwSkZVZ2lsMTW9kVCDylzTs/RciU\nNSGwM0EMA2MZurTATp0hlmSRqjGj1ulHin8zfknSyyT63v+WdNgf6ADviWsf\nWgpzKFSg46oEhC3A5VjohKn2dxpPhMrGidkg4BbtnODhcOuZ/k2NLzoZakb4\nLkG3RLPClch+uKCs3+ekdGuFB+R72dSCxLPs6l2WCL6jMNnck2qZHyd9S/mH\nHpatC4yHZ8UPykz0L7MDRHI2CMjowhdrIXiXqKhEnf9tW7JqFGZ9+cG7Iomz\nDDVUa3WgaXh2vZoHKSrlj0bCSb6bDJ+5IqXuOFwQXPyVfs9gWJhgzmerKCUA\ni3ZCsOiSM/K9Va/xVdUIf87IPpv8KQaQMZA6RESOhNZ7cjuHBuouvDvyqVro\nRO7HkIfmVDnYQyKWczvTLrMT6FFViqEeIYmJ1a2Qx0M2v6rFfjHc47FEq88v\nHCHlxcwOKI3HyH5bT1zHAruXLXMptFGW2SUT4p4nw+cSOkK7m82thX3JX/wd\neuj8kPDnyITJ3I1/3aUo5qOUQ0KtJF86SoLqIrjMcOzuUDRjvTuJSYFh7vFQ\nCLHHYvRYCbRsz90+XEclrVQiTaCJqdz72mM9kTtA/K/+uTOc/xjKewcwjDAr\nu+9S\r\n=gyAB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d_1609216318543_0.20464887034241985","host":"s3://npm-registry-packages"}},"0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0":{"name":"@preply/video","version":"0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"938aeea1515424a33d6f4a199dd20c5d822be2a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0.tgz","fileCount":704,"integrity":"sha512-aUPNAH2hJDtwJR0GgLiE5qBvypOmMqPwuzDPjqhPZofQW4KaVoJxa/HahYpNi9K5qLbr4IxbjawTiUyBA/IXHw==","signatures":[{"sig":"MEUCIEbIyOJlykzxjq2UTMTbBSXnJMUgRFG5N1Y9YXJOEjnDAiEA6WjjoylC5/6HHd7lzKtWNONe+MXA2E7fhJEviSB3iUg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21338403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6sGdCRA9TVsSAnZWagAAeyMP/3Pks/mo7ZhiYiqSZAMD\nynPuHnUYd+pHguu2wdhjyhE0pjh3PdVMukDewyBtoh5dwMVnkitFF3/bSyco\nX2mdcJb0PEMQws5eLh6Vz/luR7nJUQavxnqEAv3PTckkv4rjeEOHiTCEFo6g\ngxUPXs7pzzBGQQEKDKXDkIslQzQKAiG21nyFaHtJDVSbNlQwnjPZ0+FWuLXl\nvmrlMux1vyr6e4K4rYGP+EELfPFlTNgDVMHGehN9uRpOHwd1Vg8KM4wH4Llm\n0yEDsxNf4zvVFHW2WFqC67cG2n0vf8IPInV4W4Y/YqqeFnQe0NF79/S2/zX2\n7BsM0UAAHGxsgSuW3vItqDAY2A8rsKedj/cB4lBvgcmbiSVMb/0sNsczqCYF\n9VLnaMnk8HR1N9a2ijozNtWY+/d39qEdAm+qjy/UuurOadNayqCh/odKCFA2\n00jiqVvEDGPK34Ax4pPHCbhM2EcqDZRXipjRXBqdm+26N9DNRRBhTXAED09y\nWU/CxR64FWtfRJ6e6nRt59uLOByIeQzMA0kWThRsN775GQ9aAyGcxHVM5ApA\negknX4wCAzyUbR5cT9Iaz6P+0pBPwv7tUJesRdIJsSpsk300YhsWC51/1RMv\nycD2kG6Khd1Nmg7yiQpAdGoflvd2vvrzMtvuBWstFcTr8TUSHm40E8kUaDgC\ncraO\r\n=BZqd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0_1609220508383_0.23727114499688118","host":"s3://npm-registry-packages"}},"0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e":{"name":"@preply/video","version":"0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b0a214a8d86dde3c5e0923d15d506ddf3c2637c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e.tgz","fileCount":704,"integrity":"sha512-hD1qpERMHO3hR7PYo6XtsRD17K+uQcRqx8Cjvm4H9R9fYLjfFt8CPPtzaYvgCf4cumaDMI2RtPTYOjWU2owVmw==","signatures":[{"sig":"MEUCIQCtZNb9No5Iy4H8OgCkojpV5UjzxN1m+JXyWniRIG2HoQIgZ4dMBlOOKdFuMcwQGYxbscZTaTpCR+vXRZ0mQUQQqiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21339288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6s4rCRA9TVsSAnZWagAAXy0QAIIc408qVj46IxvXayi6\nP7oXJJpgNx81WNm/WK/yG8vWw+JBcZJO4UgFFngKNczl4ngD9vW9KMMO3EUz\nJXHE0oYQiM83x3TeAMCW2Q0XAqPXyvuodLETTMhyxTXddTOzLkSxeB7/V2pJ\ndTKCh/SRnmThZKJypMglL2WM/7T285OkXXOArepp7O/9fFXzuRIynKMzpJIE\n09XhvR+8mZV+azsG/Vw/Mf8Pszsy9K9DXtyqQyS2HQ34a+oV3edvKusQBXvF\nMahwYcsDv/WYty7Uc6nbnGsHfcXz9iBzBrWlzO2EZ4Ckb6Mzgup5YfdjOXtI\nkKDVXuiagugKDUua/eOMtwcOo/XuZukS/3fEXTJ8JJXn0V7KiroVQCcIfO5y\nZsoqlv7XrtqkgO0/ifhYvggqw5fxC4ig1bgZSGN9dnuyFK+vP6/iZk3AhTAJ\nTXll3izodey0bnGyH0msYBqMa+MZoJr5fnHjw6KzI/NHkKkrYzT84zLJw6EV\nPXCIFgtnPDjMeWeuGT5vVV6YdjMsguPeuxtsIK6UurXCb6HG9VeVHStyYGgv\nwLioWKKW7lNlr+ovCYgXfoQ+IkMbDHRsFi6HUGJivF4ycRaMiA0VLlkc+R3G\no43R0qhgN6xYfWO0Eex7mr08BwYJ42+JW7XTUDBGZPXj9O4uldVgYD24nybP\nMEIQ\r\n=6BR1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e_1609223722781_0.7172994096380267","host":"s3://npm-registry-packages"}},"0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf":{"name":"@preply/video","version":"0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5b7d3219e97f7e4afa9fbdb0b325f4bfc9035752","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf.tgz","fileCount":704,"integrity":"sha512-xo9poX3jO0mHVPZBH3RKEpMH/TA7nHWKYP6LBrwOKya3folVgFbk2KBPlsOJrAJ8Rk/6/rXUYl0hSh7cvapHPQ==","signatures":[{"sig":"MEQCID2skPrzOWTfcLbdOzKJqnZB+dfYvhv/JH019Cx7UuKKAiBlLMChOwD4oZS5avWS91KZDxL5xN7vIOtGatfqsToLIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21339453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6tgQCRA9TVsSAnZWagAAje4P/iJC8xYBPP97B3357ThG\n0lljwLXZr94JerDNiArB+k+YaeARv0cRvlgUdfGZIxypO+FrR6QfLx/S3Cri\n+X43LjLgWMtFPeIJuIGcxQfPvLZaKhBtkfiVOC8QLw3c8tPJwjK/ozYSU/mv\nTQnKTbaDg7ByHhiSt9AOxLrl426/PdKNzMLx0wfTh58Jwz39rDbJCtY3mKSz\n+1tJjdpqVsD0a4Z8g9Lo4+IPShx7ssBC0DKBDzzXI1jmww6Mfx1adQ7443mG\nFP3T8WwMrcWVnkKjkmQdNlzTM9qAynumpimgVVh44TOIdkBHIxDtBUbagnMe\nQiYDoIAqr1gmCefGBpk5jT533sd5gGwWvjjcgDn4Mk1nsXDnfITKmXt7YMy2\np6LWbvWLRF4uqYrKy7SOjQUUlUuc2HKEi2+T25hYcHWqPUfMs2ycTvziAqko\n5D0uxklUjBhSVXwgPfs5weBVVPnD6B6Zc9h9qIDu8K40oOWGqMEKxHqxDlrn\nNejyaTNek1d1z952q64ah+gIvCUl7e1ezlVhgiVKrVji3h3ji4TZmsFKqF3a\n5Hz8MNn7g00x7FzImy/R4LAqYM89gOvV7HEWED4KNAwDnd33MZ6xjn7ct3az\nAhZUL/4Vcf9r3lQfQnyUfGvJRYokERYUA9ZooNRulwseTqduRHlYHCoN6oVO\n4br9\r\n=BbKk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf_1609226255240_0.6099791407716695","host":"s3://npm-registry-packages"}},"0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471":{"name":"@preply/video","version":"0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"98939c53790803d3528279e79e636cf5531efe35","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471.tgz","fileCount":704,"integrity":"sha512-NTfliM1koX8naDQ+2z7JnrLmx7tTn6r1B59ROz8+4NA//PRfDZnLRdrYHvdvu+pjB3ZveNRWjbpd2a3cab1PtQ==","signatures":[{"sig":"MEUCIHnkv6ukJX+bBFDtwIU011x2mjtpz4Rv3MMmwVgYxnsBAiEAny0uXWVlGyp7Qm6n3aPqOsN/WbzOKDtcLWBmUz973Ag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21340848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6ukICRA9TVsSAnZWagAAmR0P/jwSC2c2qK5gkBnO7JAJ\nqZgknh02EJK0Pw/FyCzkfMluAbsLnq6bXgOS0J7Wy+aBCZl3sCwok7iIrmKP\nKKSMn4fmz7JVyTXxhAyb/QY/JW+0HEDVuZs1/sVKkoe3tP9nF0dLEr0lUbSs\niHdM2NXohRKpGBQJCMadrwVVrKYPaQwxa+zWsQc+zYUgEju6cOlfEzq954kp\nneCvgFVZHnHc9JG3dO5GK2Cv2X0pP1mAqVGRn8T0h6qYnoh0T9jzAg8z6lbK\nuKbMKZTK8dlEjHulazubldF6QmQZqmK8zLjnTqjT/oRoQj/bdqYHjryGY/LX\nik604OWaZJ7SDO4Tbu5E0fXlUaaoASpBt+XHDKr8N2ZBU8NEvjdUlxRamUJz\nzMe2uhODcN4B+Mjm9IOLlK+OTFOfPsVD5G91ap2KghM+fbf2Uz/VWW0DWImE\n0yMXlvwgk+qZ5/R2osoU8lHvTYoqJ05eVVnnDOhvSdwU2WHx1+XC8henSl1Y\nkjDxdy59Rp+iqjg77uS85Rqiy1mu1RuXwZDO4JDNwRJQ51VW56iQuElLbFJi\nZqip3Bm7eediNNN7SQkweJdc9W95Z46T0iu+SenifR6UMW1s7v32DS+K3cuj\nKJ924eTUQLcNRBA/7nibnFT3N2vtHFs7G7QNfmbKGi/A28caHGhbhUJvDUB+\nOm+X\r\n=VB/Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471_1609230599374_0.5224287409138353","host":"s3://npm-registry-packages"}},"0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8":{"name":"@preply/video","version":"0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"64abdd28f2354172736e400671028c4b02d866e8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8.tgz","fileCount":708,"integrity":"sha512-imsbJJe9aPxcN7v9yYLGsKBU+QZDwEaKiZ9AubMb1hSJEAlz7Qi+rkdfBBWnOJGtlh4Belo3CX7vWk4EXJ6Rhg==","signatures":[{"sig":"MEQCICuAmssgsSL0ZjSgIgn/Nxq6JPyWkO7wUmqQsi/z+PvvAiAToNQ+UWIHRmSqErExdmFpvl4p0GZS/64cRTuLN4Ee9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21369953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6yO7CRA9TVsSAnZWagAAqPwQAIxS8kDo5oZ4JxxMR9Uc\n+2itE6XcSw5S4fwiS66UIFlAFTaV6AhiVoB24rv0LLuD4YIFg3ctzPHyWvpR\nePyBkDX0idiRR9ew731LWB7c3ULw8UvARiL9syHjp4Y/mElhI/O66meAo7ad\nJDA9UsbHB4TKyB67XjzlbRgV3eAHrriajWzZFPjWCLMhDwvQUnQrXnfCEvqo\n/3kwno04dhSCX/ISzMDySbI5UuzLsO0Ich5yzIKuFP7+OpTNhU8c9Z7jG2JQ\nlh6A3IVh/3r0dqFmJqG9A+5SwFi7NcN6Ww5Zl56pIhh34fq+1OBv0xuZGIxT\nLonPkfoRDMz4Obt87vXa8ZmT/b/SaLCCgCid/s3xKiNF2iaEJJM7PYV2RJ98\nk39TT5CLTyqUkjrzPJt9Qv+zw9CiQTlph83P1Y+UhCFTe4j4Vx54aBRticS/\nc7dqEcDRLEexBO1H3NPe4uCe9+OJSYp9EKvUXjiXhA1EB2pm0usHc5qqhYPt\n2AS/KsIgXtaAVA8UMC7GsGDYpsCvCBzSLlVchwdDIwSjGm2ptAJ+c0KjUN4o\nByldHNGwKNSil2lrh+27zK4KiHD/raZQNflRQeEpaJvL+XiMEUAnQ0OOCsHH\nBJWMviaGzhZGdESyIpiMhM9YbOn83UEhf0mPq70UbjGGo5MnQ4T4r/UXiK59\nGW13\r\n=dj/6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8_1609245627085_0.35194074837950584","host":"s3://npm-registry-packages"}},"0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c":{"name":"@preply/video","version":"0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7616cea868d90822dca688120e6f08f718d12ddb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c.tgz","fileCount":708,"integrity":"sha512-pfjh36Z5o/LtZ3kCqZrM4PmHuJh/ev9RsYGoQo+OZouuDXTyBFVQpbmZdAuawbpcXaHvw5+Yr2ylVPy/SPBUhA==","signatures":[{"sig":"MEYCIQCBBhu6JzHNixV7cQjNkeUgPQ8WDb9TjhyjuyCErA2DlQIhAOaRXS9HjW1E1a9vgwFxasZ716auLdGY2/NfKApE4/sS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21369893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6yyhCRA9TVsSAnZWagAA2cwP/0SJAudXP5ZXf/g/o44D\nCwwnOXp4WqnCE1Oz0x/Zhz3kbTgroR3irLqwF0r4+GAZNsU1okWLlvUMHH8e\nmeEXIl6dpRtSB5o/gaFZHEGvOwitagQ4iLklG/QOlGeuCoTV7DVFR5e0w22q\nM3ph1drK0zWXYkoo482ANvaSwHKAVxMmEigDbMcZ0AG9n1TbesZttxplPgT2\nRBeJZ/vAZDcvL+GANHSaPiQOUtbdy+8UmKkXox0LWtqDEba72mIejZWNGidz\nSbPBgCDOJPahOLQ29InX69hRl8qPQouWpE8STDaB+hD4ukK5aA4qUqH4JKxz\nHB20IOPznYaGar41q32UAChPCMtmn88wL2t+O/iN+pGqnk4bCFM5ff7rRjo+\nObp+Mx8cnZ0n65/1vfE5ylUGtKI/qYfx07g1bfVfRqSz9qBqbGRqlZjuUOFi\nHlXwvbHQ/L+Neee4mUQw9kxdzNoFjdp3yWz+Fsj30SHSIPCTxE9N6qGkS5b4\nCKw24EVMYscOM6TYBRcK/LFqmOHd4Svddlmdn1XeGZueImCTQe88X1R83ebh\nxL/rdhRvzbmY9GRt+RA0WjL4PkGFvM4WsQKIVLEqrmUPmzxpvAHv7rqDFyNF\nBoT9RNBi1KDD4HAtPxLd3DRmZPPlgst04/s760r5ZbqL8xtXun8r3ZbP35rE\nnqvw\r\n=gJYX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c_1609247904825_0.7172889286626518","host":"s3://npm-registry-packages"}},"16.0.35":{"name":"@preply/video","version":"16.0.35","author":"","license":"ISC","_id":"@preply/video@16.0.35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e37a99648001ec3f3f5f708861e629b00524a7fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.35.tgz","fileCount":708,"integrity":"sha512-3KUb1G9pwG+5o3FUFax4vE4dustexyvTb+K30ezBs/NA6EUy9QQjF/XJeHUyWCdli1eAuMxyXRWCqw8yWPsBDw==","signatures":[{"sig":"MEQCIFp6BVi8jlgwsac9ACfF8/SBXdYcAiOVQeIx7X5QkMzIAiAu24K3jeOlTcOsi6kvaadZc3kr1p5A368OilgfFFrZfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21368529,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf6zivCRA9TVsSAnZWagAAy6IP/jNCeCeinHzG2W7rUu9Q\n6Y8rUVz+mZA0i9NtpbV0ReZzrqq97sFSsOGflpBHp2D/xXsybhXU4x0Ithi8\ntQ1nGwoeGyvpEg2qJsxTmc+wAwkECiRNjm1nd5hyr/aZlyO1DzstzoNq8e+u\nTATGDzT41b7I2EkIymNd0xsRsXgyyaM8Lxy9iIB0vNlGVFD9BvZaliiLE/Ss\nWtcx9zFZJk83zfe/kRVW1HNx8A6HI/8TdmfNK/zB5+HHryboWnQdQh1Ory3v\n9Ai9t+4Cfv/cbGdIDi2o0Ykt/CwvuDuRTHGr0rCdjeQgHl7xdMXfUsmz2+Vn\nqa1UrQMv0WNZGfGqXb1nz4pEiIPaotfHDqor4Y0cGu7CM7aUTEOxMaDuH+Cf\n58GFmlRV7cFtXZNAJtONs3TmLEdUhFqgPJ8puaWyjaDGhMWMw7xCR/RaGOD1\n1CUw8UPqF3LX8qxh8siYtocZ2CU5BlwNpRddzx1YKKUUUk+q1Ledo7Xo/8uv\ndKiWW1e0CyLWyNGk9wsUfWItRNzgBYA4Sgwpi0Ivv7BN/biuzuBOkzWTWmuc\nDMMo1Pp6Vms5szCw1owNl/Bb3HtOu3UAzC9LJjeOu55gYpy0z6Jh2gNPEDAm\nf1MZBEJRK45dqSroZb68ZJ6CIbnQwadcv7CMBIdYfv9IyLbUOPINt246eW/3\n4BRZ\r\n=IBTk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.35_1609250990219_0.746785897978022","host":"s3://npm-registry-packages"}},"16.0.36":{"name":"@preply/video","version":"16.0.36","author":"","license":"ISC","_id":"@preply/video@16.0.36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7ed300884bc9af118b8535c50e1453c2644d59e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.36.tgz","fileCount":708,"integrity":"sha512-rOV2IUIn5hFFNgalbAd70oTf+fhyCJRzdU8drNOGSMoDV8efY1gDyfJ7QxsCSpFGR+IJJHAWVLnPsUiIv8ybwA==","signatures":[{"sig":"MEUCIEyijAYegl3y9eatqEeBN1ew7V0hojZq3Yq/yDZcJVyAAiEA8g7WoZAY21q/gtJLyYmtYqqlW8idZV42ldcXTesdYHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21370601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7EPKCRA9TVsSAnZWagAAfdwQAILeoUInfYMo+pZSUten\nC8shgo6+E9lmDERQ8OnPRCBKtSHZALOBoPtFt8nUU0xvq9MnNtN4xGN6D8sQ\noxwt1ALgB4iX2z7opEnAAAWnSxBMxwta0/gMx9ZIjtUPMzNRRrKdRkbNEVS2\ny3SJTck1av7aqNm8zFfiIYBL7LIE1KED1PuPQVY/B87fK028eDfR2LmTYiYN\nEESAebS9R1ie4jGSESqyZQerU+hesoM0kLl5dQ1b1QcBbXX6hr5+ECJZ+syP\nJsbKGMtRGKIicveSvW2pDXvJNF7KfBFVn6lkaqscSgz0TK9sZpN+KT+XP/OB\nD7zdItBP1gG1j8u1DEceRuvasLyO6mSYQSZQra96crE9uLeSRl2P8kmdzTo4\nuPnbBBfIh6NrqiHHvtLDGvpsvAHAnx5BibfedBubA8nfCh/DXwAYiaapLaNd\n0Ft+u1PesxBx723mGkOKagEnw+nELfr8Eq45YmfI+5U8Sio17OSV18Z7oqQ3\n4nrjM5/9dAPQwXrFZJ44JWqN2tMFaqnOkvJvGIJ4fX5FOnyQP3J7X3JssJPP\nonaPUxRyXPCoQT/BtejnolCQ4Lk+iXc+vojwSU0dWz5jzkcyskHMUE7vXUeN\nD9YAVH9lgkQBdC3wvfw2dZOHuqpCERdKnt0HBwsSOi6uDFG7EprZue3WDWoD\nHlTb\r\n=s3Fv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.36_1609319366461_0.10421258011222512","host":"s3://npm-registry-packages"}},"16.0.37":{"name":"@preply/video","version":"16.0.37","author":"","license":"ISC","_id":"@preply/video@16.0.37","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bf9e0027e12ba6f4cd4bc5f81d2ce615f9950e2e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.37.tgz","fileCount":710,"integrity":"sha512-dwNymJXi31I1zP+xJHNyFGv9/p+9fqe0YSlSVLoSgwQMufd9BQBv5uBGCSRBibSyj8ceCITvu08j20hkejOwXQ==","signatures":[{"sig":"MEUCIAzzTen0XMEJFrOnNi9EC8htQKATEy09/aFRWHDyXO9NAiEApSDk2CShfol+IaK02NHPckHcFuayAWRu1yaHFA/sxfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21396746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7INyCRA9TVsSAnZWagAAHKcQAJFXHQJcZHWybcaGapbc\nfsGM/19amOGJ6npjChgYZGG/QP2YP6JSwxtXmcGz36N8CnDWRi9H0RL+Luj3\n7Y7YM1/1p1aqo8TxEhyPJ119UIxhqMuZcoT6YaWG5BMWn/+Lru2BWR6T5Yr5\n6Vh5CozUn4JnqL6NesL8hKQc5R53/5ffGnT/akEQMW1/3SUnhLhC4P7LeUtJ\nVLhvnQ6fWJ46IRF83NVfLbqX6W12D4daMx0JUCBtmaIRAWLTMW1ZLXFIuomG\nFCHfXdKP2qkY6axdgAsgnPFCm5RR4heH67OiBbhBAy2y0HI46q7zkjXipgwy\nSheYi0ohQtpNnBuPW+v8vuwG5FkqfntyJG+t/14T4/uSmxka24q5flUUUOsj\nzWx9wQy4NSliUvqIygFaJ8XYlSAxux91lGqZuiB74t+oFOm3uoOUn7GQxBOq\n+fDWm7NRZSVYWE7qVRN/TWr2Z/p8u8/q02Wg2akwMqfXsrNphImFo9EUfydj\nMsIW8yjAQ43qVHRXjoJkkzUPJ3iLD2zCQdamY4TpixG0Ll0weVeuDSEue9k/\nbi8eYYSmuG/Y1eJ3NruSleEjWICTpImy/jvGqIFdlXSIX9tiefrOII2lCIgx\n3nBXT8WCkXJ0/xEaSXc5HWyX5l5dJLFV3rnrxKP7KM0e8Z0CIq8IztQIdCcp\n1qsX\r\n=nzNh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.37_1609335665155_0.97184803562574","host":"s3://npm-registry-packages"}},"16.0.38":{"name":"@preply/video","version":"16.0.38","author":"","license":"ISC","_id":"@preply/video@16.0.38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a65778209c461154cb75ae26a35b0c663566e5c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.38.tgz","fileCount":710,"integrity":"sha512-SRLi+whe0jrngmHLBd9AgT64333Gdy5cfIpdmKRH4l7kVNQ1rW5PkI/XdQcTLFYPySHj7L7RCzUMFaiJTcxWkA==","signatures":[{"sig":"MEYCIQDB4f9wRS6pgWmNf1uYOjcjFLZ+UulzKiLwi2gBh83HewIhAKMQYpCAICWRh64IJsxFCVdpZYScSyT+W/5fL98vtXOH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21397811,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8wWHCRA9TVsSAnZWagAAAnwP/00mMlD68wLJn8AjgC18\n3htzjmUvNjGCnxxygTfoa9GrPdCpCBJs+O57WPUtWuF3BBIuiqWgr3o1Ixnz\niASEh4HdYk8fCXdzQUGEeK2PbwaXJ8wK69glSjLIN3oUvOrvgCLO+pF28vaS\nFTXcEvGtLAp+89k5IwZDrQo9iq1LFsfKy4GxtHBMJqHcJ9GN/1vitZDGmSQA\njruU+HUP1V/YGqJrUfccCvpS6iOjxyrUIgQ9sG/ltUcc4GXm4Hi/lqDC16ZY\nLWjrUR+eAwp+2hxNa3aycNqm8uI8/QLvfAhSoyjiqp6+7hHUxoevM2LojD51\nUbIlU4sl5uBvwXdTHSq7Q7VAKhQW3z7CjsYBEECo61Ppaz9nvhM6MsEyZH70\nro+OwAVt8+8Q+AyvBl4BGuPeDCSIBNOn3iHbHPpL2jmy1k1bWerf85fxvKMA\ncBCPkXhftjfoYsxPTkl6HD9Y4iz/I7HgPzJKDCyQLNrnSJIVN3snerQKoW7S\nlHgZzaTHIt7WaUkwilU6ZmE8+t3f4ffWKHUx3U2mOkyfmMjRcgQmcPrRo/+V\nFCDJkFqGF1moK5zwSH70vtfgdtD7vR+99plJskikE7AJhBNgvoPiX+nU0Bbh\nFL8ivQ0aL1kyNehTQ5cksjChSvJJ9uBn6mKPvJ5O0lxQU2oEcZLfjWCRR/gX\nyoyD\r\n=B4uT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.38_1609762182354_0.5892986349714195","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36":{"name":"@preply/video","version":"0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"da32a89d67368c7125c2963405d709e0da1b2110","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36.tgz","fileCount":710,"integrity":"sha512-MYcMgQATyMZEzINLxoLvoWh9o8g/8I9Vy49mDNJm2DVSE8tDfckYfm4scQGFxzeuon7wRHXN2ZUZCyzrpsB9Gg==","signatures":[{"sig":"MEUCIQDK1iKZOpkJymsPWp3juV3YTfOdBvKluzM6wVh22JpJ/AIgOFr9yJXYPV8ifBlDTYyzyzAXQU/4LMVoWjQKb53celU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21401829,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8xgsCRA9TVsSAnZWagAAfoAP+wdBSgnpQaQsTePq02Pb\ndrPXTikx6hsOv7MCAr8VNUt2M7uiwRQcOl8mOOqPEIh7Yi3rBPpVHw2Pby7N\nNIzYq/kfmN0TFz2957DS78JMXqbM3cRGLXv6gg1SzxU2Z6ZNiTNod8m7w8u4\nFRlcaaXh5rc92QqC/cJC1V6a1F5LcMFPmjJrFXaOL7xZnZEFanf6nINexZjl\nc6qKi/UXGXufseS/Vdo47F3fgQidLJLOjxohM5m/y7X9MrQKBOrhukBVaeXF\nORYNSa7TFPnzEuy4um25r2gpdeb7l/xJoYaKqbBpmJS0ysgHdfizE85NPsNs\n9PLhFmfOXVSD0r+st8lC32voBBcSHqRR9vklzcy1zaR9Iwa/hASdxIKjqrBu\nkaxc12xYSxfckDq0cIPaRadmLOCy3RnNkKX+cJEg9eHRcwfF9yO+9H1plVKH\nICiuf3Xu6cphnRUOgKZnFCqPaDXhleiI/ny7KVzwkWdfMv21uFxq6jY4KDst\nrw8+3XPMKvwbjzI8qZpqTNtim0u4ytdkcdg/QdYWP3JCW263Ce5EQJAe8Ox2\nNRG5vj2NTSlkmB8Ez3CvyuTieRWTsw1Av0oE2b7pbg8iW8Ud9Se+ezdULh6+\n8lMPqZnoSjTZUmvRZx46HnCvZKT+Rsbb7DzVzsddmrv6KICZFoufA3EyUJmK\n58Iu\r\n=gJV/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36_1609766956007_0.7222809192583945","host":"s3://npm-registry-packages"}},"16.0.39":{"name":"@preply/video","version":"16.0.39","author":"","license":"ISC","_id":"@preply/video@16.0.39","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0c926ebf234ddacea99422b5377e524f0206ac52","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.39.tgz","fileCount":710,"integrity":"sha512-vWtO8830nfDiaaTr215uObVLRa27XoK7lPF3VWfyeq6VH7aEDIevvWX5Gi/ZrAcMyDR7Njp6gzkf2NsT0KowRA==","signatures":[{"sig":"MEQCIGC0txQVdKPEVXlBW9HK2590oSBOZbqHtjj2MZ9b8h2jAiA8jv1BwIJZt/Bynfg04EP825l/bSdqdblMPOgXTo2pxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21400465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8yi4CRA9TVsSAnZWagAAzHkP/394ckQj8gFXHZ/nGSEI\nV+amasbiSTR5x9pua5ur98UW+I22Xney5PSQMSAl6N0tlZ3nyTaQTgx1k/PN\nE2S3xJn9H4f8EnMLce8+Wtw51xSXWVnhesv6H6Wy64K0+iOGEWIF9eds3a/A\np+aXmB4jvbzcwkDEUAf8MGKb1T5jvn3YUC3Xda+emJMshC+L/EKKR9uP4dWw\nuad6UiFGt2KRlbnZ/bg55K3dNHVm88KBi2Pj1zV63wgq+z6vAQF7KkxLS4A/\nbr3SmkMZUs8rPUKKrkBi67tzc1r06c2bNhx//yYW8HWo8j+Rg+mImfZxW9VG\nDZ9b8Dew6PtOMmkxvIw7I6pEss0hfbeVpxIMMRgEwG/CgS8PL5Xow/I818Jj\nkJamfQtsnhKuGX4LYiD6tIh63rKWvpVY6qph+sYA0liKNmTPH8SR90XjJ3na\nXmMPie7vPevovi6gaexJeG/QEA6NpktxVbJd3H7MhghqaK1UKU32ujzeywFp\nVWPuwzuef4yp9M+fRfpBHYTlpNdFv5+uSaDih5dsB8wLUjCDOaih6BbLYMNK\nbFPaC9pzTlmfwCq4XWkK9HzxQqSWeq7AM4kpPDsgb9JmiqKs9wg1I7fvGmGi\nJIt6i2G8g8qN/Of5glEcIGyxyJRxBJhjSdi/f6Vh6T5ZDbdzPgcGyVwwGuDJ\nh0le\r\n=94dO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.39_1609771191170_0.6509521028560943","host":"s3://npm-registry-packages"}},"0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5":{"name":"@preply/video","version":"0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6e20cde823d22bc7ba1de6266e49db77526943de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5.tgz","fileCount":710,"integrity":"sha512-7OX31vHbr3F1HS95l5X+PD340ftbT7YKcBpTjwv9/XoHoXhi4DW5sQ5GERmu842YZvtv44lC9+TDq4hVfBTDaA==","signatures":[{"sig":"MEUCIQCCgYDwcqewzJKPqEThim3oBB0YH7xgHadRpt02pRSN+AIgAf+4hlshbUXR33cc6+bwA743pupLhd//9UbsegItbOU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21407800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8ypKCRA9TVsSAnZWagAAn8AP/2eATafDoaLSMTBWcQUO\n1fyhKAEFy1sM/dj9r8X31LNW3lUC+yFIngzbjxrWUVJBXYxqC/ik7xi4uak0\nhARnJm0l7HIUXvhlXsL1due5ul2ojLTLQSpFoMGVtk5RLJ43eGFqKbvphjK6\nAf0IH76ygqWUAhzVsOYi+OhBLzgT4dtgVCPC7C0f+wMekSZYffayNKlSX7El\nfB37Ej7vaekkXuBvfoFJcxqhdEFCOJZBYNTVQAA51jSdVaLDHJrYm8Lp2EDj\nto2Yk7DUjWZbk6GnPpvCzdxFD5SGsiifARt4yG9qE+CSRtCffFCvlmci9UZF\nn9Tu3luHbQqSbajcovllkfiieGnOVhkrbb+J/gN+z98LnXrcjYm+n6/qVKXT\nBAhfCT3JrJJsj3PQwsA5Mdfi5/nuO2o/nGMCFWmpeMYt3n4AMZrRxpqzdsvu\n1qjdKEiOKeEO8FpjYZbzmDzDErUXabvJhgoqqu49YqRr1AA4YG3K/n9yqEiI\nU8u6dT+2VgJmONQsLO1xDOuUmbz3CFTME9ISMnY0vc3WCF8+atUoHDWpZvAL\nzbKgfCPjPeTsb98jchaKOPHcCi+KCAeymfCQtuuPTtRYoKlskJbRzCjFR7qm\nMGPenuDazYLrpGDoPhjSadEh79eG1zFqPH6VtmlKfeEjSwvHGT5V61U+EAPE\nwBH9\r\n=9Gy+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5_1609771593329_0.6595844085780698","host":"s3://npm-registry-packages"}},"16.0.40":{"name":"@preply/video","version":"16.0.40","author":"","license":"ISC","_id":"@preply/video@16.0.40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3b20c44400fe1e9a1a11cf9c8770677dde0479f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.40.tgz","fileCount":710,"integrity":"sha512-oXqB8NRg8MDar6mnEOBZEEJpFyOkKnmpaMd7KTY8aXW5f5esCFda5+tF8vJrtpLtXSG+D+qBGUSr6U2nLz57Ig==","signatures":[{"sig":"MEYCIQCBi1LrMPHBQF7gnnwHZOhvdM54sA2V3DCsio3E1xAPlAIhAKBvrAHkIPzySCKga1J02jfkxYBuK4BMIpbYUzYxOAq/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21408130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9BjyCRA9TVsSAnZWagAAVDQP/3FJV8NBsn2uhqSXGUSi\nqnkjaDBpYjYUQ/6n0Mh4am1FnnuJdbAuqpUHR23HgWc6dURM1/VPDTgmHQZj\nMHaoYhcKtkk+gjzjzN0Q1jETlFJ36kBKoJw0i13zADd/QXfThBtoy0zOnbIe\nNmbI4Tu8blKTfOzZU6uIWeltWlfLLEcD6yYY3vEfIjyMXJ7mCR1s4yfJpiV1\no3KzaN16hCdTut57nqczGPy5ErfHWckElwi+rxDgaqlnV1pt43dJxevxhPrr\nRJZy3CLiznlaCccirsoDBXEANqDbRwoTvqks7d8mIKHVGEzZg+cKbsnzyvsb\nfF2FHqnoMV5feyrwhWL1e55ne3bYjgrc+7GVvw/OOEBGmwmFC9o4J3fPATI+\nssicbGteYvuY/F37LzYWb4LYxCy+ar46j7LGyIu9a4Ypsw2lyi+DGL1Fiyy0\ny0Z3no6bvD1kwPDKl78+jgVGI/1f9ad55kapIdk4/lva3ZajRLCJ8IuadhbI\n/VVjIWshdyk8PaCQMkIK7u5S0f0l5hUC9HsrlOSDr+ttAaUbafQKeW9Lc7tO\nvaOLgd8HveMqI6JXh/c90ijAbTdYR+22/OedNFzE3PsBPMt2iYgC3+1M9HZi\nkLRsrFgTjqXb7JoM251d1SAodEPj50PCvFJdTfVMkf3n1W6gH1Cpr9Q+1zAR\nrAPK\r\n=j/gV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.40_1609832689963_0.13321217608424596","host":"s3://npm-registry-packages"}},"0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c":{"name":"@preply/video","version":"0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9758b21278a900c8b4c20866be753e3d1f9fbea0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c.tgz","fileCount":710,"integrity":"sha512-nlEdLbEvyPzLiBLHCV/QtpEs+nzK9hap8EEMfs7ZoOtx9SxBDM8gPexNHNamS0aHzTu0bLr37lb3nlPgg7BWYw==","signatures":[{"sig":"MEQCIAlpxs+CyotGPAdk4lBQuaIxEmshmtc7wBxPX8XNnkv1AiAcCksf5hTA5a0mUYOpvUE1Wp676Z8aWfvF5eDvc5ZacQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21426328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9TmCCRA9TVsSAnZWagAAO0MP/0A/Q3oaO6Zkj84RpCds\nmdbMNc1prheGTkpoKSj0Cl+pTFdq/i/A2N0kk2fkIrnCMfsZ0gelQaC/5Ner\noWLEbuvWt1JuCGUpoOd005/KLfLW4DCtJ6irNSoLpsg5xFtKD2gCYV/Q2I4B\n48psvnnC5y3QDIbYUnaX2o2zFIpx8yAxfmQvtETexrNjA2VtYtz1OIseJgOX\n1evKIfRs4fcZrVEetDFmXSkZn1RUs+HDA5EFPsLRJKGOz7iruJ+UkbHP4its\n2ojcgTncH49cNw5oPJSRn722LmVZzYkT3dBqvWhxlRbDn8i/QaPbx3UmcV6p\n1CBViEJnUSZzYvTLrUtQ8B0RVfdWntJJddoHjDz8TqhmmY6I3P6kkYzoV0qK\nX59vqNj5nFgNhBAqj8KKXm3ldxEEhf2Qrcn9+wytYAf8FrbzdRMD5KnE15Ux\nSuiS1gdmhqzszo/TSIJzq771GFK29Jb4mdSaq/fZDn9lXAbSS4JvksI6dM6o\n+NlYU8+FKh5aPOxeUV5G86Ojw84Q4JNysA/E4jHQkbwy0U2H0oJ1RVPOcjPl\nB6J0J/3JGVN3cIgGRY0UAWZvUTjtP9a2oZ5DSdzqMmmzTBq1jPg9eHQGAOIw\nGcDKQ1KF+Gjzr2Fl/YlCTBx0c9yE0moeK0p61Mezm51SQzq7gsIQbgzA2QXX\np3Dj\r\n=0sj+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c_1609906561574_0.7686071502359031","host":"s3://npm-registry-packages"}},"0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac":{"name":"@preply/video","version":"0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0b04a8a781d939397953c89ab5b94fe54afb009f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac.tgz","fileCount":710,"integrity":"sha512-7Yq2brotrPPUKYd9uAe8t93yLqpw9/QHRDTJ8pN/TLH682RAEfKA8s3xYrrDMFom6F8rY3MaYPg1IWDvtupqVg==","signatures":[{"sig":"MEUCIQDPEGi/wQuMmantZPnsDCrVKkFVHFEkDDBgqaXrrxijSwIgG2TXx1L5KHySCLTUazWZRw3DtR569tEtPESn45LhimM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21426658,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9oMlCRA9TVsSAnZWagAA418P/AuwYIJidXhsZs/3qGcH\nDU9cq8Dg1PYTv1y+siRMzfvqBjeGFUZYIN6ZKoDvFADPlsAZvODghhYIm005\nXIjrQhu5inOKJmJKqIo45pCS78bNkZ0fX+cBrw3e6S0sEDwBJmXpQjTwEuAW\nidCrDCib8JimWiSWRCmfVDGjXO7w+2Q+fYeH44c1bI3fw1fRhepuWkjxAREh\n9YINusS3eBud3EHFMD83ZzAwAJVTbBaZWQg21hfGXsFf1wM1y1cVuDDABWYQ\ntWQjZ5IGHVt9a6buVwb6z+PjMcN3y4W6zkrbAM0FzXDYC/MuJfaom+tZhhq+\n10SJ+1FBo6gtE1CxXCRfiR4GeDKg8/10NynJX4avk+iv4AHS3oJhCTVEQ1n8\nbIzBs4Q7wAyCHyW9fqE318Budm71gX+w13ixG6IYCu4Me+rCIHsa9mGFISeJ\n2eSUnNIl70rHwhq+JPCgSp2BGuQsvHQiLRsiynZa7hYBI+zIvtFmY4KA3PfY\nVnn9Wy714OONU2koS19j8OsePrubbWpRtdLzkAdj4vR7eckocmYzREBIKJK9\nA39wnKDJKc/UOF4eyZxuURI+Wj8t+KtcKeYIq0eIQTIjJZUWBXzJj0rufprM\nAvpfLz98tqGwGcw/LlkCLcEQ4P3w5wi4yoa+0QvitHuAc2a4EggO0r2F/UM7\niJ1V\r\n=jIip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac_1609990948054_0.8293232127215333","host":"s3://npm-registry-packages"}},"16.0.41":{"name":"@preply/video","version":"16.0.41","author":"","license":"ISC","_id":"@preply/video@16.0.41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a17076f1d379562ba5baba853934a0dad5829175","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.41.tgz","fileCount":710,"integrity":"sha512-ZRutBZVNRa1haLsqrG4Xu6TyeYjkoA3OmGZ8eV3lzFav6kXISZia52kNEAN+Ky0VT8IMIlwi2MEyn0Rmqd9cQA==","signatures":[{"sig":"MEYCIQCqWaNRlQkOWr1dDTFLozVjNe/h2EPM941TH9yxCv4ClQIhAO34hGfVRKdfu+50fH36O8qcA7C3hwyospfIdkg8D7Cw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21427563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9ucwCRA9TVsSAnZWagAA1o4QAJ9rf7CDAno/JhwTaI0n\nsfazUUbXTS8Hh6SbEL26kJ8JqbRlJAApe8vzUQJHjWKWu5HFbB9sfImCFHlP\nz5fJylQ+ZMSUeOTlbCrN5QR9z0VKFgqUWKewzg6GFzMvd6ycMB6DRI6SenMD\nLCFBm1GB3+mPPmGxTiwAj+P5uyvc1CAyM6b4QG0SO4yanSW2B/Mcc+ESgLUe\nsZwoffEqdUfNVyn43oeSv+6kYD9KfhuaPoGHCIdu12Z37Qj7bgWmXjMmhZga\nV9R/4W9QlFrZerkbWgYvMxj7ycDeMrY0v0RFb1oNk02OxjKgoQyQaXYbqx4T\nQm8TNIeVsertKVt28Vreq4mLxZH1SqSLA9syrMg0DdPhiq6oeLwoqEHYjnDS\nSYw70UcdwKAfXaCiWnz96nyQBAW+96ceMl2rdUPHRo+bfcR5Ku/fODihJ6Pb\nkWVdPso7VuV7v6icstKI2ccYS7cP2togLAcGi2ATtb5u+DYQzVf2kit0aM4T\no2+yHWF4InJk8gZWX0tort3bIjS318NlAFS7ZdoZ8edF0RIzc5QUaxeN1jiL\njFI64PRWBSGoy+S6+wbaLDTYeDSd2SOJ2yRas2H1gecwHryPo8qAyN0NBgRj\nIC/2Apc9QjqNvSDa+MrUasrS46MWgznujrpOezYSAD9GGltxUPk/IJrxyTcn\nknvU\r\n=BSmd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.41_1610016558892_0.45138047019142724","host":"s3://npm-registry-packages"}},"16.0.42":{"name":"@preply/video","version":"16.0.42","author":"","license":"ISC","_id":"@preply/video@16.0.42","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0316b9395e37c2923e6a7ba6b597166f703cb9e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.42.tgz","fileCount":710,"integrity":"sha512-meKJxoPqWrv7oKacv7ybJ4CuPfgfIgaxr2WA/gnngPPY/GUHs48guZ0fxyb4jHezQSj1j+50JJMbL5CF9uoPKw==","signatures":[{"sig":"MEQCIFad+Q4PJkiaN1UjcrZwuIkt17ZePrfvSb3JHvBhOEyMAiAV75TPCPruO9PyWz1+ikn9dGX0SK8W4JV9cZ2tkDlEIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21427774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf+ESGCRA9TVsSAnZWagAAC2MP/Rs4eXewxc1ZRf3bMiSn\nmTAeq6f+NmCPZPE9kA2UecQxPPFpO3YTSuSSdfmNA6fYXExMHZMEZl5qDUJq\n2S08hG1PMfODQJ2S93vczniDAuqI2pXsPP3Hvn5yPNXZ7YQI3Y9/EcCtKeo7\nasqfarnPFYaoMta13h0TeeMsufjr7u5Y7iJOcPxSvhtTgLrBKF0d0vXSgVRO\nO8ipc3pIsdHb0sX7n+IzqouT3MKUjNfD4za9WO2Ale6clqU2I2KjtCoWP+Z/\nC/9tSKuEqfO5uyXstWxTlDEABnXc7dc377kWxPntOUL0wydSoSjidNnGpXDD\nICIyIpkAJjCjv728jOHQNPZh07Vg793ooESFVXaNIDO9uJ2gyOrYmgPwSyYI\nBco/qSLN7S5ZO0BY1Ks8445Bpk9SIBeWWyTPoXJaaecfRtTjNY1Qqv/kmNI/\nzO7Aq9h31HPf7Sh9a5k2RNnWliXIkq4i0+3MB5EF/iC5IBoBKxVl72HPMSLp\nx+Z9igYTDnajFlUy+R2lugX2MCYdgOnForKNogI7kOk6/5hun36X44Y4Rb06\n65fs/yXZdu0TCE0Yk7y8KNqw+3j18ZBLvKGUeD7jZ4gR2mRwnOeM5cJOuTMt\ngYXf3o2kr0sZDKGc9vCZb1cw2VFuo/QC/k/tCOI4DrYoBDUqgycVLKoEsKr3\nNung\r\n=ot3R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.42_1610105989154_0.20632302814565784","host":"s3://npm-registry-packages"}},"16.0.43":{"name":"@preply/video","version":"16.0.43","author":"","license":"ISC","_id":"@preply/video@16.0.43","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"83c34ace7b74cde1ba6910fe9b2afd5e4ee1e418","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.43.tgz","fileCount":710,"integrity":"sha512-V8xre5TXkxx1Iwam2LiNwo5/fo1vDLZBdE4Dnr59jAXtc9YpSmJNqt95KXLRfiKiU6rnucPDPju4liIRUUOOXg==","signatures":[{"sig":"MEYCIQDaGLrqmBaqv8crubuTxm7bBf6OCrk5RY1t9h3M0FQ0wwIhAIgnwV70Wb3GdWgHPD4p4thfHIlUc7/SlxHC8kqOjzxl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21437353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf/WDSCRA9TVsSAnZWagAAfF8P+wTT+Y1c/CiYf7flHAnD\ntSbTxTI+qJwGA88s5VEr7CzvYSutGTPvWVktzFEs/X9qXbH5jm+kUATQ4ihx\nPB5UBeeWiqM4aVV62XNh2AGeMqxZ9IUP3edYJPbNg1wCryiFTcW1q4EXTLK0\ntc0ylLgCQL/11CLYOWrWd4N2vzzFLVnSlvK6l3DC2vWyB0rVwdLl9Mp8ZlL+\nnF31GB/tvSWAw7K4T90mNzYG9JzkxEtMR4cGILATneoaD0FMp03NcOqNIT8O\nlqv1l0MG6z35Cnpnu2ABhajhjejA/xUW9klLoZIBCna6shxZO9ClbbB6lvsA\nFmd43yOBkfLhI2vz5JueYbgLCHrVWqYhaAbXc70+HW2vs4RS4KhA0FrkFEYO\nBo+2y6T9AffdnCNkNFrIy1/PrzvQQgJ/mbjThE3uiz+VRkmuupYykglDOSkQ\nCQ/Vz/OXvNjoo/p6UkuyYbcRRO40mhPn01LS1+11/TZ2t40Ke7+cnVhjF3vc\nIuCOWzINUXCBBCJWCGtiDZ/KV5qVuHtgFS5vKf/BR2VJ8smAGc2y6aFix7qX\nmrEF7ueigwUtEquVHbcsN7qz5OUwofrbgs6xMYBmjLTo9OmfDNT1T4Tmqc/e\nz0xAD27ptnk5lEVjJ3/bVmilws+NjNWLx+TbKwi4h/XPYDaikuAhBtTFdyQs\nfRxy\r\n=95U8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.43_1610440913817_0.06315623776974921","host":"s3://npm-registry-packages"}},"16.0.44":{"name":"@preply/video","version":"16.0.44","author":"","license":"ISC","_id":"@preply/video@16.0.44","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1edf3f04fac8b47705007d568938243471819e74","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.44.tgz","fileCount":710,"integrity":"sha512-6p9G+rPzHYjUKk6LmhEtqw3L3frNjpvkwDYCmzH3h6dHahFlgN4MZNcAadw7rMyRhhuU+S5NPsjjkyJtE1d1LQ==","signatures":[{"sig":"MEUCIQCUkwUzBFiEp4HXKL8MucCa58EcG7nBUgJ5+TpzpKy3hQIgYAVjr42MkL0XH2/vjSiqfkabMEsL+O/xaS1NKIAwOd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21441836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf//zrCRA9TVsSAnZWagAAMgUQAJdVbndPvF3VnPaZyvjZ\n1i2E7ulD6wRWjXy3fILdJ+WhDJJd+4C+p/qH4Ov7yaYipOEwovPGcsBtwajN\nW67TMDWqykvRRAZ0U6eRmz1E13Kn8CityqISXANJzOhvd9QBC32aBXA8ZFCm\nr7Jf6XihIczYkliLC1sjHVZfRFKp2w8OUEmN96nkUcf5KvwhAmJk5jStWGQq\nir0u/8zXKvYW0gO3U+vu7rOL+4ARVDTcuJdKGllx9au+sVFNl2i/zR9pKOA+\nFkHALdQxYezQq+7cpH0dfGodLow/mEuAOlTHE+f3HDWC1dVYGzSiLdxY8yOo\nFW52DPay6eU/TlCKt8zoalREg2nP3rqqf5cUB47TSsxeo/0fh4H3wbUTme5M\nBLm7Gk6gCFm+Ve7P/Ql5ZP5RHR2pIB5fVmo0YAO9gW6MV2THbj+ZNy6r9MI+\n9cwyTORJ+guEpvAQ9MnBHeObrjnuqlOLFadhHZFeVOYDDgn2IElPTQ3IZJTE\nHV697tL09cOJQ9veiYUDcdWyEZytqXrR2tU9Dvg8lRpOfMAE9opsm/Zgm/GJ\nbn5uejVy3SaqeELkxqv7jZdgLZXeMvipEz5HfUO5xF4/wEVFoXdmB04BZiW9\nv3Uo6RNvUCYdD+gtcJLIhs5txu3r0J4/C5o4/SoEXi/thq4qflbO3QBnym72\n/Pm+\r\n=8CQi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.44_1610611946206_0.19859291443729954","host":"s3://npm-registry-packages"}},"16.0.45":{"name":"@preply/video","version":"16.0.45","author":"","license":"ISC","_id":"@preply/video@16.0.45","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"994ec01554db2c932d3df507cb8e0d547adba384","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.0.45.tgz","fileCount":710,"integrity":"sha512-Cc0znVM4rUiLUcCzwMwShy+9OwDWzO/1SfCZ2eXsSNUVqgR3zkkQ7OykwuJ6MusTqajmhDV0eV1AgAr5g5vaIQ==","signatures":[{"sig":"MEUCIBQvsXz62tdoAuGLSLiEUMDLdJcQdcXhHFm5FWtTVAiZAiEA1MT57u8Dghjb4bUoBHR2AoCaZkOAENWHPzmIcCFj/IA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21445890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAASwCRA9TVsSAnZWagAAhHYQAKRvuTNOJu+JR2611/tt\nM/e/U0Da+cDus1LcoOmJbDJR9vcGuAZeQu43qBcNYdxhBx5TcLv1+aECW727\nozY54hTH9JmIprShxu/dL/lkl86Myep5LNCCrUdNrONc2UmmICMaWlk3Rd3J\nUEMPjIQ31Q3RNrVyDvi73WS7VwuKJICF7jzJHpHYXdJUcVYT6nh7+K6mQZkJ\n6dthjDGVkuKMExT/b2x6A7nOsqSkXY/MMrI9d/1u2mYQcmclHiecSC9YZGME\nYaWi6dgT4sq24vyAgG0MuBhrdZuIZcbQ3Ns0iWit0KoXNbZl5dvKsAbMWa25\nSZGEtCqb/q/OwaU5f481UMbX8zaZgEXgKYtwMOh/8QcjqHR9evLsZOt9t+lC\n7PKZHaTpPqNr98ihd7iT3et9zsin81hvo+PeluXsauN9PMknCLP1Me02L8X2\nUuB//30EFdntJ4FRgOM1p5pWcs0h0QU/WY+EXF11KSIS4Rdh3gFXSrJxW4KN\nYqazXUdeBI7kU5+RUNNzNNgXF0n6phk0AVsa12BeFKky5BcbONQcByU/bjMX\nmuAGg3V4V774YYq5aeZITXIU3l0NdTCSvX9Z4808rLxJDOe0J4RN1nGXdm48\n13ED74KrUSJ2xXkVcvuUgqcp4nRsWoN6DTneJr1kL69NMgyDMznR+XSWZ8Hb\nIzg5\r\n=Ksoi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.0.45_1610613935115_0.6176907934278304","host":"s3://npm-registry-packages"}},"0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e":{"name":"@preply/video","version":"0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"71da8cdee4cf02a441d411ffd61392994078ebac","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e.tgz","fileCount":710,"integrity":"sha512-tREwdHUpW2u1mcIevYRSzW7nC3+3M4YtyIOiywhJwmGhxqz8uFo3Bjr7xevD4UuTUsqmze4LZ08BW1JIBYLKRQ==","signatures":[{"sig":"MEUCIQCMWk5ZrxXuLhcoVGAEdcsvAuHJRSIiHznfLzbSmeOsYgIgaGce1No5Ft4hRXGk3K5j8KMR5cfgjXEEjOWUXDeVtts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21448859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgADmSCRA9TVsSAnZWagAAeWwQAIr4LfmNnuwbaNvwu3PN\nlIZR7NthlvB/6J94DCRA266tCNqEG/SU0eHmrgqhA6znOJKnPxE5ndih2R8+\nQrvQMmguMPKA1L7cjyz7uio2IkxwISNsszcVYhbmb3kwKVgsTMAk0VJpwKCq\nLNQtruyZLQjS7cqfXlfwrQphEK383vN8yMEZrEAFri9HsrNE94JDut9M0xEe\nSLSwSjkgTndVmiYC46PdlWQJxAp8g+Yj2tt3CvlqTunAyfKCrc6Sq0rtU0M1\nG/2Di7ZcClLhKRUCv8W1t7/xULn/4lBeS/y/SHGztliH6+ZWCLSCQhEAxSG+\nWgsLd+UUpPh23ZtVNacUfsGKfDmRNF0mGe4k5dHqWXUo0onuTP7Dv/jks4Mb\ndBAI3np7Dp6YV4AVg7pj7mywf2aQugRHBS9swQcTLa/6ywfvUYHkvEpFa6gF\nMDV8umsASHyzuL2dyg93YdQ6KtmCc57i/4mptYeEQt5Xsz1yvlzqHHzsAoSL\n4AQbp8zOegj3qpdIBjrmYiXFbVGRvjb9DDt3ZKiPzjRYSXoCygLB5yL4qxGp\npkHamCUti6ntT8LcT/1vUN0iXucnWCS+YO94RfWj/nOKQ6mM9VPS+ly0cXlU\nSnbjNEu9mBxQM0yUTZmerS/yQPhVLxfNoo7RR+5ouBd7BrTNeObXiTGGTN1G\nqk9u\r\n=RHxm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e_1610627473421_0.1222063133085678","host":"s3://npm-registry-packages"}},"0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770":{"name":"@preply/video","version":"0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"93e1b0dc41995a218aac9f60f6ecedc6a57cced2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770.tgz","fileCount":710,"integrity":"sha512-UtBSjwnNYb+qFPeqrHeajXC+ZU/8S+4QuxCbFhRIcrrIFFWrG8fx3sXoTB1k25Z6Zb9H+eLz4I3af6WRmfynOA==","signatures":[{"sig":"MEUCIQDMxx/AkyUH0T4n3y9o29RGZHlZ/kcgPA42CyYoIg09hgIgRPxeDPRISUEle7xCwUWJ6tPDXLCRZ4nJs7wphlecJrc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21448859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAEmyCRA9TVsSAnZWagAA1eMP/10p/TpMN6Zbq8HGg/tY\n1GobM3+dq8BDAT7tyugC4kn7wS3lgCcmT54r12x611gEDcXnK2lLOIemFgZ5\nALnqn0Wqc8pd1X2gj8tblZxVF8P78DCrMUWFxvGRn0pJu6rrAx+BXH3IhA0s\nKsgV31UGQaXfjUmVbPGkwX3XSft9K54dckHAMGFsOSSW6ZtX/8fewsi56ev0\nU5DlXFfJhfBqNVsy2SW6ZLfV2ZI21+zZfrkTdfTn7mOJSWVaEURDAwMoZjdw\n3ALTpqNphKlaAWaohmIvJVS+d/2mTo3OJ5gbk8O9lo1laLvVMsrB9cDufJ8v\ne/y0IyBtNV1gDZAprhrQNVw1Y9kf3NR3F7nq2yfV09e/WY0CwH5VZps884AZ\n+CIeZqrpV3Xm4GEnK195kmbSihAs+gtga9g9DoQVJ9qWiXCuo1YUpur5mpTz\nUTjQmn0k6eLoExKTj+Nv6gNqoxUNaqoK+eAJK8MjPhcxEV3+QnvCsan7/Ylk\nQ0zxhyJ6t5rTCptsuP3F4NzfEE1BwMd45fvPZusAxctMcvnguHrPn4oP0gq3\nOvhkEfjbo49FSjWSfR96alMuK2Iy2IzRfXB1U0b7rYA2S4vUOOWYvf/3UGsm\n70U1ytAL/SwT/0d4xuJPuQbRDop0Ar5sYds7Vpg6MdggCVU1v6Utolbx9s6f\nlOEV\r\n=g71U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770_1610631601390_0.9613869563980002","host":"s3://npm-registry-packages"}},"0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015":{"name":"@preply/video","version":"0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"301242604ae81b629d37dc9fc2cf9fb1bbb42b8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015.tgz","fileCount":710,"integrity":"sha512-HNQuYVUy91cQ0fJ6nZFUZWt59x3vJnL+Qx443BYsbsXhKIuVgtss5xlvRTURbuF8p5Qh7LShmVpEFGznHe9jxg==","signatures":[{"sig":"MEUCIG/If8voUc8MI0ThY2MTAuXK+gwoCF6USC6N+JdXJ8zFAiEAkAMJBPf/k27VoTC0Z6NRyityHz4/joVGX4lpvtNsts0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21483856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAUTkCRA9TVsSAnZWagAApHcP/3dDUBGxS3xpF8M+4zaO\nnA6bGp2m7OEE4zrK9n29JJuSUZ20NS9D7c++ohcfO65dByvb3Npm0wYBTVix\nUnE61Ecqjr8oy4OoLYOLjAStrD+Dsa1fqaFQxYJCpWTCPcBfSzio5ujwuAmY\n7F85aPtgu63OTaNLNHBGMEPRo/9NdzYKnljGYwyOjHCr0JEm1d9OxuHCkYdV\njY7g7vBM2Y8KG7jWAKreHwmN3wnR7LwARZGWmGaIukJyle6NT/EwjxRcU4gJ\nlo4iUlFdjios8frW4aLScWCBTVpucn6jR/3nNKX+lj7EqKMIYauCjsnzah5c\nXN0bi+v3SzK6wTOtR7P+3N6IrYp8jcMea+la734SFHl/OSAq1LE05PnuX9f/\njH+YA9B7aFvPiIwqceJQ+b3Ww5g34AGpz3RDDxo7fmIWESZfpUzaD0PvJ6xs\np3eDS0ikcbnz10kUElGGQHGRfJFDvCsnXIlA9isU8w2D1ALB8rDGic56KdwH\nPkX/xz0PTlBBydnXb58Q1iF+NjckEqIe3dVLPOo1XjgBQsGI3AJdxj4B/yHl\n6Wyi8wovpNMYo1pw6EmbswlTQerQPK6zrgsg2lGT/E4kfgbJjfOpWIj29YWW\nZIKpQhLTPRzEoOeVfiCx/9aWXPIf4tqKYBN8f4C+ruH4wZ/fJklb/IoCZgK+\n5vIC\r\n=Y0vJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015_1610695907268_0.9725557399703211","host":"s3://npm-registry-packages"}},"0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1":{"name":"@preply/video","version":"0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2c7726252d824b2a289f8a09c70aa7576448cc35","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1.tgz","fileCount":710,"integrity":"sha512-CwtFRjnsDSokGhE03npJF9+zQBn+O5As8LrW2DfHNm/N1mqKSLhMIllBsCXQqBeu5+zVArKQsKSbTZwUWktl/A==","signatures":[{"sig":"MEYCIQCmnXQh1nlBMhHXTZ1Gyu0fEnQv5blgpviWHwu/r9caeQIhAMm8RcNOqzoDYZ4RCDPhqxaoK2dVV1Ge8P1jZ+XhCmOl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21484246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAVJ8CRA9TVsSAnZWagAAjGIP/iyqSmhPRBI5n+7K4BVo\noigYGj5DlcXV1NVgXhmz7nTQzB8WEHjtwmDR2bg7xBHDNuUj3ZF1hGmaEPY4\nhUZpCe42imcRaauO0spMa61hbM/ZPvlMJGP4mGZJ6lRDZ9D/o1Foq6bbu2jR\n1YZjHVl0EzhIqW5kTBKKT7a10/tiosPyrdGPWaD4Fq5CsVCEL9urgwFiYSg8\nKHiuODKT6Zskb1AtSjDIk8gIkRmGCdWfjiyuFKia+6XAN0RQFOjqpLrj5jb2\nsGaLJVbJFezTFeQyGrJ1k0smyOVQWNgcasfZpiSUZIMD45C+p07RszatUIG5\nB9mxsJ1IK8nB4tvLDGG/CjoDOvuZQDeseKzZqYNYBkxQRCEOhBoE8rDpSaH8\nzAAzUX3BF2Wg02KgNvk7LVfVL17cTcMwZsAPUMnwXznerJwFwQiDTKx0LHSf\nO5zThCsw/u5jOmQ4i2u1av9UlgPkqN6L5LWMAvH7+H3CFZ8tiA2Z9DCuCADv\n2RelcaQn0gZUxo16I43ny+EJiTVRKe1q5clgFks6x/WoH5+t6SLYFxDBjYXT\nisOa9eGoEz1VBkWXe+1voKV0bwsG6msSbNvGctIUbMjcOhYXAKf626AkgG1O\n0ZLTF3EpyKpL4vc+PA0Po1ZPx4AVNHCIuHQpibUq8iSS6t/5j8Wbc9spnzUI\nHTaU\r\n=fnnr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1_1610699387808_0.982032988171387","host":"s3://npm-registry-packages"}},"16.1.0":{"name":"@preply/video","version":"16.1.0","author":"","license":"ISC","_id":"@preply/video@16.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ba61441032fc3b3828d74b9cbf9e556935ace667","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.0.tgz","fileCount":712,"integrity":"sha512-bCDE2kf24F7TYZYjVYMkWhVXRjpG1PG56u8NkziOwu/PBpl3vBj/gBIBQ28+d8Dqs7c7FbUXrgfWLLhF5lSEGw==","signatures":[{"sig":"MEYCIQCW5aE+/3MVGzJ1SLSXLwX4LTzClo9PoxzfgyuyVKcYpgIhAMjsJJgbUqab+GLiOT3l+pa0Tx0b7zVCebJalLQ5YHDN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21563688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAbDCCRA9TVsSAnZWagAAN1gP/3EA7bA1zSQoINkT35vP\nA23PcyoVb8awPk77Yy5fMl/bioSk0wEkJzywf9QBM8ZX2kQOn/CTbYqp656C\nLw2jWoIi9QE2+AupUUvbv2BtkLbQb38i/1jjozdVnXKHz1voiOtUFdBHtCuI\nmnzcfdVW1MNTeG6oTgtG+qQVzm052QtmJi2HZubhjkG9lObSyHFXATDdctSv\n9h3bQiCjiluERtU/AuY+pMofZh7Gs7AXE9Mjydgx0jv8MYmNsV/RVobPJzJr\nu/OIF3j0d37O3iGSbfEyOaPs68Q9wX8gXjsu98BiUOTTJd0DUIstKVNM807S\nlDquraM3GiGWcDkFL30FN9rys2D9qUVOGvAlF2xYZD+HT5kpRgCi3WQ3UuTo\nEsA12dlykBj6+RxvXIUhCy0IzzZKOSZm5/Mb7wgH+iZwMOKqSjDVWmcLjgm6\n6g/Yknsdzu3LNu3CJsQmKV1pIA2vplGmQbh8OfP+XmA9nFkTMtu+dvqG4YP3\nK3f6VhiDf0yWwf3YD0Jn0SYLg05D2eYjikvoCMKTdrhqH5gBW3ICvKdvSA4D\ntTsJf+4HDEHDED/o+gRcrnNZ19CpzhHpcUxKcP2UEQTwxZbWWX3OBoa/g2By\nNF+HxYQxk6hi+PpMFTj2FRBkzjJEY16d8Gp5qMbOUzEZiJJDM+UqWFBNDpzj\nfZ4a\r\n=/OLn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.0_1610723521204_0.6250068842770353","host":"s3://npm-registry-packages"}},"16.1.1":{"name":"@preply/video","version":"16.1.1","author":"","license":"ISC","_id":"@preply/video@16.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6960b907aac8e7913fd4a1455ddd8a882ec71f67","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.1.tgz","fileCount":712,"integrity":"sha512-kvvJ00hSXYs9TJkmmdvO3sZ2uGLqlAqWYVbgUsWGbrtA/P3YyjmaM98ca9eHTQFktk1DlfTovwTMOtbZDGhCgw==","signatures":[{"sig":"MEQCIFfs/5eX6WiaqzhAH1M9HnAJjaHZ/4aVwv4lWBsbc5AAAiAjDnnKXhstzOIceJPvmldhIuiFhWh6EnngxetISGXR7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21570348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBUlaCRA9TVsSAnZWagAADsgP/06q/ESGupyPQvs2pbeh\nA8vap7mA2vzPtc3P0CHo+HhF8lFSKZtCxzi3D1XFkRUbapjN/q8Q19J4H5ga\nRFHMBLCM1AJ9PECf/mMXn6ynRPTudW9Zs7isAhDdrXOtD8wBFTGDPbA0LMxn\noOPzq64474Mi8QjXlwv0+dg8uj+xPd0EUuX1natx7N8Muf1w5Q+AHnmij39L\n/hmtdZ6Ez4cIAmmbUZh8tFJtGa2iAyzkAUJMYu3SZxwnvUXwFUlE6vY2I4LS\n4MewaDOcl11zGYUwQQIYj7bZms71MnG8AwHziHfAQPmv+FaZkubJlVclDFp9\nxZwyXgt8WgGbGDSsrNu3G2da7409HuxMr8n8+YMQQf6S6wDCY0QvFPILK+ra\nkDpWgqo81nTSg0UKHbeT/LOAYFU6MSzFaR+uDSW8hb6Rsct/Gm0tMygV37q7\nQ/eHmpblTJt8YwfGFAk8GUtvEx2jQSmnoJQgasZkaYYjpI9pEF2VWggnp8HL\ntidt/eqOyVYuwmHoXOz6dVo4G2z7GxP0FGIJwKnmFaekcX/MaLxAQylbuKX/\nXFX2YVWwKeaIm6RxkF2TI/8oAM+Q4n7d9Sh/sR043m0Ef4UgYxIcNoXcsSBR\nqSI8lbGaouaS3XA3BLX7Pxbak8CMuHAg8JxN39tVqjEaiLmEcQsXEu28XWT7\npHbl\r\n=4A5s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.1_1610959193722_0.6968171697279695","host":"s3://npm-registry-packages"}},"16.1.2":{"name":"@preply/video","version":"16.1.2","author":"","license":"ISC","_id":"@preply/video@16.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"acccb75125cdb7aeca3a1b4cb21a4a8c96ee16bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.2.tgz","fileCount":712,"integrity":"sha512-OqhdHieoFqBDUT+ULeQjpKN6rNiqjLHRG4yBcMvpLGatB42tubyXOrXOMv2HPTkw5pJysAo8qnTSMlZ/xkHYyw==","signatures":[{"sig":"MEQCIB60gVRwkPlQ6yHXAiDvDh5B+pOiSqbPTwUpZFriq/uKAiBmfsMo6zwQoNOUH0DFSnNLBRedLD1MDAlJ4UR5DKBF+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21571803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgBWy/CRA9TVsSAnZWagAA06gP/jwZLrqgsLhcGceXjESG\nhlXSmQm2EkIFv4NOYU5WeFkDD2caq8qi21DAeBur7kNqmP6dgHds591T/pKq\nCNk5rlnjsLBl4wo5aNftb2uOkcDksZ7gBKOVpZd7l+vzq0kidenZOL61igoJ\nS8s/DmXAxFRP3PDt91BU4Qj/chgkvOLfjF9uldM6edDZo/Q7o5t5lGSbkLuD\ntmgu07T4x2Tq7/Vq2eQXBHTH0vMF7YcmGB+LYlv0YamkYOnRKSFJz2TMR28b\nq0Wb/T9zk8ccbH4b5qbmWTekdtVxdWuK4eOH/vfOU8AXFnZr6mah1yTbIOjT\nIwmstmfOoYHc3Kt4pSKgTzK3yYL8WvMyDAEtSkksRBoNPneOM6tkTnOMl7lj\nDbUkmAc8dITZBuI/nUkQDtCVWo+WjUHkiUV0jC9TuYgcK0XDl8ptXeHhzvi8\n+sTLjeFaLyFduIopWCQ6XEqLKj9c0j0xJKXpjfGfQG/WvF8mnT1KJZI20Cwg\nmfud+pcwYkEgI9Q8NWw96+AMa7Kdyik5QYzOA3Q9HB8DRwXqzYw37X3JqoM5\nxDTMqtBq7ibq/PPoYSShls+TFJptxmFowMgqzcRNVlFyPhpP2TkZMBixmOEW\n4JnN1NE8st1OHe/5uDK2opX3Bv2wPEE4ILH5d0qyVAfBJ3xnwhdEzs5vW5J8\nPnRI\r\n=mUuM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.2_1610968254334_0.31104118125630276","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd":{"name":"@preply/video","version":"0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8c4ed852fc3bd8cd00b16e4c8065e520b5117e11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd.tgz","fileCount":712,"integrity":"sha512-PCOEJ5jOWTN5bYtMlAV0TCQDCv8VDsUMWKIUFLi2oxzDJ46SIcZ2fqtq9E4fn8zxuCOBK6VVUvHS8TM7k8QRFg==","signatures":[{"sig":"MEUCIQDmtlHLlKAY5R7Jl0E03+qAdlPsPIBltOSrnv3N8gUgPQIgNILuqgm5cNRvFFfo4i6rosfS+AEmQMrSBwYp3wQpTqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21580750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgB9/2CRA9TVsSAnZWagAANUkP/3Y37UXUH666SbfRHpPG\n4+cZeMypVUNNwdlWB88YIXzlwHIcB6YHBAqocU74r7v/ldXAz9UlJFrmw2dr\nNiAZ2Ybkm8jTG89YtcAA7d95BX0pDrUtntA3Qj1dQi0/DUZ6idxOt0Z/oh+T\n6+F3OQr754FJrFr6prOZeytaIEMnWARM9Zn3yTY2VAGVMIYmYopfhv8Z7CIC\nQ6OoRQzo7EaJhfjTECiQJT178SlgaX8DeZrN30ZtvMdPHSR0Vi8iIIRWDQuo\n3+oZOdSoqra9tz+qSuxflJZmxTAMdVrmIWgXp5HQTFT4SpVxn66FCjfgv7iB\nUPyY05xFl6fuFDJERkYMLhqPXJ3jpSBA+GE9L7vJjbW77afgEKxeyT3gRjoF\nk5+i3n10Hh3wz013DJGKz6/BKaBt6UX4inlDoyCnqLWcUNbBRqJX3ot/W8dj\ns6ws8BCtripCAedmmHuhOCyxMIJorc0pPEax1qmuVA/r6ZzAvImbcvhfkh00\nXkT43psBbZg8MTtN6Es98RQrVnrF352jUtpfktV3XzEuav6R0E64wy6gyUCd\ndiPCLRSo4SMq6neRElJfLg64H4zpndyroQGtAOBuUTNVTKDT0K2pLUm24DaC\nP9748HSURPEA4viXG+QCiqCsOXDA736sr9YU0gcKd4WnQazVKmVjMs2JEymZ\nUGSR\r\n=Cj5c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd_1611128821059_0.2164797743396658","host":"s3://npm-registry-packages"}},"0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60":{"name":"@preply/video","version":"0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6c49b762a4cd8a993ff8ad6a27b72556d1935bcf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60.tgz","fileCount":712,"integrity":"sha512-B9SMYuwLE6FgvOs2Sv1RxEepE3tjjX3G42wYq1Qh7X84A+5chbYbUWk5QJvAHxde228qrJHANiLmxHKeREW5CQ==","signatures":[{"sig":"MEYCIQCLxBgLtzExmstno3SyLXWRgl0SmZhTJg8xK4E2mUOTdwIhAPaLu3QcAYZlcmObNRW5taDg6IIN0nxTwPfpjfCOHxdF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21570635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCCTpCRA9TVsSAnZWagAAF8sP/jiT4rGzcvMIs6+Qo2wT\nA90qb0zpFUD9MIQHynzladlbJw8cNFXmoPNpI25GczKXX0vteDu/zef/InJ/\nZAkgktbpbOtjuDqANbA6y980KfAC0AocjBlCWpJuuh1RdD7QnAK4fwZRVsAL\ncVSyEH4WLzNgApYZ19UocA7flfDb7uFBqXxxUVlUzJ/nRh6tfI4RYPfmoSD8\n3q3hO5yQvXl7TIjFvbhhGeOGOYsaj1a2qefS4IQqP4TgWym4ullsowf0A3JJ\neaEPxvu8CpBTGf+FrL2rLyBeDC0Q0Vfpkl7q7inELyoME/fAEvxtIbMuNCq1\n4Xj4g9LB9CFYapdMK5r1s0x/z2Ed7dqTv6kZ5Lb5lr9NOsA+inYQniVZxi8X\nrlBCayImh9udUJEz2btPaCaUisIEvdm2rmqUWoBZpaVywcw4RFgafZZVYJw4\nT4aGxJ5pae8LTMAkkb34SuWdo12rfvms/CRrXHs96GACUyogE/PN8rYrNbee\nwKeEl2qDC6XUXsayvLwykkjVcllRa77DOrQxo5qaW4p/A0Pit6LbzksbkE8C\neNs4mIgdjkj6t+is2IxQIof1mBy8KA7rdw5QAGDyFU545SgIukYQShGROA1W\nwt4dB3Gfpcth7XV056aNn+EJvNMxIWZ9YnAbVRz8HART7JF04b6RRkFfIACr\nh9lo\r\n=TvGx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60_1611146472404_0.7106795403110433","host":"s3://npm-registry-packages"}},"0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638":{"name":"@preply/video","version":"0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"aaf5a90b38cf1dd9562b8a2098cee00fded45dbd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638.tgz","fileCount":712,"integrity":"sha512-9GBK7fCDuGs8uYcocgzyn4Giaf+el6vKFARLwtkyRQ4wwac2UAkHWjgvFoeFzZdGObE3Ou9JFHuJrTFRHwIm2A==","signatures":[{"sig":"MEUCIQCgUhITwyt2RLVYGORwotM4ZybKveCe1+8AJF1LtpqAXQIgAlrs7AE+ph03ZM1XkkwJ3MX/QbbViRcYlQp/l+DxeoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21570095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCTx3CRA9TVsSAnZWagAAR+YQAItZer8saqXRycwLxXsh\nW08db6NpbM6EYG/egRRRPJqxyGLG1Pff0DnW5hTDgELSLJXqRyddCdiMvF59\nZ4awZUDSL+QbY7OhhIwIOw8p5dR+D7VbEoqAJy5DENIvOz9DlJtUBUlIH0P5\nYe2nl4qVmYimgs0l3nIx7eczt2Q6ksie6mtDBSVtp9suhphRRcOOYBB+rGVy\npLLGVbedCfl22W38i0m/GJPC4k+HfgpGEGzkTLs1iukuwoySE7DU8HUsjyPA\nb1jzLJ2FZG9M07PEGzYePz+ieHdi+WlfKJ5/wvBYzZBieV9IzMifjHrZU8hs\n0+FXJHcH1fZdYZb6eFg2yUT+3wchulW5CwwdVtXD5VTpvqBsI+tOivQdnb+n\np5Rfd3h8C8CTLvs9kUtb71/I/dOB5gOSqBgXtUap3SVnavfxYeszFR+WjSm+\nbVdDjEJRQ9qvZGYnk2oKxzibWP489um7b+YPNiF3aaNmPObh/MOVHt+H59WC\nPpVfBZUlxJwcMdpCcgnSNGiNrJdlg+62rDJulDBD8BTUKQuZp8fyVgHaRWT1\nUPvqXRCZQF0i97ri2dR+JLR/60hih72l3rjGc3Gh2qmAZ+eUXH59nycU1lwP\npt2I3pKFi7f3xgh4Wrj9O2Wj6UBiczMBtUjNEPBbmLy7IDpijA8DYeHelybv\nRYej\r\n=KZKJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638_1611218038097_0.6231048625467177","host":"s3://npm-registry-packages"}},"0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c":{"name":"@preply/video","version":"0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ce57af8f122c2d3012c4705972ea0a52f057a9f9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c.tgz","fileCount":712,"integrity":"sha512-Xpn4husqkfu00W1x2S5lDdk3y8O4W3ZXpOiplTf35PpXH5tcnPHFEzyM2eszD5OJhGtjB/r5pMuOAFyMu+Kq7w==","signatures":[{"sig":"MEQCIB0ILUv3pi97Mg6LXYkttbMHpdNJUYZ2gDEMmkoogufLAiBGdLOtKcvB2aAGyKCDAwLDKgK6Jn5g+HS6NjCqsZ2RBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21572135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCU+JCRA9TVsSAnZWagAAf7QP/R4Es4uYC9uXqeDGPxEb\nnBlfctFV2R98ly4IaYoXMVnSc6wMjdqW5NKnzF4U4r0o1hAQR9zXq33w4hWf\ndb85eskc9eS7mHgxBExf0tqw97Gh4WMmF47+yJlJSlLGhOP19OEPgNG5LhxT\n7iaZxsnt9xgZXHjTdLCFmqENWnUFVRtP8zwiXgj2UBjOhAwJ4SNuchgp5ov6\nTa+kVS29bGghujzox8KLP1hKW38NwlcDyAVU0mumIMIhz00qQXo1fWDgA95S\n+GwwetovdQxyPLobDyZTVbJGVvY0xUIq93ha+sYPh3kLPIYulEDuLV8z6AtK\n0BZ+87XvbMIeNBtAMeO7G7SK8DyTldrjgxxIHLJgEzVqEVel8944LUaGnWtj\nI7h3RXxCnRH8RO45bY7u5RkqnEVNRWdvoMrQ4qJ5nlHSG48IHId9okPP+Qut\nmVqqxUjn15oq7xSvAZO4eNV0x3E0hv7A3zAciT1j1AAiH0ecsopkAIaReHZi\nXeiMixtoGsScJqcNHmeja3BEavOeDDU8Cj9esX5IlcRrX1VKL0PaUioPvuKm\nN/RpJu9hQhj9bj1Zb3caNDkabGgHqGVo6120KjgHGfcCdGswxSs7zsVBNpQC\n2mzQiEOlEFpc3CgXq8ata+6/JoPHbYsivxyzZGx549tVNTSmnGxvtoinays4\ntVTd\r\n=j+9H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c_1611222920967_0.3653383566508659","host":"s3://npm-registry-packages"}},"0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef":{"name":"@preply/video","version":"0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"29a307b72116d97fdfc37ce4f13b277bd2dfc19d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef.tgz","fileCount":712,"integrity":"sha512-1Q4Rk4bE7f4ft/5rIohq5iEoklwO2uNHQfh9XaK5ct8YmBV09E8olmeMAN5ixoq3IUIE+8vQX2CuOJp79LzoNw==","signatures":[{"sig":"MEUCIQDBFxZwBlL8evwk6p+cRZZ7Xs/f+EnwbNGYRSBBznJPjAIgW90qD3Lrb1i+p/skGUa1nIelAloISSlgi+kqTvv0BA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21574433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCXJbCRA9TVsSAnZWagAAZOgQAITgUToHf/nuumTcWX5e\nj5ujdc0y8Ydp31j/UKMBaAzDx5u8ZdYAP+uGvvFCaqQyFqbb8m1UA6BMo4cV\nWgKuytFdsPlAUsphdX1/m+lUOsqti9tcbr77VLD0dfiwfvPLV34u3mMMTq1n\nEpqpJIdD94SmK01rpar8RvZTtpyUZgdvjJTTZPUL6sgh2I5r+lZNAswVKUt4\naTr7bkos5TSNBVuKIk+yy/meE0vcoDI5v5rA8hCArYARCBN11HbyorSRyp78\nyXWROKE40FLOlLvRfhWX7swOmyiEF4gRUk3DDKa75uqtMB6fTqfPga2Azjep\ngRUFTIW0Ax0yUNL3VR3hjTzLQCbqIY2QdNZAKNaGkFfWNT9F2G/f+ErHgNTy\nR+PkFDz5qmrfpeZFE5wVtdr48HWoGeAaoDRyTUcYH30sOSvZZZNWjYpxnJpR\nl0tpe4ff8ifSn56qGxyw9NjinO1dWae8jeqWnZZa3MlOFAwIEKShbdm9BUWk\nDJ0/0KeseuXvm05oVDyFNf9wB2pj4sO2V32MQ0OA+fMBC8RsHHRTnQLzPzX6\ncEOKhiaX3cjNpAd2Qsjj2en7u+igBbRcBvr6/G3Z2iivlAQZ2VLgoaQmAqkb\nkZeeS6WyM/vuPbBh3PRdcwfmTjGqek1M86AEnbj7u1nB5y7CtG4A4Xh6A6Th\nX5BO\r\n=vwv3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef_1611231834156_0.2285731148968857","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2":{"name":"@preply/video","version":"0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"385f9ce03bb2efc94dee9fb7c22ca5650ad1c808","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2.tgz","fileCount":712,"integrity":"sha512-i982zOsvjaVV8KaRx+wZYo2lDl1E1EdFWjBdxrGJVOGAUQtreibE6ss+pYfZgYVzlaXdWr8w/WF051yl6MqGHA==","signatures":[{"sig":"MEUCIQDUXN7Fjqm2LBQID1Fb5qFZInlityMGw+qO5Is56ucllwIgWkcK+Xsv/Mi7y1VUnBP4SdT8Glf4qRv0Y1nsL7y3IXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21576083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCZ5sCRA9TVsSAnZWagAApkwP/3HFxu1gLyLVqVB55Dlu\nXqP3r8VRc8399yg0OwQvkfGTPkiCo4sPh2Hy4/cUgJ98dpLey79OVfRURzIv\nIEtFV3m1AgPzbCdzr/ZvZEfDyqQhy8IKIkizlbPzfJ3dwFDAiUGGDhwztBgK\nq0aFyuWGy+h4DsS9y1XuYDV4vWCYQ8mb+4R1tIXdsLHxsxXgw8z3GwrgVuTE\n4HUIKhDgmu5gm++v8nrWy5nkU4dQY2b6AqBM6PMoYqAoTKKkqAVRZCRoZFIm\nuK6f7DWsKKCHOpTndpnXKWsUn1Snpmw85KzuuMjuCf9XlsHFqQG5dzm6/GsO\n39emVBpw45krBPqFCml3B3nIR69Wrab7Jq3c6A/ZudmblcpTYdxPVPBrbK3x\ny/cJ0zflH3QWi5cSEXJJNqOWs7g/CfS3NDROQwweQIh0t2NP1pGJ+pBHjZmr\nzrF27NucgKh8+SLWPUf0iw7wi1DzA7SoC9ZlSJ2VNBePSYsfbE2FPYtlDGGh\nbXXaEJdM8x0p9+CqbHAYaoxjyJpr5CGasodipBBkglctUpJ7chDYq8XFyIQ4\nA8PQgvx6Xnw5LUPCIwqXE8zGJGnNjidEs8RtuIVcp6F5/BLHuj/4wMY24FSC\nk8sw4PVSGh1Cv96cR5bpTq2nhn5zRIWMDrJEeFlltBeTPAQoAibDbMiKnmgz\n2NLI\r\n=gicW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2_1611243116139_0.6648964722456996","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d":{"name":"@preply/video","version":"0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8ec25bebd539e7835fd0d05fd24794c0e50a8a86","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d.tgz","fileCount":712,"integrity":"sha512-PxId5QIEyzBTo+GjDHPJ3GBHiTLe/BQOOUpL0Is0PlIzvHIQyJkCmefAhtlod1/ZDZIWyhNL9RYIsZO7DyrJjA==","signatures":[{"sig":"MEYCIQCFnUhJvKBqW4RxIEFaDheZkKmHUQGXStPZklFHjThwqQIhAKZnnjPUXZY/wCbAMKkU1ZZJ51BpiZcSqT22weU3woAS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21567284,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCpDUCRA9TVsSAnZWagAA5B0P/A6++szp32VN9bQ1dLeF\nUNWRyl8EwDh/HWBU8HbrG5oGv/vuf/fKLvC0dm/yNqzLEjkhT/cBwlLeCSLU\nVCTjW+Zb7QFTn+qCy59UU7I/hWGzSMoUrhuuBt2Mnv74agIOLGyRsdIuRzYZ\nLgW+JYoErP1lKE0hB/nZm1ScZXdsOUWzajroSYwT2zearviYu53lb1iL4lB8\ndBGyjutjk4+ws6phdaZN5m+H/buK4ckZwzlLQXcqCznnfXmpxXTyZEgOLq52\nGNElboXSfK9tFItsOPxaL0LJjZGRC/9CkNHfo5ro7wdx+4Da65ojKCNvoNkR\nnT9tbEFjCjjqpF8QxnPrkbP0ztc1bDgbJTJFC5FUBDogjLeb9ZGu8Ty7HpFB\nGn/lP6LHA459Jz7UtbYOJ/trgWRDjHABFDH2vTeIqPIE67h/aRc223xqYxzb\nSNHkiYqnm9N+SEUttyS1b4C4d1Fe+RuQEfDW0fXZUtRDOHoz8Ui+VclsDmOC\n/Lq6GfK+huMBKvdnJhpK2Zfj0dv23r5NmlRi9jxW+bAR6uuLOh4h4G8AAF0T\nJmz/tqG+DK08Y/eenbrm5lzSjUSwihGbC4C79mG270Ph7SFuyzCaKgsZaWD/\naX5wEO0rzPBRZoHu06ka+xUuYdUpZ1w4BYGmuEoPBj/4ghmxEcEfAPlRzF6n\n7H31\r\n=t+D4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d_1611305171211_0.4847670223355185","host":"s3://npm-registry-packages"}},"0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076":{"name":"@preply/video","version":"0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c4abbd2787200dd5047e7281c8fc7ea03de8f1a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076.tgz","fileCount":712,"integrity":"sha512-ldivg1f2U7LWGvZqLXaHntykJS8h+fSgc8oTifVNolPLMRCf+N9JLViLiso7iSrX7dDqtAGbLX3WsqdBTbovhA==","signatures":[{"sig":"MEUCIQCJmHgjgplvJRYGrVd5vi2OuCo1uUs3bPl0eVVJmYak5QIgHd34OLyK+Yt2LQPdoYIWiSxlhWTE+7nlvEDdlkJIDUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21578677,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCvjZCRA9TVsSAnZWagAAYRUP/ir7TmNRKSsbNYie+ImQ\n1ECXTu4ny3LshN7FVNCyW+eS9d38lxu/jEtCXymMxR6j0Q2B0XHg44lVno50\n2RVwXc1B8H9igqocnIU3WSxAAn0jXW5q0lmbWBUgz2iEk+A5l7YopvsRinx+\nLGA/7fITJ7hjB+1UBqTRM5/pJRgc665ieBBl08nLnqs4WaH1ugRiNXcWvxsR\nmzlzIazzZCzVEaTmw5HgGscdGObsoEPjHBXfpeaHa/h46CdpcU9Gt+pmdnCD\nZ55ynYultgCSEStYrMiImyggUz421bGHQRIcT+ukf+jSKKy4qvSgyYa4rZf9\nPbAvWVwjzDaNSL0JaXh8yvQEkENNx1labYvsRr0/KLg+Z0xhRPRrbGGIAmx9\nEQMmLWkB5tUcz4jpgus8Ny+voNI61bdxIFt7wyMGcGeW+BafGoofYRyLN/ln\nKn49mP3glgqy7Dpnru5K/kloE/Hvbr9bhrZXkufxZdWwfVamFAznhUnKUb+W\n4o9mk7EAGcihZKdd72Hk2syjY1yZpr2CF8aiqCqtuzEBNngFVpZeC+Gv13bK\n1Pr9zWvTo7xfF6fLnmLmbdDAlqGgTR6XoXC/YAwXfEQq58sFBOm7rki2MVrx\nO8LRkT2SqM+wMIRG8H4GY4HOch5LRGxHtDUMEeTcBaA02K6rHuHV8PGM4KRY\n+OdH\r\n=MQYk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076_1611331800966_0.6811917176500175","host":"s3://npm-registry-packages"}},"16.1.3":{"name":"@preply/video","version":"16.1.3","author":"","license":"ISC","_id":"@preply/video@16.1.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f1820045919f3bcdce22c41c117ab0a9015d6a61","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.3.tgz","fileCount":712,"integrity":"sha512-BmC3e0xNdXTQ6mOugWY6wwJ26rzi5oj7+3p6VjKiz2My6WFd34Ocd7NOKKyhp07keeekqDSiJUMPEEB5njl0Og==","signatures":[{"sig":"MEUCIQCFsnyGC53p7ipznv0PDyKYPehy0Y9AClOubOxe83JqkQIgKX0Ba8b4LwBMMOttTJYl2J5Y6MMIdiEzN9dwvy4OoRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21566737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDos5CRA9TVsSAnZWagAARFMQAIF8oVVTWUuVCDIGSGK4\nysZ1U7ZaBT9fm2kMmns7OOlO+/PjJCNoKWceINFQ9KP6ZsJ6xSXCVJGD7zjb\nAGX2luRNOvFePQOxj2Rw4fK0tnuV4M+b6Tg7kB/Rz1F/UrHL7hSYdLnZWCTl\nwvMIGmgUiv7zwDEqARiSb/uISTcaaicwMMfM+Gb+kJRCmyNvjYV7VIQV1C2A\nAHOzHdAksmE8c9/Rfei+BOTGPah4lPmT2fGJr6fMTrYs5hxScEck6XCYQkdE\n1AMnwp+jxZOXQ2e3kwWtY+kueuPCwg+r++lo0C+tiuId27k5is1cdkbI7ToT\nbmhiKZjDOER2O0jxJS8l6DMTl1qBGKGUb2+OkoQqBy8XIWV+kyfuOSn/nyWi\nANbN3yUchTeJ0d6Jy02sch81g9hx3PP0Q2luajoQP5PH+ADHrUTcgHpuNJxu\nZZoPQ+VIuzMfYHnBp4R1evOT/j+GWbQWILbx1/AezDuyPx0CM8nqg8P8SfRA\ntMT4ic/9aqTSFArz/1XuM4OGwHFuPFGNJcqQeXuXniag7sjkcxcmuD6kFUSe\nNdLTiw4n16brQ5OzyxWHIH74Bf91cvXO9lKGNsXDg1EHm0dbPm2866MrwwpI\nf07C1gNwD4i4JyRzK3hw5N9QLgt6A0EWAaMOxxDIBCVSP9WSYHx4QxckvlYD\nRAmm\r\n=yJw7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.3_1611565880785_0.7829649552914384","host":"s3://npm-registry-packages"}},"0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c":{"name":"@preply/video","version":"0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c407f18a5224f1385c3011293d51bad6063535e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c.tgz","fileCount":712,"integrity":"sha512-aGbLur006MUQGE1ezMwbF94sEH1UjUUlJPTs++ePjsmgDj6qNbDrLIlRRxO1Ka8DB74bI+gTFFtyAHj651jj9w==","signatures":[{"sig":"MEUCIQDXrIK0T2Nm0fwXZ98z2/jh88RUXtrWlvUSBYd12niywwIgelaVo8uszhnyIobDQlf4taNga9UZn47w6WkwJOJdhxw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21568102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDp6VCRA9TVsSAnZWagAApPoQAIE7fHCZAgXOlGPvL7fw\ntoOVlPYGF42ooi+9axkBLAS3k6XSzXOYwpXdvLqaMfsTmy2amQ9dM/RWxpO1\n8s3iQr5hYh7dPgjIp1cH66KzNf9Kj/e9CM61dSAuNSIk7quEBizBhgKQY0v/\nQjUBM+tz2RpIoeMSrh85jLtBktR6p/ofBVERcK3+ivbqztvFH7ooP9Hlwlp3\nd9IX8UFdpmp032Mko2TObD55xQB5NxkQLQhF4mwukDfnzk5jd5TBiBhT8BL6\nIMBCZW2IHA59GmkbUKs9zsS28/Yb1tJeHhtPj78+rl2oDqzow8oKvMRWe1Hz\ndFS0kpBWwMTVdcfF0s7A7569sw+oQ9mPzmMzid9Wj2FyN0GnbH+m11M2lLMx\nar/AnOn6jJw/YOZauQbHS0PupV+j7jN6AJMWSwYo8lUl+JFzjMQWLpHg1OLU\nh1zFLjJfCUxvHYhOBdTiXdpjv8VWFiKpLuqKRIUrre7fLcsZwAybp/1jaXgL\nrfm4rratRxO/0UtZZ/UCxwhU2zLjuuR1J45n7Q5IWK96GyF/z5Jz0gcq769L\nEK7UVZx0worHQHYfyBE3+K8db4bYJ8HDRlmfOQjIcjrM7NrFdGJ6+mEBT7qV\n6rHAsNyhF7Tqfnp9Ywu0iE/PraA+Nc7f0X1OlFBo1KAMjD6PEQ2HSJLX6lJF\ngvSy\r\n=j+j5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c_1611570836943_0.5491473768655146","host":"s3://npm-registry-packages"}},"16.1.4":{"name":"@preply/video","version":"16.1.4","author":"","license":"ISC","_id":"@preply/video@16.1.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a62fbd89c0dfc2dea72aebfac72d5b73f3d1be4d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.4.tgz","fileCount":712,"integrity":"sha512-km81rMXF6jx+wjuOo2ECcIAFVGnz+L4YjAR11LIANFPWtzl6jHTiD/lcb1Z0YCVIeNqS+CEMc7md5tujTzvPtw==","signatures":[{"sig":"MEUCIAu7zUbcHYVHU9ARn2ND3KduqRlF9Zfl0GHABNX8mlFiAiEA/umUj/MfwCPn1m03T2xFUzRt7HxDpyp+NpPIjuu88j0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21579095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD9V3CRA9TVsSAnZWagAAEbwP/1J5XUM/SIBVK08J3FAU\nPkjDRivqcvQJLCZOz+oXOVrZYI1y45CLR6pYc9PYa5WqXBQvVoMGz0U6Iqi/\nCsRBt9Z5QYh/ks53wAQzN29hWv5KBcwN3wmvYSsTzIyD3Nb4IfpFCtveWbWu\n3KUl0PIJUPDsHy0e2+QRnwwIqRdXZwZItHv999jiDTKBas5PVscexsa0yojg\nQZkWw+VEBeV1hZayIvi/mArwkNsISP3LORGt2zf64Z0rNAUqxtepmbMV1j3G\nG1KyDck8Ww6NkT5au86S3dv+XuGQyXezV8jzd8fyD8fkWsWb1q0zLyDgdMJ+\nypT3Qo9Vnb9pVjxy3fEeTBU2JlTdwl5dhw1PVnd9PAU/EXxUkovAs0uue6uf\nRqcdkPDlFL2RIle/X4vj4mSyJA0pLz7RDPzalkidfZ/sP3OcaTSUw3ECpF+h\nKSl3kkdgzs5tKmiLuzC6Ow6oS1ySYhQYl/vlCWBR6MzvmozhLTe6r3YS1NGR\n6d3seDSjO0J6FseUSQKEUp/vHIzG95MfH8nn3KBt3f6tCFiRGWB9xbgsN8RJ\n1mZXkjdGPhgaycGUkC6DKFTXI8azddXIfHxDc51St/ASdAKrJKP+VzDVv9bq\nMn/4lyY/RazlPQk700Qv9kybRykqtXNRMcYeS0trKcu4oLhHg52o55gaZJRv\nlvFa\r\n=9hk0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.4_1611650422383_0.9552254327733627","host":"s3://npm-registry-packages"}},"0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b":{"name":"@preply/video","version":"0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5baa3c09cbf62c328ae06aee87632cfa6962385b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b.tgz","fileCount":712,"integrity":"sha512-l6ANg/csazGs5D52oIShLlwE/xUYsaYkvl4u826fFF1NpUXfK1BDJ9VDB+5OExCgytBk5qEC5yxzLbrtlNLtMA==","signatures":[{"sig":"MEUCIQC85z1tidKdrW3mD6gEfJCtRjicFRw4Ebtcq/010J/rnwIgIuhAoIH0ukeKtquvXVlMs/T6uhMAjPOYX0/GbiZqyfM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21580305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD+UZCRA9TVsSAnZWagAA0LMP/3tb/0lzfFX+5sJ/qg5w\n4rWTQxuK16X9omoUBaHS5P0ludt93fWeH3TQobQ3OfqoWiUy6388Y5Xx4Pan\nFZVTrT3sZ28vmp5kC0jOJ3e2neSoDUhoJuDGc/dTZiY/ROAyT/K+pX3wImIF\nUrVn+n2uXAbaVSOFAtB6wpAWbzG84AR9qqhorc0nk6cF8txteNnkohxTPMHd\n4T0l2K3v3PjRaFc4PscBWytN14RY0ouE/KdhJOCLocYWPIaRFcrPt899oYYD\nxtqZc1yqJroeWzEOdLo5jWutaIM5H0hnQxDN6LBwGOEbxQvcZ0e45o4o45D9\n17HVY+p6qRzNq+yGa0IYaFmOUxfuzswdWk3jVy5EtpLWXt2xrJI3Ko1KdqIn\n9nt2xyf2dCNxpFjmNAZrfktwla8z6bHH5r+LjAbeaKOiCFq8nLTMknW9/o8z\nTAk3R2EoAz0L894fQJ0oMwkam1et5XaAIBHcnSXUSl7Qxu9sr8adEKIkncT2\nUZkIcNgWjvNabODjRvN4/AvNFXnJt0on5KaQxDFf5teHwzMHCiYQIIMkFoiB\ngb4YNfvKknF6YZvAgi9ABBPBoGjruMex7txc4DhL+6kjPh7SEHRekB1+Ou6F\nDYg/nt6b92itTcfw8+Jnb1Wi4YlGLCOjeSOlIR598TFHF9kata2SlpYYGybN\nZ8lV\r\n=itRS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b_1611654424521_0.5130558970284589","host":"s3://npm-registry-packages"}},"16.1.5":{"name":"@preply/video","version":"16.1.5","author":"","license":"ISC","_id":"@preply/video@16.1.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1b942d2337e96888bbfd5089fb381303370845dc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.5.tgz","fileCount":712,"integrity":"sha512-EcnlsKxtHsnQcv3ZNwB+N/U37C3lRGShczYk0mpUkmAC476puL+kg3cfNcFRDRpYpWj+IyjW8OZJ1dXdEEbzMQ==","signatures":[{"sig":"MEYCIQDv604ILDZyLew00mWW+grhDfgSBjlyx4sJ4wETY5dOWwIhALc6uwxJ5Cte6Q5CalLNZEANu5l9aNVbH6xjcnP2+rXb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21597561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgD/GlCRA9TVsSAnZWagAAovwP/i+mgS3OiuretprGdb73\n8DwPWee3Kia8ljK8/MbXQ7rEl0X8jBIvC9yug5FYbaKgHZJLgzLE5Uz4aDlQ\n+bWO+XNDGGBUt5h+ifVYtCmn2ehwtKlDt4stfmHP/xkad85NmGcYlY7lKE42\nynDobFUX9rAHGbpjWp11Se868LEbmr3E8lWww7jHiUu2lNnbhDPpvxXYpDee\nCXDDSOKO/nBePS2dZM6GxPxTZz7cytaSJ8Kp9oUI9K8I9yZ3JFfRWT4LlC1E\nHvqajmaNVR32kwPlxmpap7rA5/fTSYlaB4rF9eH8Q4Gel+GGgAEfzRVXazON\nA96Xsp/lyyFs44dMfZGBvfwRvx3dUzDv6oR0y3uV8X1aES2hMYJieRfGPG1P\nm2wNL89RhRMnosEr5UuwzpplI9luvSwbFYb8Q82mI//07OCZoy9lUd4iPVWV\nId9wuiQ2In1GqfZlegvGDXucdNS2+DbfCzLeUwz5IvcsvEaCMaIC0K/rS52O\nv9RCIs2QTk1fLQmgHKvk6YlELDsmYkTVUIJsH3ayHAed/FGPLj0XhEzsO+FL\nEU1ez4PfyeiE1N93T2P3nBCE0vTnZCC/xcHeQcZBmknOJeA3pjpjNVtp5Pgn\nWoIq7uVsj7MQaAF9GIQxvS4RMfjoAcvNQ0zbVcFhs1A8GtNAarlwR2BSv2/t\nAJMm\r\n=MfG+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.5_1611657636723_0.45578819743604426","host":"s3://npm-registry-packages"}},"0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409":{"name":"@preply/video","version":"0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"54820920bb8a3975a89d3309d55fa7ef427fb4fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409.tgz","fileCount":712,"integrity":"sha512-dWCQ3URlWl6y6NumcNb8MGhxr34ZJX2RjmRVt9ifLWNGng5ww1qhpKy+syyVbb5czpIbY+fRLapiBJBStMof5g==","signatures":[{"sig":"MEUCIQChUfKZRac7rbvIioWDWRdu19uazfYQqt5g/kWu8qTxAQIgKjvoQAGDEVAsVPxoyJcnE5z849kqnfpkTURqdWHIgeg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21599646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEBWKCRA9TVsSAnZWagAAjP0P/1jVtT+YMt55PuZfqIk0\nP3ZH7ecj1xa47qWSKrjOFTJbRpgtwaUumtp4CV5W5abpLlJbu+PY56u2GGcy\nJPDG8dtW4woPr8eSJ8PfV20La9m3uY/9G3JlTlGKPWElFkFCDY6FGHSNYd/L\n3hYShFXWB81jW17cM5ItKOcnPTd69kXwltgZiWdTBIgJ48COMd8YV4+Xp85n\nhUQWTi1RpgzBq34BzSN1WX70LbS5hABf5oK1iBKf4Rt4MEqDQ9djN+vT0YTK\n9j3mmyGKnqgvF9X6y0JnSWk90wvNKYZTdAnvIrZ6AVhPUN7b9A4MNsKxmt2i\n2zE5YiYeI+545Vm9cgVNo0f9FDAxDjFULYPHhx3cBiVmVyvgr2WeJB8JZ2kw\nfGGy3bmxvtJvFv5auaG/lK1PWKSVOCU9mBejMWpStvxRNtmNq9RaEJxd7K5S\nKuSkjTtp9PxLDK3RJL2oLiqH6KcWHDKtGwH7m6exa1POi3vhZWFCT3pN4x80\nPx0yJhLlICiIrZG/hh+pESl5iWN8tFUXYiDk/cKTv9urzQdscEuR3g34F+n2\nXr3t+7Ej7yiwQDjjX3n4tUnNzRkCf+Bzm2WCNxyGAz542bsLlY1uJx2JPSF/\nbbhjpGQMfIb8J1R1TeWn4N7rAyogVWRXjs69IiebfAHpAI3odz1vA6iQ2DGw\nvNSL\r\n=9QqY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409_1611666825744_0.38207683786445545","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb":{"name":"@preply/video","version":"0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c3a0e53cbee6624a9f482b0ea224ac837ed4e76c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb.tgz","fileCount":712,"integrity":"sha512-mwc779ZRCyOEUuoEzGw6NThdiS0yNdv1Y/jjyDIGj9t3zuqV54Fa7tZPTVJIbFK4AALWO9GL4u0zkTD/cGh1wg==","signatures":[{"sig":"MEYCIQCGrTqqTeA3JCzJRtao4e1d/QF3gxQh8C06qbrdqH4qAwIhAPy9+QinIgWeCy/2dhzxd02uY76V4QaTyAu2+E5H9z4C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21599526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgECjDCRA9TVsSAnZWagAABDUP/2zKOr92rtzRKHvOnJg/\nD0+9xbRjUaPG7gOS9tap1EJRxSiqrjK75FDL5JqfUSBezinHODXFjyVPaWMa\nj0WzqqhGS7RRcAmmwmOvbTIk6Tkv/iI8JREaOaCGq0YeOjVD4hxeDiEyIYzv\n/kusY8VGdoA6bjXSo791sGm+dQARuV77M6lW/mcLLNg+dz1VSrm4RxC46xDM\nE2CMqoFhv4ci+wkjwg4hZVk+P96aZZ9FjCiUqjoJo8KrrmQRVlgP++Ee+ugs\n1VJYA042LdEvDPnpOsTWIHeBu9YI2nJBAF6OOSx0hiDbQKrklGJnidIZ0NI9\nsTwamaWSavGPvISLQkUx600jV4S+x5NxyeB9VVD0EQq202eTAaOuDE6EF6A+\nt7XEWt4AyrbEwpIx+8J3nkCo9UFNhfMuMBBBXLOE5TqvuuxVOQdzlNiF1zNp\nY98nEXKYbRkhX10AkSm9yJYEEJuo/SQMRX4hCy44CjcyAa3Bt5AC/6a5jD8p\nSWO1qIHUHtDR4VHeJcGPtHWkFMupiVbWo93cx0PwhezChoi0h8qvip/ZJNT/\n4iqPHSa1UvESnq+r00KRa0i0CSQJ4h0zX9fiYrjT/vY/SrlelwOfEoFvRC9n\neMxhJ/TOkLj0IS1Tvy4gpBfTKpEJTO8hx6zjobHSnPIenLZqps/4k+xJxu10\n7aki\r\n=cuLn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb_1611671746812_0.48924742261565624","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7":{"name":"@preply/video","version":"0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f24d72f00d7ce75828488ff6efba317f62e550c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7.tgz","fileCount":712,"integrity":"sha512-JKRbTYvkfMF44bn1aRMk1G/fpeNYgo2Q5ew/vbbzHBnn/t3VQLOCVshS8+CbcoFC6KUZcFjMAYx3hbyMB49OMg==","signatures":[{"sig":"MEQCIHycgdWoYZX7Kx3dsvo3UCPUZg2gR9DgtL/QV498yrlSAiAigG3QGHFDNzr7TykOrSXkGuhIYrPZQf1XywtxurDwbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21599391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEC3jCRA9TVsSAnZWagAA+KIP/ir0D5+MPZWZkrU9c23O\ntzwqQbCQ4T64qbOknWyr6XtbQAwzwTadStq+H7h2VuCfEgoNNuTXc0b0idfj\n7oYJxq0TFjQEO/8L9YxV2Y7kXUTkyMzRygp0vOlOai2+NAXN3IfHYdC3bfZ9\nOoEDwzA4qq2dmshEUZHm2eeTazz3WHqwlbHidcwEMof2Vu/LxhfLBXy/LDhJ\nbUlPaMgGCmgxyQpZ/s6AZOLMur6tW9ITUHeLjDXZT1tiT9fZE+YTxNqLn2Cr\nUDMPoJ4SBhTZizasg826o08AOyKHrAeDSUnmHSNTgXv8oOCUlgVayQ8Tm1J1\nYl+jlon4Kqkyb6UDdy9dkRCes8FxGx5IFbxs6yQnUWny/wUHfJwGdVnJixF+\nIXEIlNIrQLRQ9o8Kc83mib/qdiz9K3skQGzCUbjGoxKKFmReKcORWgQEXHhZ\namqPGPQTgfGuim3ePtjB0jVBoA4o8lqvwggXHa4+N64eRS7X7W8GYALvXVk3\nY2Cqd1Wq3Dou6wL821IiWBhpdcvRLf9MNtFbioL6TkTjMJujjGUfzR2uxdrT\nNHKouXNipub8Ig17WN4xtLh1KQJXWvD439SCehnGnIfNwA0Kw1xtM+HiJ9RD\nd2S+DObXSA5YpMsRUdP+ae01x5R7oYzzaYxhnHKh7xGJJcKcqOy+NMh5E6m6\nD06W\r\n=nCJh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7_1611673058612_0.836090941414882","host":"s3://npm-registry-packages"}},"0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622":{"name":"@preply/video","version":"0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ef5db8578e2a6deb134201e6aaf208169652c714","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622.tgz","fileCount":712,"integrity":"sha512-DKU4Z4Tghj0WnpQ8O6iZioIhfmg0cZ1tvCMTQDqV1U3FM4ps6JVWhK9Jk1G82poXN9jdDxYEfB/3jXCdncwv3Q==","signatures":[{"sig":"MEUCIQC17K+JN1BkrPrR9fF5mGepW8a7iZCwtdNdLZIB3Y0tQAIgTqlmliKf/ad1F+BCKO2+92SzzI5hGCBNHyLgcUMtXDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21599391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgESP9CRA9TVsSAnZWagAACYAQAKCnGs/J8wl9wxXGFQu9\nmCd9IpzS7UpB7i+agRXhpwyrw7e/+Vr+gizErfYSXVqWUezAhNuAyTt3g2EO\nFLwqi6tjeiBTuqiJH9UMgA/RzQn9FukYPgOPk84kkE3Gkcj7VoF1zUUmbEEl\n7E6Qg1G/FeUKo/cPOQf06874TvsQbkJVAQmth/d1raspvq4G+4UyN7LIpOP5\ngEBBIZ8fh1c0LI/y3698W5OkD/LOG345yrkmjxugHUw635Ex7BRNQJ5KkKcE\nCfJHMRta3JDCcwUC6PrK257GLySEMQ8EqGIKvYQkxm6H5B9SLbqxyR+1j8VA\nCR7pINHSWom4XoifpwOYPgUMg+9bxISRz2c/4uw/7+iwuAqi3pqK0FI0+aYk\nrNRixad9nW1ksO9eZlpURSbIGcaFtn//42gn7s5h6KJpyb1x9Y+B8b7bYZTp\n3acN/Mh0jcF8w99O3Mk0WC7ecZWsNdlMzmud+I8S9ckcclVPTtWiWlFcmphL\njCqRa60J4feBCRMDoDzSb0uNSCwYuGSQTqXf7ZATpvz5kEYkEzhYOX7CH6T0\ncOOlJonRVTK/NO/t+qaqclGXldsSINQdkFqZxarPZpA50oEgJj6qRqDrNEKs\nRQPXZ/zgxBGnBjLgSaF/2btkrkd0hFsxCSzhfmLzo2eBefHNmuqxL9BKn5K1\nvh9b\r\n=Yuub\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622_1611736060595_0.07585236792109118","host":"s3://npm-registry-packages"}},"16.1.7":{"name":"@preply/video","version":"16.1.7","author":"","license":"ISC","_id":"@preply/video@16.1.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a8985dc0442a56ec8a0788b53596923b82b72d3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.7.tgz","fileCount":712,"integrity":"sha512-vZmzcaWJm/mNSp827RlqhbbN2S9dEAcw7hIhvYkrDdox1K5Hbr7GVIYINUoEPWJ0USxbDfZhmUpoY7osutguQA==","signatures":[{"sig":"MEUCIFvHtUCZLtZl54pjlTQEiFQXWwp0oxud64oUvjHOlQOmAiEAgHfMRe9Gu7LpG/HeqiixGv2Osq3MugOkzoQjc4Cblp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21600518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgETwgCRA9TVsSAnZWagAASdwP/RkUi2jPJ0V66NzkjBlX\nBX0jndw3ULLz3PVDyNyMXjOQYBAPqN82sBSpGNNdQHcHwq2ksQaO+AXJAoGG\n7qSzpdzlSeiKIWr1ymOhFDcUZRKxf0NWFS23OPaeMN8+aYAkT6aV785uGHW2\n8p0ezgqnNXsRFe1R+z+Q9DR9XHfema4vb7yitRQbCgRwUGuM7dQ7nGLDzrb4\ndn35rddGP9muG4j3DxcZOHsDG9ZfG015KZD9sEp8IRWpmCsOx1MBtpCz6Ola\ndrtSmOpe63HZvGTstjwiNF6PGDdMdJK5bNJxVTvmekbPX3cUzsW82NEaPinu\ny/QpKne84k+sIq8jRm+ABbjkFCL4hKsLOqYcg8z/kJoD0CDwhqFtFn4l+RRH\n1gLprCeJh+M0ioNI4rIvMR/PBUZXRr0NF4GhOZ7lRGF3d1NN/YgvOnlpBgzv\nac0VWRMTUShWhfpL0FqcD9oiu+MMBPuOCpQAHOj2A0msvzW0d0gLzMQVr9e8\nEO4SVL28SqPBo9RI7omhWQsefqo1xqL4n/ydG1Ddj9LUFmwzNBnKC3P6+jzq\nIBXQQg7A9lOxWnM6IGuZzqYGWNAcECk3rA/cME5c7+dfrzbV5fk9tCc/axti\nJETtT9DqjrbWESKhkPKuT5M9jS1h+qHqsz2M/ruyCMLx660AYpYWR6PSFbuL\nbejq\r\n=b6Bb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.7_1611742239434_0.40220678226562123","host":"s3://npm-registry-packages"}},"0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13":{"name":"@preply/video","version":"0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ce187bef3f6b0a48c9e20844b067c485ee0555fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13.tgz","fileCount":712,"integrity":"sha512-Mk3RgHXaVg8jUo30aXkeRshuj3GIsSxYErqMqy8FJw+aJLkSURdSapX/uHKDEGWNI3qKFjJ29Umj2vkcKl4IIg==","signatures":[{"sig":"MEUCIQCzl+yAFeTSDNw4MZNz1rENfFPzt13AK61GQmKQDKFW2wIgBakPJYzJwIkJdvyexBnyGg/pwlCbr+Be8GxOqCkJcFw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21602003,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEVljCRA9TVsSAnZWagAAMwIP/1eQDOe/++v/WA8mYozN\nUwbLNiWZ3FQF7n83wirnWZAKRLiYzUjkdfAcHloJYj1FQ5U8TjniJUaHPLJN\nlu26d+J5KxLWM1ZfUbXjetGlIrWgjtJRysHH2dsICqLwSQv+IO6Flo1JhXgO\nV4nqasCXxj4jxOMZin8RJEcczO+LlojsA8+8EZNcLqxpa1n+wrDfH19Cjpfc\nKjQcNIcidNHYw4WluNNqWIDDa87H9tKnm8VZCqHcV+sfjRY15dsUSN2EwkQ1\ng81NHlkwLyGi1sGdR533PMP50zahigT3Pwml2gqpV2Hrl204QF+xpgkV6Bxj\nGzwZbFPcAOA+dVK/ikZBjOxx66ux9ZAm1v1E4b1UrZjm1SI69OdPc/GWu1Rv\ncJYAU1BnkSwr2fZTODHFk68eLkCO4kj53zRu95XZx9TllyLWHR2+g+loI7uZ\neKkxofq1Icbcdm28CPjGlyTRf9WYvROnTf+5ukMr+4NfPRYW6imjDEZoK3v6\nJB5RPFKb80A51Oruu0+t+IyCd9nHBOnsWcGS+wEnxlPo6TuoBwtAk6utHavs\njJxBXliBJrcg3b5yG6HS36+dCKgg3QBgLtdPOI9/Yl85MAqAVHj5OEp6KN7u\nRzADizsRLw5jvR3draY7LdsMj6injE9Odo7wncmukA5lFmmITcheKky1OokB\nobyn\r\n=MEPd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13_1611749730587_0.4282597771631089","host":"s3://npm-registry-packages"}},"0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247":{"name":"@preply/video","version":"0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"795007c451e9cfa184ab0bcc8e2684b3dfe76ecc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247.tgz","fileCount":712,"integrity":"sha512-7tllEvquVcOjG0FnwlwwVviZth/xYJ8ko0+P8nBiFfeA1fsQLRpvFAGYNgZ578OoZQjQQcodrsDZ3gBBmiY08Q==","signatures":[{"sig":"MEUCIHuw7BokK/675BfLv4BU0KLRG9sxs0fxHqruyo8mqmWpAiEAr19kSmuMix+SWJTyvbmyGCVA88f4csLLhy15xzjP22Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21611036,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEaIWCRA9TVsSAnZWagAABg4P/3mhMtXO3Vn3dEFweM7w\n57uMdIxDXb6ichAbb2WdraeyRbjPyw5C0YGHuqRLWhcUFC6Z60FTffO39uq2\nxZggs9elEQRw2pYY2AmxjSPfo7kqIABfNZMnsxHgnmTkdNM9LiT2ShaXg8PY\nFoe54S+jAY7JnMRltahdgIS+0SJSfAGgDO/LsqsEIwO1GHCXHC5EwnBHQp2G\nwAxinprQjnAqeSPfhD5QHXvbG9tb/ZW0w5AQDZkL4kRiuu172X1LuHYmtOXH\nx/jiaj56RenGVvN5+4KCHYxxH05mJ9VQ6FND7nEzv1d6PQRz6xlFELCVYHq5\ntw2wGcFQyW6zus7n+pKS6PFplX9byat4FX2fN793AKgzAgTemk3jyNRg0Y0B\nxHhVsBeyQD/ZjPzDYfluqZMsseoc50dMTuHGr2nB0pZJShB8PbWbhsD1g0Nt\nMpZrdxigH8IWKxnWf0VGt0qGC3JsY/TQLeLAbffYs7aYVMp+6NeKHign2pyX\njt2UamlE9RNU20XnTI8IUTlotJtAdLylqgs1yqdBYx4KwVX5LOooa9S3LOoB\neMfVTJtlPMhq4yJbC5xf+qowzSnzdK/364ew5g661w5s3w/xTzmc4UA1lP8R\ndxm0H9xSYyCzMQ64iaeOh6wz/B9mi/u8036wEMUtI7Mn1cD4oSoWhMbOXJoD\nB9Pf\r\n=vGiq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247_1611768341302_0.8535680488666162","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816":{"name":"@preply/video","version":"0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8cfd3475d02d3485593596a660d8be97a526a5c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816.tgz","fileCount":712,"integrity":"sha512-fTjW8s8pNyarxJZhxqQrXZZGN03O0MusSEekKrVib87BHlLwcRBLvdlor6+cOt27fgvhjssngRKn1sZQce/4ug==","signatures":[{"sig":"MEQCIDOtbcmqmpdK5TY8jA2rmPz4EshokSEKJr/nxjLRwkvSAiBf8gWJelmtNMZPvo15Ns4C2xr9+edGCWZSu4PVxTNRsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21603862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEnsNCRA9TVsSAnZWagAATA4P/i7yGrmMcF4fHgZ+59l5\nw2sRtVulSTq4pUG/qe88aJlq/mT/Ac7dj5dZuaxOaup1TQfBTnr19P5zBkN+\nTPoL1xPaT/r20wvgiofoebqgsElTQzQc6xm7ycMV7zdLQcvzw1IfTVgRhait\nYHH3axDAvGDZdKE4r5biBArn0XkgsBkef7IkjucSYCWCP4VYzh4tPZDgPrew\n6zst2fou2T4eWNCvzIWKHcovk0j7UpuAq8d3fVWHpAtYWooLqfxXEjYL+fEt\n/8gc4jtiEC7r+dSfP0MABpcQ63o2MFDuOodTpFo5wkm5EXMtjG/RLKOJnZnj\nZsX+LeQJjWcwPQFK1QO2nzulclpjJEHJ/KuYzWuxsbeuZH9JWdDOjA5EEksk\n1s2Np92PsvFgT5f2gCby7PvmeamyPtCmkL7enwEhHflDNTFbJ8ReZYWKtVu8\nlyYr3/+b/nG0fo/Y/PmifqX3B0puhUL4eQnU2XQ5mdftBGjPhB42dVP7FICx\nscyD+Up4caauCpP+D1Pb0Z7PIiAUQ9wJcvbArycfwcVb5U6MnzJ0/pJ0OzsT\nw+rG7T681a0GUQ1WZcW51z/JA+pZz///d7loxVCgj7m5VaaUxJBBYqcEKtGp\nLjlCao6lXVGxXD+AP5U9xtQ3OyKBn5JFTkL63a74Ey+DgtHq5iMZ2qWUUJI/\nXT2Q\r\n=GZ9N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816_1611823883656_0.1391070384302191","host":"s3://npm-registry-packages"}},"0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29":{"name":"@preply/video","version":"0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4d7a361729723d33ce7a70e1258cf5bab16f7279","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29.tgz","fileCount":712,"integrity":"sha512-Ubg9aaRkbQ0F6GZo1+kQOZPqdN7NO9YVon4nkIEMOmSMAswPLpG2Osx4ys7K5eYiKMguUtbGTsTofkTOm9AopA==","signatures":[{"sig":"MEUCIQCJo9pErPeNZWslQ+DRF6sOOpxP9g1Ad/lQnYVtg1iV+QIgWEnjT73D0bF9mJMLySvdqqnMLfjmRSdP5S9/DzP/BXw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21611092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEnycCRA9TVsSAnZWagAAh7kP/3fx/CAM8afXntCm6elq\n2yYBBlLPZEB6sIwyWt24aYMndpBF3IeXeuVFElBOyAUuBDrWXWhC1lOXT2ge\nFovYhzty778RdIlH31SdJUwoyzpN8oVTWjN0+l/odeDWi02vwfa0hF+7EW4a\ngPh4HDOIw7xwMm5yIdGjKimueqqQLVQjgrTalpR7+mUrP5XAJmZjoFsEmmEn\np0YJyv9YccDQnKK0/1aYLfGVbJroiBU/UPI2PTXUXOWLYyKRc8nhkG+Chgq2\npkhXH3iKQVhRsji3csHvmmDBvxpOoVjwIjyBHZJ1ka6q7NJRZkyJDq1KZVEq\nGKbj9t7vLMR6HX7LZz7UO2s2xN1qvyipZJ721enA4TWUfrmMylGTtrJlntDk\n0P0I6qgRUinBnq6iSynKAfMyqWeaTmnRkmjAfLNJe/uiCWOga+6mQzwNxkny\nB/we8WhAIL+hJwr3GsFkrOJfJXZpFo9bLk4YFFw5sQtpLRTVxhwVAgJ/azoZ\n0onvdJEXmNra89/ekLoanOawBrSJa3ICljcT4lH1DL1UxqUllnJfSBJxb8pd\n4SyDj0qnqFLIZD1Y+eA3E7E/57seNIf2W58jsoSscNAQ0PTu23v0BEHLOixH\nBhn7c8V7nDkqsctDGOWaoyeoTi571Wct4hSuQYWHxBVsXBKGgo/9YS0SiF7g\nhFip\r\n=w9tV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29_1611824283303_0.9416480651561328","host":"s3://npm-registry-packages"}},"0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4":{"name":"@preply/video","version":"0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5e0ba591de44628687b4e67cd65e39731aa642b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4.tgz","fileCount":712,"integrity":"sha512-SnIqvp0j9HHEFWh/P5GLGo2PUBDT7Tyux9I+54cmhzUTsObb5WEdYm0K7OVAaiAl7ccATGeej58Q8G+jQ4A2gQ==","signatures":[{"sig":"MEUCIERuWP3LdLsE21eMn9A/qkkEuRZnEwc+ufq5lLB9wY/HAiEA37gHiKBhVHTtTGe76l0VyhLqZPMu4ThVR59u2gEUMa0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21604297,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEpKuCRA9TVsSAnZWagAAYi8QAKBWeino9XhJuQdLuTOn\n3ptOZa5z5E+yQe4RNxKGLao2L9/K+YTcUgjHKxO8Hxf8QQNhJfhTW8XXXB4h\n16iz3HpzfUGm3zUomBBjlLHaBzV+GdG00GUvGWpf0CnPN4lxXICnwXcN2Tqi\nLkR/ZF5CTBL9MBCSetGk1j1tT7mbJPuFIzVmuwXB8pPev3Ry6JjrdJRTNfIn\niTIvI2/cnSzyqWMnYT4SubO9bcmPynkly6HJgL4u8+uj2/Dqcj8fzgYNBhCc\n3LDQ6aKUn/7cjCDejFxewZSeEJrVYXvaWeWRYDbFF8iOuzPWUXTyQ9SopxNn\nMyl1E9kWEe5Cpm9Be0d1xH6WIM0aGB3N5w0D9EGn1YNNLZOQEQwWCeqqp7cx\nWdBjvNzBH8bGezaiPXhv5O5/OLL02XWcWRwJVMumiS0q7yQaMB6UQ8h5oR4Z\nCcyVMWWHUHXA8Id1poboooI2xmkgzqv1BnDq3GufHxaf4kqzD83PquaZqqC1\n41PfZ9tnjyKMEGn7wRnrbvp1WQ8Hxtvd9jVm3PZPLKfmNKxpdA92W8LTGqyq\nHfsqYRdCZcuyqzRlkLC86wfEtOanrX//7PaNtJtLrB6wqvFzDoC8gxNd8VNS\n9z39uTGMhGPh/WRPZpimiyHUNVDue6UeOB10sUBo8FulMBbCt6W9TrcGrn+9\niKC9\r\n=k0Q1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4_1611829933684_0.3488676445517007","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21":{"name":"@preply/video","version":"0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6de832e1811e7373770cd639735af5931f040f10","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21.tgz","fileCount":712,"integrity":"sha512-PrSR9uBgnpB6JjDwT6s97FOuljmvxJN9aEjO5EPQ8G2s1VeFWTg4hRikZ3QaExKkf37wtFbarKqC5pLZHfXtaw==","signatures":[{"sig":"MEYCIQC24TdKZ1MUAijvED8O5yhLy8O3TJRa5quOK1jz3q2R8gIhAJhuXryLVWrH9dSDLHaHmKD81PA/f3ONRiUShnkwIXqL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21605870,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEp4lCRA9TVsSAnZWagAAyb8P/0VVFS4slD9l/zBh+L4Q\ni4hUGLCkS6fdHcDBaSeiiFmnQlb0RoQKLeiW0JZdaKK6H/+jBFya/JkMbRn6\nwaAuOAV+OehH40ggho3nXl5hAu9dvNhjpTJ7+/xyEK54+IR5jQsT91KP0HNN\nyd2r1xe8JpBfTeg1RYrhCYR7jmydy22VUhQZjAy1eM1QzS/7cZSZo4Jp+5w+\nOp2GrNlItEjP7azXKIBt45AK9EXxZtuDHbQSxNefnkS9rBhsWggyJxKSxQ0N\nNRHEdn6NrrcI73wPoJ0DlpXEG3KYXqhha/UA+BVCynreQRTpXmiCcOgRm/Xv\nV8sjb1mdcDMm5nAw+vbheC1TizCler3xyc4BUGiHm5eQ1xc7xc3pkmpUk4E/\nZSJwcrOgLClx1a2VmsN9rfVGd9Vz3VCkfYvDIIH3qC+02/eKs6K98/2GYYbq\n2BhtP7gMaclisyBj48KIAhyqWRp7JAzinskxoTOvMWQd8aHeXrL43SOufeIl\nhWodrbbgFUDOrf0nxyMhtV7mNNrBG41PQ+FB+TM7Ee3F6gzrFxvecGNXYB9/\nG/SGur5ZIdrhZ7qDNsepvedS3y77oEK7QeLT6b45/WTvdOMhJa10u0Xyzgez\nOc1MomstoDty3MdcAMbnwc6OnJrWsdUr8GfEWZ+HQpxPmO4V26O9u5q6AnGO\nn2Uk\r\n=OeQU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21_1611832868941_0.37198759990229324","host":"s3://npm-registry-packages"}},"0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358":{"name":"@preply/video","version":"0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"91611cbaa1a0619d3a09fee70c02c59b1e6ff961","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358.tgz","fileCount":712,"integrity":"sha512-528VrQt5O0D5tnZmG79dcjFV8ZZeJtcMZR74xqEWEAUK0Ie5JqKpHiUCyINdkdpnqxZ+3u+M22wAQxrqF9JjUg==","signatures":[{"sig":"MEQCIGrTxEb3TjPLLRnnySQN4acUoybvLxZoLMVCr5/jZWx2AiAEWHnvnVlf57HP/0FpLt4zleZYWNEMqy+kGBnzFH5OZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21608264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEqo4CRA9TVsSAnZWagAAQGYP/jO5xIiAF3FSdBlTIVPA\nM+HOXDCerAK4taSTr46Jsq2eCnnV6UO329wv5ZCwKRN6J+1bOlqD443yD5Vp\nePpSFNnmaeSlhM3CVFHiEjXntB8n0PVB4fNlDS2We/L2QU87xEKikZ8G7RLW\nqQB0PA3as6BudCBb3Y6oFAxwAyIgewsC1qK82NO9MCQ8v8taCxzKLxHet2dN\nyKkYc0FOcY4aRlRaH9v9MbTuaq7blnH7kmgOT3H9IsVt9Xa+FDQEujJpulvU\nxpyLkIlazdQ465m6cgvq7Jy4Q32COGzoV6qvXmPl9fqA+X3V98DPwGiAkc3S\n6X0uHCopxGxdYD/c6NjGzenxnZVqCKWpE225sYRXoO44xrDy1tay1UMr+4W/\nFa0QZx0NY9tojbyHYsbld/wHky4czu6lb+ZCvdFjwy56jC034lcdCuzou2AC\nJhkIgXztsUaWreeBk1D9ovjslKhg0z4GwRrOTTCvDSHE7+D3dtXqvuyE0m8m\nuCLWJpYl04BoauwvhWSbJDFPQUATUja5fpHV2aVaAqG8a5HjWGM/R4DIWkI3\nw5iXfLPvZ1T9+90WcwpnouBhs7NJW7q5S35096RGOnTuefuj2VNNG3r84JLP\n2dUeMn924ASoSp+n9wadiCfZ8+MuPX76baoey1njgkhXBl6DsxmpL9dczFqe\nlA3g\r\n=q/az\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358_1611835959650_0.7814460073343832","host":"s3://npm-registry-packages"}},"0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a":{"name":"@preply/video","version":"0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"827c4f4190c84927a7b24cd30084c0101cda6221","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a.tgz","fileCount":712,"integrity":"sha512-G4tJpVA0h0c4EaZZhMXPBNKw8N1nD6JbUO64Auoa4CeY/9fr0Ozu/n4A3EWH3HmpzlBjX+nsHB/wpWzY2ohx3A==","signatures":[{"sig":"MEYCIQCFo9z71Gh5YVEjYfhvYVjlHzNln5+zBamOChSoup1UgAIhAPhUvx9/I55eBJnyV2lEdaPNMqNUO+zM8mPlfgmSPt31","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21608819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgErQvCRA9TVsSAnZWagAAi/wP/RdPIpMAvvyZiOoOZwGJ\nYJlFY3qC9wvginmAklqzo6o2C+fLmrJ9JBAOiwdIlkdFLKaYjlbK8UOj+TQp\nmnDtqkx8nIM51CHEhfGrq7TLWgsqmraksMn+b5pRIygEUJkB+8HGeaZ6daik\nQgoYnFr98+nLN0euuzs9JiqNGyiOCsghmlRK0C5jHnRpAWUpJFdv5FG3r74z\nWaS02GnpqsJibJRr6QY0JViNbMBmmh2XnleNFpVJJipr2wCUGFZxHfnoL3k8\n2wbMaYXncutKt4YeYtUcZ2fAgb1yyeetyaBXlbXdCSLl5nQLddJ6G7d7DkKL\nteGPbfmT4iB7kHdvB1l9t1QfXkTXkmNZIx0eZXcIS73S43VeICKz/gZ8GeZF\ntcWQ0iBipFtBoAmbhUrSKVuuQzQoT8q940/Ul6Z3kWoceWRh8pGKgwYZHzrj\nbP4n1KFFNtBIGH/BjxGShGivdBICZFZdXGGMDQ3Qp39uXt7gH57G9NN7PTTB\n1wCzxXufZIMycMsiF4TPHOV7MYwIWEjoZOtfQyoNDIyHeopcyDV82rRPoo7m\nJ+X/Ti+0Eh2aAMgZuoECqaOouHcN8Tgm17251Rm+TkUr67V0RuIp36gvTmov\n/wF0FsLa0hO0bITfkc3767go0F8sVLYSzmYZi8kIBmu94pENBgGduHGOw5tm\nrtor\r\n=ljoV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a_1611838510555_0.8014663482446587","host":"s3://npm-registry-packages"}},"0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90":{"name":"@preply/video","version":"0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1546024ebff13c0c7ba27d4a9c7ad3cb28064956","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90.tgz","fileCount":712,"integrity":"sha512-4UIGWipNxNetTbHRueSia/nPPSL7xU9b9PCICMvf8AGFBfmp+pxqussXoWnx6bPR0y8khPzVJBuiH1Ud6rRmPg==","signatures":[{"sig":"MEYCIQCdnJ0L1loYEy0wuiPxhuw6ZkVkjkn/Tg0PM5Ex4oSRigIhAJksM9mmPl3to/U70arodg3FKOXpWSONBcZ5KPZMU1j4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21611092,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEsryCRA9TVsSAnZWagAA/lAQAIQgT6c4g6XabtT9nZc+\ne7l15b0L165DmNokfaghU37j4ChJ7dAlQ5bqyIoeUgcSppU6rrHVTs0cTjEg\n60mXfHOQmfmJGa3jQ2vIDwzZvx7jISmvCdnypEUd5GLvSrlCkXxl1JnIpEpR\n3vHGRV+Xlm6riH/72oK8cZWhLcQVX+0ZqGawjCrB9qsRoqBvvMn7ZqY0bVdm\nQMnfW2WH+tFg1uTyMDN71sVtyus/LqYV8hir1yCTtaXoLUqYoOvlmFSi+knS\nuauT0/lsiYaT29TGQSGQMmexWGGiQGF5HyX/Wam0BrRazm8/3Ut+vHPrmm7J\nlj04kEF5RZ2IVS33sNb3Xpg/oWsEC108PyLkSbyQyiQvLJ+VwaTcSebwnx2a\n35FuzF+arsfJ9naqGvmLplvXpQJDMUDD69obqIxI7kkskWam0P1xGg1zYSQW\naiMn13GdUyS0vQHP6H2uqEYmVdC6542IWKkmQg7X6bIXUdjANNXaPA3UY88y\nGVqe0cKYp2AOPybxOXQRD2bdoqiKwb14/Z7/gLqM/dOlbvPadhNehg7maSn1\n7gIAadVv1qtpWgJfLdHGeCJH1u+tGGx5Qnsvf8FTvF3kqr88wn9yEOb1Ohyu\n/U34YN5N7Ujpq0BBID+EvCeYQ7dXkAt39hjHeR0I1PRpD2hCE4jpd1OJ56QY\nxjxk\r\n=bh4l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90_1611844338081_0.3993487780316398","host":"s3://npm-registry-packages"}},"16.1.8":{"name":"@preply/video","version":"16.1.8","author":"","license":"ISC","_id":"@preply/video@16.1.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e6d32277a829842633edb4dd4d9019b1628c95fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.8.tgz","fileCount":712,"integrity":"sha512-eif9cwCzoXaSrklcf56OpUHcoEl29Eo3+EviSHIk8y6NZrqXJPGrBFeG2Wa5to6m9ybN/HeRCuxsVKif5BmlgQ==","signatures":[{"sig":"MEYCIQDTragr5K8rinbdv9FxvfkdsWSAt+1r+MLGoTiSGqOyjgIhAMhvG6jEN4R65lu/P98P60hWurFk6rEW6xiNcwqtapS4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21607808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEsx3CRA9TVsSAnZWagAAMJcP/igO4kmQSJ1vFa0w2XoV\nTw3+E2SM5/ZmxTGoOj0O1ViKoQ2a7+N1OrrJd7Teyhr69iigirJVyVHKW6Fw\nRMfMt1uoXk1ZPAPmsNyje9JUfevfNsxZZcL4tJY0faoIr3mPOOxoK4ENqakr\naZtqLA0i0KB9Yp61aghY5Ou//POHpa8qpSrfOs86+wwuHEsDyxJkUEuo3CFo\nqP3ZmOh2vMPnw/RtoJ8XYk5fzBbIG9sqHEmQfP3S3lqW8/HMZXuYEz3123tS\nlqe/RcYnwXnsqQfLTlNPw1Jew38laYnhFQds5Nnq6fgb07Zc93cgZq6Ptliu\nWEvxfAmx+5UosmsMtCt52FvLf6HNMtK9U5GdcVZD4EJv18nP7ltNsJ86EyJK\nGIOzH+rRZswhtEEo4V8543J7ETfKyTKVvqdkSa9mSLJtupmDVjGvfOVQervP\nuBee+N88wfbpb5xeA08u5xptgllNbay1w95zVcnxLW4kXdZ0M3P5HtwXJ6sN\nkSqbDB0EK3dmi2d43pEeCL7bLZV1pYMmPJe7e+OpVCWswi2i2Nh8l6FM+wfs\n8KBESe/IKRILXihuXCl8f9JNbkpo9iRyVOvA7vaj408Q4HxtrDIH5PAaeX8P\nbUtaFjHu15OJbKxwsrpQ8c9DcjTgHg10XoD/n9Y2NOmbg15OYCccyTNZa0fT\nPS7Z\r\n=9Jh+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.8_1611844726599_0.8404758995042678","host":"s3://npm-registry-packages"}},"0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5":{"name":"@preply/video","version":"0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"af2c2df2525a223b7ac81e4923159745980be13d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5.tgz","fileCount":712,"integrity":"sha512-Qpr0WO1ZQRkC2a4CUkkE/pGL9KXb89moXkGZAXOWcmhzC7US+SCum34j58Ni5gh2lqSlWRuv0LJT1QT7zjeYPQ==","signatures":[{"sig":"MEUCIBa4p7G6fTRcih2qdg7gZNQzHivFX/R9fEwIx8aGttwuAiEA3rAkRIGBmqBHMGyCd64ebzzcWFm6PEhOCSgH61AX/p0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21616523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEuRZCRA9TVsSAnZWagAAE1wP+wdLs30zpGLu/UXY85pp\nnbzZMMSYArHZyY8oZMm/KXXRziwDqrS1yLctwPsDWjMQcbZcYkQ6mtylwc0P\nlhokKORtI+Q42zRFhvJgo5iEMy+RIZq7RL3JRXX0JKeby0lp20s13srFNus0\n5XhWFPAhbnqL+Lg1KMmRtZJOlp3ZXd7GXg6jcM4SZbvzq4cP0Fkd6sUJeFF/\n0G6FEqVhN4EllLmdfhRUuOX+M656Xm+lvkBmneIhZUASJjdc+io9bdg/8KQu\n9/ryToufgrLqIWzc+jWcBjoMxa4NfjlOwy1EJFqDJGPuB/JOIrZms5TaG9Dl\nWMLQrLdSTl00quUznhEcCGTGaIbhYN6HQJSXI1SKzHgckUHmJVgjGwiWzJrN\nWWa7RRDbxoe9B9+0wjIClUH2Si+uwzF5GPDiCu+tVbOE6crqPOaeljZC/FpC\nHO5o7pGf0RhYGgvQBxdz5hiFMER2HqSBqt/f9gxyYlkwnbJ1KGA1b+W9C1n7\nrXc0OUsMQGQ1unh4DFp57FnYwC6ncrnTYgpY6VWcSM82WB17wQeuMKO4/mul\nNiXeH9XOHBZYFCo0U5KYGV0BWeDMRJpFGXLjwxdLbnBCmRKJK2dtCVZpKsXc\nviBof53iYRV0OhjHO3OgexB2J+nL/H7500lo5TbpYyUAc8vG20YE4n6L5g61\njbCf\r\n=HpFI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5_1611850841072_0.4856027170367616","host":"s3://npm-registry-packages"}},"0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1":{"name":"@preply/video","version":"0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4e3a4f9ee082e03af32cb7f81e11d3793a14b295","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1.tgz","fileCount":712,"integrity":"sha512-MJ4+01Jbwpfr6wQVgscbYEiRQ6XJg0VRQHCxeKxV+8BRUKYhy5fXhA3zziRcRWHSuEQsiQ+e0XJG7ov85JMGAw==","signatures":[{"sig":"MEYCIQDXRaKhuggiJk/eysv5V2N1AaXmfqT6mxgfH+RGXrF82gIhAP0M6em28IBizCfvIDlbReKv/C6N4TuZzgn4SxrimHdA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21610253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFAgYCRA9TVsSAnZWagAAdLcP/RpYXGLukccfx/EU6dhs\nQ9WVj5XP7PUAfQHgCkHNg3KVT2bBxRFEZ5Kx9VnGekUpfmsixyVTZw8ZUAS+\nxDn6W4kVzxh4Og+cY4RsnOMxI8VazA5j84CJlN3KTC7d/FWGoP6cG83WVjOK\n9dUcE4HOFoy769MYO2zUVAAKrR+kyJlIvbP4lDX2CH6apFXG6gq1qfwz54Iu\n/7+IYhSt18NP/zc5ue/PT6m+W9W4dZLvQ2XAemwJ/uhYYBBjUFmVmKiH6E3h\nYvq7pJ24qLde2yuPNoJY1vpGYkZPzLs4LteFYTF/HlovPtDJSDnkpxG6gkWf\novBy194w4/8TfI0XWtBrjFXGJ6Uy5urUUmEpdvFoW7n3LMEBc2cEzlOdEPsQ\niu4hoanllmvum0NfMmdiDv4CJWc5rE4bEwLbyb6Sxomvu3EyuoqoqqJliVDk\nfsw/75kFxrwd78ZzaYB6xKh3B4qbSL4Gj7BId/Isu/CWGErSKuzOHQXD7eqB\nznI81kG3j5+/vnu6OVnAowrrcOZTyml1hoEtdIRUlpeQ4m52sxoCG3Q+/66k\nP8b5hvKnNy3gfOc0EWQw41ZYzdrK52iljzXHMvaO45MSXhRYrsVOo2Icueda\nKiwhjcH8haynGjxRMn2XrXU1HbuWFV4IIjO3RnaOg6xvNHFuXSRtRe48jA2k\ng+tA\r\n=L/C8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1_1611925528072_0.14513067379026845","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a":{"name":"@preply/video","version":"0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"31ed23a69db4bea89b7d4a231734240dc889944b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a.tgz","fileCount":712,"integrity":"sha512-6Ht5n3mrJLd3BVWzw7A7NMsTFPrDRFmiKGBNUEGMJW0DI6KN3Lc+BpoKtVjZHD4qusT+b8SM2X/ddS+0RPvy8A==","signatures":[{"sig":"MEQCICOQjK78R6YfT4LeiuT/7Z5QXlT8TVfMYeunueo3D4o6AiBmkfBMkhPnQnafSbajRiefpKgU8Fkg4b0jGN48gQqZ+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21610478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFBTBCRA9TVsSAnZWagAAeFQP/jYDB0nOQ59mU/nd/w6L\n1DO1fXccogFLhBPtQgA+PW9W3sfyNQ2R5ULvYQF+YTIhFTynjre1wM6acO8w\niCg7uQK292ibq/yYPG8yoDqIG7ri8kswcrA+C1JhI1s/Hc52njqJxZFIEfEo\nVywsL7rw+xoj8yaAmQPViPHd9W1yEd998Stb9Z06MXCTmFWwkmHYThKSnawz\nwJuh+D7b7GtB7uBV8TbMARlN5+nOeW4Qot4NFEf+avv2/+ld4k+HU/PE40Pc\ncP2+BXeUrk0uTcH9EYcpwoAOwKrTSwhD5A0fcXeVwapu1y/ZwKjJEN+YaSNY\ndYJp0FNToe/VSwryR91FcKRaXm9LwmAYHBOW0jIOCkzOSghtpCtPHINglQUi\nO9jN5AKct5GLa1X2z36tWKotlyu0YW/lo1VTwGq5u4n8pitcGKQCZqE1B3Si\n2uvp31ZByZg2zC6zDmBPl8z1N9fE2ytGILaFHnZ6QXYN0F/AMOTaU98fhbdr\ndyQ1qAcaQp7qcxRgMQVQovPf/4UbPB05eX8EIcM72ZwzGhmdxBuFJq/CKrL0\njSBM3C4OltjkBC/9TBVD9LR8d0qNyo3bdXEIdUyD585jzOmFn/sr5Vzc2gA1\np/isuS4LNfPNAJkLZpyp51KJmW4k3vCLv+AYGMsrhQMhQ7hg4ev4JOBlwBCd\nEd6v\r\n=wioB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a_1611928768140_0.08603340432337792","host":"s3://npm-registry-packages"}},"0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e":{"name":"@preply/video","version":"0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f5b1bd5935e96f2def7bde7fd295543086bec9e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e.tgz","fileCount":712,"integrity":"sha512-iooek7uBvK483ooJbl69LRYH4N9MewNDC3S8aa5yU4f7Rn8oZfYPCNPBZkmi8rdgIqPikCXBFaUo8bu1rXcyZQ==","signatures":[{"sig":"MEUCIQD784GfljJuDjambPB0Tk4A2NIBvBni3H5ZtcD/5M9UdQIgMJDiU24siGFmOzoVNzI/sWdZHq5jbOZlr5qnZuxZOeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21613178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFDIeCRA9TVsSAnZWagAAO/oP/R6LllthnkpYYm95QU2x\nGD2q6FchYZBLoHFEND9Up6UZO499/j0WtagVaTljK1rzQCZhU5H1gend+mGx\nCUfcycTelr7nMUWXdBs8snFhQQFuHLhIFwXy/iYFsYzefQ842nuwg1CYb0NZ\n7lxsB6DXHhDUlikghoHWWxCPgOxl2j+3Q+l3neVIXuRCu3DoN6fz4ZMhfYNA\nXCxJGQdA7+HnBbn+eqrELEyg+fb/zH+FwH7lIy0fgBE7r6HhTBKabsV8EM+R\nTRZcKZ0EP8gX66/caOPekLp/7qzed9qc6AhruShvT+CDV2APzjiu1oJ9wgmT\nwwFxLsDdDEYwyFXCEuQ7bc5QeviXkbqcRWiDeNLWQNDcafc5YHfaAZUBqFEA\nAQZfv7TqrJucS2F+alU1XUfY9e66ZltOU4yb9qU8kMlgchdch4xN/6tU89UA\nQAm+sRISx8GcLHIdFfmUPTADKdc7IlGIyo5PBYL2f8OvEVFDwNHLtYxMEFva\n62mfLCfF3rzRdpGmXbO0lgxUHlVT4+XIdJCgDtZvpf/shohi0lu8EYEosrh2\n2YUhT7xpFY2SBIgpY9/sqpgUERjKT/qJ1pXtwALWs3PUEWaPu82F6ULes22L\n2xnoxhRSZmTOX9pJeBfWmoHKK6GOnTpehLWl7IXaGwDLkAl8d5pvuDLMz7Ff\n86GY\r\n=gDNG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e_1611936285794_0.9410940189969934","host":"s3://npm-registry-packages"}},"16.1.9":{"name":"@preply/video","version":"16.1.9","author":"","license":"ISC","_id":"@preply/video@16.1.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b1d5b68024c795644533b10e973ecf7491977056","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.9.tgz","fileCount":712,"integrity":"sha512-vv8EhAXmO+WlXJ9tDCaTIlrfpnnwhaJd5PTeyjvM1AjpY8zmlEG1f34FSyYpH4EeSV4D5Az1131btD3XInpBDQ==","signatures":[{"sig":"MEUCIQD+QLA2YzH2UcKAOQxq7yQLifeP08jhQVHKZS0jFo+SgAIgUB7MXjg1i4SQSE22PJ3XjS3ynzxCKVpQ0Ob3q3+Zgv0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21611304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFDPlCRA9TVsSAnZWagAATS8P/2OFDtobVi+ZUlkZqOog\nC1czHg5T0QLU1PETIejbuWr+0UZDnYGy8pFQ1s/07t+vPCgqy4iF4KfNsFgt\nXYh6nd2H3VBnOR2W6Azm0sZYXXwo2vsLTmagYK/hQ0VgNQK2tc+gMGfAsv46\n/YJxtD8eZA7JHqLs2GwPBT8e0pMSAUNq3Q0l9iJE8it7CEG9By2+LXAsMQc0\ngTNrHWcD41YZDikRRVQ2xJqW9jsU17qQCxFx7P4w7Ink7DSTNiLDs3HGV9RX\nsxmN2blxWSYYJjLvYkQngxc1ugDr7cVbvpUkYIi/J3upSvQk4hG11Ggv5W4x\nGeE5Hmad3G/fmHKXnYaY8EPSABlSiHhvq89HEpXA3r4fJ9ezG6+BCQAxk8tQ\n4QadwkyvIXfwz4bzr1ou6tXXN40DyKbI7gmlbDdc60xn61QfCj7fpBdk5tS6\nWyPzOxfUofri2KVrLQk7nUhjTazq4tsh6FwrmpOBE39Na6XZGU3xyIXCaFMh\nvyDgddkK58wjvFu4Z8vdyG1lY2v7C6xV3zgrT0C38jZ8ApnPHjzbiap2XsmK\nqPq6UB+UfyUQGiJ7hdzfZCtplnxMxCaLQAHnLmjPFX1ORLzjXtmxRuGSnHnj\nY4MXx/xxBoHV1wJVACNbUQ1on7QqjJOPypZpGAnNNYH+KeUOjHr9yeRjySvu\nDpdP\r\n=TT+F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.9_1611936739950_0.055097831090391125","host":"s3://npm-registry-packages"}},"0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217":{"name":"@preply/video","version":"0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a5f5e8ff572688dc1a2dc5401e67360ee900aaa6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217.tgz","fileCount":712,"integrity":"sha512-U0LWP7bWuGFExPrFYpVyqg2Vbia1VvzU+5I3tI4m60fU8CqG/h/d4Vfd4W4kx53kX9NWPGG9veQ/IzTnuTItVA==","signatures":[{"sig":"MEUCIQClZf6KTK156l0A8hb5rKlNatXAW704SO1pK2xg7UxDkQIgXZdTzweTZQKkox7O9t8NpwJALbugIxvM4EedSxQX9W0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21613749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF6yvCRA9TVsSAnZWagAARqwP/iyq+Jy+tHtZBazlj1eB\nq6AkuiOEMP6eqgWQeIEUpiWb0wuoKSjHRWgKs9+LhvinNsyQ2rXVpFI9Tiny\nl7KGqEm9cHRz1jzJIAedraYH6hNIpABuQ/uJzR+r+MVS1PEIYIG5kW2JH4rY\nX/W6KsKemONmBYm+usSd2CgoDCd8C4LUg2e8P+Pa9c4QFPomjlepn+YIU/eL\nFYRp3T0QdcCj0L3AKPO46Zb8Lsa28dCRRkxUPondjDzvdBDVt79zXWhz2PS4\n+2Xt/j6dOTpwEW3phaj4Khh6/CO+CkNnx7xBl93vU/F4OHcwriP1Erop6sox\nk01efLIO7qAUvqD/XudJWswCKM14oiPrk7jky6gK7cYZn5QXM9Bf3h7IGgaO\nvioG8ihfUXfy3waIgceYnQhEXeu/uQ+Aa2ojFDcb30ONfAEL7UDc7scdZTzI\ngsDyfZbuysud5jS1HdF0OtD3piWFqQdIrkgY6jUZ/u76uzn1sgVryQ2Yp9Bz\nrp+Lbf2XIypA5h1KMaGvjYTkGEmEPnCafQblbJd2f2z2OscCob/DuD5WykiK\nAeUwxzg0SJ/KXtsSIrbS2XFJhexIjbH9brcOhHVebsb89RvzaGfdVCD3RCqZ\nI1IJ6/PQmFsiClFE/Bc2bezGx8rjtoANDvDTW6is8+zpsuPbdvTQwM2Tw3zY\nQX8i\r\n=OLAt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217_1612164270348_0.12131112428988367","host":"s3://npm-registry-packages"}},"0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e":{"name":"@preply/video","version":"0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"08c65f167e7fe428613d92f17bd53964967b0349","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e.tgz","fileCount":712,"integrity":"sha512-Hn0j8ZkHikiIGNoqEnsdV1zfu54++gjSGzC6ID3AxMPEwBUrqPBlbZMSKfe3xjgna7hF9iZy/8XvWBSqMuQf+g==","signatures":[{"sig":"MEQCIGYRdph6ClhRHyZDnLuTXOB+Fw2ObVzoQXbh2fRggcWdAiAJZ8Eed/NCsYsvB0aLesfTFzuCTf9yo8haOBSUYzrofg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21616899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF8QFCRA9TVsSAnZWagAApm0P/0bNDGqADEM5rJzX6YPa\nQcvwVPsI4+/h0IPui63FCcJvHKSEAreEW4RKC1jqmkaLLsjmyi5IABs91K60\njTguxQ1KDcA6Rjvb3W5I+2J3yGVT15kgRho+xOe3LqKmpTVRlE/kMvCV8cSZ\nxT9Z286QzAJzdOpPOCEdmIhp8Ng7SFH8iAv6XsE3Tmsq5is0hQQqZLCiMfop\n2UGVi/aRyR8hSZ1xZgrdojwJdVKWOEAVLLNGYU+CBEtjjxgomQX8495yvsoh\nGek2ktrWys396WMYf/1SGOAIAoMoYLK/nBR0NxeyQAzf6KH0jXBoScuK6pPh\noWKi8rLKBks06t5OF+S7tq3r9CdEhxfc4bSQVtqyLOa+ID3rpiI2vz2MxyOH\nMAttH5HH5TYdtLtISIQsz+XnsLfQGBCMe+sTFtNiU2HoQ54l3Go+/p8e7nYM\nzWZpq2wqtYM9z4Wz32nSBVw9RKG2Fm+6gI4XBtO/GP4gYQaTfPJw2GRxtyT5\n4Tyi7UmUuSogEoScYr72+QSzQj1Z1wPJG6tkrnGzKbRWUf4Y+jPQ4yhmAv1z\n8Gmhyb2K8XSQElHApAJNnsJTxTQzUlmvEY00/C9uRhRsFlhAKYXqXJTeHKBQ\nWMMklSg2Pi+ZtLOC5O0zwTCld28DZPPP90JXbTmic00eHB9uMd6tJRoiR3nU\n1QeY\r\n=4htq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e_1612170241070_0.8044836008564185","host":"s3://npm-registry-packages"}},"16.1.10":{"name":"@preply/video","version":"16.1.10","author":"","license":"ISC","_id":"@preply/video@16.1.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4c1b73bc714aea7b07db19852f392dad655b5656","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.10.tgz","fileCount":712,"integrity":"sha512-WDu9dGtvYJQHUJR1EaPtq5ZwVdIR6+ijUui3XCQsEfQdM0OYQfI3zidgG8lqobuheggamJnF5+S6aZNmFrzPtQ==","signatures":[{"sig":"MEUCIQC4F9MC1CUdtZie27kbRj/XE2IzMWtwBpVs+xiL3f5TYAIgUgeiVa9mO/XCe9UEmZEOPXJdyKV04kQd2ALopUjAIV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21614785,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF8xRCRA9TVsSAnZWagAAYzgP+gP5O7s8ozl4NrESv8FT\neKoQFSJ3HeupoExp+QDaz7IJ87kY2jGnuvX3Cq4exZgYosrMu2LmIif+1HJ9\nwlaepo/O8qqZQiFM6CPqEcufK4fAybrrywbm74rbs/SvGKbsOVyJGgBcnu2z\nwDxRiNVBoawgBTVn97mgEQ0bW3lM/rapoDz1bchtlpSeVpZCc+Z63mYNYyJa\nAucvXsBL4yC/zWV94Rv1OLqjBiqLIe5UWbKvsQrV4HdL+BNi+WWZoGaFi2A7\nAyYHajswBLzXSbsjCEUxLMxop64vKxDjezYNVKPuC93Ww8hvjM7xfixy+us4\nS4u8GrZi3L7ZgmNqaEQsOgmZRkJ8zP6XpQa1NItyWIrcj3OrpFKPS18ssS3A\n5kj5C2lvODEP3R159x/C0Xa9iHn9wXUvmK7F6BMBUhiEvqwEnuKUr05DIWdm\nADoLXy0cdebr2ArURT9c8EbZDremjf+B8rVq3ymRtvg2xLW/+Y8/wxPE/CEq\nRLNjbH3lo2tDRlnJ+16nvxfZOLzbbZgEl1f+a0Pm58qW7q2l7po4Wo5PCwsj\nRxthVq/4WZpRz8ABcD0VqaBtWmO+xSUqnCbX6mDA/grb8BYdAGW+LNmyhWA/\nMyiYqkBSJS2XP6KlV467XBaUxj3spgj+4RIFQlTxmy4mRVegj748uS2Eftfb\n4fjP\r\n=ZryU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.10_1612172368533_0.3084354002265457","host":"s3://npm-registry-packages"}},"16.1.13":{"name":"@preply/video","version":"16.1.13","author":"","license":"ISC","_id":"@preply/video@16.1.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"29002815e6935b20264fa9d8eb1d694616c19f24","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.13.tgz","fileCount":712,"integrity":"sha512-sbc6A0bjfSMlymwJqiObPnaL4wiMsXj6dluhbRz56lMmu3uMuRiLEbUU2d8Qgb2PHAc+8Ed+QtnMQmpBXZR2pw==","signatures":[{"sig":"MEUCIQDszjAVhA5d8J91P5y4E0KAPgHxDCRehAqOILMvtA5fggIgc94255bxL6Shy2f59V51u01Xh/aXUBsmN/t8UZdsIQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21615550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgF/boCRA9TVsSAnZWagAArXgP/j9creKU7oSr61hQcD3s\npY96KTSvUrA3MY46ZvVFtxOLHXD99CLFi7rByzH/0tSYpTsgUq4Olnn8wYAa\nGoYEJjHSf9h5goBBCvGrLSmFiBl9ARUHx5pM/dOz0jAncbb9GqrvIDhZdUCI\nt3cDmcZ7EdrQkhgeSpxmwUs0udH2iFFJ2tR+0Y/aI5xSkSaKFz7DD2G4lUpj\n13ff562ffcwLqZ+e3hcSpsHpWEFG3ME7JW4p2fmr891bjm/a50aN3sC2uYTV\nRIA0qox7gThjn+LhrFhniVm9nc6mugFzxTR9xes9vYSNv9905KpUZiVG1LqT\n9rhnpvUKoVa+MtMbY6mmNVFTWFDIwdv2ro5dO82WgBL/qDMg5zv4jBMRsBeE\nQOu/aDN968fpJ4dplPsFvsBoKFUWhcS3dycLAO27lX33DE5ME3YB4jrDAemh\nDrb00pPUodoFUKzjC4qqBit5dFJycDGqqycU0D1MDwQ1uyJiAiJq81y+zDTt\nKaeV9daGY/7rrsE4kKs4CUd2PhxuAKxL8iV2nR6PyoV9VLYijjLIM+GZp4uD\nV8aFV7GdCF/Zb4J3grmGxr1niaMkTUphMrBfezgXDZJzAtfvcsz2gOe7B0uP\nZm20WdHfbXe0KBKWdusJs44l/XoOcjbsv0QWEXCshsl522uF182k/1RdbnjC\nXkf9\r\n=vxro\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.13_1612183271239_0.7499243546781245","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788":{"name":"@preply/video","version":"0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3c40eeef0240c3b092b60e7d41d4578e1d42f121","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788.tgz","fileCount":712,"integrity":"sha512-yFhLWAViR4uhS1naXP46A5sonTrSduRRjovK4AKEEYj71hGLVikfqKf+txKw0XVtJ0RpI6oxyizyn7Pmx8eldQ==","signatures":[{"sig":"MEQCIEHdOgJdi52ltQM8JeV5fEo7bUCbMmVlyRJIG0Od3UcFAiAOpQJWBZ3RHxcUautqMaTNZWe7Jj4R5mNa3BC2KaPxzQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21619242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGUIpCRA9TVsSAnZWagAA7DgP/0BGFAAhdVRnKI18vA/4\nbqwOyN0Nqp+k0KPdp7BlG6rVIKG6CQUVKJVJNcmLdCTRRDm9hyXE33jqP4rD\nmuuH+tDb3J95MjzEkqrbNlbzpdtUX5ae4DmoT5xVnbLjtqOq/KzRcrG31J2q\nPz21yv519coaMbIA4fO66hNPdh3yBsmbXAG/Jgk4AfpG+yXeRv3yQeABIDCg\np51aUoKidkSnETWf9IdFUzCmJ+hXsOCBVLuAhDo6iqlPQiKumwAX62HVsHy+\ntoIX7HaJGoPMKdwn7tLW/j+kPiJ+neQkJn+E5hgaZ4RB7ehjeSDyjhAaFdYA\nX2L9g6+qjvW7SSmBz2FD/7ZZF+9HBZSGTzzA7GbAAg0W8abBOjMgYZGID2t2\nZNGn0Wn6jGJRTIEk5d+exSuN2hyjOUZ61MI8CUEyG8IRImjqqP+Tgnr/60wa\nswP0FuQWPh/UNYl7bBZcu9FWaYddGpLqQTYshpOXWg1M68Zlo6zoUbKLhEE8\n7z8Ylc5G6H+7o5SMTnYXKIPGQRjmYKmcmNdvmP3yY+IZnoHv5Q6uPtLY7Qkx\nzY3T/3r6day4EfY8dUmrrX2VYTwvClHMAeVeeL/qT7GLRa1UJ5mRwipTJnB7\nu4ObKOOUIAl6IE8cjrPsTAgKeyBduFmxwS9ieKw+70U/aKw+xO1Qd7k/IsoR\nYqEn\r\n=eh/K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788_1612268072733_0.32789397976154255","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf":{"name":"@preply/video","version":"0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"97ca941048fccea5cef4e4809c5e5f89779a6798","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf.tgz","fileCount":712,"integrity":"sha512-J6JAGSrhyR0mvFQOLmuwze4nVpUmdsO5hULLz9Wm8AES25FonEC9VHO81RQks0vENWzYAFtXbL6zBnapQYjjdQ==","signatures":[{"sig":"MEUCIQDYQUkxmfta4jAUWi8fbh3ugni/mvtOjwrI5ryqtABeTAIgdjMRfv5bjhNVEhLaB+B2I1YjbDrvU96avbQeA+swwpM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21620511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGmd2CRA9TVsSAnZWagAA/RAQAIgvekQSAsmhaeyE08nd\nLNw+HxiN6Lq8DFoIoUBw+nM8NbxU/pYUsDAVeoeZxtzlg5YsZFre8XX46ZBp\nVmJsyDjLwmFRPZpPZN181nYzRVawIU509fgePY3uZM+nBrS4r9M2BBaDXawR\n8N0yTm+9HTC4dMGThoNMHntmZDyXNW7DBMTlVd2mDgNOKaibR53x0ajGoZyf\nY2HawvJOz3j7cGrw4BgdCCZMABJR8pLIvTQNxCBZorK/FzsZ392amYf17fNN\n7AE7e2ip3aBRXa95hoaiJtpoaCOu6+lg1r9arosA422wnwpXZDNw+3jRrk45\ncDlpvEGawvx4C9TBIdCMJ44vCRF+L5gZXPbHtdMnDHvFPGVCVz7JqHdDgKfQ\noHPfyPIBP8GLOVSLZX4VoZfjpXftyBLIyu4EaKCSVFQV+9LodAXcQ2QYQIP4\nTTFuMqH2KmfL/RJ4pCa1vnJZ7x+z8GTBFp6Mwuz4peMNYLQUmvGqKsr6ZGVP\nsq+1HLxBOmUjLoxaOLJULN21X5GdBNO/IbNYlVF2uLVW+ZjAbb4VxxksGf9z\n9FIgxKWWhRvsn+VIovqSevgk/0O807S4/jfeWB8Zj+8Ti6+dS1prj45jWhEe\nHklUjbP/3Gqgl+aOcwZkD9yP7s0f66tKr8Zc0QdDM+aE196+/Q4dIq6ygk32\n55R3\r\n=h/Ot\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf_1612343156878_0.2970768832563926","host":"s3://npm-registry-packages"}},"16.1.15":{"name":"@preply/video","version":"16.1.15","author":"","license":"ISC","_id":"@preply/video@16.1.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"401a27c09b22c22a06c5a095c1873b033bd057e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.15.tgz","fileCount":712,"integrity":"sha512-a2dNaUgSFiTROhYFo2VpZspyLuBMn5yBCh8SubA8/KwWso0aSW7zRO1NcYxmHMt65+qzztfLYZnortG1OjUnig==","signatures":[{"sig":"MEYCIQDAhV77Exk5xsWp29/ukc1hc2kR5q6RDfaz58cpCYtDegIhAJQw9vU+m5/L9nST8a4rD0/iqvX6Tg07f4XBlT6J8AR9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21618350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGqE7CRA9TVsSAnZWagAAdVMP/2ML4wkr/GVVdZ0wlaz6\nd1EVn1L4+CRVBSUCCKcbwan52V8eb+hMrDpDiikv9MXVUQQYT/4IDLpEY4d7\nFn4H/A7nMzKOTRn7PFA9yUO3LzXmPxWLjoi6D0faoTEgldnzYJposN6wMQz2\nTohq5Ztv49M5AWZFuxgUaovBnMGbUipyoZeIUy8X7aHyWL71nzS+Y8FWp83K\nn1f/AVicZM9twT1AVjD2ol58GKoHzTKLi+ht6RgvfpU7aYbQVcY2f1xmYSwq\nAlkzsCcwF/4VCuPYt8Qa2AC7LTkTZgB+3UJDO4H+7Q8MCOLjRU+sxTXtDZP6\nZy//n5iH7uHmJjjDcsP2gDHVOUzKdMi8mdKXzKjgZ7FTlZTH0tTIwDzMFkC5\ntmIyaBEVIBVm3q1zyNv/U7mBgDH9520luqo7OhsZ3FlQXL/7vkF0E4jNGY1I\n1lhv2j7AVYmr04vnfJ6E3Ua/PRJKFsc7Y+T3ltC7YVkk0VeXZg3ncN5HISkW\nr6Bpq+hph2L51QLQ4iS5/b0cGoD8M3YmQIfMHMTUM7iXyZP3k2LbDzSZaIsr\nXDEeM43TDQjxdk2U3RtgIsFiJuzU4Q1pTePUtJg4isvlm9pw5/mlX36DNYF6\n94hUi7ksHSmY1Yr5H7S+mkGZtaqr/hUPTfOrsQSohZw7qldP+I89btGFykqp\ntJ6x\r\n=u9ET\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.15_1612357946759_0.530317809977285","host":"s3://npm-registry-packages"}},"16.1.16":{"name":"@preply/video","version":"16.1.16","author":"","license":"ISC","_id":"@preply/video@16.1.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dbd9f3c579a32d3158fdc52aecfc1515e5fd8d64","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.16.tgz","fileCount":716,"integrity":"sha512-QN5aOxCXY+JGxj+yXB4z2djQOQhv54/lp8VmbNh+OgqHaF90AHjnIrv2ZFFEbvqUf6QCdI2F+oOIcvCMgzEf4A==","signatures":[{"sig":"MEUCIQCaHY4LmMVQqnr9m2CjamcfiJD3V2y2Ywg8ARsrLe8plwIgMiXwk+6eKGD9gHl7Qtmxos8lkyE3iViUajGS1NbuMtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21675294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGq7XCRA9TVsSAnZWagAAbDsP/RMA5QiOA5GnXS2e0kCY\nvbcSr5f5UwTL5v0scvXUAW68nkoEMw8t0MXw1fnGUlSQ2rdAq9nVEtoAP0W3\nGOBUFFDT3deou4PU3L7VySmlTRL/aAQwxON4gRI8FvUOjsYUunzBaFuJhQ8e\nq7JycYAxK35xXguaub+JNYK5c9fAvCPxeMt/eHaOHFvE5h1xEm57InbI4Enf\ngqI4QlNcsaAlaw8jOyx2ke75KSIMHvEGTobsfFKYrz38oONsamX5tL8BcXgp\nKP57D9psbVwQ8q4rhfo7UzF3BjbqKO1ApPq2xwX1ZpJ3doJHp7J09o5SNHYt\n64joWfV9FUvuMCGvpHTt+1LUvuXpkda14YkK9n7jFE4zAYhi0UdK5AzK31gg\nF/7xmwtMNIABrIb3DmdSibK4+9ez/KzvNcrOvr9D4QmHAQH2lmM1pdxM+YkJ\nLo8xHw5/9kuqhyIV8WcwrhhhklysmN4DSMe5hGPjKVghSGuuyAhRRQpfi7U1\np9sSKSfjwF7entWsVfdBUrus5FaEydUlXLpWG4Lj7wWdV1umP5y/tTCYgubI\n6b+fzmCQz9eETusoMp0q2XymJoYN+3RsJTgdLrzSbd8EviFTDg0pEFR3/i14\na2P3rpP9+CH7gip535lTabnb0nCrQVyfV4kmPJK95zcqoqL6cIF01b+totk8\nRQyx\r\n=UVmg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.16_1612361431016_0.6969103028705372","host":"s3://npm-registry-packages"}},"16.1.17":{"name":"@preply/video","version":"16.1.17","author":"","license":"ISC","_id":"@preply/video@16.1.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d889450e0197a4ad0ad44e468a258ab9fa2e960f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.17.tgz","fileCount":716,"integrity":"sha512-zsq9tnNxQ76m9y2XXnBtgV75kpbdYf7mzWqUnBuJXCGftM9S8LWnSOP4YyCwx/fYXtDpUh5YXYZqeELv+VMSiA==","signatures":[{"sig":"MEUCIQCQk1bpnHV7SYitHn7OoPdH5utHdi9oE99Nsy5XMd0wMwIga0ao3ThlCbz+s1JYz+MxNS5BZSmixj0gun1+cylmfsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21684828,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgG7PTCRA9TVsSAnZWagAANS4P/jJwOnaCrliiQDqiGMhz\n2U3pCXDl6hBizok208UwTNXM4CcTT6YbEU1rjfsPoFgaTzrUNf9WhxwjfV2d\niQxdte95hobcXKlxfhmKq9YfO3PBatdFHDdYf+8NljtCBdN8qKfLfLjugi1f\nO417AD/H7+TQakcHf1vo13qsYVX0mXxOOm4se3TKfdnZC0ktbS0e95Ea/iCF\ngJlQsfDZQBzre6ZBllE6wDpBChdoYG5gE6Jw7MgL84VWt+3XljMe75me4n4W\nt0wBRJ/1ikRzqrkc60L4BNx9k6Gv8xSY2cugqUlUAm7KpFMqfUMoWwyPthYK\nnWj+IHIq2M+7InBM24d9Zan4pvCbZWYqzwzHrKagpbj90jB9IMobWhAduS9+\nvGCH7DCetzOv0c331Ke5hDaAZhupJzvaxpgoxObXuUdWFfbCLQEaiBJm8ciM\nQwLK2ZyjbXxDSjWftoTALkPp3dEHotgWfSPv04mFCaZVCcsk3cz8Hchqh35K\nI/XeNFUHoUgceEXILBUdmkVyPLuCAc7nnFpG17aZzJ1O5cnWbHbJAXlat6ls\nTkhz+o4M5z7+85P/HmhFSCo/g14TzgOMyn0iopgS5LXpdlnPjwtrG3gaVwIy\nJ06W/Dnpk2qs1YFTT+c6gfiLTVK02WIdFsslcJkkcQfyN2fNLVjNqUbB7Wj+\n9rxw\r\n=Y3b7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.17_1612428242050_0.7383455126462466","host":"s3://npm-registry-packages"}},"16.1.18":{"name":"@preply/video","version":"16.1.18","author":"","license":"ISC","_id":"@preply/video@16.1.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a2cb4642ceb2b252a334693079ac8452e7a65541","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.18.tgz","fileCount":716,"integrity":"sha512-9bkfG8pymK2WEK89DaHCv9DwZRAt3Gi/A+wFWJs/aoKdEKX/HCw6Rn2f7gaui917EYvW1nC+ZTBUB6Wl3VuApQ==","signatures":[{"sig":"MEUCIARg0hI27EyS0ev8lZsvSLZt6vr8Kwi8k4h9VZrIFI6kAiEAyu/U9a65QNzIurMzsxn1hIKCk4ygrIHHOWoNEHfe1nE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21711270,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIOs0CRA9TVsSAnZWagAArs8P/A5ImNl9/sjOT9B/pnii\ntgmesYeLPLFT9YPIFc0rPFJ5+yI4QPMQTjyTsELg1fzmsxHmUUcB41GNNEdo\nN7+ueAao21Jbz9vxGx7dYxvxoSyC15uBi1UjyNTXmpGzlZNwxanNvNJPh3nE\nxlsoisnvLokh7N4eQFElu/fAXM47R6L8W0Ik481NayXuXbhuL5qMdBkZA4Ca\nL8LKQyEKX7rnOhBAZC6F6jo7JLYz0rCTkZJk5Ga7RVH+ShU2v/GmMUM3omer\n2MQX6dcRjv/o7uwMSaAc2kZI9UDRWhlYxj9vUfwAcvXVQS9Jq0zoe6x4noAC\nt9RJWdSNSUY0pH45ImL0VL77u5H/6CD9jHd96UCQxRd7COu/RPBR1/nRU5Hv\nqZ8ZDVMaXwYAuxNYwA66ABJj6IKIbDcwm2+RvDuq88QVn+2oRELl4lhoLRlE\nYdEIQD6MuLBhUTKObOmdzhHIECXRKVOIsYahBzrK0ccBQT/XH8scVwoLSOXy\n77H2dHING8LHfFmbnCn3oC+WB2XK022zoJCqqwWVk+ncChM9vaE9KVR/ASCf\nNV3ORoPue5W/Niq6y6e+7A31okqh2rML9EqoBqf0Qoh7ZRkZqLWGM1JkKjgQ\nLt25XG+umRDP8WqivvFTpaK2jr1fh8ARQ9hyJVwVonvd/UhuxoaKXN0zaLPI\nL4cf\r\n=8TkA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.18_1612770099471_0.8808239638254467","host":"s3://npm-registry-packages"}},"16.1.19":{"name":"@preply/video","version":"16.1.19","author":"","license":"ISC","_id":"@preply/video@16.1.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fe85a8983ac1b5da8e3c3842d63c8f327ba95c38","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.19.tgz","fileCount":716,"integrity":"sha512-FfdK80/Zo1+9ooea1Kg1tl9Esyity2S+Wm8FvpelcEashR1oXCPiYAFiUiXab93oix2nrcKpvw0rteOht+memw==","signatures":[{"sig":"MEQCIFQo+LYSV5wdkdev8wAAftoOlaOISKaz+d9HNMOSmzhtAiAXQMkEOYP3YJnmEe32xMzxY9NLO218444KqcVPugx4jQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21711690,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIRUECRA9TVsSAnZWagAAjY8P/0ceGGmXHX9BlpxMRYps\nraYqZ5KRaLtcuYiX9LNwKdg3Z6aGNb0BmliXWk6/FoBMty1lO6kvktzZAAxK\n6aNvWaeYZ9MqduLeRnhUbdvzUUzxU05YXK4yR1iyHQdpWczgZeu8ZHub2c+q\nLzX9mzUF993sS5aY31SnjqGaz0oteG118Anwl54SfefOX1QxWahIQvlHjVdN\nbJnrimG1uhHGPqvvmzYGmMHIXSNfnQLm7a/yMcPf7rNwLCFrJ8SArvy2Z+HG\nrr5ru8urFh4ZyhHjzXcw6HdT6SkCH0MStFnqlttH56xLFHZPEP0bKI80CUga\ncTJqqFJpan6ty6golFtxv7yIz/xSYH4XqMVasRJKw0f98SYA0MaqRDxbQAON\njxrDME7eEROfwJ3dk0GFMVbEojZ4BHZn1iiYA+AkdvpmZaQjX/8Mk+kilzBk\nHHd7sp27fR2kIlcCeg9EE0iD/qYK1hFkXVmtIWl3x/9avYlLU1w/rP0qvMRT\nFx9V9lehcEPsy3oOZEZhiB/NGhxZnz0Ck36j2WPcLRdCAsL9Ij3cHmJ3v5A/\n93sObFxtIHJOCcCNxdw7Rp6wqAo5OahwZlp+o7V+52e/8nzzC2b4srsjNAyE\nXyyYbC5qgTpoMkd/uirfXpbRtiZav/3Kqj4n4CFg7AzC74jLSTEtPHFHo9Ve\nA/+p\r\n=Xiok\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.19_1612780803483_0.3088273046935448","host":"s3://npm-registry-packages"}},"0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac":{"name":"@preply/video","version":"0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"abebffa52f8f644a99c411339d50ca5709890205","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac.tgz","fileCount":716,"integrity":"sha512-q7yhBsCqxHN8EVaDL6oG//3516sfdGPhFf3b6FkGqiFi4hpxMctv1g7lhL1Wx1t+vmmrrAYTFz6s542z5dzsJA==","signatures":[{"sig":"MEQCIFBxxnaHoCF5HdAIts++DXHChjM8jat9j4OVBi/x/weJAiAZ8c8krSlORH4B1cWVErszkkxq3rq32w/NqUzom9lgeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21720434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgISstCRA9TVsSAnZWagAABXAP/Rkt8iujohnE/4Sd89pO\nNTcOJNnm2wXNO11/6IN7PADOYPe4G9X0QtbJKf9lbkX/4rzguAfSMk6holmv\nIBTBSfUvPboYk8LpCJsnpeneAKKb0iqn8nE5NksVDAFnKzw0qgZACXco89jJ\nkaSRN+nOvnlUGBQ+s0GYOs0mEQ1TJbfPyW2wUEQqZIGrXhaXRPL4crdxsUMj\nTtLMpk0q0FAHWhGKGCaB8WiEXJ7ViC4ghreDEAL5VGnBx3oqfHhkiuRusuVy\nY8pFrJ/Y03tb8nJ0cBYO94oBfcj+OLNw4Ltxhq5Dw9EX8QiLwoFm9fy3c6fY\n2Zx6onMFJGR99RRp8KIs2sG2+8j9NzQICZ34nCR7l7B8ajyb+Awf/9DqqJCd\npsuVzIG5I4cyS7zZj6ZlLju8HkiMVcrRgR2Lg3E6m03BPRFSVG7BceJF8tqi\niuglPDvPk93Czaw1yY+VJ7dZkxHYPl0L/8GWhav1yr0YHATXc/n1G2INg9iz\nDOKfA1jrBIpmS9HOyAIssHTsf3MIXMNXuLP3dQs84xdUBFo6aheKBMXqmnV7\nON3ISsYtXWTJFNFp4c4NJN9pU0kj+8MOy7qXv/+17oCDYZM+DqvUPGS+51Gv\nx0qtxC5N9wEngaRA+HiMUeXzzDZo3wkD3Ae7gASjYe2/eiUj7YtHSjrR9naU\n9V3s\r\n=nvYG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac_1612786476194_0.6101143094575354","host":"s3://npm-registry-packages"}},"0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af":{"name":"@preply/video","version":"0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f513dc2b6a7d86342a5a01f8196ea3bde69d2ca8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af.tgz","fileCount":716,"integrity":"sha512-SrJELPm4wHMwfIv/c46k+i4wLznCc/ZbDGcma1RkVS9LXqjGYjzRMG+57vRD3rQyawf5F8hZbdzzKKsuHT7wxg==","signatures":[{"sig":"MEUCIQDQM1ku1Z40fpYajrHfrOI5YVzO445SHUo1SbEzi+Jo7QIgChsSTQotIeao0rY9rvvA01Y1vMWad47sN20uO0cdTHY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21720554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIVczCRA9TVsSAnZWagAAMRUQAKUJRw2KvpkyqfHmh4yM\nU0Bny+CcKEeCNAyt6WxH/0u3DcGFAQrEXvM+X5RMY8UsYbyoeatCTV+pqF3n\np15DbaOFNmIiQ+N8X/qAtN3djkVt1TondpdbkjvIfux/UmQb+Gf4FAiZOA6W\nqk2jr56ztRC7km702NRe+ArNPD1t5MFw2+sxmuay6LpDGnC9JGkecBfbKCaM\nsLpkI2YcExUS8s/hJgZvPyfb9BNu4B6Xb+Wy7HhORzMDqch5RE3rTqkfE+Yw\nXFJlrsCQl7kneQQPfQYiHF/gZHdKONE6WPw1wkjfeYtI4PL8v5vQ52dzDz2Y\neU9PoxfM0fAi639YCJWTA5vUnLMF/skr1Y7dvUaIY0dfv8LgV3ZMi+kpqQYW\nQ1WrYwzAD5QVn3sYnB30/nZeD4iHWJuRs4TuQqk7bKJMbKsssppvqVkH6RPo\nnFSEq9bcGAPdt4TcHYYcrQNQC7ZJg8VLelmk1NvvwaHKCA2+cvNRSV+h1maR\nZkrXTdhqKumFT4OKHq2QNFH0Y4dGLbZTk6JnB2Hyg80uopmv5HbUQTshwaQt\niwKjdep+ahKBrIS4q6S9NjAq6nYE07Z+KylgnSKGM/wNcGO2eWdgkMOaNhSb\nf02+po8UQkpplcQbzfWkoC6vrZajavSaI/Z5zmVk88zD/Q9yK6m+cC9OGrdn\noYp8\r\n=caXD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af_1612797746035_0.17249535542156824","host":"s3://npm-registry-packages"}},"16.1.20":{"name":"@preply/video","version":"16.1.20","author":"","license":"ISC","_id":"@preply/video@16.1.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1e5ab01a4aea80137f39d39ca72b95c03537d816","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.20.tgz","fileCount":716,"integrity":"sha512-l2wUwdbWjAmPCPgsasokhXpyZypCp1ZE/Xar/7NDjzs2M1k+zWKqF/jjlSYnkWFNlErrLfLc0BU5GTpF+YjIeg==","signatures":[{"sig":"MEUCIBdQQM0FHJY4s/dNSQrNYqm79MJH3rmlq1HzHGioJ3rYAiEA3redMGovNCbg95W1ynNNJXp1kyMrVPChCQQUjYgF0nY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21719070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIWIFCRA9TVsSAnZWagAAA2UP/0AebJd5Y4i8g/8KQCtb\nHQtUR2q0UQGB5voPJtm/V2epfXYKGiAmRa7yY6z5OcDP9ApL/5wIlgqK6RVD\n6cqEok/Dj2Z3gkJvxYreXMpBrnvCRc/tJg7IWmst4EtFQlN6VAQM7J8h19kW\nWSrYyN/DP0+Yz1Z7wrxU993YPTaYBaqXT2n/XUO1GCdVs/TxllBMV2McSDk9\ndDnUoDA7yHvTgBlSVUrDrFvaPVaXkTdCOc1zlXpIceuddJawoPZVUfu1UkUT\nY2Fb5b7ndF68dv1CaM88agx/k8G0nG0Mwb88b5hqKblhlW9orCXPcNa9OlT1\nnWWYcO2uBO1nrWbH96gBngmR/80dBZPzlfw3N17fucEtudef/qyrb1G1z5sp\nCQOHCXwYuZCDxL4Mj+NIfZDL7Y1EZsGzBNPe9Ot401JRdgebiviF0H8tk91P\nrtxiev0MEaJmJheFyCL5n1wGRl1VAl4g0zuvPFC+YMfkI8uuogpVopM/nmB3\nQdZifK2mVCpE+VVlhFI3U2YZPeXqpiXLmWm3rIrrh3kEyyKqrM5V8q4XALlC\nZ6+foZZfnCWoqonURxql6WU8Au4jY0QlfIWvjOF4AIlckvqB2ZvwZfHeuXyg\nhHRqXYXaVBR9P5uUJzf4qud2U0u5lXinz9izS/So0M4EW4lY1vgVlFl0YJqZ\nQ0lQ\r\n=Ec3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.20_1612800517092_0.2561427730514949","host":"s3://npm-registry-packages"}},"0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6":{"name":"@preply/video","version":"0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d939f5049516f162bfd4766f57e12de4542e98aa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6.tgz","fileCount":716,"integrity":"sha512-TsmQErtjKw0u0YivMs3NTXvC0wGppY5mr1jCjkb37SmNvGuiB0Sl4sjhkEJjsWFsMoLYUPhtFnw5XeBWWQyKcw==","signatures":[{"sig":"MEQCIA10rAE7hkfTTGg1Q4LqC3gGyOOCCHRvznHaPhJCAm7zAiBnr0ug5PbPXUPnQQ7Gk6tCN8w65Ru8/t8F3KYTfYJ+hg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21721229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgInhXCRA9TVsSAnZWagAAbIoP/RnKP8GhywkAFG8kzgXr\n74BNrtlTKmO/U0+V4y0K3j22bg1cn1ivh+pmP3HWxRZqMYnyAbB0it8qeHmV\ndbtdNE9nJYTN7l//siupm11ktQ0M2MZEmtn8tGiMjYnCzMmwZ/KTIpH827vo\nCG5d4lUl9GjHVfD4QH5bcVXoQSYFXVlW7IB0D5VLVz2KBNHOPXfreUNOhfCx\nYcyaVbAliz9AONULAFNVL18q+EiJ8xhIdOKYmkViXe4J5axHmQe+pJ6HeFUu\nTFBvR7W4jQ+Rr8FPo3MulXH7xJvZGzHNDlQf+i9bYne8Ylst7zOeYoes2ej4\nGy/qVYrTFI8lynSCqcAAYlSMv6wWv4wuZjUdSx/uswPHROICvF7GLM6in/U3\njhqDn84cVuw/hxmNLqBymYJ+QUmuqkAPbEov8pw4hSgoI2BhdjyGWlFx7q6L\nRt2YxGhakCy7WbsBhVHAHDZCcHi6SzAjQNrUBpGXHM+o5XLMAgrfWA9X0h87\nVXBaR74r5U+omcL2BhNUkk6DMrJv6tK3HyH4VH4lv4HyHlsbHuZ1fSmaGqkF\ntuKooLXM7XxgI2CbL6LEj3mdjInU67tfLpcI6pWEb+ci9CPcLtXjfqF+6zsE\npJjs4/TAjBQcqYsrbLHAi6+/JvWBQRjLCMQQs0LoB83aaac9D3lwYX5SBnqW\nhR4G\r\n=5luh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6_1612871766892_0.9762171016670371","host":"s3://npm-registry-packages"}},"0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35":{"name":"@preply/video","version":"0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"12ce53c4a3a4ac4441e976dcb20a8702656b007a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35.tgz","fileCount":716,"integrity":"sha512-68K/XFnLmKIRJv+8sCyHCquluk9L+O9z7sGtjFXFWDeY7L1x+MB44r1NVkw+nlTYFMgcdxQwPiDY4B2+pQEkhQ==","signatures":[{"sig":"MEYCIQCzMZNmK1lWcDvLOQAGNf2gOWYev+WYXz5vOuY6TmUUIAIhANW3h1bwMEiQdqfYsG/7g2YhGANW1dIaAocxoMkLG/7v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21721836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIpj1CRA9TVsSAnZWagAADNMP/jQS6gcaD6iXv7sopLqw\ne2WbJ5n6H7c0eMXMJwVo3ItDR3Ee+/SImm4ig0nPGgiNjJWsj+e4Yrkr4jeA\n+ieDJDK+YEIZE/LRkd27kxrtKDSKvZFs2qYDAjx2eYbBAYMZhU7VUSX40n8R\nvCEEd2zQuh2nHLGh5Ae0eoinmE/1cdBn3R5SIOjxWlQf0vpT/JnFjud8SiDR\nJhzkyKDWHDlHV3zPNTDzuvt+Ms6P7G82D5w5Sc3K0Rd8f49wKUqdfo6xC3MM\njmi6zdY2GGdRnMD5F780oyP5Ho1caWMLo+PPwbM+06x3ASoTq/ERlJb5pakd\nylFyoZEIml0JBrCVkQdBdRCYYycNfZCe73ivuSlfg/brHH6V32f9beEE3Q5q\nlUlFzkYquhjvwM3vDLHQRNsUKjnK/4xKN+FBC759q5+tZ4HnMfLHM6hR0cb4\njkU11gCakIjDWGJY9SlSEU9y35ZqhuvgdMQJkQHfOeUm36PITX2hTpaev0u+\nyq0HKLj4nnMbyvwRF57Vs//Gap+h9durFDfuKFyC7HPqdhnvWvFXBNqtpIQW\nJ6ZwySScNy6gJ2sBaiOqWh97Leivx6xOBjmHwtZ9kIynl/WJxiOgYyDmfrXV\nE2+5HjGUBNE3RtRMUDml6CL4owoHxStJfm+L9G58KWeOzqFNNyyRw+Sg8v/C\naXKx\r\n=6Ftw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35_1612880116262_0.40043217109693074","host":"s3://npm-registry-packages"}},"0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27":{"name":"@preply/video","version":"0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"496c02b9f141f112f9c9ac672e02f0b4ea05a543","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27.tgz","fileCount":716,"integrity":"sha512-S6vNGYSra1hQvSi6ho3LLswwAB/gIDCi4ZhwysVDS65lPGNYVC5nJHFesMSXzfQa0uPf31gIROnODcnYIZZHmA==","signatures":[{"sig":"MEUCIFS4cDxzqOz0+tOiRKN8mpXtfEbu7YYiRfQuJDI+kVbxAiEAxCeXD1e/7d3V4zRyaIKPidwILdsoPtHd7nx7EwVDICU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21724063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJKKGCRA9TVsSAnZWagAAoZsP/R4a0TLEXCYyp1PRbCU0\n6sISjvPnM1iO4R8/Gr1PEmWwNkT6ij6Fj+HAw1egxHHbhsYWwhwHB5UpXdZN\n2gntUPd8QWIIBsY8srXyCc0JPjViD7DdzrwHS1R9InIhJAKaHmlv1uW8CTok\nHDokrtii+zJxqdIRoX/hO3WNTzuyP9b62WH3ebLbd6DvyqdKn2pJdKjza6/V\nAABevLMODpLOovrlyGkX7TXng5o8igHtpSLVM4VdUQVt21hC8pDEUM6Q0rOS\nmFPJSH1Gvxo/FQvCYPI4GnPTlo6F0F0o4tRcybQoT80I1qg/wZ9t6hpxej7p\ntX4O0EODpG+6UPCseWd7TKLYoCZTmuisImFPZzzrlwxQJk6bZ/jfJGEcV4l6\njcvVGo2dKXMErk+IsGu0uvwzAP4FpZ3HYSaXdKGxwN+IM32jxWfYsCmN1JyS\nGf+V6pDFW8iiCG7X05YcOOOZQzXHw7wtU0sTIQK9+DUZUylJ3DpOnIHIRZ2o\n856gTc8fo+t9nXuqfEH02TVJ3KqA767QywtQb7+c7ltD/g+yXaFe9xEzRQYt\nC5ymUy++ezw+eWIIbnqoNu9Q7HSsinIdk90wfRXMt03vcDDQMt480W4vL9fa\nraMSuq1ysZ1x/8X4L8ol506Bxzy78cJwwNvipWNU7wy0Dr4h7D4pae3OiE2e\n4wRl\r\n=s+Fx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27_1613013637373_0.3787401623447013","host":"s3://npm-registry-packages"}},"16.1.21":{"name":"@preply/video","version":"16.1.21","author":"","license":"ISC","_id":"@preply/video@16.1.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1eb3fc21accf81797a6c6995f320a31497b1d1b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.21.tgz","fileCount":716,"integrity":"sha512-zwpnMHE4yTSNjk843f6lhCMOwNWCQeAeULzr/X1xLrYpayH7vBwnf2GDX5IPyzCEwSxc2eOsav0qes/J1FZpTg==","signatures":[{"sig":"MEYCIQDuPokzlF/zXHGfg3bPw5waiCU1UoO1yewp5l7hMEOIIgIhAKzJWnt8I2aTarOA7T6x4ZWZsFKtdQZSDcI4r8s587lp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21722482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJQKwCRA9TVsSAnZWagAAJngP/31OE41CgeG3uPDhKIW6\nvrjshzFCP4nzqca130bCEDb0SFGu99qE+sRylk2aPuIDktTm17Ixczpz6eD4\nJIscu1EXXZ2u4CQD0Mm0k67iiuvv6Ep689709TrCpYwhD2FGPC89xBb8qbuZ\nzjrKOpkrx/3+YU2kt7288GNn7L0IBUQj+pBgGS73RDXklLBY+7Lh/KcgumJn\ndi748xm4IN+pzY1rx57Pkras87AMuN0RlBwZznKlwxqbseZZtyXa6zbp6SHg\nS+9MTMzu4jpEtUrgOZzw7PCwuduaBURv4i8f362vaLrM294FYyf0sOcK8mXX\n2ROBXRT1eyUk60XyRnGK4D9PecmX4lRtGEcXoCN8WYCxBZY3ziBbkbmC0obW\nZCgLR02oo0eROOqW0WJm42x1cRGhePZOcdkksZCEZhIydWhToqipi9TPkdRb\nv7Ip4/XYaIvHxSnxxmJtd2JMg0sIjkf9LWXXRSDdWxOewsho5nCOVo3Ch26a\nPLTqu1ECGx2TOq5BnjLgQ1Enc/thNcsNYzqOUe3rywlMXS9EEDs/Y8w3oXKL\nNf0bDQXvl5e/IfJe5ZhDlQdXyVP4CBrZ/lfz3xY4ADhAXA5yCyR25cKHUSG9\nMk0LBwZLYBS41f5IqGwelvLeK1yUs60HcC4mvAZWQMEb2DSNHf7qmrUiNXUK\nEoCf\r\n=vfa7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.21_1613038255269_0.9035345739484428","host":"s3://npm-registry-packages"}},"0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db":{"name":"@preply/video","version":"0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"01f1bd3316d84c3389922ae6b51c6fae10a596cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db.tgz","fileCount":716,"integrity":"sha512-NnkSJsFFzqDmw8PvyH/Z/6ue6ysLeLF6w+FCeF/NxWTZtMwVY3hrrUUBVJQ6uVXELc9Fp7UehM2RnT8kTLFemw==","signatures":[{"sig":"MEUCIA2soO48FOrR0KPPPwPlOQyybjGPu5K/ONhlM3lUPAP7AiEAxMyiiuUy4Y88Jy7291HJSaNsLyjjPf5BKM3k+bbRIDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21724063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJQe9CRA9TVsSAnZWagAATLQP/37czgaVWc+9HPifMbLU\nfk9E0sEAJMcMqcz64JywQjBrWbgl/lu7/KK+uwbw7P7bX3vzeI5rP8PcLYdj\nnRfq4uVpgo+CPHVgnL6t8oR5jEgLbbHbE/AxJ7J+kc++kgTnA+eRGSNZ4yHq\nop/3kC9QohzGnvQuKYvg4ulWXEfNd95CFoqTjo2TcEjiqFyh5huiBkz1czFl\nM/pM1kOL+vLiXcWvJ0UUPdRWRIkfoe1ajIYDfXwzeCj6X69M2BafOl0gxNL0\nOg9/2bLPXjupILpHh7oKpckk08zd+o7APtm7tWLJZnyyCxNvQAudjmtupaTg\nLtTPYbrEKgOwb60DPCcBl23U34G8byJRU/y/Z+HarZas01A2afwUroBwWNmw\nicB5XupaFEQ24NL/X0Jto1lIDRavp0cRYzwwneyt2XbChpXzv+djALDqM3/d\nuHUOwHUU0YYhy0fZVv5hJ3FfRp4zi0qOb8AvSUbay155NRGjz1FDkbqIxUcE\nZyR9HuaUCm3Kl8KElDDpDgbpldC5sz5H0isM7EaK2mcz2PIpAO0jat3m7xSO\nq9Hs70K5HRnW1HsBDdFCcM8mZfNTbiOqgcNpdD9gabdkSQxXAM/Iq5hwTXjB\nFYK6slEkYIaP2DZgYzfk0jGBkCas8isi+EcD7BwMtNFyenUVIuFea2Rj86RQ\nVqJG\r\n=Copx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db_1613039548398_0.6618520637807834","host":"s3://npm-registry-packages"}},"0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3":{"name":"@preply/video","version":"0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"37b9549e3e9b338051a037258de5f20f7123e296","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3.tgz","fileCount":716,"integrity":"sha512-ZcltqPCT3QzCgLI+jZdK3DR7uJi78FZomDGchc7GGQzwp4VQvVrdKoZISc+P7OEZabuIL2qNHLbOKccJJbKP6w==","signatures":[{"sig":"MEYCIQDj7w5FxNfkDQA8iqTbkmQGiD1Z9AKBmITF524SVbJ+GQIhAKY177/bEXYMZDDWA9CMfStMnM1xSv9r5dRLVEz3P3ts","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21733495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJlMuCRA9TVsSAnZWagAAKA0QAKT8L/2uMRigyIRtmiqP\no+HqUMRkB5Eiw7mybdu1zQfibhiC+9mMG0k0W0mzAClHnIn9Fl7a1phdfuuj\ncIVFtSE416AwHSzyam6XTTRvNO4vLoXUWxHnOE/pxDqhsIzBnDoad/pELMFj\nO6tgOQlswuhXH8kOYAh3IuWvHxpb5IxA6YuJmm0hcEpbYJTVlEOJStw2jKQL\nnNuCu591S/jWZeZvdIdN0NCBpn9EWo7VrQf5xMTD+2QQH312hCaffLiWLecO\nnnHVNKxSpEXbn0BwmO2DoigipBMruFCMpCijGbqe+vlQZerhSyZm0H8d7cWt\nlzlQ0uFnSLCFcmpMErhPnnsI8tdOezpYf8aGs97Xl7qibc4xhxHrsWbxVC9q\n4VUTHUuUp1uB+IcWAlh3qgwmgQ6P2ioiQFy2MsL5RRgqrxzSV6quvzdHhkGH\nLq7inDXhDw+RxQHFcmMIhf0UAwZAMqq3eFgXS9hooPli9/RhrmRCmIPd68Rm\nFrEoKxihSHVJC4mxR1d5auyaIyFSqVxYdE0ur2cIiQCCJiedR/V9nA8GRmoQ\nu8xwanP42zm1hrkpmT96UBJwL5ErwJZ1EVmNrhNx9DAiebtvDrUlSATn6dSn\nNmju+7JrAnyu99NGYupzj9R2PknopiRcnCtIul8XqubU+besAiDaUvGhkBML\n/ZCa\r\n=JlBG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3_1613124397607_0.3509627636803683","host":"s3://npm-registry-packages"}},"0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5":{"name":"@preply/video","version":"0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ed1a557a1f348e77e7837575644a2cdeb4834e0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5.tgz","fileCount":716,"integrity":"sha512-rorFlxT+z5TJ6hfQItCtrUxdtIwmIZUXPjFYVjCedP8eioX+QZ5UVI8/QXH9P0NxhJcElkzjaoYO95kMcAA8iA==","signatures":[{"sig":"MEQCIENUccOqQUreXy6OBSnuLBlC4TdEU5QfC2hNCrUC+8YxAiA1y1ma5WAE0H0KNA1VE6c6SOMxLX+PIY2lP/qci2e61w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21725278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKjW9CRA9TVsSAnZWagAAyqMQAIxgOtyxTX5TToLhRRcR\nCPVuDaDcBSaaU/0LOMRQn9EPUOokuV7uNOue91LCQMir4MdG/pjpkT/Jk3RB\nVDsnW59HrD5wv/aQcF2G4nG1PK4V7BDKPqBFFmdhQZBYewMpvzCKNClSWqaf\n8EmbhqSgY9wVKpIAnaGpNWlJ1hjFEP8F7hHGyN0es+mqe4sDBNVzuMHrBSR/\nwzr5ii5f1LWe0yPeLJDbk+oKfLXoWfVOAMUmNI/NoAlWOB8ZKdUFCVqqujqo\n6U1kDNlLtpYRTNKmk9L9bwkWXbJQFl4AVWRGy8y8J05ixCsmvRzYH7EFyOSj\nTdER1nmQ22nB4V8ocW8DGSUzjZQnKugFRPV2iDAOr5llLdH1BQQ9hxlvHXQa\n42aV54e64Dm9/Uqrfn/um4VF/ch8QRVgX557IiwlIo6MqUKrSnSVpmtEKAaN\noWKv8TjNMHe3P23xMYa6DcKl6WzHTd23OW5P0B8FoGdHqgogn/5Wbe2Cygvh\nJ+zEVlxKmb924w6ydle76Hpxjt7ytYGn3b5R59M6qJd0SMyemjDFlGGyaa8z\nqcU3+VqBh4NLS5AvIEwCD7H80zMHUFj+e3ZOBsGsidtd4/gNXzqdmH+jn/Kh\ncoSDoVioIJMtUrlLS6zaKPiD74CnO5hJ/we9LWMhctF+dzHdkouxshFkE4i8\nx3cr\r\n=Rmof\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5_1613379003835_0.08998476157460256","host":"s3://npm-registry-packages"}},"0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d":{"name":"@preply/video","version":"0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6c3a8f7f490ba4d1ad43d18ab0e6db6fb3c2baca","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d.tgz","fileCount":716,"integrity":"sha512-mvjX+7hp+Zw+0hR7eAK1pTyJi++2lS6kTdL/YiP3rCcvemHXDizR4l9rU1GwDLlGEC7KX8KpapBb4hm18yDF8A==","signatures":[{"sig":"MEUCIFuoXVVo10/vWKx19x3k4dJxmZDJB+DapRgAhgP3qJWxAiEA8Kdix+ULQ7CpL4dCu6qspKX45Qb2ZZel+E8qlKCOBo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21724948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKjvdCRA9TVsSAnZWagAAvIkP/213DAh1lXELFKwKVfTT\nXD02rgWVaFJdTH8GZ/gxfBSDRgzTt3+QIJxipAtsZS9nOuEh/3+k5i0Wck4/\nguj/1GOAF1TC2ajiTxewB0IQYU3y1x3FeCniXj0Eww0snPlEqwQ7rD3nvAtX\n8i/zJJl6hQ0gJpV027ah2fYzNlgCbjGs7LTzofsm22IeJf1BwPUMWltCVBip\n7SeOXhxKG6j8ApJD8RQEFAfmjfVG6pkP4DoV3siu+rtZrAxXtNR1Hi3T/SJ9\nYTt2foAByPeS3SoDhYX/snGifVuCAArA/d7W2FfnCLwuz9HjyfM7A91iq4E2\n/Je+smHEiDz/SUfKMpuqVSKitj/lC61MClh3JrM4ao8I86o6Nc8CXP4GZY68\n4u4lBuCaRcye4VfTC95usLDFqNw7LgQXjnBD65Bt+1FY5EERB7cmLlLDYbC0\nghXUK83POh00dAGn5r5gBGhmcYVx0h9SDhyDRH0fDG31hvX+ImujOfVtvFAT\nCqlTXZmE/ynQZH4q/nOYkt78DtLwFMwn1sVfGsAtOLKCcDGuiAbXIgc45we2\nKiIZTKU+nFL6dShSR+qmqMUBapwFZqlY5wVLNf3HN3eSxlF4C8douKQX9D/7\n0uAkxdOnfCBwQKVBlwmbKHVJHXHOIDjOCEU9A/fshC/OpGJzzrtqxvkkqBQr\nNE9E\r\n=M3Os\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d_1613380572198_0.3298364814209116","host":"s3://npm-registry-packages"}},"0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d":{"name":"@preply/video","version":"0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e1cfac52df13380cc7e3b987165060a17bfedd7b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d.tgz","fileCount":716,"integrity":"sha512-s8qf7HI0m/5caLGevb96mqhsKN6Fbbk0ZFmTnNSJP2/3Nx9VvNTseO0Ul+I6JBeU3I8YWEUi+ZpMCrajdHDzPQ==","signatures":[{"sig":"MEUCIF3GsWgamKlTXW/QSSeEpxC7DNANduWLs+cG9XQCzo00AiEA32VQu1pLk5sjSzjDX0PWV2yMWKkyedKr8kjYemKHII0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21731163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKkrECRA9TVsSAnZWagAAsbUP/0qYdfuoIuomsOR4i2yI\n8scy/PJgni/KhsLctrnvlFFY51g11HEu6pSMJD1NjLMHrG7jCzx7KaOtjGRC\nWAmY9QmMU1rY+/cCoFEDhsJWGrqvh2CK6xJ+f5hGqBk8/W6OMS7jEStmbo2I\njV/0OqiO51W8bOnVYOb5uQw2rD+ezWe9GFsIj685tONuAYBN3Z4ywh+XPvnC\nIveLmYa5IYEt4c6eh3IsNPvdzpCkUFmJrON3prY0ZE9G+yYqMva0Zz/fAHUI\nvbmOp+1BZrnNLVsX1dHA+zFZ9FTqHJdGgdjo8RrYOBItH5r8H0blRZy8wSC7\nkdpHR2OIFNedoIhyU/BfvUjj1RtYQGRoz0EyKLKOyb5ZUe0qqfImf0BPbIBr\nCV8kkZh0rx2P3FTq4O3e2NewQUWP2OkRDB94mk21B8StILZImf69bmMuGGDG\nz6q2IiRN/dmxVmazKIOb/BPtN07E0+wcL4M1bhgRFy7TOlkRSMluyAAK4Pp4\ntg2onj/6rEDX7hDGMmWquNZ+h19lAke5vLk9foRqqnRBZB2vVWQWzjBZl24w\nr0+mkl0bBKA1h7u95H59pn0dKFU0okO/ZRB84uq7Pt9iSxCTxJ3icAZhtdD2\ng+i2aeNwsQo/L0h0iASh7wI8XvWmTvp5phVMZ2Nq4gKG85oZ9r1nrInepsqG\neY9n\r\n=57Zk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d_1613384387663_0.7432565784778862","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716":{"name":"@preply/video","version":"0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7787d74d21d684723f4f2e6ee4d63a08ed7b85e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716.tgz","fileCount":716,"integrity":"sha512-jvPjMKn6UZiid/qjNxNfHbTyPQDaMP8/2NSFtdsvWSEesOld1zmBRzHWVDzImMV1jnmiZSZ0QoyfuKKj3oikkA==","signatures":[{"sig":"MEYCIQD/doneqfFn0MGBV4zwMtBBRignaYVmaXzANVBJ5wRf8wIhAPAM90xTuoaCfcrT4RpORKKAydSidxqxi2aGVgr7aB2t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21728928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKlLpCRA9TVsSAnZWagAA7pIP/1CWNEX8/A9vbBMPTqgs\njM9JD7q31d6Ph8IcafTp74dysNEBzy/UZMpszwXLMfdxuNjda5Utt8Gt3Ppd\nre28D1xhmy5D2uqiAqyWnAUJGsDZMr77sNXw0HFNclp+AhQikxkxHr8lQEZ8\nQ6YTseHbSTyMnNjy8hOHO7VIjo5nUxZWo2/a+0rfHrx3yqFxDv+To4l0uA5g\nyNGzl0mUAUqzXJ0EkF0TeDpMp70FdBSVzKdE5GTXE6YarrhgK5TLwVeF/N1C\nEtxkboJG4R7tBO8EZDDzNFefNJCBXkhs8xkN5LYFksRQGWhRS1FFLU8y7RN+\nDi+8tu1Ghaotz+Fo0znifgtejob8iDA3/pFV5Yi9W/g14mn8MOAcFdj9TmTp\nz7b6oWpoAVrqDgyWTySqq3V/JPZQw4k/qt4YpdP0ljrvMsSPY889vRiiIOHS\nIIMVQFvmygtG2wKRibpR1KF/NOM01oBGWapFnOZFB2vTShXAuxgQPTsh1B6A\niLl7hOr3paSaA8a6xwd5DexU2SgMUDtmDCNmSmh1rje9HAwCdje//NC6xDB4\n4R/JqQrGjAJwEJkCxV80xndo1QVXhev1EFOY41Qxy5wtC09O2uZ2QNJF005d\n+sozyzjdovLJKFv0Ry4xase1QKHeiDWVFMB+XiBTSSPihdSb9zKLrwMKEUha\nRPJr\r\n=4bIf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716_1613386472826_0.8211981385247307","host":"s3://npm-registry-packages"}},"16.1.22":{"name":"@preply/video","version":"16.1.22","author":"","license":"ISC","_id":"@preply/video@16.1.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"92d07bde01b5c9a97aaf5d469a4be901695528f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.22.tgz","fileCount":716,"integrity":"sha512-3kePYTxrbKmtJouNYMzqLz8HfQ3rPAmTtuN7BYNHApaYaxaxENKgtCS7mJw7z5nodSDiCVik0AdhC/jGuSqulw==","signatures":[{"sig":"MEUCIQDASHH6Xn0HYvM3ZtHGT0ba7RKCLUlibf/ubg6YgN86RgIgGwWRxnZ3R9E3ner4kZUp3bH99+GC49mqrJrNn0OPda8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21727154,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKmaZCRA9TVsSAnZWagAAza8P/j3zxTNvP6tCn8HmYAdv\ni11F9nU2KoDSwoZ9v3oVkqbOTk7qZlweAiXQJ1bqc1DGw69hZrbs82Kcsy5D\n4ZwOiIX2FBGnWkm+JX+hWDXsAW2MQ2MOeuP3xy7cJl8gaLJcERk8g0/KkBUD\nzIY6Z02oCdqYys80cZHilSUSFedJRTkSMV2PT901YjChbcXQ27sLV2qvjyPh\naNolc4b+QrDlxjGkUtGfHC3eo4v7SETffFeje0eMqP22yaqxk385ipc04KYd\nca2hhImqbjhSlDKDEQdgFsqQ8NnQU8l7TDS2n7MRDn/TUgKSVmNcHWeviW+z\nZlPuf+sQsLUqT0Dxczd2KMy0GNLuNhGq+GUphSvbiLyFTOAGwuyuM6SIWyWZ\nfHVO47ZYg+f6glit9CHdT6gWLKWGJQDyOF+4oRNHy7klJAIHGKW1zDmt7Onf\nmdSdl0f4zqWApjeUM6YHxwzpYScvjgNlOyfloCK+c+wAY5B5FFaq8A0nxwdJ\n0YGj/iqFn7rnDSa1REdc/7K0vrmKZnlxpiQfVPSPx4TgXTyLjnQAgqk12JZW\nNQRV+Fj2ZCdeNreGPG+7VSWa9Vnmzd3XsropFpoAJCUZ2aTNL24pCrj0A8qJ\nZs365Ln5AQXnhacXyXKXDMabBXtIlP0+uelSY4xJOPPJI5/mLrIErEeLRHRo\no1t7\r\n=KOHs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.22_1613391512383_0.14925559069171723","host":"s3://npm-registry-packages"}},"0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba":{"name":"@preply/video","version":"0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"10b87c27938884e2435b38a216e4abdfc195c395","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba.tgz","fileCount":716,"integrity":"sha512-Me1mO7iSb5+ztaS68PXn5hKiGVzkh/ULOarAfyLOpXCCo3YSBklmjJ4fKzgPY0+qHn+GpFEj23XPZOse69LK0A==","signatures":[{"sig":"MEUCIQC1Kv7fkrX1CeEf5sI++sR2hfooO3Kvi3NguIfpEh5csAIgV9S/j79kKIIVk2NwRRE5VgxdKvhkywwu/uczjYh4d6g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21730998,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK2ImCRA9TVsSAnZWagAA1jEP/AvNCieRZchEHbKXE4OR\no3gdqOZhECVe7129vfrDDFj0CvqX/jAkUo38CECijUG5y1Zo7vb6xz1QvEpz\ni5w97BpjKPYxzFZb9PD8eCYd3Um4ER2ghN/3I2bhicak9BDYKIMgxEDDvZda\nKW1xXc9H0oe7xzpyDjT0/9fTSEX0H2uI0fGLzwckMSE7+Z2Qf8oSMeiCrfXJ\n3DQcEAysFDns2vcBygj+Uu/6Y6Q9bsqwdPGHay8zzBHl3jLiJv3FOhLtMYnc\nRPicOMGlEPIr2Phjk8iWi0aERhRkkkOFWmMfeSKVQxjfH8gUQpFEPXvSgvSG\nZJDAoB0G7bFLVW0LL18X6Y1vdX4ipwptVHs6/OYcHef+g7HaZ0AQLdTuuop0\n3YCBnU3/RDhNwzPcGGehri6mrJlK95gIhX2379lPr35SuS7v7EvKFSjr4bJO\n36dsWaeoOag/a7JCNh3+Mvl8R2nXDorzcOFnnKukheF2IkeOB+Fk7+LzhgI+\ntlpm6kNX+n79JhSqjJViRGgeW8UQ+fALfoZyxpYmJ9nmt2U5FrRtHQXU0n1C\nNOWWrWaERw1rKcplKcs2NHqO8z4/CvHdwWyzi0amPTFqyF0Nt67oqNxAmcd2\nwKP1g7vsa2x41VEiFyEhNmeJRuRsnFTThFNC1pYTB7dmpyiI+ltKlz+KQmBE\nqC8G\r\n=Fuh1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba_1613455909615_0.22042117814055273","host":"s3://npm-registry-packages"}},"16.2.0-alfa.0":{"name":"@preply/video","version":"16.2.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@16.2.0-alfa.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e5107a39bc115c91a9f55d54c574559ceaf2651c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.0-alfa.0.tgz","fileCount":714,"integrity":"sha512-dH2kifoz4m5Z593ueOc3ZuFaXZz/ZOLt9tnFS2c+9+0PughChoesDakvUMk80xyy1BiSbruX1vy4Gae83cAD3Q==","signatures":[{"sig":"MEUCIQDy8/bemVKod5RBxE2jMncAvSQjxH15HbXImkdKvm9efwIgcfsEyh5mBnXi8SzF7TAxgrYEqtR3RUEzbB2ITIozPnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21720810,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK5iGCRA9TVsSAnZWagAAYmMQAJZkMlxvMbqO1lVCZO9y\nmlE20fPrOT9e2vOYioUwTBSEcEJ1NGDQo7WqeT+pMGgV7axpo+z4nC13JIOc\nmOi6p6qsE++ExnG+7eeb6wFfsEjddVYwrHyaPdilvz2swtN1DXiGjEVnAFBO\n0CQhbshcCjMTMlfPLAW8KkrfaHL+13pU3f+Jn6ILJA/cIFWLYpLcb26J5rBN\nMqxjLXwkrx0R7RAEEnYUP2KnydMqhNKP3mgM1lXXbTZwP7e65mUZUTUKaSf9\nXYRsCL5fGlBeZHK4SfEQKfqc7jNsV3TwHSr3Zx71aR+Gq0jcJdZ5B5iCYgfB\nvWpSpheFTvBSSUFlqjkD6HvN8I7yC/YsQ8Vd1G/jd4fq99QQUSpkPi9gTP1c\noGp2d1dZm6hMpexC2WOIcJOfH3hEFuYutYsZjPqRY0AWVl+cAgPq0sMt0zPN\nxu8Yms7q75X1oL0hFT7DXUSriAfeJocUwNB562vL+IYj5P50j7Rz7stQWq8W\nw0q9pCS1TpP37++bOzzhQfGBhrofeoKdu/zMLfFe1y9OPRgjVhHk9qngbbXd\nZFwof7vDkHXbvhxt3QcdFj/5ry6x+juhZBMmBIkjuwShaeS8UnMp/cuvItBv\nH6gyPfQgbp7k4TH8CylLMTo3mCgVtYX5jwQzFv2TrxjCZoGvZOONrmhXqxJm\nDaH5\r\n=0ecz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.0-alfa.0_1613469829752_0.7004114240146526","host":"s3://npm-registry-packages"}},"16.1.23":{"name":"@preply/video","version":"16.1.23","author":"","license":"ISC","_id":"@preply/video@16.1.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ecd3b61e2c270651d5037fb86e601fd10b0ca3bc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.23.tgz","fileCount":716,"integrity":"sha512-u+iZ17MYmPfXjp2/G2aeVrq6oQ7xX3UsB0ZzLD+Z2JppmdG4AITPXWUvEfUTiHHBHv0AIQQAUgq1l9+XVwy2kg==","signatures":[{"sig":"MEQCIFSRKZ7T7P53/iDdae/JA9YWkQy4/AQsVupLprhP+t80AiARHkCGDqUbbnh7OS7WMazShuniONX4hjy/UKG0GEEUwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21739098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK5vRCRA9TVsSAnZWagAARFEQAJi9WYG2pyI14uuEyShJ\nUBn+mf147uVoUu6Ydvhy9dD+iVgG4kij1raBwYN6iHTrNgBm08/6d6LM2fQ+\nTd38q/unK84O9bYLZDXLatLAz/IGhdXs4HnIiYn1xzHTkVZeKsW+iwAEbjIL\nKhbLucjcbxIfoEIhe9osnZ9zCnQupl2U3X+G6VOrt5bXc5uZMJAM4EJLGV9k\ng0Vch7TIpVmuxJ7HIsIjYDJLj7+E1dSDZIwooFOrHm98CyD+T4uXw00BgIM7\nEweEMFYOknCt5DjSwIUPDwToTbWwNM9lTQjmJOr9oocPR3L4DcaZ0z1i1Gw7\nKGcJc7zw8ev12b2D4Qat7XPl9tXAsHTj3ePR5Vui2Eazc3/6gwn3M8F0rvwZ\nHYh/UWgxzzzRELbic69o2zOQ5gf992DJ/2VV+twJGah0Cl7iyx5a5ct1Eh3D\np3gTBBTm3FrmXY8tsZvnriYIDdhfzJeSC4vLLuYMjZ9MMp4r1oHnJKKDQBkg\n8kscKsmapaR7IcBQn87SL6HDSXWHmMWzsN0YcMxgEzuVAV2Zoql9dwxnaR9N\ndQ2s6Mb9UtrMYeRSu8PgB32jHmADBvV0uadH7gVyMv4yJwc5z8qFIqffcuuG\nzKjKY2VFMH27IVWxRLz5xEmCNsi2RvinPIG/OKwkS66ZDxyNh1QFFDohBl+Z\nG3bg\r\n=d/Y9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.23_1613470672281_0.6392003738821168","host":"s3://npm-registry-packages"}},"0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96":{"name":"@preply/video","version":"0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ff415d3591cf389ed6eaf6ec2425146bcd8e03ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96.tgz","fileCount":716,"integrity":"sha512-5ZdI7zrEheQ33y+Sf6JhN7LA5QWk9pLVmcM+fOC0488MJlc4cKJjhNU6CBMsFHkuN1r0aKPe/iCDAleQi/J8bA==","signatures":[{"sig":"MEYCIQDSlj7iFvS2GkwSypLuWCWB604tmKIX/Zz6O+9+n5wEYgIhAP2L+MOlPS/l15wqf5uKkQMvT6/ltPf7lYLujkvJpW83","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21743132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK55gCRA9TVsSAnZWagAARY0P/iB5irX7ZTpaCWSk5Uca\nnRwln9ZZKCZgN1SfHNfzj9bPDAir4ja8T+Yt2H8WrQhD6slOHIVqg4goCz77\nj0/IHenJ1fF0WrZ5TEzlp17Z41OsTbWjEYgohb/KpTquo+dEXCLDsR36bM1x\nocXguHWJTNceHKxQ2iT6czCQE9DV4EHsW5e+RDDl6bTcp0mpba/fpeSfUG9p\nfBQMghAYHVs5wi3IlQLO4dTzAnE2qPGEZKiHkDHhoZqlwgni2SX0zbYD/SuI\n7SNTbvuO6aZwjC68lDRDHxZDOROzjEF3sfs139aUu+qpDhT5EqT4MHw7itp2\n6dV/ZbPtzvfrH+wUE0K9YwVkVYa71yf/bR8LNvHX3oyu/j/O15+PP2h8F8m8\npsbS5dNnvHEtj8aEgS4snueDV1k8nYoyB3VVaSH8XLVv7EumqK90YMRZWRRs\nFKJCEQP2InqU3wha0DA0Km7IyO8EzhH4lnUlbRK4hnbtButBWc4FlVmTYgwZ\nNLmJkvB18XTPOkLqgy6PSD08zZr53f0mgqOJHWhDw6HizsRCgtFnT/RHapPE\nJWaOyxHvnMn8z3vnAp7K9i0AyerUK8tgUzs0aNjS4MtDbUrSEMz+QWEoScwA\nzlqPyDY1ugw9AmMQdZcE0yoHxCEgnI56IzlTzfaueV23P4nyi2cdLyOMWVvw\nNsOp\r\n=ASaL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96_1613471328092_0.49251561354565676","host":"s3://npm-registry-packages"}},"16.1.24":{"name":"@preply/video","version":"16.1.24","author":"","license":"ISC","_id":"@preply/video@16.1.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"282efeab555ff604014f0c422f2dcd965fdba6fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.1.24.tgz","fileCount":716,"integrity":"sha512-n5cKqrc6p6rOUYz6JFck0fJcXQsKZu0ruIDD7f+LIzd8c6JE5c/jMKXgAYjD0bTyk8wxHWyycs6R4mbgOf63uA==","signatures":[{"sig":"MEYCIQCJRG5WyH3+plNhsn/PucwEH3abiwon5q27BWY1XQSIQgIhANlyGrdwsWy3VM5DFbqBObsZ0LKn8/3xQS0kgGgMOg2c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21739563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK6EJCRA9TVsSAnZWagAAXokQAI72MKDWizcG+f5DdP45\nXu3BlCOWi6JDlnezI2t6l5E5ErAPZco8XOf0AN/+qwZbC5E97KHQLWGV6tV4\n5G7ihy9CcL2r8eHGvU41VPkmGXRCvUHRki6RgO6w5cICUNffVnKeiNyE1VCf\nZxA6EM6AqoMUXYg8RsS4UZP8gGMF6JS6A+9kS24qR0DrchlXELpAWiw7EYRM\nnjteSD0iAkiul/j/29yFZrHHivmmC2auIR2oQCE0ehBxSrfAPaEY1LZdLVOb\nXHqoKgLvQpRQEGvCLLoQZ75DeyHcda6uCRDCUvrYnfXlg/FSfqHYkZ6RElHP\ngH4oC7Sse5PMWSGckjd5tJlDoVL4TF5rNtlzD+GUaYU+jz1Nw7Ma4/rn1gD6\nI/ZvDWi59mZWmKJTnfQ1W2lXoX+aQ2QFgvPUcWf232s/KBGr/r0eKPEpZGS0\nslyxx3Rt5IJyGrXigL7hqqm/N9W8kBFlF4dfCZYc8Oy2w3aqxDQ3AQ/0UWjZ\nVGvQ/tLzw0FiMN/hCdArcwXAL9IytDkJYjxSW6AUdYWW15qcDEtnJmfbJz2X\n6Y8cD6h9hP8B3RA8+h1O0SquDLagqljGoXjY9AVB2jAhSyDdAadl713mmNPz\nDH/T9DXi2ZngGegMPrztAjfTK+jssua3/KZ5p9RkoZbp7JDNX32/wOmc3lZZ\n21P8\r\n=UuuD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.1.24_1613472009018_0.501182020555861","host":"s3://npm-registry-packages"}},"16.2.0":{"name":"@preply/video","version":"16.2.0","author":"","license":"ISC","_id":"@preply/video@16.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"32ec0f0e93ad3fb01282e284e55d32ad66cec3a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.0.tgz","fileCount":714,"integrity":"sha512-+zIicrjAma5Mf2fyUWoX4zMmnOlqHNzt0BW0e5wp2OTQf7+qPURu1R1LdBwNB/NIcG/+LqV2hxShrodUMOMLug==","signatures":[{"sig":"MEQCIDhRpauP2ngWOqyVObcYuPugwa/PNs2uyGHmK7oo53kgAiAMXDHwqBmvpmErHl73NyNkTv29WMeln89cXLEx94Inrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21733313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK679CRA9TVsSAnZWagAAWwMQAJ+OpZihYWtwx0OgymQ4\nCBrjITv33lurlqK9XuelC1KXHE5wdP9omaGiWmb2jSedxbQ9XVeRGgvaNymv\nPlWhQU3UGhSbaGECncTZnvCKzvIeEMT2MqlMAP8pMJ7GMAPd8FaTslHkvRzd\noYir1mMp2jRlTpj+FDvY19dehAuZGMSlJKneblTPga5S5Pug4kWEQvqeJhND\n6FmU2iNEnHQvobhx8UWQw31us8tCNZC3T3jIHOjzSvE0MSS1fuRn4ks86Pcz\nOGW3ems2u300w55OgI+cgctVfkluKCbS6iD+jwiRQb2RXjP3h1hqpMp5zqt+\nMzv5coc2sk8l6G8kwfcEHh1/LoQMvIj9ya7duOwXPDLzdNJ4IP5FKdco0pYL\nAsCM3aha7SXe9DBK/MO/BcTYI6QEzyqnrROKSJMbEXoYFladACtMNrDaAfrA\njQ+wZIRRw3njb6oQW/EUnOQJMvbg5kSzHFhTojEch717GPsj6pVNb4knsUbB\nMGlxdnaR7BasountR06J+J6P+IXx/wEHhS7eT3J7xwhMrMqcBYhDSQgCSEb/\n2K7QRY3wozvNbcfZQ/SUD1oo5+TjPg3M7+0wqnGj6DF3drVy2+Kf5phYHBQI\naKf1004riudf07p5XjoPFRoLUqj4u/XbaJCvVjEq51adyXmHbcnBbfnVQ4hA\nuvO3\r\n=magZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.0_1613475580956_0.05097436781793019","host":"s3://npm-registry-packages"}},"0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192":{"name":"@preply/video","version":"0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"41d58b7ccf885df10683ccbe4f1e878f08fec6eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192.tgz","fileCount":716,"integrity":"sha512-FthLFw8KAf9PkTQ60+mOJ8n2zld4dyM2mG5wm3f4j6yuDE736BoYRigz/9rhSXpg1+VHJtUu368gdGb5wUMRaA==","signatures":[{"sig":"MEUCIQCnLWcOR2ebpUbhyuhzrHaoIuWBX7rrInh4LGY7xWI4zQIgWJLhuE744OZvziUvwv5V4gfBVeYVjo+RHaz2yEnnbsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21735062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK7TUCRA9TVsSAnZWagAARscP/RPslKceRi2bK8wp74gJ\nkgVESEAa1emXbHpoMHUjwwaRAiZoKi/UMZ+sOzXonKzB5vHsOcXZrqW2fGqb\nyBTTlWZZNRgfyvT5ZUHLctwSOAXcHXgQsaFxYw0nux+ou61J9zjT8VDxgGrF\nYw+mWu3CvnnWurBP4vNF5IUmnck3yZ4/qbQ30X0Hs8VKvPWe3qjNCRj8ymWV\nBFfWOq3OdHneulu3pNQFNXPkDxsAoxm5ufMFjLD2A0E1dDq8/3HwCjNAa/nl\nJKhXukc3YhWRT14s+WMAA1y0h+P/rylkLPFaCaAelN53Ipr1McKRwwBBN8Tr\n//PersDw74edepWgo9XrPxc1pBjWIipULp6WK2+Xf4qUgOpZcE5nG4u8L3I9\n71eSd/52+W9FC/lxGsDSGeIo0fO/nId2MlrOEojQ//+vwgCKgeTxKuXUzSSI\num0/VrkmDhEQa7WxC6iCZz5uFtNEC1j/t7deoYKXodpHiCI5NdLxEHZJ0HAy\njg74ZoshjLFM1OGJTwk8mIKo7H+rYEDi7DLrKyEp90rMNVG/6adm+jfS8MXu\ndQbYEDTIhcuy34qouQolhRYEABlbLw0TSCzThyTX4GKglpl4fTMR+pk3aB1S\n6RqRDlH7hX+JMrilVjsJ3GfJm6MHVmlRhjbhyhRSMkMLJ6zH3BNhIx89edsi\nIp5l\r\n=SPP5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192_1613477075496_0.9709159288364915","host":"s3://npm-registry-packages"}},"16.2.1":{"name":"@preply/video","version":"16.2.1","author":"","license":"ISC","_id":"@preply/video@16.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e17cbf5dee1a4a86c17f3826cebcef6b39205c52","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.1.tgz","fileCount":714,"integrity":"sha512-6eDrPsvv4avcAwVq87lTHvyr2UOcdOlHy9IkM/WGE29QbigCdJl+YCBMwARss7IXvbMckAmBOWt2TIqpaacZOQ==","signatures":[{"sig":"MEYCIQCksfYIZ09IgnlHJcvUEcOQ3IiM2f5ZaS4Vo1DuBUB+egIhAPoLJPOYL4jX9P+jlsO0SaDSbNTsel/YqVlvkrz1cdmt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21735383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK8RICRA9TVsSAnZWagAAnkUP/RWn8o17ZtjY5bWCuPXG\noHxLgb0RCbdlUxpB0CyhvcYh7Xa5Hi3Drl0pr/QplP8Fb7PcHXFYvkA18ed7\nL/Rmx7XQ0EAloULm44AZKWxZRsKDHK5XzzRV12NH+D8BW4fK+Rr77XjNKF9u\nP66ejY8NRU0luQXsKkB6x2Yhb9yKbzCHrLvvkvz4ldJ1psy9JeFjCGn8tPRw\nUc3Ca6NlpTNjQ/peDLndoT3jY2TQtbjGOIV40Vjm5VB5Fz1J//BwwSwqk8ee\np1/EGv9B6dcO4gd3zIZZQ33x8n+L66ZFMto9m+AOJTenDegZMjhqg67DwN89\nry9+QrHgKZduWaoodQQ7t9NDMC6SvDNOoFAfErS8j/uWOquaQykFkIj13FUg\nt58lnQ9xAQpJ7l4RTOTtJp1GN4SulwOs3UZD7hBfX8LjdF9+6Zr/uV/jYMvg\nbkCtyqiNsaTcsXh0mUo5shqcXuZelthlB5cWFpDM/FCyrUhlnvcxL2Ubh8pd\nWUMXZWoIHasfIsoi1cFUA1AUSTSXT6/RtauyRCdxrZ5RMFyZ9VHwzzh4KaEY\ngHWeHHSqmnBWzjp8W6N/oZYUVBk5RUS9pGfFIf3h1OzMNjPWSDV7TZqoPYnI\nadF0M4qqq7C1ufNzbClBopstaSVLvfGzyMdg7983olwnU26uk20POhYazcYM\n9PgT\r\n=N4HF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.1_1613481031359_0.20281584748772308","host":"s3://npm-registry-packages"}},"0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2":{"name":"@preply/video","version":"0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"234b58131e2987a37e477222a92f350247b90d8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2.tgz","fileCount":716,"integrity":"sha512-zN5/eGDMbc5+Ip1ve755TNkiSt3U5Q/sKfAxdnivgN7TzG5ao2XB2o6TIhGsEPAleDKPWzyxVN979tTAnKojYw==","signatures":[{"sig":"MEUCIHwJHjAb2NdaKExpjGZicPZQvniyF2aJD36PHO2RNDyVAiEAz7ZFeOBDhwZV/reROontuj8foMyyjep9om6vExyTXW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21737853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK9ZxCRA9TVsSAnZWagAA4+kP/0CrffgnLWOEZ8DcI/7u\nSqoB5G28QQ/VQD79gez944ckOM3/Sdr+/dLBM+wfSij+RBBKEYtBkKb+yeNZ\nsYGyzCg1hR3g9CGBbq0KBOPvodfrSz4s4az1w5EonDYk/DexwIeP73CceJ0a\nA5HKJBBbanpnKiEZpm5FS9Kzy1IRHECE2LKS9vJ0CLx45MEMC7yR96xt1/os\nScMr+kNPseUAFHtXIpBTfTyv1idNmoyriXC8ZUPOzRz77KplEeWKbxg7U9DP\nU/c2DChpWD9i8XUoLyrKXuJPEpHnS5taC07uCGFhs51NL57KTb9/YKIRdGUg\n7M6oSHSf+5mFUM+QvkVs/+gYiyAR3ojDjEOP422d/zfWI0WwBUUcXKsWH6Oj\nb1ayNvQ0XJQrkXSQCEkJ+Ll9V4vwDy4lpNk2L9yEUp/bR4gPs9etPDy4tVj6\ndi1078ryIQZKopHvPTGXR3iauqztRiAQI/XxTK3XnIP2j4qEWXiLa6PA+CIG\nNK/3TR/DnJSrNZsnCfmddFqEeFM+6jcNyTfH0O2cNX5O6iVq4QmzsMfDa/RQ\nRPV24vBovpMJRjGwOb3hXBrKUesrb+VrR8D7MXqUH5h9kTxfyGVPvrh6kzHe\nqTfVQA9sv+ah/YApjhWOejI153hcas4mTUQ5oxfdppoV+nyXC/aRP/lNF5IJ\naSEP\r\n=3Nfy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2_1613485680847_0.3774853155922693","host":"s3://npm-registry-packages"}},"0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285":{"name":"@preply/video","version":"0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7575f1625383d7ef20f7f93a36349181d01a812e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285.tgz","fileCount":716,"integrity":"sha512-2Uy8oZ4bcV7REPs3zF6NcO7rkgWKJM+XBTb7sFlFuT1/v25M928DmDw7laAM9ujt4cswI+ypxmFsvxe+PXUYHg==","signatures":[{"sig":"MEUCIQCOgxinpWMOTN9ci/TLyHy4BKbZVoTWqrwOenboRfByHQIgHy0Xnf/5280iKhVmUot79Rhq/leTj5RqJAXqHtHJQsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21737853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK9lGCRA9TVsSAnZWagAAd0gP/Rv6d9DRY5jgSe3yfuIB\nKxKXoZog4ceGUWRME9G9xNZjBVJdjK3XbD3RVeAoqm8jP/2pEH2s9JqbVKAT\nbg5PwTsK/eb84m5ZycAH11956Mcq1PfzdFzTTxvhykO3D3LVwNMPuHgQSL2a\nS9HYLJdoib+qtiw6kX5YIDK3reWeJ8YnoaaeauPhpiHv4zr0rJHLJyl+lRDF\n1LNbvUiI7ZOJ75zf1Xv3Am98ybr1DR30Jsow1py8zuxkjH6AIdBMbzo7ym4p\nLGHa98yFwWgoqxbBIRECVYovW9rY49B3OLc/1r/IJj+TkGGmuewk3ldoODde\n5R/Mo62BFHCMGXGsBhfoZszuHczNSfOdJ1N37iu6XWgmVbjEm082WrFCuX7N\n2EqSu79q6Efyd7WdqH/6NsJmGetN9rYJNStJxD+/HYm0kCgilEg8ht5hJ1ZA\nVjdPYYb2W215gE/NQ5K37k9L+TagRZwE25cSx1U8zEa0zvziEh1fyVNFgWCb\nzjk6F2vM3VPzrztDMl92a37pIYGw+ajGZ5EqJclYT3iDdlEJQJlUZxq/x5HN\neiOgzofmCxSdgKRXk3nmBfZuJAQAUkrsIjkxXu4ypa+9zsP+Z/g2tbcIh0jX\nzej3+YrS0VX3iZq638nXd6RqVcdSUgmQFs7DUGVR8XQrm297IT/J22puWere\nzhqp\r\n=5wen\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285_1613486405645_0.1664349338941713","host":"s3://npm-registry-packages"}},"16.2.2":{"name":"@preply/video","version":"16.2.2","author":"","license":"ISC","_id":"@preply/video@16.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0768384acf291c6dcf4c7eb32e144235a56b7b9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.2.tgz","fileCount":714,"integrity":"sha512-eGJ62MElxkx0ot86SgKFFCwfW91+zE1jh/MHmtkVDicY6KOjLLy62ndxUdSx1C2jCJeTzdGdoBnubBRGn3Xe/A==","signatures":[{"sig":"MEQCIGw68TY4JuMlMAhwvzlXisKgKnZQJ3Xq27y+g5G9qcQdAiBpoVb6XPKiWajIyaX6lke7OiwTAyAckN3x2k14+ume1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21736734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgK+5MCRA9TVsSAnZWagAAd1sP/3OxQzCbOyQOApX24eli\nn/h2A/JuKC2bDzyu2NBhH+5UBtgvEV1H+4GGAyd8BbVU+mI7pcKU6Iej3nd/\nnjCAr3irRazQnDKWY1M5O0llnQVuneEjhNsUR9v1FRggLfzR+15cLfFG8SN5\nKwZQ9Zx4w0dffa0QmHoztQQk7dpboMEwMyJo/Q7LI6UEcbW11Y/RZ9fQY8G/\nEOhd+HNWy38lGS4Uh5FSOWJ00AwzLQfLcLe/hInlap1u+0iE2umIZ5wpeyKN\nP/QzrSGD7I4ccIvZ+WX7U/bvR8hn8RYdSaNwzdM1JcdIKIE2zWABAj86cHhQ\nQX4L+2yY3YkrcFe72OjgaHAHeUoXX7T93N1oFDrLHuYSvgdbHtUQVpng6ni2\nhgbP6gYOIZ3oDVVHycgIME6uxVisgudrP45EWwo5/rUrIAHXUEE7z+lyVPs7\nq0erB+joSdICc5I+Wkk52Mnsz7GHgPsSFh5E3esSQPG0FUaXeXmIM/cqByDy\nF0E1SPYlAtoHj7VuIaXmwWTTR9mXc5+uSp5t01qXNFKgU5+e4ZAoiJePJ20o\ne4eBx4ckhftEfaVz4qlgiTOsTRwIQhc63mb7zmFgZeVVjOCyFTbB6Jd6tDdi\nsFHYQGDXhzaWFadPH48vVyCtOPVm1LveNRn2D/dB/CjDuP8J+g8X21TvnOfb\nzmbU\r\n=gZlo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.2_1613491787237_0.9385968908443352","host":"s3://npm-registry-packages"}},"16.2.3":{"name":"@preply/video","version":"16.2.3","author":"","license":"ISC","_id":"@preply/video@16.2.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c32771677f26002d0628709f52fcd57b1bf7d881","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.3.tgz","fileCount":716,"integrity":"sha512-OCSLMhmD/Lz76nBVQrf+AZY6Gu00RVvatE6HfbquJut8ZR5vN2zt/uhHte4BWvyVztB2A4qnE0YEFmzCU/Vbsw==","signatures":[{"sig":"MEUCIAm5aSP1mQhSZphYBtvSRueGtUPCTLRp/u4ygwqUFohiAiEA82wrdBsjl2NsgYI8GYZEWkUvl+b5RfrN8qs9lvz0rfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21738225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLLR3CRA9TVsSAnZWagAAnwEP/RFEYsH7+hO7EjVVFy2g\neevr4gOY1211FTcUeywYpAvPiNb7Tx2hpBRowilIdqJqN/M7RQ2D+Mq9pSTw\nIfF9OToHSKlNskrnP8HWCSNwO4/xRr405McXKxKsIzirLV+16qAAQzFCuVTr\n36oe49wAy+74Ji67QTY0qBBMLmekQjplr7HW3zBHLr0PeXaq/doE4G8KxVIQ\n9+cOuSv91LczGt39kasS43uUdbGwoBq4hydwThDSWf3JLYhu6UrTW6UvCNtx\n+o0WPN9OTP3JLVrSV3FgINrcxnXAXfmZe6/1OR8QrPlUvly5puLxVIdnIBdk\nM87XxzJBj9AhhjJXEBdP7hx4g/HBPTJdH9hp8ZI90ZgX+kGMjaEv9UkEn3xz\n4f+loMmq1CjLqzDWOgUvZgqVuTf0YnxW3ffJbfpkK3V8P9nu7RUtBbsItGNP\nR1sM4yiRRLpCMunWlVcMmhNjmCa0uRnmzXf4Kx3hkF+FRVEWFhNqmWstoAK0\n2Rjw4pElfLP/gfvyYcSQnPKBLvMaEJwVtC9k96zXRr0xXD/zN7p7XpNJacuo\n8ed/GayAQ15c22yGS1RHZtIBFcgPMpfv01b/OfTZR7fPrygXHxVPOsT0wfYy\nEp0xBqvre48RfkhNSYGBO4FUFaMFHUuT3THaJCcM+qqsRytwuOtuUN6zmt4K\nDkv0\r\n=AZ0v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.3_1613542518808_0.11708174425919382","host":"s3://npm-registry-packages"}},"16.2.4":{"name":"@preply/video","version":"16.2.4","author":"","license":"ISC","_id":"@preply/video@16.2.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bbd60ad10c895eac6b8113eb4893cdb80352b12b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.4.tgz","fileCount":716,"integrity":"sha512-xMFMliaZM9lQbTOB8WHSRxsh9Q+gNtlhVdKsh5KZPDkm9THLIi9OepuRDtQWjt1CZ0gz80XWZJ6+Hq5dClRbGA==","signatures":[{"sig":"MEYCIQDRk+zL1SbIGvbfLMNjeCRimpZR4Gg4M03gjxYrMT7BLgIhAKsLL1iRZfj53dXf8oFX83ibGKcbmqokSomoRqdyytBW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21750679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLOunCRA9TVsSAnZWagAA8OIP/0seORsHWltk28lTwNQQ\nmNFfwKPJPs+HKYrtv3nYjr1XIEcYNRrm3v5kjOX+tpoYQ6cPBaxELYdSEf1R\n9mkpXCHiO48ut+xK3RUnFCX8tZEvtg+k10zfcd2pumi8UhZTnF7PF38LMRcw\ntL1yUrsCckMUtwqowu6eVi8Qfexj6HrRlQuiDhSkekZ3ni0hHMU+xsdA6UK8\nAdQcYJXfuPEVr2utf79rwXWU0QvJ6MZT+moQ1I+GwEowgxho/oVwaBxjO8yB\n5WLOzH3F4TK3vkGpFykS5heNtl+1r4GgO6g23xvAHjjXxkJncQYEVxVrQM4p\nrQr/hGZzs3V8g8X9N6ozy16A5+pKR93HNL3S4aDox9o4+nngx2Qh1QXgcUB3\nr2101LP0s2Sv3oCUAR/Z58YQJddYPgVzA3qzVcmdeMEZh7N4p0vGy5cdXb72\nhfGod5Q6J8K8Oc3T5n31Gb+lix0dm8yTtzvAM8j1mU9QdqZTmPu5YQdGFk7z\nhWeBxbihlAbYjoQ2fL/wiq4H5ZkQ+NtXYBqa+0yxSHuEF+unclErKl/sOBNw\nI0tmnwyBmNM0fcxxTmjUzQcExQq9Vni2iOT8Vpe/idbxah46sCi0Jtu8czGw\nYd7h4j2FxACk3iHNAX1rxslQSLg9kcjQk/qfunUDcccTCOn0ZYplfWDP3r+r\n/GjK\r\n=jSQv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.4_1613556646948_0.277458215108642","host":"s3://npm-registry-packages"}},"0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072":{"name":"@preply/video","version":"0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9ca0ae414e1feb28d2f68aec21b3bdc0da606cad","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072.tgz","fileCount":716,"integrity":"sha512-SN6fS8KiXcXdEfO8yCVuQe9QozmZNEToZuJcOfugZSdLcdHz/SqtC2bbj8kGK0tKBiee+CB64mUkR86IkTvTjA==","signatures":[{"sig":"MEQCIFPEUqt6aX1ZtB8DXjkjRk6tM0P+JNiyc5hjc3T1oL+xAiBUKAEa4c/gkeY7OpbPlUtjvh8PWKsGPrZhw/k2UPF9RA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21741513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLSFlCRA9TVsSAnZWagAAAbQP/1sINkfNkOo8vCn5rqRM\n/86IVNLu2hvNNDJiH9FnROvBVOJPyb4tPhah7xMWD1dQJNlslXzSqjEvX7y6\nDeMGPdLBrA49NcczsjTHnNuvwjIZaWuNqajAkVVwuwC1dPQ/1kzkonIIeO0W\n8V71UlLsD7SPg0HBoLEv6KsePwDDroJssP1pPinYVUc6NJSC5wH4sDT/J86Z\ne9JR+BXBZETQTkBu9nMw3l9CXK1RXXoUUdPz7EmChDNTWhIxc5ihVh8E0LQb\ne/9Ouo8jGOgKAmGNklHTH6B6nK7HHcgoRUuQ7lQHSkVE7kYSC4SFWfYphLt1\nWtwiTH5ahE0c1/DATHFugUVwGl8eSAtRGYf1gQsRrQL3bqZ+P8iCQXJ8KWyG\nQUnIuoyltRXSk39xE9sxmsqr58X6UWAoh13g0i68ik6agLnXGTKsGJcmUD18\ndYZRljXPXZU9ZONAhz1cHWMgvD2el0yrdCG9IC9QN3sx+N7IlWFlQIYfR5LR\n2psuycMhuA1BV641gMZLwSQB9GR1lpFEucWPuVDL1prTkh5qDx1p/UKevVzc\n6X9AlhUfhDBAhZYhDF/a8NbLG3vN7i2zowaNf728yKDKS145xEtv4dEOenoS\nrGFQ10n5obqk4BxuEdDurif+4V08awSoyVNalMv94qm2hOqprzI4A0rbAdNm\nmWXh\r\n=aEVe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072_1613570404307_0.16896993828127038","host":"s3://npm-registry-packages"}},"16.2.5":{"name":"@preply/video","version":"16.2.5","author":"","license":"ISC","_id":"@preply/video@16.2.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"89a79b2c686e0ce63f081e70b91bf32feb1257f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.5.tgz","fileCount":716,"integrity":"sha512-lDb+8RIdNpt386d8IV5U6A7u9tVTcW/YrMHgn8w2t4lGVmSd2RqvHUe2HHOrjgbNJ9nPrRZR3mdYCgV/BiNSJg==","signatures":[{"sig":"MEUCIQCrWvCq49fTCtViGbQYL6w8EKG9E+iHkWo6EmSbhLB7MgIgEcD5O4ec+9yr5Whk0ysBokeViaiCI5w0SOuxAO8ft8I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21754688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLjzuCRA9TVsSAnZWagAAq1MP/0MTFUK/0Pk/iETjDq5R\nIXGOeWPT8PbleO1bOM2tdns+N34/JKZyq8ZhuR2WvwSnkeXWFg5v8KFEi9al\nPxd7lM7vCQMMOXaKX/DDU0cEjlFrFooMGxyEmXked6QiDxDIUbCZNJmdMjNv\nRmihi14NWPSsLTsEd/S7j+QLTokmV9SlelnDZS4cvO2ajShk8CIM8qskdGhl\nqDu820Pfc4hfZfRJ8rH1H1CAs31utZItIb/NRBlQDUbl1bxuWJ42RSmv7zpy\nZzDYPKTdFNd2lmPnzmgn4KObBgA0Zemk2gRnMldGhLZu8+bjXTzXNa0pH8T1\nNjbFcIzscZQ+s2s4tN7WHls1pLvtFZpRUXwSp6/Zh/EtNib1n+wG6p10idL7\n2pNu6/3oPSLJvOOT3Q5s0/LZoruiRN2tSwoKh9aK4jbMgYsnsSNXEK61eV2B\npbyND58ThXnF6Kr5988zixnFYbv2b28BdlTpItu6GZpi6g6zqAc+VRXnOsD1\nSNo6VeNGdcWC+gPYX1Q4H7aEB7j7dF0MB4N3wyHw9bOJpA8DaNy9EZcsMZcU\nMnlXCSSoQbVkX9Xr5WJGCT/EmZKqWBzW+p287wwYmoMG03lsIWz64VOtkoft\nGN8LfJQaH5Tz2TGVIk++sFYQdaZ2t47c9gC3lC2hQ8Ke5Zs2S4J0CtEjJHFJ\nc/9u\r\n=jgpg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.5_1613642989933_0.8519603215971223","host":"s3://npm-registry-packages"}},"16.2.6":{"name":"@preply/video","version":"16.2.6","author":"","license":"ISC","_id":"@preply/video@16.2.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2634c22d52ff746198f44ec481b8143bc3ba24ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.2.6.tgz","fileCount":716,"integrity":"sha512-VPT/mQBFXCxXUyOhCsOuk0NF9sBUX9gSC+GtsQAKB8J1Mgf9ygRs+Jlzx4ivAH4SIDYGpd+/qvKNcsxW2vrreA==","signatures":[{"sig":"MEUCIGCJ1vcQXSEkvcahC5TGt3t70V3QuL5iUddZUusVXlEyAiEAmXnx5GYd5npF+EH57pBCFSuOU4IyA6E1JiDvpNVWEhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21755037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLkQrCRA9TVsSAnZWagAAisQP/2x4EOxEKKVyLKp2iL4k\nTxtkRL5meJRqTeKEVbNW+isGLU1FKoEpISch3Yld4jLxD8J3wTcYCW9CbWRH\nrVIDOpEl86Ib8BGN1VC6/Cadtso8jSYHqDpbIfUVXqyC40cZFxgxOuaQcNMA\ntAvqrKCL8M5FTOqvJDEiTWelwKMv7Ls5QEm1NqM0dp0RRDitQVLpEzCS2aqd\nugcNfRa8qfVevlR8sGeyl+D1bkfBvrIKapa2FipBQrHTKUuKkYYyqi6owDWz\n/TMCQifszt3EQ8vxxYl6nXaVT0LAVHDG0Zud/AupzS6uMlVt0uvA+Qd3HkPT\nWmDbSJ6abElwRaIjFRTD9JGosMGXzIKnHBQRAoDfmsebeFjvBQ4VuRfIvYXB\nygcZUOrGCB2JTZdDfWMfznCGFajB8adgWzXyQSaUfFQ4ZZsTDmPIT2lQP5TR\nEs36PRN3bNaDp/znidiWSrwVQ5ZksSI5CxQZidjcBk2u5MVRpMvhQ6eTMFUs\ne2TB9X5q7sr5AWQzjup3fH5kNpJcm9/lBa+WzHSACY31IWShWgkDxy9Ka+Ko\nArOqjpiu+EhzQC7oNoc3GuC0wj6pZhSZKa4yMn8+fmscDP3bF9L5yMWS9Hk/\nJBjwgGIBJeQqUTrPUXikY/kDucH86gsZTrPKakUXSW40aRZdfmhtcS5GeqPL\nxf0+\r\n=/Nmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.2.6_1613644842281_0.40172840747011285","host":"s3://npm-registry-packages"}},"0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2":{"name":"@preply/video","version":"0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ea6071b81a01a490f9fe0171434367f4dc994f11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2.tgz","fileCount":716,"integrity":"sha512-u7Oxz29lcR+zK+XKkB/PcZ999f0BWWnOj/0nEvFnq8KTeLDAcN5fML+Q9pY3s1eRhVBRO8E1YJO0SWJFlVyAjA==","signatures":[{"sig":"MEUCIQDHOH7ewfzjrt4xUqgPyQC68XbeBbBicl+M5vEufOC9yAIgL8INt6HMt71RdJZJ7+Z3e4CTfpoxK56U7bJXm9+cDP0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21756099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLkkmCRA9TVsSAnZWagAAdpsP/1zhUI4baNsDt1fefOo0\n+dJsD7bLpmPnW1xPkBFra9kpOSykIu8vgCASuh9D2jnPjifSrejN0cYH8Ulb\nMO/2KOP4ctaGROW2Qxutv/groRf43d/LjTPIfU9LFF1SeBTtNNeJUm6mhZr5\nNeAWl9ZU8rNqObVOpCnVmqmfXjadgxjDIbB/OSC0a4ogGYMLbkcN6eDOtrfE\nM/G12Eyfw+gmKpBSfvvHgaVxaiJCXQrS5HUAsghfrZ4+W4K1eCOsgvbQ9Hbm\nWE96szKFO1MQwb85v+Jhp4BxpMaGl5Jm1Y5BPAZ3vAH1qFw1vkwkkIpSks1R\nXSCqyBwaaaGoI89FYaI+pAJ8p9VJsm4gHfNeZ9I9VCjcfusuvCzRAGsRvwkS\nHelRejLbrhPGO/cZuGINKIqj4Q85Yy+LLoO2heCgUIcGaJAcVTERbq1XMeXH\nYpBCnk/YFltp4nl6UYMZYY8aN93XQG3OQKzz4eNRNohPxT8N7yql6sLPQKnV\nxQ7x4+f6JrLxAu3g1hj+yLbgG31HQBL+LPys21qEfulRsXPV1NV4o97ydGbR\nb10pwt93dZ1wmn381qKFU99bKgUAvpCH6lHR2YkjJAsMOl1H5R/MCSLxzkd9\nscF0AUcfnovyUqAZ5booS5CY8I1HTWLT7HAqbDfvp2h+az6uuzCcv+xQ3mw0\n9U9U\r\n=xl1u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2_1613646117709_0.3512962662671155","host":"s3://npm-registry-packages"}},"16.3.1":{"name":"@preply/video","version":"16.3.1","author":"","license":"ISC","_id":"@preply/video@16.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1e8b2f5e88806775a5ca09751860d2269d50d659","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.3.1.tgz","fileCount":742,"integrity":"sha512-WsnET8bZYKdFsbuWOWdc7DmeepvZ5cxTv4Hmbfe2sPYDupuEaZuFhq00D2R6hGEiI8HawoXSKVAkZNdSN+HatA==","signatures":[{"sig":"MEQCIBNkM9woB0tFErVevg8DmzE8fC2HgDLDd1T8/TgWQ4idAiAJeSIlA1aOpViZp7/ag8mmWvrLja1HbZVCcdFFY0Ra/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21948228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLmcqCRA9TVsSAnZWagAAHFsQAJGlRUEBBf1EPPqsV7mv\nZcwD2YjZ8SnM0Y8HRR8sDPx2kKfJ2pQg374pcn+l/beUcXKd+dKM44BM6KF3\n8/rsgSCSivtmPNBdcQG33ENo5wHnhZCy1smf1hPr+Nfs5Nv2wjAfRin0ZN27\nPhyWAArYFj2OUPT3eHS30nTt6qAuTdw4phXfurP3uHLi8EVP9X06vp0VC9W5\n04+Bs+Pk2us57J2BVfx61S499SVXRALSvXZwDle+jp23Jv/vPKdaE/dspWZV\nQ3PFlPm822d4PWF9yQMzi62AnAgqJOPS0nQpYrvuljYwpWAW6ub4wGs5vgmw\nedVOqrQkBhPKv/dZIZkZbQ3F5e3tBRg1BZE/Kgd0+Spge9PsjFy510WxX8fm\nfhScMovkh9wjW92gEg6BvCOVIBp8DlDWbGJn6cFL93v2TcITTjc0+/XyqI7H\nuMM/e0IQEvdRW8YFQbciQlW6voVCtq0eey5vsCHuA1NQqO+ZM9IxvBn7ArJo\nm+Yef+mC6LrI7BsqXYjgcRCLj2Tx5RW9EpqUidVCbXlh+AFdfswqYp/1v/oa\n/V8HTlidbLPWxFjgQIorb4Zp93J75tysFhpBUtyJvNU7kf2+VQ8X0XOnx4Zq\nep//TFcwR8+2467Rj9O+kx1+RaJOzL/svQfDODOtncDH0ccvtGjJh/sB3Jh/\noL9V\r\n=chJn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.3.1_1613653801354_0.8820361392011526","host":"s3://npm-registry-packages"}},"0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea":{"name":"@preply/video","version":"0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"18553592b93d2878c3202ed8e5c6692c2a5d1b6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea.tgz","fileCount":742,"integrity":"sha512-9j/R7TdLQEx7Fm8Wze8yEevCQah20GZcGlyor2V0jSQ7T9VOsyNkY68L9Cd75FB7XLkFfAfjBUiBt41JQkLiFw==","signatures":[{"sig":"MEYCIQDBhZToP07GpMPsqWVXpp/0+s6ZolMNn4kSoDloyILKzgIhAIBVnuB/huGO9VvN7kcD26Jfu5tAEe3VP1bBRGzf1u2Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21950692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLm4NCRA9TVsSAnZWagAAk7sP/jvrw9wDY3nCjV6kIADL\ni8XFLDVSfpnwnwd0TPJb2ygjW6twy40ZghGEPiD3e4eFj5tlj/HzpSLR3ha7\nt3OCbW+9det7nMaOthI58Is0BJvkbg6kiSW61+jxF3GqB1IRSYPUKWFAqIaT\nw1TzxdyUTVzxZQikCTWGxmf0JGoJ5pziQSc3333mbhPPq2T69sZSdOkSNPwW\nOkGfpKHWOYhdkL9pxzQyA275BHqgkTGZgDnkeIQZtqqEeKurbCtbGHkY1W88\nQTvPIxSdjglrVKjXp/LkK8eivxxWmC4dS3KwT+6i0Hob9BKUUiXN1eVTTEH2\n0xM4Am8fklEg2zo1dLzLe5/nfLPATLoWG42mAxUU0qANkLMzlxAHSsWJGyjL\nJxlanLfT3SAOaz80IP3M4OT54X+79mFxmO81MuA9HwcvP3a5Xxm0sL9cEPqL\nMei1bpCu/x8Rl6ZHMnhuv2Z4NrYki5hAWler3KaFE6aNe5QuR1yNLlydbJgK\n4Tp+M5HLNQ21GlNE5+KRj3MDxa2IH/MD2w99IgJJUyuWodBCfp9rde2OFI05\nu1TFjNWhHb7nbJtVkt/j1meGSg0PDuzjGXr3kcl1af6sTUHol99NGuK+3McM\nyX782FMB9/8OtzwbHK5QZTEp5LTuIvATxzmj1xl5S5+EHNkQUjun7t5SyXnl\naYda\r\n=FNu7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea_1613655564344_0.38236137788757807","host":"s3://npm-registry-packages"}},"16.3.3":{"name":"@preply/video","version":"16.3.3","author":"","license":"ISC","_id":"@preply/video@16.3.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f1eeea7d065684d0d1b144c54e8e031012b3729a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.3.3.tgz","fileCount":742,"integrity":"sha512-91zJPyIQXf+f14Gm5NNuGE31mLbgCLr8njb90AG+pOc0DKw/y0B1gmLo9oADD5hhytey43ohloZGU+PXIk0A2A==","signatures":[{"sig":"MEUCIDicXIP5NgS0UpjK9wZpZKwzJWJmGR65BIpnp/oqZZ2uAiEAy3iT7nBSnaPGSwX3g4uEDQclXca1cHa+PL4r0tVpJ2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21962553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgLq25CRA9TVsSAnZWagAAbCkQAIuNkN3OB+7h/Gr7nu9t\nvI9h/dtMb4gQayMFrHEE86Ikr7d6Bc5SA5GhhPsq5OKaTvfQnKYvOo1KfZXc\nTEQtho3rJqBPAlgOEVDL34eymV1KRYzikwH4WvN3shpICHfYGaPccKGMfBYH\nesOScTem/nCJOrJ3+pO1l1Jumes0NTCZlZvYkk9nI97dmYtX/MfBmfEdrWbB\nnchd9r04+H4144xD5WGKYIhEzgCY3tFKgFX3SnApeLH1JZkZCZbakV5RGn28\npJg2H1aBXn9QjKkyfK5pxkaQj6at22Qfhx4A+MNjnZ7AYUM3QaFTzwiI8W23\nZmrv1f67eVnPHKGTLB0vepK02m4RS9pgqI3siReI67KM22YCkJnc0g5zcAMR\n1crD8EzqHYg/nrPBEqmjzTvgyE02hHNYb7eC9YEMZFSuzrieNECSixP0lLCV\nNf5lPVkWufXXg0JnCSgE1lM67CJK1GYZH7sf0uqaFzziGdGGvj9XXn0Rhvi6\nzLAE5UMvFPVInlA4iHv6rXk4/3UEjgQJ3IPVdLGCZMHM33iDVKTvRIpw5IUt\nql9R6j6TT8KJATPhhQurr2M10qJfpEskPKoNFglKY0kFTbcYrCTwLGKdhzvV\nDFIfTHPq5Crrwm/ID1wvSmM3BKTf8XL9YrK1xuDGmtaX1FLkeg7HTZqhAg6C\nD8Rp\r\n=eYzA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.3.3_1613671864959_0.5174264746840587","host":"s3://npm-registry-packages"}},"16.3.4":{"name":"@preply/video","version":"16.3.4","author":"","license":"ISC","_id":"@preply/video@16.3.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e48018637a1ff6e4d67b8f7dda3281b8b2f9496a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.3.4.tgz","fileCount":742,"integrity":"sha512-GiOxCnzV3Xdjy9n4mgGRBgHyJTDGzxb9sJTKvuQ9vHej1CP2Ndz2BN336D0cV97d/+aPrXjbUD/gSiOoUh2Zdw==","signatures":[{"sig":"MEYCIQCDt07g7imjhV1cXTVTs535rGBqOHZfOcogzSMPPmK4gQIhAPk3mKvHKS40S9Pp0BSaqQl7GbwOYDWR54cuRCcdmQpB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21961977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL2SJCRA9TVsSAnZWagAA/18P/RFLvz73yt6bvvisQOel\n0L6zWEJsJE2Ex7vHWLCQgCW1i4WBc+RCQ1973EKUe8YrQ18fB9cktSuSFWG6\nmDYCYbxu3zm3NwQpniq2LLA4VnVxefJP5pde7mwR46PLIZKcdtu/28vfpHox\nSvkEdV9qHu7w3/sxAs5ssg4gGRMj1Gr+UBo9vui5zl2o7Rj61hQ3Z4ic2SHx\nXiM0nweU1bTyVmbSYxrkOc7ROHCRbcd7064yEf6gOvct3pL1/+dFMyh9/UG+\nSLjYb26EsH2nO9UZ8kj8xeBJj+LELwwZ/B/y4D3ZHEh7lChtDuV9MOav1Qh3\nClnCk6cb+SmA0TFTD4YZWuVNyCnLzS1PmOkheGanuloX82ZJLQULyfrTR3RI\ni6aykKgE8r9BRFzqWK5a40HzboqCvHirIEVqCvvfls4jTJPJ4FVfi7XdAlKg\nX9Qb0kFcUEFI9FTP+7C9XTVPtEzeIp/M+7Hh4LZ2+l6VxXuKHnDzNNH9KZoD\nZ/kQpXwzqZF6x3ktzWlDQtiBtqUC7Ue86hokuBbCy3u0oa5RhgSi6KMa79oz\neWOmwbshpqot//Ms+PMfIi67e4CNyPs45i4oVEIUacDFL/CMPyt+9FN3KdFf\nYI/CuAhQo+MiYhewIHaWVg6YIWtsJXlJI4vxavMtgrZ0ZalEl2STSP20PWrN\nb+iH\r\n=6Nxz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.3.4_1613718664791_0.7707761645657045","host":"s3://npm-registry-packages"}},"16.3.5":{"name":"@preply/video","version":"16.3.5","author":"","license":"ISC","_id":"@preply/video@16.3.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c60a48f29e61f87015be969bc48c7ee09a1c07a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.3.5.tgz","fileCount":742,"integrity":"sha512-6cOnbinVHgcHcCBBDvcYPfV5d0WEyYIzaSfreBlmAH2zgJSDwS2OuWaXCIGarUptiEJqfKXAyESykKmftBxQSw==","signatures":[{"sig":"MEYCIQDgveeaPkWkVC53usREQYPh84AUBxqX6RkubSYT9g1kZgIhANatujwLKZ24RABIEuZtZk6pn0RozCqC/57vqFCnTOQf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21963642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL2uGCRA9TVsSAnZWagAA49QP/3VNgv7M306rs7+zkrHs\nzdDhtdKT19My5aGan60nrhN5MMVcz2h2YpfSNch6+wmUh+GG8JqhmHAPF1XP\nkVovJuWytAv6fYuct30u3wrJNPkSxv3JDkVItvmbbgX/Gn0KjbZotLoXwEuQ\nTgEJ9I5XLE7J7RAvEYonsUda1gl8+D6SR60kAT35tQEqIaDip/joSjY4V6V7\nsVnYfTpwCeDNFiXgicHgsmpGC8RDPY+le3OEVQfQQy/ssUUarcf83T+R+j0J\nZzihgy03bZ1/AlQjtoQppIlQYBzMV6jQIODV1tCBJty8y14uwFkpEZ7iZrHf\nAp4SR8m/dXA9mxzNSO17t9mXXTNr5hozlG9XbHfG3H2pUxw+sSg5nv7n6QTn\n56J3FCx5gVZqJXGEri69rMETypXMwE4/n9jm1YgcxsJNj48uvGW3mSwBxwUG\n7dke+Ab7fcSWFrAOvGiv2GHg/kOphcnL9+x+8/8NtB5aEIrD64OBeWR7Dugu\nSTcQBrrEj9VU0ylY0Sog1LIHVjGsYAPUBE1StxZHUWMbUz1fl+S6hUXaQu/1\nBRrGSqNw6FUc5arjBVHsI+ncM1gwQENBSutQorjdE1Uv3ZkdMPxbCrmFf7K+\nmJ1d8WN+dPODD+XCaSCRLCv0sBTmujLfwZAmVI8LXvb6CvYA97nTjVtdUDF6\n5CRz\r\n=3xy8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.3","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.3.5_1613720453769_0.6384760728038184","host":"s3://npm-registry-packages"}},"16.3.7":{"name":"@preply/video","version":"16.3.7","author":"","license":"ISC","_id":"@preply/video@16.3.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d7cadc6e9ef52913a5f363931371914af38b87a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.3.7.tgz","fileCount":742,"integrity":"sha512-+vrubodhR9C79IxhQ15fzdUZDiNk4Am4nPnCyZU0ShgWXKXfqcqBBoLw2c59YROYiEqE4EmpHIgHBJx5ga/tFw==","signatures":[{"sig":"MEYCIQD0ykUiCnq+bCOW+7VgzYl0LkczFW6sUcyiTluSKORjLQIhALTcesdoPlAlKeU+9U7LKAeKGWpW/El1iM0Qs/DOFFIs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21965911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL7/uCRA9TVsSAnZWagAAsSQP/1l3ZmoKUjA0YFar1CSg\nNw/u+9w34iLjU8mnB81lDVXtfcV+CtCiKtM3fnXV954q/5dZFPGSxz/cJLlD\nyCMXLgjhAIbdOMBHqeO8d6FJUOt29dJzO5QExpUc+V5tPHpVJAiMgYQgfcIw\nn39JojjYsuPFuwOAdLFVUmZ1TsYCJdmAD5E+xEELtrL5k9X2ML+Ow7hZoAl0\naqcDkFHIQOZXYrGtqHmTpShDVe4WAgRWrFvQcjGl3TYuWJnC41Z3FfnQZYyw\n6rx7DTYSzmvu9dMQ2T84ZUdXgG1dMETkRccZ85nZ/0apu2FA72yLewPCnYkH\neSiQzK4ZZrsF8Y1eLjArLH5U6A0NTBM0cxaPdGtwHJcYmob0/Cm2vDizqj+g\nb1q2IO+ohFw3+UH8vBR4XU8D2hTr3HAe4c3BH/WhH375YABSLSVHC4dORazv\niZoZblCl3ydF+GNmpd0n/tOvVEETrj08Ia5aY9jJslmeJ3e/OHkzIMj1F/Qz\n7nf4g3CP1y41HTpN7tQSliA6CfAJ0NSkMyaQcb2KG9NRuFzno9+cphBd4x2Y\nbBp7dNOjDwdBtM3Vm9CdKb2TNoPDxplwlA7LReglbYbG6+KSEiOGArJNMVAy\nwd7m4zrl3e7h2zh+q7WFrPOEAmP5BEgUYEjtieR4HjNJEMGfh0CeGSCh0r7f\nQPJJ\r\n=Iwqr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.3.7_1613742061377_0.3504013989272974","host":"s3://npm-registry-packages"}},"0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776":{"name":"@preply/video","version":"0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"98be989fe332c019fadfd5229f147001562668ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776.tgz","fileCount":742,"integrity":"sha512-7s/TSV64WP+c5pYNLWZNFSVkrkh89XHvB4oPy6tftT6PNjrr+YQFr37rTwdkbn1b9xA/+006GubLPRxKFuzV2Q==","signatures":[{"sig":"MEYCIQDkL1SJZyKeRc22Y7ttRhQ/LLkcwzp8OaaPKTq4byNmqwIhAMsER5QA18JBtNkz93LBemepnP5gtJuqDME57QZOvzQZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21967906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgL9U1CRA9TVsSAnZWagAAYJ0QAKPW7RmVpbm6VbPiyNqw\nzSOy6Kyh284gUuqvTBHmGNuxKtitE78UQny2qENxF1CTllgLmfZKXaSadCoV\nn6UpzKUgHjnT1gY9e65t2mBiQgVYX19HTIN3Ba/qkrqupl0v46frHb4iYb6a\n87e5ORNW3xhLiL0MIDXrFSWjQBcZVro+RirB4Lz4RvbD5xPxg1392KWROrkq\n3ZTC1FOKA9BKVlUKkdE6xJg0pfiVDw2LZp1XhcnWguq9UsV5B0OazRUT0hsF\ngBK/04sy21cfihXwGs8csqX3dKN2wLQER2BVKlFuLhWFIHqPWDnjcx7k171L\nzGCmb7UFZ9h0IsEkNQ2SE04JpNb8UPpShrk2ORiSVpsvgt49bI7WeXZHNXnP\nt5mPM/l2h57Y4X3f8UqOl1NM5qOgq2jfhNHCYgrPkCNbxIenZi9XjdTpJEt3\n7kZUk2jiUjLowWASa3aC32wOQaT4lMqNMeGENx0ItDMkKPlS5c6oLGLZ/ACP\ndhQig8LS+kj08tDcyUpD0tinsBE6wMAaVqQT21Edn9rVbBr/Dw0PntBhlNMR\nKp2lLtlwZyY3fQPfQLtUW6k0CU8n8EyZzb6LYZZ+IjSBGPUY7ZDhsUtZJ3JB\n4z5yptfWiZDmtRAF0Bnj5NTChTWk/yTW2WpOXcPvzk1J9rT3dlJyaTnwTkPG\nOe4s\r\n=s7F7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776_1613747508620_0.5806369586456699","host":"s3://npm-registry-packages"}},"16.4.0":{"name":"@preply/video","version":"16.4.0","author":"","license":"ISC","_id":"@preply/video@16.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"42fc0cdb82db6760f138a285b6cef79aa58b790d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.4.0.tgz","fileCount":763,"integrity":"sha512-S/41PVQPo5hDOL86nUTWXi1y9J5VB4ZtP+BYn++hcmG0ZDAz1LyVdTuShMb55L8Vzw3hzAEG2xwoIJJodbJO4Q==","signatures":[{"sig":"MEUCIQC1O1Kp/6fcla2wgBZ1rsSgMDFqq94qEa+BBYZ8cgfhkwIgKOOuxXIhjQJIYwrexHCL4UMuCNrjZrTbbcRuhh9Veg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19738501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM4P2CRA9TVsSAnZWagAA3mIP/jKA25cQKU5iOv1BueaJ\nGh7dHhNFjpGZv71tG/kVW7sG4YRyLm1KvNadkIjwLjAvm89GgwKEFXlwYxqW\nQoSdFh7ZRJayDoxoGcQleBp9zf5Lekf1llAmFbCp8CLHsc0aiNXLTAjoIWz7\nvFvtIn22sjve3aOfhOWMnmbX7pDaGuJvYV3U25lbfC/FFfdF/QWKNTQ81NG/\n1Gz1ge7pJoXxDFSA2Kpqa6ZXfTpEFrf08iQ5aOVzRIKD0yidO0J3k4bytSNW\nflbD/jxgq0hr1tcsP/+qeY0Sk2KtRynxel8QHn1WQGkAoWLmbcjNRjzeIrVH\nqrvNzZ2RaubN+ItSWWVnSpBLZAmW36Wr9oHVuHUX+EOtDfZQn8ejIBV2A0Z4\nwC3bvcu+o0Ml8DBtnoHzNJ/7xxam+J28n04Q07uWaqAlQTjYPEohKuFidlQ6\nHM2+ExphlPMfFHEPL8ZmgRV9Ri61vYCDAEw53p//DtP70YaOsp9YPqFlDfaB\nPgbdr2drWbcGPGtjgM7QlZYEyeYOvfsC44b7b5bj1Sc3CUZr6QTeCtnDb986\nH+T0kYx80V8s217rbARGMnWcDUyIOINPEmOKY48n8hIi+EnckjH1bkJtzbb1\n74noHYk+lVfc4tB0f0fIBqypQCrQXrKQIlbDuID+HzNOXPWY6SDOlROBpARj\nC9UR\r\n=2/p+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.4.0_1613988853795_0.06593818912744287","host":"s3://npm-registry-packages"}},"16.4.1":{"name":"@preply/video","version":"16.4.1","author":"","license":"ISC","_id":"@preply/video@16.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4696fa89c31a4ece476f4ea74bc17be6170323a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.4.1.tgz","fileCount":763,"integrity":"sha512-FM7CFNXraH/Rdlj7MaxsEZ7UiND6JEzQ6Nlnk+c4j1J+f+n0Bkju8fwET0T56+gxozs8Izy1ydNn9sYZxl65Kw==","signatures":[{"sig":"MEUCIHB6pR5B0TiF6RsmRqabF0mQwMzn28dIs4n+KHZd4zZCAiEA0b5qRkexydhbHAd67YQsFc7DQCcIPW7YyBqvUHe4Tmc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19740451,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM5FsCRA9TVsSAnZWagAA43cP+wYwGawAtT3bpmFisWYd\nKgXBWo6rQAKACMGIIzF9z7R0XC08AXxgPKDorpLmG4VCv4vgkBnVvHuiKVJm\nyp1E9K6KVvenW4JKSFBsds5MX7pgvcEJJRgHbRTi//m/bQubxTB8lk8Kpj3S\nfNUZUK5/BCIaGPz3Y2/zEyuARKGyc3GRF1YEDjn+MgRzYKZb+lwlspjnz9LM\n7zsWbqfAUKhCpQIt/iF2v1wa0P/G77CvBo744mMEE2yM1+9zySQv/DVrDjvJ\n9KLvNMIJgbDMugsx82pn3caNWvFxSCMgFvTOOaYxgfhPtwjgCWFfSsRZGBT/\nsuMGHg3+qFVTpIEhLPg1oOHF+v/uhQgheDR0uknMGJ5kdD4UDw1uMF4aNDEq\nGxEFeviS+rhioLBlDTmEbgcHm2rBWP7kkDn5ArLf3QCmIgn45pL39OM5R605\ngyYGRc8wETJobTb4tEhQ3npgf+Sv2r7oS2T/iGSiG15WoR8CPQ8//5n1u3E/\n0rCrC3dhzgJtlboHdhEupyo1el8NS9ZGOZiqNn9irlbcaMDhIuM2H8wE7HE6\nHLfCLWznpvs+twi0BiasPM3fjMzL3KsweVIHpW4T+YL/M5nmYm3N6HuTudL5\nDPj3hqGN2ImXKNbM7wQy37PS6YARgFYmd12u2G4PwI4JJmBdYpZ0VVpikVpL\nDWjd\r\n=EmoM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.4.1_1613992299171_0.9482161565283","host":"s3://npm-registry-packages"}},"0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4":{"name":"@preply/video","version":"0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"44c76adc5d4f83256f1ae2bd53c05c3fb6ce7137","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4.tgz","fileCount":763,"integrity":"sha512-qkbPZfMjGErxm5Dd8NOt07Z2dtSl79IoiXfvTOT1TNO/USON/Ns8Lxlw7BHLfz+N+3RF/zTJmg80aSE3pOZDxQ==","signatures":[{"sig":"MEYCIQDHGCbN/1jTC8w41F/nipm48ObYdcsfF04WettUKe0+/AIhALVV7LPGLb3+Rk6iY57wBL4zPWQk7oJyKT15TXsaNtzO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19754001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgM/iRCRA9TVsSAnZWagAACCcP/1fU+BXXYHqwrLIV46TC\nmB+t/7CiuGlPP39QXMy/wKyumMC6ud/+o6ybCzSQe/SefTCjLoUAS0NzEFs3\nz2rgvvb9iYe8vxd2QPeb42xjG/Y7qiVtjER9KUBUpBMZQcgVFfOnNZC6TM1J\nNY2SgPvqXJcIiw7mubBdF2ED0sDhyuRlIp7bEqFnTIzav1f6aH2n+Rd6g+5e\nJRKOhzT6iwq907fITsmOThAL+KF5q5anmybkAWOQLROG0Wg4pecRswJMf2V2\nhZd7DLZPQg+wukIMMUXKvzrsg27zxKIP9ptun3uJjbjcb5Jl/NoJ/La0S3W7\nLnZLOnlGYP8SkVHp7Ls0hjP9tEV5G7KtHuJ8Qv99clpMeGDBJCZOP4+H1AV9\nhoe2xogtaVyFMYnsI481Q6IMkvgNA+xmd3Eo112/cNJWbzhEsbJLSSoIiDdp\nmltQKd3roYY5ZYEDC9BUF4cnpICmBogwF06Ho7Dq7N1V9u6ApCjo4blsdE0q\nH6NN8mRNN6SFHMhyofhwFdh3EL0MF7X1HkRxJwtRKOHElw9G7q1Vc/iLKhpW\n3w6n6h9S8IT+1BHe9WDFzsm54EO/7EalHyXRQK8Ci5uq+YGYNNNto9bvxCQ/\n6YRBpWrXXnRBmk0iKG84kFuwwzQZ9Sx7VpjJ1lScYNYFNy+4gDvWwsBjcLur\njqdB\r\n=UPv2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4_1614018704773_0.30213425877163647","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481":{"name":"@preply/video","version":"0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"42a5f9387af96bd642e1f0ce0e557014d12ddaf1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481.tgz","fileCount":763,"integrity":"sha512-iUPS2ehN3ZJ2bnrnzvgGMJvkZ5pgGFx39jluB38VqVgFtGgY4dWRKrDl/jY1ic42YZHqhOOH2G+lBWGcITf72Q==","signatures":[{"sig":"MEUCIQC+PWokxCcewH4aB2k2kBVOKg8ocxrElls7shIb7DG71AIgXou1LLK6P3pmlfzBeq5ENS1LKlf+5dsMDsNALpaOALM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19754001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNLQGCRA9TVsSAnZWagAAwFYP/0TVt5/5SR3NE2maMahp\nNbjubtxnpAAqLybjwdgvhBa3mp0IJqCvmflTPwBhJko8jupCmiyf9AO9UGQL\n4TdiCTQWzm3FZjdHdwvHSFVn8zZHHBkI5KyFKCekfmXKCgLrUmur+JHCuIls\nBbh+Fc7/4fGjN2qedYjtDLf6qIpdk1i3dmkmVbtxcQxpxwKDFxN9XyPw9ACb\n/uvNDrJDXHP4/UvnDi+ROINFTXz/QiGuDu+RZiDvgVpRKOGqiG9JIbtPvzY3\nF2UETL7T3P0M0NdeX4CyHOps7jwpoB3hxDWzVcf1QsFNTId5+yhK8UV1uak3\nrZMpIPnjpkHodEeMekOb3fERN62OwsaXEwGNmmMglZh7HVnrky7fmrFylbL6\nOhLM87WYstqFf2BiPuvpBKSgVbCx+r4uHhZ7KFmhaCA9oEjPrGuC+Q0GGFVL\nuMhwOaCZKepbWUrdMHb+Cvzs0tJGQdWScBc3VYpi1MrOwxRMPH0ApQIzdsNS\nD0gr6CMt/kT72ZTHOFlgWvrDFJntrpmcvkuS0Aks6OPQiXNehhZg6QoXZ485\nA9Fdsquf4ZeyukU5TfVVMZTG3QpEU/8VY7CWKUMqXlM3BGwp7weFbftlEMvU\nb8B8WiwbBIHO9ugLpPvvMncT8P9V3M2tV5Lxj5/OUMto7W1woeeQoWfgu6F5\n+5of\r\n=hV3r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481_1614066693158_0.2564203413578203","host":"s3://npm-registry-packages"}},"0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1":{"name":"@preply/video","version":"0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"adb699e054a20ff51390f445a77af8d2f048f7d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1.tgz","fileCount":763,"integrity":"sha512-yNIbZexK0bCjtXrVW/JjPwVRQf9ZCjWQgekHacS7cZ/pOdC8zQV28v7O9WiStJax4nh7438t3R/5bgncD8RlBQ==","signatures":[{"sig":"MEQCIBtPR8+INkPxNjHn/c+MiH9D9ANh/C5ZzNyOPlCWkn/HAiAt3RX0j1vcRofBWpLlYRo795GzjRu1uipQrNC6ndZGIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19754001,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNMj+CRA9TVsSAnZWagAAzD0P/2mkWIoAyKb5UO5gebCM\n0AV2mNRViR6OCNe8sMpbVpw15mzGSsPWIM/vYSmFO/MH0CifNxUUmI4UQftl\njMFZU8Iz0iqGs9RO5W2A/LBhB9cqCHZjUkMpzixZX5i1BtSOD0fUJubjuQZj\nWPG8QwKmJ1aGGOnu9z9rHnXPyQzACodL5fLRvNThXcK+MeihTXBfmCZkBX8j\nL0FkR0wKY+s8zdDhuhw1CAgp5vUmC/uvbVLHnUeOglDiTeT8DktKyVBB/JBt\nEINYodOzXL8V7NIdo3A0pMcOSS3fhaZZSZOgmmbIYHja1WCMRFcyl6JZnGgP\nfKStAoBynM/SsKBHysfOmwfDIxpVwdwb/UUdeKaOL0JzeEAiNFrmnWBgvSFM\nxiLQMmsiPA0fJTGdRKkn1DyimMTi9EqtI7sY9i0+DUGk2itegDeQCFGHnBCC\npXV5YbW4MESZco2YhcGs3wSOer7GxyzwbgO+vV90xbfbJpk9RpB6unQBHxXY\nMGBZxEYyP9lmzQ7G/PWRGLoo/NN3Q1QT7Jcr/skJHeC24g3lHlLN5k2Oid8s\nFqJJeChHy2V4gQ832q+n9AwK2y6ynYETb50ME2fUqGe4GE87TEMvwiueIk/A\n2qNoJ2OWYOnQ47458Y1wgythl5Bgy5ZR6W0/8WtRVZXXsbk2wJOERuPi8Ac7\nhbEF\r\n=bF8G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1_1614072061264_0.3696869251594861","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81":{"name":"@preply/video","version":"0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e88636595aba4023f56a88bf9bab23488687784a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81.tgz","fileCount":763,"integrity":"sha512-I8YZkZYY0JsdPE8MNBfAT06AJmaX6fl1fPSPJ/A9DnzBrXMr7qNqTVmccsnn1iNfrDpjmIOct1d2FijIjys9sw==","signatures":[{"sig":"MEQCIASNlpeJoVcqiUlgj+BMdoJ8ICdogdeK3xYy6kyQXa9sAiAzG78G7GI43hPg+pII9UCo+yke8XBEQMxOFiyB46rLMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19753930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNgFuCRA9TVsSAnZWagAAhG4P/jT39FUexyJM1DWapZ43\nfbvDzgXEzMdgzEsren7eNtqZ/peWb0qlt0HIdnx5z6FE3t2TmCYLoDgrT+Iw\nLnpnuOla8K4jh1hXrlqHFR+iKLrZhSNHjxh6tM9UtqeNiTVEa5Cf6GC5E8/x\nHSEbCbUV23ZrEXagw5Fir7xD3tYOT4C+hEueXdeaWy+L3+SgYs9ZrKCwV5gJ\n0SAxiALnvcmq2h3HRTZzzL8yax0GNFeXa/xXMKO2SOEn90nhnbZkwi0f7IgD\n2dKaUcW2F0HzURBmUZMujzMp9w4HQgQHEllGhWhMggc9Ft5ggXbqJyO66f65\nKVh2kJ99GoTUH01QkeTZPsg2BTFxMUSAnUwaQ3uvo3k+yGTrQNpqyVPLoImX\nJfcUsxK8Hwx9umXCtmgWEIrIq6z64aeb9h89fq2BZcjDMINPcFvbXrQXN9b7\nX9z7qtr7/usmZiiR0s9AU0B0p1s5jL9oBBkUlr69aTC3nlXUZz5QzwbX1R95\nOAjZStyOoUEa5n6DjBhn3CgCe5QUweD9Ud6Ur97Ya8Kmb2HUbdL104gGsFSH\nqKpcAQGPsf4drn60IOBbJWpKM2LLU8JCpu6M0owoVmL1pc0H7mDKeLSoDx40\n5jIxVpVWajtfaghV2qmgMOgis6jx5JfbUbKcUI/b010F2ZMRDwxmdjo5cBY/\n8wcF\r\n=7TFg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81_1614152045238_0.7239348748760404","host":"s3://npm-registry-packages"}},"0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a":{"name":"@preply/video","version":"0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0056d6a1b4f97b31f1e2bdd7eb280d1f98ed230c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a.tgz","fileCount":763,"integrity":"sha512-M5HkYBLOr+B0LxTF7Hp2FbpW+eJZASD5FVQNTlMbElMztIn0tw0Or6YGszYdhgiAl/cDZowib5UbDVSlAsfCAQ==","signatures":[{"sig":"MEYCIQDtGI5rGkOW41o0firhmvMO+Uk60t1x0QLMo1/7LC3BHgIhAOvpV7jNi6havqvWJe2X7kWY4FwDCA7UlETlIb7UTtjB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19747081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNkQ/CRA9TVsSAnZWagAAmMwP/3II39Br+zVQaW8rQK8J\nMUh1bAOaQkLS3MF9z7pIxhfXxcBUDqGFR4+AOujQZ20qcd70NRbfW5Em2O6q\nc40oCwbqItVI34qJKQl0GerI8m3v6IzWSK2iVHyaS9MQnqMt6pWD96kP7fMT\nrH/n+e1lfrKd5q1oGJRhzsP6YCDLveJG1+CjwMiFLh7rW1MGSJMVkU4/ioPb\nIkVTYMOaun1jGIKzKUk8nIXc+Y7Q9FLPt1ZfTqkPVWFD0pLrhzf4JtqwwoFi\ncQjIWFVsWLU1l/9tRktIcZLfPIGdtjDDi+9biV7PT+WHyhRp7ylh7brl6WgE\nJ3W9Y8Z8VLCfBFJiJ+/YAFRgeTz5d5auXyXjvTxuDxjPuTFfox97xt3H1gIE\neU7y3xbodxDWPknPrUMqlCrfZb+TYj37zkTVr8g1MnIgCwlY36nZH5OPZaNg\ndyyn34YwXrwpuNS+QIXQenQve7K2eD9svYbgeYI3fPNhfOqp5lu3FtFU8jyb\nZapMG7cAVIc8rKrlXWnjCDSnqgmW8egNDA+EtuqTNFJPXeLh8pZWCdtQIEvg\nCpUDP4hs108+fnnrFjdq+Rb4G3Vt2k4uZ3Sv6Vslhl57+U2N2FK95j3O4FMV\nKNa3rHenH5XeD+FULIuDvwnAi69oethAmBUKwQNj2QZfmaOaRS9RZO5OL3O+\nu5Cl\r\n=kKxR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a_1614169150113_0.7355005268686334","host":"s3://npm-registry-packages"}},"16.5.0":{"name":"@preply/video","version":"16.5.0","author":"","license":"ISC","_id":"@preply/video@16.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"508ea6715521135578b2b527a8ff04b85501547c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.5.0.tgz","fileCount":771,"integrity":"sha512-9XkduYB4hJAlTq+oOn/gv1fZUzPmcrNSkuHS4vqpCEg6MJixjIJavHn00aAL+7CeLWmrvmnhYzahtnWP7o4IEg==","signatures":[{"sig":"MEUCIQDIu7lW4pODJXoyq+q1JyaaFutf573xCIo5v667A9JSfwIgBrKC+17yl3cqslXOh8yrorvoitrG1VB68w4t0Ua2UIY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19864326,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN0bHCRA9TVsSAnZWagAArVcP/22kuYLVyHDGyEGGHmt9\n+JJFo69snMzjjIVfBrcavBCN/DqHigc9E6M8Rd5yHzwpBtyV/CQvp7/9JYMe\nY89kPONezY9fILW2HicF994NY9jH9/kIIzjGTVTzc2B1PNou803Vic/kk/CT\n2pbV74vOQzuUpGyomwM1uimx+r6FjKoPFEHBxX50jYsLzcVuvJcLlwlKYAty\nfPSL34MKHpWQsB88LneSxG25YbzD56rmKCd2q1dZ/JluGpexAz4jBbMJSi2S\nSUIRyh09vnR5s5fGchd8B1zAexPyXJiFfleSq5AgaUms8iCE7/DtC/1uKn8K\nUrmsSzszfIduz+gY5rVgmjEEQzUdxAz4s6TXfNyxb4ynkwEheL90DQwrtzrq\nb93l3Bm2GXzwe4hsniNtGXsR6zE6lPRuy5hjTcZ7DAkVOWzALIJ9FwronznE\nYblZvguQ54tsRKsbiwX1SdApoAJgTN+KOLm8JnJipnTIN0WI1DeaHrReXhF3\nC1CTYDs8kF9e+U7zJOS+GoFKu+s2knJQ93VeaZj3Ytd33sE4ifSu/hLqxwLX\nn+56AyAsj4z78C31mL7OMb+HKVrFclxgN8Ua2EjEN+elTxm1vB+c5BWcc7zG\nDN2LgJrY/D50bK5IzKrCEIYX21e45uAp3gnzrX80ITBKxgeV1KZcvrMwItm2\nAg3i\r\n=kYZ0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.5.0_1614235334456_0.23938298609663589","host":"s3://npm-registry-packages"}},"16.5.1":{"name":"@preply/video","version":"16.5.1","author":"","license":"ISC","_id":"@preply/video@16.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4426b27246bc9db9a16b2060e9242f299301b127","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.5.1.tgz","fileCount":771,"integrity":"sha512-W/aeB1IA5avHrTGmvn4vegDfz3QNk1i95/S8NtVZTaPFiDQ8UZdMaWg/H95tcCqAHj7y/vPMfZP2JieIMdxzcg==","signatures":[{"sig":"MEUCIEPrPKrmAQdVElm6tvevsc2ls4P/q86K2NRTSdQUuQmMAiEA5B/ZpMYjzZbWp+B/CoeSfRbaa/RLwRMf3fY/yAcTCxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19877666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgN6HKCRA9TVsSAnZWagAA8rIQAJJpBxZGhSbOZeRXCu5q\nBp2758+ubAzJBHgCS8OniSb/rudF50jEAzjZOvQ2ivEh8HqUMlJTOxGcM3pO\nRr9KST/0Y8i2ZxfoQVB4hlCA9lq3pYUVVf5Z28nYL4NHOBRoRxG8r2XIEiq0\nxIhYf/vkdaVdHGOgJh9MndUg/h5Vt7sIlYXNY2ECQG9S63HsdFA3mkCs3wl0\nDZF8cXMimNLRx/nd1gz4rsarUiAHlxuU4K1VeDz06ykG9YRpuaHSW2pFMYyV\nPUfCXFtNeoSkK6Kg1TtyVZzoumPvwFYQYyvBUdDPN3JnrOLhUQq+tjd17/zz\nkBDG1e3PVcN2J9m4NGDg7Wo6b7C1AFsZV6oEG9XJ3m3d5T/tbfVtrVFsdQU7\nl67kElapMDGCVmzoQo0uKsNp7bgpAbzaGJoKVuYguK6ywRYjSHfZxM4gU43t\nEk+A4vNcQ3zWqcVV8DWo/SojlJPbkK6h0nA6uUCWozUpEoPEa2GmhIuriN2o\negoLM9nEX2B9SaZaRZ74Y7FD/4CPEMrWk1ajdm5fHmdgWWSzTYRfQeK2X5xZ\naI0foxA57QNDdC/AntR4KpY5DUGEC23+FSkEcnTzI/Eh/Jmi/QbTfVq5wxHV\nqiT5x6p7071H48v82F7kJMuac/odiIVjzRQphYfFz+y0GgYSgtwy2UaSCA3o\ndU/k\r\n=LFEJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.5.1_1614258633969_0.5009684240250067","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070":{"name":"@preply/video","version":"0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"234e968ce36e63c818c46362257b7e4ce9f5769d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070.tgz","fileCount":830,"integrity":"sha512-C3vOEHV2NIIwCIkZVaTXI8TCZXYEvEFal/D586k6+0La3oDzb1PqVYf9r4teatFHDyryxqS1Lw6KpANosBgGqg==","signatures":[{"sig":"MEUCID7K8nVTY8+B3Lo+O5m+lUrNCyXO9nMJ8cgGRG9Aq6tIAiEA/1pUsDZ+6WbaE3qbIqkAgjzmQ2BVkjK5H89CJ+Di9OI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20247025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOLluCRA9TVsSAnZWagAAM5gP/2SyGLwTxLUmPXKB3CZK\nWWjKRyzr5mVTt/0fq7yc+mb0U7X9NigkH0cKSSQE/mkzhSdbLcqRKz7wizBs\nnWTmROX8sq0DfYI9QeH/F27u7hk1CzkAQ6U/NFxUaP0roJxs/eCH2hf5eHrk\nbqlbdtMiZa2GfjDXTEluLBf9wv+n1uk8RqlmM7TGuhWbDMVbdj0pqUFj06ss\nDOmicvF5v86WNrXF2Zr39bBmb5osfj1uowmgSa4Beb8slKYFDXT1fJULGyPK\npV3uRVpF+N1D6Kgmdq/a7r0AnijasKYaghmcbKqAgBAv7nFrGui81+/gke+3\ne8Mflq7K7YiiGHbTlqd5rxkCXBwvWtYaMxPdupea7BSYyusVbqSApn47Y0lP\nyLkhtoT3T8e8WRzJYvz8HfwvniRTQsX4NGgJuCXg0iCzoW/jZTL+XcVQHtOk\no/E1ut7BpApxT94gxBC2jYrbTutzSpfybp31xM4EAyb1kJRW8iUhCePZU4uO\nSuhA2ZjL1xakgZxwYrNLILaNzebKSTLIFVb22VXrHuJlNmff37VDqYj5/E00\nqa88G2vMHiqEfn0jpij/3NjwiTfPddnrRgayw7d5742njAB/c8Xpw0T8cItP\ninu4q95Ggph40epJpUx9VwVVZV1zk3UPu/PdUccV4oK5yqSBR9FzGX2LxPND\nMXtn\r\n=I25s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070_1614330221732_0.966712527218134","host":"s3://npm-registry-packages"}},"0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78":{"name":"@preply/video","version":"0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a6bad005e4583224bba3ae957f61dc5dc0425a6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78.tgz","fileCount":771,"integrity":"sha512-V+QxnUFqW5UsHup88DJbqZaEQnE/AYvhHgusnfIA3y5sG3R17zCQaiycKcE+hHPRMx5OHPMHNXFloo2xjOgPhQ==","signatures":[{"sig":"MEUCIQCW2U312ak8oSlAPAo7YRqs1EdQb9IQajn2RYgvgTfKrgIgSPQ6M1EvzOMW2sDpFy5mF3Anbe6Wi76mTR9TUEQKnfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19880685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOMGZCRA9TVsSAnZWagAAEEUP+wVoFRKDg8yha6N9vNcm\ngPxXcMvf6ixe00pANi2O6Zjw30YrRCylWlqv8qYaQNhK+/7qM3xcHYFpflUk\nKiSGkPC28nt5s7jj5ENYkIPH3Wn1KgxMGH7ZCeq+QHsqMoeRuZjK3tpucE8N\n6r9+YvdF5OXACmv17NhbOgWv6VTYIddonUDt9fGq+vJCe8ks5D9S2GK0PA1f\nF6mHbm/tBjJymLCNT51Ox259VIWo9G5iAsB7QF6S4Aqpcv2di5JfCtAy9J6d\nCniIOAjcXW1GHSPVza2EGN3ZZoAVh2i7/A0FcyQxqEQTT2ueDbHCO3T85N4i\nrw+m85TdaDKDUoi9+9S8QrueLmYzeiOtuzvKKg+5a83Ya71myKScVA9NYTH7\nnhBAQfM2uw7RymiIKlavRafrLFiB6sRSBSfnw3kAwDSYvYXcHfyozL4ApRha\n6genJUU4qPqr+KvwmVSvLsjmt6RpCvjBk8S2F19yjTomGnxw7EikPW5mYH75\nGMt+I5xDZeIZTbnxdhxkJYWXDDXlr431IXJe8Yb7y7dlY0Pd2n/KFas5jPBB\nhQH6HIFGbVKwwpfyj/KuykI3oHoNFDfJM8XcRu9w00YXOVIEUgg+b1OrVbDs\nhqs9z6lsMojf3TJ9TXbAMb585q9q31G+KN1C4qndcaKD3zacGlAli4y4t+Gu\n6r7D\r\n=wRWG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78_1614332312350_0.6556893323678916","host":"s3://npm-registry-packages"}},"16.5.2":{"name":"@preply/video","version":"16.5.2","author":"","license":"ISC","_id":"@preply/video@16.5.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d266ef65c5f087a5e973763d98f44e13c95a4dbe","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.5.2.tgz","fileCount":771,"integrity":"sha512-ZxnWfHc05voFu3vf9UzqTi52rE7Hu3gw6eWW00KA3BmqTxzf3BDORJfh/Hw5ac0EQHtKVqygbTp9KX6X6vPF0A==","signatures":[{"sig":"MEUCIQDo4qoUXlDYN7w7NaDJWWlo70ndfDzWp9Cfp/B/dkj9XQIgRsOpzVz0JRHkTFAP6tXvUBgW2IHa7iPWRPlyDpO29Xs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgONrQCRA9TVsSAnZWagAAGOEP/3PoIeDA6sW78YWqFrz8\n2CjQc8yOqXBRZqZdm6ZdXeb6TJA3AP3k3iBh5O18XM1wpKuY7JgYqsO9elVK\nMgtfE+o9UzP9iCLd9Rpc0VJmALfaaX3MEykJDS/luv5jm8D+sLnROpVXew0B\n03GIhNHBSl42OoqF503b68xeRSVd+Wux0qH11SkpFwoL1Puq5+s/rtklfslH\n5b9OpY2DOeLkiHO+ACpirlesZ5645upPSYvP87JrFdxPZOLoEkhw6j2/gzqB\nKbCyccggIMxXJYsq+3ApK8qLzwbdiN1DqpPYFfG/N4jzvW5M+RW7z1KjmdIU\nqeV0AeHfqg3n8h6bA1PX1LpNVXlWmfFciXSDkJFIr2rU+CczWxGgXp9sWpCi\nRNnzXNKoRyXtEsaCcqgN/990dlhRBVIsIjpzkv9D/1qPjXK/zoGzZSvUpab5\n1J39MRmy3ma4+vzXlTyTBrVwY5sDAKrdvBHpCbjKlYrYf5z8lOPOGrWFTuzG\npDVC7a/dd+UQcVF++Ppf1VsVAmVPzZD6kaTVOOoRFppq4Qs6fI+ExOqtVSF5\nyVImp9w1muo+U9gDxqvmu8k+h9+FFXwAHDNkuXFcbI0mk28zySe+Dlx1AFtm\nq0KAN4BBIJBw3/W85Ow6oSnLdJ76SEqE8ka+iCQke66Psw6VUESIvc6HoqBk\nVOyL\r\n=bgH+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.5.2_1614338767520_0.26074006264088734","host":"s3://npm-registry-packages"}},"0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53":{"name":"@preply/video","version":"0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b61cd073630690f00f2e3135abc51878cb0e3be8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53.tgz","fileCount":830,"integrity":"sha512-PEOS7W8x6iQ14R2Oa/83/9WbU6haRtfZhH5UVbzkJ5n5x9vnfXl3GG2Tp5CgFZD/hJG+yiQIfIajYuWT2Wdb8g==","signatures":[{"sig":"MEQCIEgsPgaddwcrErDb0hbOhI6bMK4SN+58j3JBbHoDmgfOAiB6TaCDxJTKlJHH1puSstYfPpEH7wBwOE+IVBvkpNBE/A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20254391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgON6cCRA9TVsSAnZWagAANowP/2tp5JWOnTP4BpaH7xB4\nTdfaXUap5yiJrePfdhRUdDUR3KSRfWzNwq+2rr37CrQZvKQviRglY8Okovv/\nRJ2uY7LzqZ/hzarbC5WqPGK2owH8a+VpSbfvVm+xWf9KX9mkbCHS3GeGBfct\n4V74XtnY5WjA8fyo1QgUed6SodaCTbgJz4aogK+q5a8vKRD0tjVjja0yP0FB\nQio5p4FPYBzoGfTviWoBlmG90ViscjKPQyUblzjhIz3fwbpBZOY+e6zy7qWm\nhicRMkMzXZ1E3NxV6+M62HLQf8rOyXtSnw6BejH6JwVT26An+mHwLgjXdbnT\nSFLG3PdjWFyDnjq9bkxM1lTMRISVNVao7ebymU5i0K7kUaVDsNSfpLwgrxvb\nseY/iEcC3hDysOBnk8FTh3xok8G/DPBOI5laPJNM43pQVPWT18UAtCK3Bg0U\nEe2mZjKRc4GVKZUKnGwk9/0WmzcjlkOtGuZdIpfHeDCsX7lW5H8MU58/BzYJ\nmSP8fLmvrRjur9XpOVsdiX49EbWYTzHJsjkIF3eXhY+O5B5xv4fxR/H5BGt0\nbaBHt+JsKSXKgz+GCuJnQAyBCnj6m4CeyRXFenwgZIrJ9ujEfBWlDAdiX+D/\nPVd9jjVMn7iMf0+9xEBf6fFdGwyNOC1QBBQjU99a2+eNqbFu/jxvYTILr5hU\neCUt\r\n=uRUx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53_1614339739778_0.39363749292458317","host":"s3://npm-registry-packages"}},"16.6.0":{"name":"@preply/video","version":"16.6.0","author":"","license":"ISC","_id":"@preply/video@16.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a0bf827427c72ef28bcc23e4939b02e2e37c2c17","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.6.0.tgz","fileCount":771,"integrity":"sha512-s8SlIj/hWyTjezYLnrGa/qczA7266JEEVr0DJUQL5srinUrSgl+ahd4fGNzkW6zdRJQC1gcn30mFKj5+VDGigw==","signatures":[{"sig":"MEQCIFswdRpKX+oCS1Q/2XBl2y/6L7KezdCWLwTuuow9OtmeAiBV1/jGggeBu5U0pM9QeHiSnweOl0AO69NI/wOrbRzgxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOOtACRA9TVsSAnZWagAAxzQP/RJnQiAVw0vmXr6EAAlQ\n8EKWHWhcKIZAnFmqx6rVGv28yKzw+VxwF+PA+25oooZjkA8GHkMmaFMlTg4t\neWphPr2UaPYAo9rqVV9mR0B/B2qPYkTHIIdP5xAJWjl6w199Oo0H03UC/Me1\nI0TjAk9Ovd8W6BKySSQ4Ra7dKsYAZVL3mfdW6Ra+76uKMXrFj65g7rNL4eCd\nnASouUsLkXIf39Dr8spk//1AgJYHSGQdc0JNYzgKa5XnWp5zzPfzBpsX1QOr\n7yeerJEvWN4k0G+1zUgNjbFOFw+r3h7Q5T//CINxNzil27et3uwmEZYdEsos\nCrfCFSl9bWlSD7eXkId+2R6hJV2FyfuIkoLHTOtpHjhyaHlCYfhof7t5DvF+\nWYmq+ArOR5AIjN1xg+jx4YhhdGHzsIPpi1yR2iAG4O/1cbI5AMgHOojZFYw+\nineFe9N1otqXA4yJdgMLzXgxzPDtuX2K2KqM59R1fPCwV+YeKabFD/O4jKBR\nl4CQ7AMTRz/TK5TKpHaByC9zTh/ngq+NDDXvAi9jHTa1fgR/u3I3dwD4FwxU\nX0rPBVEQ3ZoEGUI2hD1pcpq+kvuM3pGrTxpsjUs1f6WZUFi/Nq83RUtnSTRb\n8fwtNkuBQgBDK7IZToM+u1QTnxTD0v/SxPRQaxXK9of+HKmXWYq3I4+ZtL6L\n7knQ\r\n=+4gu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.6.0_1614342975113_0.8848896039550911","host":"s3://npm-registry-packages"}},"0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f":{"name":"@preply/video","version":"0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b9774fa8daf5cca5f733dbbf00cf08817cbb39f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f.tgz","fileCount":830,"integrity":"sha512-vppCbSdOnvHZY/Z4xNFfwlynXkM7r9yYOAhy9NCs/ZlrMijYfp1WwSVUpgqo19L7+/gZMpQ8s+GxR6dPw3YHKg==","signatures":[{"sig":"MEUCIQCO7sqGWl1o8EOfbZ6FkSmpqqvpAIfn2H3MmZJEF8qIiAIgZctg3Lj7g7pgF0/oPiSfQEGPcO+otbayihvnS71HKGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20232923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOO4YCRA9TVsSAnZWagAA+gUQAJBGp8vQ+CmgfFSvnTyE\nfdNRTw5C+jDKxEmBXoBrw3QRGVn3YZH3cA3d3VjgB7FR477XR8aKdEDFdhSQ\nTRnBR+3MatKci6QQkkLf+n1+6hjUnaYSNdsvJESPPjVkuDBcwHQl/kSm5wD7\nNGYS/NHi5CpVneE8F3QIigN10tZGQqJhnWLZ3TwTaSdLPYAY4k04GnnrCGdY\nt3ik+/jLnDLGskVUoVVH3kssU5GDcFF0oiGxifbxPY6P6OJpKSZr65ebOiDy\nbHtFCbtGNWN8zUjwh3ey62kAt8QSZftjy76Kc7/KB8Z4t+AyXEE221z0nkXn\ntd7SUE6nMS6U3maIl+sNkCjgObhuo9+hRTXbEFJ7rBoySDfS2yZrUFO+YjuS\nOf4vdkrt1uK1B6kxwOejTHx/rewpq6iv3YwLBqQnmSHqRV/1r8NKViBJfvE7\nP0pibRuxzReu1jT1CewjBS4f8zT6eMm5TQfKZWtWlyOorLs//KchdpswrvCf\n6p7yXeO/UlLKzwQC8DiouA0qXCqvDRJlPmA+9rrITf1vQgFqWHVcdsXv1je2\niPq3wTIWItCqNGgsx6nnA6A+TjVO7jyhu3ZWibWQL538LU/Qja6TrOm8b5IS\nBZyEIHkGFZi5/YIRhJi+XoIAp5gBng+/Q5cvoZJgRMTnduk8tnzaRailH1U2\ns5L2\r\n=mDU5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f_1614343703614_0.7337915502317833","host":"s3://npm-registry-packages"}},"16.6.1":{"name":"@preply/video","version":"16.6.1","author":"","license":"ISC","_id":"@preply/video@16.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9472a29db03c2d678a2e67090be604b4a42ecb11","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.6.1.tgz","fileCount":771,"integrity":"sha512-CDTHXaddhdaEclPdgW76zYfQvtmenNdLsh+bxqn0xGUIQkipzOOLWZr4fLs9JHfLoR4CGOkixpOmymnTCRMfMw==","signatures":[{"sig":"MEYCIQDSXjXOWMaJdDSqqekX9Ayc2Fv0gWogdrXI50K4mG+SPQIhALgaFlXOv3BU6pr59yVXuYcb13jpmHiwROz3tFanFTev","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOPIqCRA9TVsSAnZWagAA3L8P/3SiBe0cLOCtSrxA3Mym\nmLa1lrAOvS4rlF5dphsLEznGVdfR6YARKDjkHtpKik142dH2VqmV6zx/bM0o\n1cILKWVP3HIu0ezoloOxxwHqmVaq9duJckf59gMcXNhuLRAq7Hiwk34L7xR4\n3c502D/lwLc2xaptskBQ+6h3JPwyoNlC58sh94ah7OcSCbga/t4ec5Hfi++q\nDFzRQ98NdJPx85Xa7/twzXHZG3ZnNx43U36vPX3hmGmStTwgCDy08sNLt2O5\n7T0cxDZ5mH+r+BbJ/TdWppcLHnKuZwDNRS/h/QYHqNOjTr2EzlgPLAbLExTx\nVtpwSspmTA6qO8h7wcHvEtXaKjTR8q1JD7fN4bd4OYOf14UD5Jce4Wjwcgot\nvRRtpvaObyaDD8PAiFTElf27JV5GXv3snsMw3nCyItxV+DDwuEa6YaKcmQbd\n/E0gImbLfABM3d1c5/mKot8jaozdNYNBOC1xqp0TilEHn0lkI7kbgto7zmS/\n7tzIRFjwoabvxbClydna4W+UYpGODt2T0x57SqUeZsd3Zv6nfZog9AJnB95j\njRNCGZFiJsb4MybeGNa9DiRG4ON56RIc7mRqxTknwWjiQtSPND9mGjpFQ5Er\nYSU47iVbor71XpQpnJG+Z79amb382aJEE03ZucXDDEgFEv8gxPTfS/bQYIHr\noKsi\r\n=nezV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.6.1_1614344745521_0.7588914120770396","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c":{"name":"@preply/video","version":"0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"636f9f99c2c62abd2a44b450e6de5d8ecc332eea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c.tgz","fileCount":830,"integrity":"sha512-0Og9vP0Y0HLM1QE0s9txoTxcbOoKnKb7Gq5C9NgiwWIVWttx01iyHMut8TTH271W++oCg8wx03GCe7qII/v6PA==","signatures":[{"sig":"MEYCIQDiYH4Iv23RtSEYgLSWBcz8SUNUUzqLRPB6XT4drKwEvQIhANVBuJTDW+0FjG2wMBGW9vTXa0crMrViYkGYhdYRuCse","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20247356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOQ/gCRA9TVsSAnZWagAAuIoP/2/iixuLpBXgkDAPBzlF\nuwRt1TT8yS8wGqt4CzfFkpp+4QljJUHPllT/nF16D+Wzqi9R8hFR04uUpp4f\n2vyiM0IVccKYwG0chh/iK7/yBGOOq03S9UKK2QgtjUtRSoeWAhI/ktzwAVjM\n9wzjPclG4uaOhrC6WCRe/+0QDDvfXS3yEiIs4yuvQ/wpHTgdGDQBqIdIaucd\nwHQzXZ1jZNvR9rd+0ScjNQofmI4ea9w5kZUGk1Y+O7hBMefyeMufC+nYajHp\nd9arFzjhNfUYC4v0YR56nv88kd+tQoyrp55cyijTOtTEpdxFvssleHbbFn1T\nZIImcBHOuAZ8tx8q/ZOaZMr/LyDkaveQsDlH3nmo6RBpbEFmPatqzukYShyP\nmfF8CDKXO/xaLqfdZtu8N+o64S7f9SqG38J5qTKIXdI9M2U6ty1/J+Ote9ES\nyseH6bxrLCgsiDCdW0Vl2TeABwwXX9v9Sw7PTQ+gsK20ChZ2cY3xZQPR5IZo\ntpKUSel7sUeDfG+zJk0vOzlR1tL6eeKdwKuY1KA1HzYorHcWIWdh1nf/CxrB\nxC2zu0sRivMJgtVTkhvXdtX1SZOP/ic7G1+m1gSVPb2MB5RuznCgoZgrsXUF\njvO395hgTt3ZJZH/BGhgAZKeeHjgRezVfpGXUOA2e16oR4zORcvB5meaQZZy\nHL8E\r\n=IOJF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c_1614352351841_0.3947220551850783","host":"s3://npm-registry-packages"}},"0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962":{"name":"@preply/video","version":"0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"30f7136ed2f1282327ac17d47db07a81d2c12956","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962.tgz","fileCount":830,"integrity":"sha512-2vRHeWrGsP37XECG0r8ukpoIxrPb9bxHGDLTjtUWQ7itjpf0CKhDChUNibOAiUco+BcqE8j8JA9bj5R85in7TQ==","signatures":[{"sig":"MEQCIHDjqxGY+RY/yHMBpqbsLZ6gPdKrGWLmDrnVZtC8lEJkAiAmrqp5iQdvwLSeVX2r1YI/sIzaQuxTAwUqU8ZLXpvAXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20247356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgORHxCRA9TVsSAnZWagAAotsP/iRUp9lNXzGXrsArDN7B\nwx8Nc2RmSOBNbzB2IHOHoyY/oi84nIAhUP+HHGCHyo9tJO3WlCyb3xzCzABG\nV0rfRRwr2oDcW+PZ5xt18T66mX70kj/BiUqQmUPm4jEzCmaANGbwK4wMhnOc\n2gcNSBOE4fIF1ymE79OSqbH9HRvdDUNLoIufy9ClYmUgp8pEw47ADqLCxJGN\nMXew52fCLb2h5X3GPcsgHx/LkAvxQAlQ5Ui9goRz1c70eYGp3rFBEtMrJHzJ\nw+nA/e9wDtuWO8kdZ6vaZjQds4BJlUBVJJIgAvxBHzT0iX45UzJmaS3dZdna\nUyGmzdXgr0jLSs/dUbJ5vq8X9VEqhYZPSkg4Ub3m08Q2CgdLI9xM7PjoXXYU\nesgQ/yc9QCi8Xdr2YKItMQk5sZhFxn1nbPpGcofnBgyctDP1Q5384w3e9vfW\n6qSJ5K4SCg5wSRmL8xKuEcQZiQNdSVrAWbB9NBDaieiAUBYeBehOOfICIPj5\niegLEYzFpg0lQWeDBGR9C0vK9E0FLF1zoIF4j3DRpvMDk24A4+cpuAxIADwu\nb4s56mM3laIzsSF/CQcMTaWLbilhgZ0ckUrnTj/cxmrZZQcjjcwUdks9RUM+\nRwUn3rWfQ13cGR1E/BxAQXMKbTQ/ADpOav3GSmkHSAGSJBEiaLNzwLW5wKgS\nzZjD\r\n=p7Pe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962_1614352881102_0.7523190963690203","host":"s3://npm-registry-packages"}},"0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10":{"name":"@preply/video","version":"0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"52e9788f43429604d237c8251e65c7a8818cc4ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10.tgz","fileCount":830,"integrity":"sha512-ifR8dtAEQCz/ny87drYEWHS0+tKDEX5ChUsCTv6hgi8uRbfyFwJSpH1PlH0VBmSndb6dT9YqldkWxz8/t8iEfw==","signatures":[{"sig":"MEUCIQDHcz1E6gp3PivTf/C2GDYlVSvogZTknj1YFJGtoAzAUAIgG5OqRikOkmUILMk7QDcug7vcJuaaBWplwXDG8gjWE0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20247356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgORP5CRA9TVsSAnZWagAA+VgP/i5gjrOhipAiMCD+v9/a\ntdSkjCuVQuynnXxtlV1k52w+RHIfQeZpQAy1EiAKr7WhGFV4c4bXg5vUL4sN\neKgFHSFBKu2OMrpmdjSAYBDk1s7yEax5MIEPOMMsf7t5JpMijHO+9x+v0Hpt\nenqZRgP1tJ6i6CVpfokOnG8/RQpet04AC7EXkISPTNYgOD/EmJUvxkHwLM/e\nMLkpVuuzv3m0ASF1BvbxuD3g7bgkupzvDHX9z5aQV0jmXSjAhJS3GI66GU3D\njtQCsVFcG36QyrTzbGn0MlmnrpFzy60P8BMmJmmn1b2+omyDpG4D5OochuvI\nl9M8tcBzGRxrTsR5ouwNvKzqCcDm59oMuSyfsVVe48lfszlCFuUUjB0NNLbg\noDYvNvGHLladY+yOdCXWFX7YAmCgTqasIh18SpbgY3IZvkHbZsHmQiJZs8/7\nW/TzrSiaELyl6kRuylSM5e+6LRQ+RbURiEJesVLxUaAUmhUAlp4yBHvaZyXR\npvOPAdOWSPl2g4iOWh64oMb/L9MRdt6Ox80WJ2gfPgd76P/KtC2XACiJF6qC\nTbzhZuIR84Eb73S3KDlhLrVHhH4DYy7ZmNFsm3CXU/rGH/Uv54/5Wc1I/i1F\nhDwhgRNwbl4UlPCzgjc7Prc4tnPxeVlLlVOrN3AdYisryGlTxxvuOqhoL5de\n3E67\r\n=Gahn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10_1614353399971_0.48696261893117465","host":"s3://npm-registry-packages"}},"0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e":{"name":"@preply/video","version":"0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e583bbdc4366140a1b47d9ed87bf8462f964cbee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e.tgz","fileCount":830,"integrity":"sha512-EQ2xBOrkmMAoiS7Nd3Om6EJekjixc9IppnZeutx6T+qnbPE3vw78SSHp1gGXpO6HAoXYtupBqH+CMxDv8qNQLQ==","signatures":[{"sig":"MEUCIQC65EpeoVr0aZ3gN582V63mE/ciPvj3pDSinycPZPcvzgIgDoX4kvgWxU+RgR2ErqmPS5wIF59/LbTy1ieL2R2iY9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20254781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPJ7HCRA9TVsSAnZWagAAT1kP/iGCkVx5F8HS/dTR8FB6\nGGd0807+2jZ9Yh3beW/k73BDi2oUygcvsHPiqPybE5zeyQrheNKi0pLsJNN/\nyPahfGq27/eR7wpEfe0zdWhg15BzXvndJgVjiSx7ivzlwdpP3IwEVumk8Upf\nHNYbMIbJqn2xEBqRaisNS82VmHUqHIOJaRzjYzThUTsf26XnSYtxGX2kM+eo\nRiInmJK4hGBanFIvhSPbYRJ4ZOOG+1RO26NzvWi/dmVKpF2fFrp69Df6LCEC\npowDq6zsZECuOmsrTyfed95Ik1MrK5jmqJHINTSD9TcA80Pckxx65ohJnRJf\nMeLOSFm26RhrSLpHGOzOM6Lt7zLNDzCdpumfrYGkoCCVOmDCxQ7AooYGRJN2\nCnKpJdz9E35jNAUsAuBT/2XD8OTUTyZTx1V0UzPV/gCHk02hr22tMMBXCqL8\nRAFzpu8OTnnj1yCGmK2Uj3znkNwZF63eHfd/uJdiH/6UoYPiHe6s+7xjYraq\nQOlPh4ytqR9aVX2mqzWSIHbwLum4IrXYssGNsOhyBgCJewp+VXzqbeVjpmHv\n3lWLZQRuKMnCtHMTXuyh05fBrBLZU5Othi+BSob4esX0IZ9U3RCLbL/ZIDac\nOWRcs+UUDeb8Mb6SOhHSvRBl4s5ophTSvZSkA4fOp6SeTIx9g3TCUXxYf/7u\nIepj\r\n=AoNc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e_1614585542682_0.02940359793828118","host":"s3://npm-registry-packages"}},"0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f":{"name":"@preply/video","version":"0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dc4101240ed689d157a06ce4d537a4be6a5427e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f.tgz","fileCount":830,"integrity":"sha512-st+JrF/DoIMEF7det8IKuajVteH+Ob67xlyZUBcXglukgLJtO83wqKe1jxMhHbqjrO2YvTt/HQZyo90ZI3l1PQ==","signatures":[{"sig":"MEYCIQCPMkygQyLM1Yr23SrNtlALAUU+MwKHO4uhI0mL2OuNZAIhAOS1SrY0ZKrJEfXviI7VjHkMUkI/4kSVzTFQHNQNMw5x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20255291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPKfVCRA9TVsSAnZWagAAjdkP/jncfPeJFeAUKRTntRnq\nG4uQ/MTOdNKCydrEjw2fOH1O6Lb9MxgOGB2u+lkzVdh+zuy+YueUhXFXk9QP\nlRqSlnYV6gN6ig93NiWDfblT5ZgfxJLrCkLkWBFbEu4O4PLqehqQ+ljOwLLc\niEIuYzKTtDdJTuSH45xQQI+D7hXJWI/if34OueG5rYp25UI1k2N1AtpGNDMD\nyQD1hj9UZg8Y8vg7alaNI7ecrmGef6GVblKZ0DZg2fL0+TGFykUwpugtefp3\na7E00hTBcOlU5/5BP6x2SqS2mjmMM1l1xknxpN6ZzNl+kTruK09B195/sw/6\nOvtWAJa9AGtKyeh9Jlmb6qKt9KUt0tPSI72GFgywG9P7+4FGT1gXCzYXLZWK\niIEkhk144Ac2z9TG0qeqF5VoSHetlVbfr3Zbnn7HteyCYXJN3HHQO2NvuBRu\n0QTxux+jX/bNj8SzOmE8CwBVYM0sAmh2efWR3TlXdTd12EmDPTFq22nnbvyS\nb8fSIDnWCeHXvQfoGcKBQN9lFDqB/RKdj42AsCfHXeG8WRPzA37z3dZd9+vC\nlCybJcQdu+5WzlomiJPasklE6Xy6nt+9BtAJuGj4yVltLtcdqEqRZWbXlca3\n74vIIJHHsoHJ44TQQLSju/uJ9r2Cjew3Ckb/cZNeqbp5Uh0HrRZbHZ1vYVZR\nRMz+\r\n=Mstf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f_1614587857493_0.8627179390257762","host":"s3://npm-registry-packages"}},"16.6.2":{"name":"@preply/video","version":"16.6.2","author":"","license":"ISC","_id":"@preply/video@16.6.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"207181392b24fe0e5369ef0464bf0fa051b397cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.6.2.tgz","fileCount":771,"integrity":"sha512-gYNP4DnirJ660EZ75RVryXjbSafcsDFqtxjqbL7VF7KKhYGkpImjB8JWIY8lgMAXnb/ycQ88JsRYslcrQKsgVw==","signatures":[{"sig":"MEUCIQDe7ECW71s5rwtAyEnFxojMXQ72f11rO1L9g+P+BhnHqQIgV65G+oS6efGkEhqsxqpHIWUqXtOM90VwjriHq+tynn0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19903744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPK/SCRA9TVsSAnZWagAA4GoP+wZ4IrOV0wGhi5kYpQHF\nEiDF0afvPiP/3dX9bx1wurrrt9f11dYukjSqOkbKJ0gquhHEVawoyhiWL9fu\nP5B6F+RE6y1G7n2LjYJcAVCylcP+vPtH+gxnsTfXTw0N8+wlJUmDJzJ28Ftm\nYgfKHB+v8LUN0Gc86FuKHOyQn4EjZ7j+2/zC5JE3pnEpBN7XsOVpMeGkxaX6\nDQPyoxocgMPjbm+w/8zURM+EJ4+K2TVVApNgEV/0lIdWJ7KD7mRpkJ7Pd2KV\n4/10TGRsf2dkYzWFoxpplofpTSpxil8X25ycf+YxHuD7i0573A+HP38o2owG\n869QdAZUqR8ixaqP+nJOtTlsJeklElR5+fbbFPTlww/3F2olEIGRfy8LIOEY\n1hy7iPjuVlMx6ItpVph+XuGwg5U10uXUzhcWtYW/KZjvEBZKzwrE32M5piMo\nnQ/fyDwEHdsbMftnf3cMkHecuRSyfQ70i9M+eEYwJc/oXcwwr2bvWtfO6ULg\nUNkeC5s7YxPyXQd0xXFJzho21a2N3ldDH75gdBpzeVM/e0wSnbl/yXlOI7rn\nY3FtGyAXSdSHmVs48neLOhBhM6McnzCGewCRt/21w6vQ6bGwfA5f/bM+Bus5\nEfntay9Ab3QsLamzJeHcuRHlm/HY0WaQ/eSdVKBR0fQA2rfO+/uKbCzNJhc2\nlMUq\r\n=Itib\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.6.2_1614589905634_0.41612300414558123","host":"s3://npm-registry-packages"}},"0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4":{"name":"@preply/video","version":"0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d6a4c40f6f07c986e9257c3cf00c6ef4c6a15a6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4.tgz","fileCount":830,"integrity":"sha512-nbsc/0f8qykM/6N2yoI+tGYycYUrsL/48FibEOwE3X+8P/6n2eHUG96+nh2pVLj0r9fcCvt66pTb2kvwLgDJsA==","signatures":[{"sig":"MEUCIQD5OPPhJvQM3sP3PpWmWoNxkr733XpjYTd689OrOFVUXAIgMqlvIHKZI3Sec4FGPsBJ39Ocx5OeeETFokXPVH+oweA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20255291,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPLHvCRA9TVsSAnZWagAAO7sP/2YENLUq34+QdJjA3P6d\njOJobHAwDtP5VwpSBhLpwIe/jzgXb8KM8AIcqzDOwP5sS9aLulqt9N1eoodj\nnIixCEjiCxVnCnONq2Z0THwWFf9uVFW2ARrBa40ogHO8OOBGHUKJxhg1iTwO\nw7fUWfI/lJMMDm/a2lZhFcqtE2xEF/qVjh+oDIPONEodQS9aGFZ+NOFE5igM\nXnu6O0XbP34eH7aqAfJUmBANA4fGJiS6d9KD3IAaKcU2jc+mj4NZprPCuRL6\n27G2f2uOTBu/UoGP7G9btlD7WOMHH+xocpfLSD85Zezts9/pGMBos77ZtLfY\noh+LshcuMMKNBfrfCzUCyhlMqA7DVajyAd2J0fYdWku2rCKXIHYjCFQeB8+v\nKISXFWR97jPM5QhjxXCi6Le/M5MjBc5ymKmbF2VT40jOgz5TnMnzoBzq21uP\nbGZ8QsTfThJIFdXeguHBEL735WYYvXyHpq7tVJN8e87cUdlOca1LR86aATml\nDVUrZ/p6eTAB88DRZnLLqpU95+Y973rnDPtcL+BBZvOKgFqphLYkn6oADlkl\nfaxqHZqTEOZBnB4ihMKNMdxYIPyXvj8cv+9J6Y4DlbzkbGlyjw16LVYzLLhi\nHUEG5qume0DERl5OWO1hk9TgfKMiMetKtU1q5B/5o6nxQZwroenPSrdB58ZZ\n29Ni\r\n=7TTR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4_1614590446757_0.05668210048813438","host":"s3://npm-registry-packages"}},"0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a":{"name":"@preply/video","version":"0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7fc3c74236da5c67fa8ece872a5781f88698f286","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a.tgz","fileCount":834,"integrity":"sha512-5nXvby+B2LmlDodMkDGeStns86BTtXHtduY2YZy2cJHCknGuPqXz9l3a0duacloERNQMZAayT9LC66yH/O6UOg==","signatures":[{"sig":"MEUCIQCK8iYlGzynWJB8yriDbmh/3TyYusyQlNUqcajv8aGUmgIgEaQ6FN4bTIpSLVtZliXj4aoZiUhbaY/FrRzibdp08/Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20303743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPSBjCRA9TVsSAnZWagAAY40QAIj95V66geuvwepN3iJ5\nNn0Z31WYgE6aQqZpHYyAkPkpXl59cWF42tw/U59fN6mJHSiQ5IVMh29KJAMq\nK844+FLzmWB3iWZuhhbHTPw5yRqt+TFhwISjcAASi9zXkQHeqx37Iw5hQUsO\nzzA6ibgHlSQlARbcYVVYxkdnJ+rkh2JEUNXhxDxRqVQsodJDr36wl7aH5U+j\n6apc1f2gkCdMdFZDE0FRmMLtD5yzBwjT1ujG59P5MAPmpGTYHR5Wez2rIciY\nSdWg9U7kgu/MQKYmnvpLQgjoVvOPfosTOL30zY7lQv4dQ8KaGt+xMWBhNcp0\nKC5y0AyAJCoX/QrcegaWeREsWElATJ8TOe47TbYFmDVu6CetqAFq2d/efIhG\nvgPaT95sNeHU8inYkznEVyBeKBNL55jXL0vW9zMxgRBsjrvopZ8fbVkJOPtu\nayDkOsqpmiVErOOGlrPANMEgeYtXxVZcnA9q91YqyrovkchhhAaqTS6Xw9Vx\nfXlHKmmGvH9UReHnzag2WEuNhZtjmBLncTSl/QJ21PKdjFZghmZhTsbRY5Fo\n4cU1j+eTfxmZ6JYb5GBNiOOxZRId6JG8hKRAYtjJ0A6eZwwph+jPEcH6zDlD\nNi7XFqr1BqotpJjs1xMJ66wBjz0oZR4B7KtZwBScAeohJ+dYpRz7ipyfGbJV\nON5C\r\n=oqyf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a_1614618722772_0.44066047009049614","host":"s3://npm-registry-packages"}},"16.7.0":{"name":"@preply/video","version":"16.7.0","author":"","license":"ISC","_id":"@preply/video@16.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"99d1fbefc8282fbae3cb37a29d46db5353c256a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.0.tgz","fileCount":775,"integrity":"sha512-bQmYgITo7hjC9Z1s+6CoH6G34AiXZ/dWxz9FhIFAa7E0ABJ3XWo2PgVXkYmHgrg0LfFJK3+RzxmvGYJrA79AjA==","signatures":[{"sig":"MEYCIQC/GOoVy7R5GrRHxqyPckSb5SCfm73Bp20eJq7ihsWE9QIhAPYmXKU14q0qu2s8YOi/oLeIWS8oUMVu+iT7/QaowgPt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19953888,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPeBdCRA9TVsSAnZWagAAMHkQAJotb90blaY11ntjpXIT\nXFdO1kuNHsv2UX2G5yVoT0n0S9HTqwM+n7XNDKKAwEltRqAqr3dIEHIOB/69\nSn0s0h5hSLZe2Ly73ife2Je7nAisBxhOpGw+mCOk0N/OrJhyFYWV+vIXLmUA\ntx98TeTS1wuuoX5Q6hIZ2i3ysjw5N0Ic55fQLf2q5d2O0CbYqISmvWaGvSdh\nlvRlBownDVAk8Ddl1Tm2901JcU9rGy4KCyu4fsLm9qoG48tpxH6s4o3ChM2y\n74m0mbIEeLzVWDcSlouZhruQ51nhbsx80CdPrXm9FGtECdZSCLcVeqzsLh75\ndz1mSoQtfP0yzmev7h8T/DuEFmPdoLWKrc5V9wZ8hIwsovSWFv76yxYqeBYb\n96kF6QBbR4fJlWmU7FJfGPV0uSoJ6Ox0BbZ0VExKwM/WQKn2qi+CjOP7oUYI\nYir0OJoEAyuDl2sucWupM3wS+nHFmvSaC/RO2MTYypi41ehGyCswcJ8BjRmF\ngBkeML4qM/L6sfJWUEov15oNr6BUUdLEg9D4LxpqSJDPgH0QPdMrm6vdLERw\n+wCWFrGLTNaOKIghQlIIHqMDf2qLAS0YzQJ6Z4k6e4MlWonj9KMQUSQ2Xzax\nW7f3nNexcF6l7T+1+ySVX4NCqgrXPQNngiQxwnr21ehBMXx+JNqwNhvLkPbN\ngt19\r\n=XTdk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.0_1614667868754_0.19926177870821737","host":"s3://npm-registry-packages"}},"0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6":{"name":"@preply/video","version":"0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7e4ae62d6e0508eab6213850aacf4e1e023f295d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6.tgz","fileCount":834,"integrity":"sha512-G4QzjioBo/uvqCtYhIUT0isGA9dsEYu3yhwbfKEhl504xsWtoRxxdQryivV8oZgV8NUR6ywPuPGQuNz109mleg==","signatures":[{"sig":"MEUCIHUlXozDejfoq2qMwnVTn4BEn8lANU9zlkm8bGMVJBhzAiEA2qg8GGcGDn07Lb7oui+1VlYN7q3ssvK8xdMq8XBhvmU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20320955,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPg+QCRA9TVsSAnZWagAATrwP/1fKV3S3moCBilIYMf2f\n41ohlFgFXvWnWflTZLGSOzljfNnUePLApLBBnLzZlO/DjH1zgwrSppbLS8Mx\nAGU4kyYHUTag7jZAONFKS1DJhJYYXzEq6v2jLl7AuGOnStXcs89gI+9bXDyo\nK44NUdMwnaCSpZd7p5rlmcwHFaR2DNZYXxj+JAy4Wvz1vQhIN4MspTMMdOtR\nz1NOlH8rlIN0LbMxG6ZF5xyhost5nIwOmVKhPghM3AG0BUGOwXOmZzqF1Ho7\nR0nudC24OBU790IDiVfoaQRfrsfyu7l3w9bDUxQjIQD1ocK3g4D2cmQU1eWw\nL93rdvowX4Ej9yCYNpYT9+T2jl1NUVHamLZ/ey5nz4hvXWYHmM9LiLFiwCk6\nvGKUwRB3J1BWn2O6LR/oazGNnyJ8F/9mjC3SQQ+kjrCNHPUOyHyyH2SXAFvF\neMFrdKp4YVS5pJFhdtGnPenJYVwGcDhXHUmD60v/nFur9YtMqA/4NZDTEyj1\n/xWyk7kz4bwc7lE8l9KFBqDPID2KDLN3CoQd/p0/HQiO4mDCVjuHNC0HTx5w\nAbnhi59p3LWzoXhRf8Cfh/x8aq+yqgNlpzRoQbolGV37RjtNciDNJKZEuaD4\nhqbZlUxTtKUt7aGZYnPfFiQI+TAPhZoCX/NJzzieIFLWPHTXMURIquxlznkn\nqZrB\r\n=jESn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6_1614679951429_0.07281394767550875","host":"s3://npm-registry-packages"}},"16.7.1":{"name":"@preply/video","version":"16.7.1","author":"","license":"ISC","_id":"@preply/video@16.7.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c759fd3f3b55954256f378d4db1505ec409f8166","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.1.tgz","fileCount":749,"integrity":"sha512-ehHVtIokkMUEM7o33NJRlm7r/9DZsx+mYFFlqnrBj3wB9c5r6FBrWO6Q/XswM3RFbJJ4pUC2FV3JMw6fmCql8A==","signatures":[{"sig":"MEQCIF47+MKwDFIJFWORBEo+EcigxwkNZxnYevhvVK0LbMvNAiAQ7rdI5AVWT7W4s77KyD97SW6czFjfNttfb9Nojpbnwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19499749,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPhSvCRA9TVsSAnZWagAAdxQP/i3JD5yW1t2Bi/iNdJW0\nltT1gD4sWr6vnR1aAOemJOv5vd2tuV+SOkML0oyANL7S5kbqy4EPYpthaS5C\nnp/W/y/vJfMxN3m1ixlOjXaXmaNSNvJxkU2qR7B9FxM7fe2tPpxVALJNGH7D\nkR7TeINGMITYPmDafPdYn4tvIhMW/XpG8kFVWbS0UsWegCadgW5o0mHtLkj+\nc0Dp6rfx5dn75y2B7uWiSQeH/mtshiK6Jkm0BPXygV054TN+BoFk+2B9PBdD\n8yu+S7jGyAcE8UMAhZ3NjNXOc2AozWexnHLRiaEhdHNQfWQvq57hml1EMDa8\nW/UwR1trqeEKBCkCSKjIC2aiwqdtbYGABJ6TY7yLr4ykrXiDbXyTNZpAq7PH\n2hdehsas5FrVPrRQuXlxBpU2vVla5evhXLaJ/1xhNS0HTarD0OTDOcBF8ndN\n+FT0drDI8latwcmSWQMcCZeFkecfrJG2Qprxm1Qsuqm8m84NpZhmiCc2OHot\n7CsXh0OhisTfdOekM3OwWj88lFIa7CXEJFtE602TJm9aI8uIOAWXz3edi03q\nva0cnfVQrHY9RKXK13IEwDwU0oPBnNFJSP62fdaIqpQdha0JMCaurnaEznbi\n+Dan1APSJUXEeAYo5qNMZlgw68zwwLDvPmDzhGVnKCI+49G5sgmDBogStBqa\nESjK\r\n=TTsp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.1_1614681263089_0.34907560590870435","host":"s3://npm-registry-packages"}},"16.7.3":{"name":"@preply/video","version":"16.7.3","author":"","license":"ISC","_id":"@preply/video@16.7.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"99473afaa2380f76cade44cc3eec04b7a2dd47b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.3.tgz","fileCount":749,"integrity":"sha512-VsgGUdXA3J59ZxuItqUwveG3DiZFxKyz0Sxf+SzXap3L5h/+lfYGE4dHBPAI9EE4WTb1CGI5VWDumbrKZA5qmA==","signatures":[{"sig":"MEQCIEEM4pVGPF5yIYqQH/W11lKS/F54TElGhu53P8/xtHrGAiAMIHkO35gqB1IwobM9XngvEcbttMlNz7r1tHML/u5oqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19502449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPik0CRA9TVsSAnZWagAA4yUP/2x3PYBle03wDNSmti2R\n8igq66WMy8rDkEk+xQTOVAIHH3/d5FPDKMZp3Jv0SnIWp0Yt0nCid5IEOcE6\nzEnyftNgiQb+/8XVRdDp4/bknYW3vEEgP4spYpadIKq1IXi4kXBs2S9VoQfT\nMBAVYVWTTbAdaIcpdtGsrwTboWsjXBY5HuNt6c4vvmXAPGDz4fhKnrLBEXDq\nnYvkSzS84NzxGf8ASzpFL2yMdyNTZwPa5r9E5Z1/ZqLLXBzGqECUd0H6TtZg\nGd0H5l6bvqAcDpvpuO+xAi7fXUAbCicCIUvW7WD5VNXNowtFSHFlCNotkr/x\n+z+Ep/ZGMkAMC2GmVHTomkpAHS9oJAcf1h+QkeHjn28HSglbt8tZuIdGizcR\nKJJmbr8Hf7/clJSELAU3eaXPei6i0uQHnAIPLj/yg0oPgsk0XJlPPU2XaqI6\nmsj/xIx/otmPlnZTyH0+haHHB2lZKhGD4D2zaqX3RrGrLTmuXw/a94E72vBo\nR6aDMTjl8dHdxMn7vmJFDK9fB2d8t82EbFkEQLZuRMsUMeZ/Pk40PjWd6rwW\nwaDY2qXwRAh0jCgju6DeRZqBCRHLmpnB78BJ0zwF525I32okzi2NRTI4i7dP\nNaxQXwlRdKRS1Umh/5GrcFhqmAcyLcMFHPE7TO81PO/IgJIQ+xH5koOqAtAY\negnu\r\n=XAY6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.3_1614686515460_0.846870572278503","host":"s3://npm-registry-packages"}},"0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445":{"name":"@preply/video","version":"0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c088f04266d7d0c40f1bf87b0665f0f751066b5c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445.tgz","fileCount":747,"integrity":"sha512-IWIxiukc4iNVHNshKnPaXn6GUFiSMf4+v8eBPyAdcRCVGVp3jS9tlKmkiwwrYNpmK8VHNcDWOtlSYfgbf1slbQ==","signatures":[{"sig":"MEUCIQCtuzgN1Audcbmlf3Y5FiMIfABkyTH/cZ2BVcK1WZaUAwIgVVnUdZ+OSVQA/R9Iay+7KAmZ9vvEivVmM2DqP2JHHuo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19469180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPkimCRA9TVsSAnZWagAAoigQAI1O1nCHWM0odqHuvkJu\ngjFP+MkVrVtzwUZqH7DKwcdhlcgzLAwx94akvw1FSiyjUlEGE36m5RhloWkO\n3tph8qEYaulOC7+uA8/CynvxSHpWr6uN/Z7bfn4WNC7iql2+BHF3mcb32Om+\nO4QloRXkYnaA0z1xKcWxhSBfw6odgSpBJlU8aVXIz9EANv8du/B/PcRiwBts\nFiv7gr9YJPpvI50hFFZy3ld0ecksbuc/Ox82tolnaEO7tK3ulbiEjg5N1TSn\nsEaRZdNm0zaEwv58W4EzEVsczKMsL5sJaIq/bmJluTt/79GmdL59KPXv+eNS\noC5kDTa+vY3L91bKQPw0tZl+1sf2sHoywzJiJQFE1PKWxl4+mBcud/dgusuJ\nnkYHZ7fEK+NSARQYaCCjniAxZ+7RbcafszFslwZR+hPV7hJVo88AEABq8gu+\nCs+OrcjOhIccZ2l0Yi4plB0XpZTzAqFfHwugbcBtPV6efKqRTJh5nyxzzSkJ\nzd3fohNuOul1Eyxe+V2+vpFWYyGFNG6/iE3jnIerxtzMIJLYoCmcVb7exuSa\nAMIYt83Bcfix+9O46TFe4hpVwfy5uDCaPef/IpEBf7SgFDX2h2E2UQt3Go4Y\n0GiJ1fxTTtQ7jzVylhdpbCGg4TbfNSFSkbO4FtcSSC8OOiOHh9pd/YhQR4JZ\n4hk1\r\n=fVGi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445_1614694564939_0.4773065223805355","host":"s3://npm-registry-packages"}},"0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25":{"name":"@preply/video","version":"0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1185d44b33006d499b497d57645b378460ff3996","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25.tgz","fileCount":806,"integrity":"sha512-ThErThNSrOl6D04ZYYf9vybc71QWWfF7kkQG2EZ6VjRIyT/+UfKc4S4LkrzAMrORe6Ko5BuVziWkNawYUUQ+4Q==","signatures":[{"sig":"MEUCIFBYYp2mT7pCwU+/79da43VphW/19PLBNy9POyRmBlShAiEAlK03sAAKNLStCK0LCDnllF8zmJ8nW1XeQ+i0ECJ50V0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19854183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPwy8CRA9TVsSAnZWagAAKEsP/Akpsr6UmIqDDdrz3xG3\nkazu2jToP6e3cq5u42CNueN829QpZyLdGfeA904qnq7/+1bhKmkBVB42fElw\nIRdgbLDQC3xRYNn1qX3Ycgk2Dy+uAvqwk887xcW8RqmPrlJCqfynW4D3zukb\nHbsAvWFZu5q4uEaJXdbfsOwHgBPvYji6dpqhhxlwPTyDSdxEiDlmiBNtr1J+\n+Q3Ck2KrPUNgFUD+26zUxlz12FDLzTk6lEChxYaG9xqGcY2g8Pu8TGbXxpKF\nwHTZLSLOpY+1ru3VBtmFkVguUBB/gr3NBkOx2a8inDIh/f68eYxy3XdPothI\n7RpMj2eN0iyUMMk+lxvi5diraousryWcdi4nuXQ14YQfcGI/mgsyMtWlSWRZ\nFaKKfRVB1gPRgOB3sUzXSiGwdaO1qrc0J84EuTSlHKGoTHAcMM9/wZcVFoyw\nrXIsL/Drc2GkzroQySlgLJCtcvKr0Pr8oWexaebYdJdxBs6gJLkJQJd82Pbi\nwV8IyYNjEgz5F4lzOUU4zS0XwC0jAdLWSFbCZt4K8bG/gC/Xtmg68cFnC3GM\nYo+WNoa9i6BF/t3tZoT/au5Rj+Gt2GK2tAvAe/sLq49HHf2sP3AIeobVAXOQ\nL4MuQw1MEvk+FPRer9aba3wzeyeuDh1hU0yU2Yl6IsGfhIIzEUXnZrNQaB+H\ntCPD\r\n=h8RW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25_1614744763911_0.45016549339647205","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8":{"name":"@preply/video","version":"0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2dc34352e68a92f445052f87a2b2d43da60ecf2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8.tgz","fileCount":806,"integrity":"sha512-dJiA49tnV5wsHRPi/d/9lCKqAtv+gops+D2w5O6Go3xb56gpgQOQeSYi6/EXabX3z9CXNQa4S27Qm/Sv68abaQ==","signatures":[{"sig":"MEUCIQClRd4tXpeYQH5DsDfTzGsnvQo6kNUNY7ZtBNACxtUjowIgeKZH9VYzR9LkJ2GuWF6PY9hpXS6cdJnU7XB2T7Ouja8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19860552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPz+0CRA9TVsSAnZWagAAtO4P/jnAOUVlfdNCFZTiHhba\nbOI1riq7E/bqzQ0yxHr32u4e3+b0vx4I+Za5zjKk+TssGmSW0LkWfxRb+gkF\nvlNMFnDYFXiACGSsfxX4ZbVD1vsgfJlMt8Oag+hPcgYiX00G8xX49ugERfGG\nO55G4KooMs7844OURf4+wr/fwws0ajOS8m4MqAGsDE2EEI2VRORVd6OT7lf2\nwPBP6LbY0b4zzda2c1OJ13zsWm3Rd4IVFazODhaP+ccrlPdfCFJqxgZO60gU\nnstjLa9gM2oAe1mgwXiFv5YgmilpqSEGVqNrTlKO28kkqrqdBscP0CMw40M9\nkkeNCILsKQiV12k5Jps7xAsddJbh0RkCGbBbzH38vKChHuqmfvOu2jiTLi3p\nj69SSppuj3wz2izEobcv7hvv2oP7z3vZs/8ogKBRkQxV6aFS4P+dBUqMy3DY\noszldhzeckbb9JCUN+OCnJcIspAYwSmrHoMThJIItitNBw2ZUPiXhVbd5Er4\nR/k2fRGVButVu79zcnE04XhwQJpSex7mvAAjMjaKu90DIpoHq7TttYuaki9R\nDWOE5q6vBEV2sqhD88VCCwDMSok4ZEFqxrS2HicVkUaUxODs07+9q8ykg6/w\nEEADrH5p8nzIhtISedC1QdVPHPwPKHoy69PALj9BepKeTZ52EFUBwlXF1f8y\nAODk\r\n=mRsk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8_1614757811721_0.8106123712484354","host":"s3://npm-registry-packages"}},"0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077":{"name":"@preply/video","version":"0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"098b1e836fa0e86ca396e1e0994f2ebe8cfd9fcf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077.tgz","fileCount":747,"integrity":"sha512-qqA5YXIojdsDcAtlbUQvIn9DwJsW41f6okNnfvnXc1/weXto6oMysEoY0/+1aqZG8p/0NDpB1b2voqUXGGIx3Q==","signatures":[{"sig":"MEUCIG8ZvfoG3bYBlsT1Wf9vbmdDpBkiS+lXDqMckoE1bk8/AiEA/ht4Iw54O4g2XEQV6LOpYajOXhpYcTmbK/R1YbEYc80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19471460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP2utCRA9TVsSAnZWagAAHiEP/0RV+Vz8m5wHkPnuf1I6\nWutpdpLmIrJLDRlsyhQBw7YnP0dH9j+28IHmdll03fUtcQe1SCiVtM/UwwS3\nWUhgATI3eyBzRs9ccevFOT199K53z/dknniTu1miWez3VYhA+0PrLTlMJuUY\nytC4o5dUOfaGl5xol3O3OrfA9Lxr9OGES11IDYvztBqOZBdO/s0qDI2TDNPv\nvv47wjjeD8UWfBYBqHSxpR3pQWH7FI6GekR2mKuQgqj6tHTaxkU3/zg/zI2+\n10mqIAAxNeJYs5+XCX3bwwJ6H4pSzfclL6j9MMM9rrD7ijIiK35DRr1tQpvs\nNDDnyjzmI7TpyKlGLw0TEeWQduDGNHHl9hhRlelLZLUxcJJbOQuoekkPeZWk\nR+FhT6EOZcyjQT0sYvnP5ayT1V98p/DkstWNumWaPn+wZJu/LeEVGAijuZee\n+OFom9eNLGpB+ToWafFOxzYp15/EW8/wPy8qtEJGeNjMKo+GZN/pMlvL+VZ4\nk0iOykyli+rMHzWiDJCNDk5sD0/geIZt4yL0mTGe8AAeBzRHoZ0odgIGDnZa\nMm91C/wnJX+tmJikIE/mLc5Qsk+V+F0iK7E+IJRsO3T+AATmNCg9JAvuEw8J\nSAlTP/5FZ1eQmcfI+JmH/lTDwTPjflMynyL5Y/03QvzA6sLKPNk5Npr0sybB\nHY2s\r\n=05WH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077_1614769068092_0.6757994713741382","host":"s3://npm-registry-packages"}},"0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7":{"name":"@preply/video","version":"0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b445d34b20c074e789a040fb06f3bfba03789d67","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7.tgz","fileCount":747,"integrity":"sha512-cK8A5AizOT2oe462W+fB8NSStaiaXwmNAoIIX/7VxuL6A62J3u7pKUolCCTwQr/ZHErFJWKTHBLbtllF3PAQug==","signatures":[{"sig":"MEYCIQDHHy1hzayOUzNlC0Ga/RH1XfAb+2HByrea7Pw42/KNYQIhAOQJ8PqlfGWWP78S/+ANCAAdhq6plq1AG2jkfM8gyz+V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19471460,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP5hFCRA9TVsSAnZWagAANvQP/0JcrSpD0yzUByvbnZyT\n9p6ujQ3FBjRh+Nzwb4j2luYIiEpbac6H/XDE/8MXneWpH3y0fFQKebd0p4A/\nVuC0+GxoGNzUxd2yDcf8hoEEaW7h98a/ve+3UCFDja8awGXdcLHzdBpVnnMq\nsC8CN58G5A+5J7guxJ8hh5EQ5E3k0fGN84NEkX8FdhRbcp+oruoTXpRSUKS8\nzmySQrXxzPtsMfiXALumjNsJuutFqc/NRH4jwv6k9477ooYNs1Yi8ARB7fKy\n1dt2u6/Y6O8o3nItHkNiyCPLBB2YHLCE4iLFdJ5dVeF7byQVp2AKi07u6DoP\nxlYzk9QIWwfa6gaabcA9TiUgFB/r7c7IoBC9br370T2zMwpPTUCzOjC/5Ave\nKjv+P9si6iW2j5K6UTQ3PGG2KqpVdJGAsGfWNG6DuRDfum5e+hhqO4qYY6Io\n2rmV5mVC49ZstCMwJ+PMSPXgWpkcEzU+AG49yW8Fek5qAxUZaEtVmiv6EISu\nImtr7LIcmD4gqRLXUA6YTtjqQzdSKaLJ/EdECzdnucd+vYXKkPm03VTgPTtl\nSTK0GLVuBo6mDHk3DCAYlMcQbigTuUbYga2v5bjyf0NpXciTF6QAs2ZajqpK\nPnzpfMt0s8nSv2hX2sUt7qRRoz7ZFGVkskIszLsEdbdoaET4Y8+RpmXJrV8Z\ntcBd\r\n=niGn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7_1614780484065_0.37160107087398564","host":"s3://npm-registry-packages"}},"16.7.5":{"name":"@preply/video","version":"16.7.5","author":"","license":"ISC","_id":"@preply/video@16.7.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"85f97d4dc1ef4f31412a67ecfad8db972738cd22","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.5.tgz","fileCount":747,"integrity":"sha512-PKTAGtamiR147rcuKSibsu5CJG8BJe1z/gaxLgKIt5EhxqHq2MzJk3okR1+1R/UUcUrnGRpTxzS7aJOvVxtRWw==","signatures":[{"sig":"MEUCIEq4f8ja2JIZ0WxOlD5lZ0eijJLpqeQgkIfbO05p41iyAiEAiQBe8ijmBwegwX905ZgQj0mRya07Q3oe3A/+gpgaBTc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19484509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP6V2CRA9TVsSAnZWagAAJPUP/0ejozo6Y4TRmW+crp8f\niYLG/CAVyjttInsWHg9njgaqDA41/GyMNRws43iMz2CINhccaf7wARoctHau\n21pbzO/FExls0dEsrR1D+nefdRnq3TKpgEqqEWPknLCiReTZosVX8hd+1YH5\nar+394TCYzRNedj1mRrsPvpuyWunR5GxXwFfeWsLkDBJ9faCJBLcTApsSj9L\nuBHnlCWdgQmg8lABokVG8FFF5fyV8zghlRx/0Y5Jbya1c4fCd1hT2SlqhYIV\nKhZYeLwwmNdgquaVu6eibLccx/aws7+c5Wsjt4Opbd33qHt9Oo1vbAR0Adk/\n0x1m0ZkqZfhRhf/VytxgUkcDorJfalQzjPzOi/gPFPYaZdJFWMcsCmRlCssX\n84n2CGD0fc97/TkKZ23QJRM4LHJyDmYyy55lrSznY0qAul82lWlaN/hGs6w0\n0hxTSCjBU8n/6PaA1WIU7ALZ4wHnbYAZ/FpOotuS0Q4UXCBdO7iIY/MezbbS\nIKdVU5dZHdsOtKU40b4ds/L8O1nkmdKSRxygFULTb7ovIbKuo9ePs3QG79UT\nPEGqz+p78ny9H1XTwuanhqLtKYiv3nfkY5B4gOB8RCnVW+GILpi442tzY5AJ\nHKbvPMZrbglLCa5Kezd4vrN8FdiG/l8gBxpv4HCopVSAaigebFP80VQ3jD1X\nNTlr\r\n=zjF6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.5_1614783861522_0.8507725223080418","host":"s3://npm-registry-packages"}},"0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182":{"name":"@preply/video","version":"0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"472a4fa540d1904bc09cc4647f2b1f50ea247ec0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182.tgz","fileCount":747,"integrity":"sha512-U8YZQIFsgn8qt8JyG/S2XUi4HLrPqbIl+UnDUARYxkYRNa2Kz/b2XaTUIO+8/u3LAjXwYSPFeQF/Drh/3DJXyg==","signatures":[{"sig":"MEYCIQCuLGwOkDPfD9/n18094rVl5UtCSYSq7x2dTlkorU6DowIhAOgFM6T0KX1cO93EpxJ8u/QR5qwPtJNQW4Cts1fDUtZ2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19436716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP65gCRA9TVsSAnZWagAAjtIP+wfqSIdj3oqIJM2zTHHX\nE063SWtvtRcObRlnghmTof9tggrgGTM6rE+jCxj8uGbP2IR/XfQa25zVkdVN\nvctABlA7lASDRq2v1hpKjO/ay6hTBmSov1274SoPlIMvb/yfv7NCKcVuPSIt\n96RXusiSbc9l6jMCx4ldMK39RdaAU3ON4+HtMfZq9vbMRXBb9TByg9uZs+bd\nhntT2/qZv/qVEza9jJ3GrKrX87fopmvDFiW6GLaY4wPCAfMD9gXWhvFQ1WA2\nBrjxDmRIUIWu8/fzPRELAqIrHp3FOXMUon41rs8FMgcPjJZeaG/Tv8+6Mkds\nsOyFgLdXgmxZaS/kkpSzcO/5Z073xGwErBEfj1DFLB7slTmJ99LkKebhO9Ik\nh+P1y9ZATbD2WxTj+VlwOa13RP/0ob6SvWdjTWfaza5DFNwNAXtPjE+XvRmg\nIyMKa8aFZHgajSrubYq2Va19HDjl4cZPnYwIPUIe9Ixw9sLzEr0wGtzYyoxS\n5acFqFfCTOBEkjUsyk8GqVO5BBSLHTyRkMA0wBGczqVtdKOYfuweKFE2iyPE\nQtTisPxr/O5hkJA4yMSM8gohmStmObzUuZSoek28HE/GdG+kL5c6MFqsrsCT\n0rO6dQru1fMT7iTR7JSxND2jVNCOc0c0CpiatRIvOcbV2KjijQV2gqqw47o+\ntizr\r\n=4C6J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182_1614786143017_0.1722737496477018","host":"s3://npm-registry-packages"}},"0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98":{"name":"@preply/video","version":"0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"11d69925392c7e40ac334f9716f5bbeccf9ad5cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98.tgz","fileCount":747,"integrity":"sha512-4VFe2cku84VFVrmkuowZ+QIM5dS7b6U2EX2OMfMOboKZLGZSk3TxrTdEqXwzk5npk3hjavl6HguV4KC7qPb4jg==","signatures":[{"sig":"MEUCIFvJWFnz9MILrf7g3KxpqGA6X/rWOXtNBtvnmP4FGM7WAiEAo6zoqBcFzNNTP5ytjMl0BcaO0JHqv83FSY+BEQZHL2U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19432676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP7AuCRA9TVsSAnZWagAAKcwP/AmRNIcuRhO5KXFaBDyr\nIjxOjJXz1u4JBv5lcZtUjinZTMmexDPGglM4VSd0ettID8599HH1zm2H+aK4\nnM4xkb3DdH2ENtg4HCvCpcjtEKax8atw3wYe50PXFqCWPXOYc/ZjMWp5wI6K\nWAjT4dR6sIOe/ZKgqtB5QrTFJIxC/594W3gH/oohtO6oaa0PaqCLfj652QVr\nFg0Qsh4MdSGBnimXa6OUFHkcVRVeb5mGO2zAvJiNaoJcIh0aL5bFlOSSVMv3\n8vfCytQaJvHHL/I1Jc0a8K/MZpIYhOLfUgdKAJE561ugPm9tAVyd8oKtlITV\n9nx4GhMtRRgOHcL9sCf8Xyl0fYb61vDEx3QW0I9KZDTEB3UGCndzpwjdCidE\nF5MfRV8sKlPFu6jg9ZPqBOAqMcoOPNkAEYHleyGBTU2oJ028GC1EwJljLqB2\n973chG0KGQWaLkTCM7xcWyAaAjRkoacDwlBSF74SZt0nhDIcviI9AZ8fOIrG\n4xCQRS8HLgMgTuNmdMG4VfQ0ZJmmiwKVW9HYw8JY5kOjk0DILTStPvsD5JMC\nxKgfWPTsgQitCR6CjJR6YAre9/6h1bfTTdom3Qv7YAGTOXmdSly6wLccoAdi\ndlL8wW9jVwXLGgAb68eL62dJCKVv3wnFKdjET7luK5jMF3b7DxGE3OI3XUQY\nVL7k\r\n=0Tyq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98_1614786605781_0.7178556466767216","host":"s3://npm-registry-packages"}},"0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89":{"name":"@preply/video","version":"0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"83566bec324654c598c3601331f47a8e484bc899","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89.tgz","fileCount":747,"integrity":"sha512-ByINuiMvhE2oIV0YMj2YjriY9vUpXjh5g2PpJzQ6dUGTJy6aeRIFVYZQkXQYw0TlmOGP+AntjdLRKlIoKQ54lQ==","signatures":[{"sig":"MEYCIQDy6cAkvjr8gk3rMERBjwl5uT3H/QHGymbOVE7wwgWWwwIhAP+ZZmvHhKNM8cbx2ipQFaSxqJBvkacsOfhJs6y8siB0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19436471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgP893CRA9TVsSAnZWagAAyNMP/RfQwtfbIy98VY1ATFYe\nLEIfsNzOBwZmvYanYVDCRtyyVxueZ//TXS2ko+NPILNwl4Yb9BY0TZ+HiU2A\nfYF7uI1GxV0QnI8vrPbCAD3RjNed3XhiTqUD9bgRV8dsJxnDVaAjyC1Q3rDx\n6dejjTU96PTww1mixgWgLUaVXd2V5ZToBYhNjn/mmhNn5vRCkVA83ci9Nl86\n5EzgPlqxIB9B+iW9miDBJyElZpM2oupSZh5Jz6WliBKBaIY+HeNSjd1ZObWk\nJ3+RAIUM3KjKBP/yQiVtfiLBOocAA7HF2trMAp8ZNrOHmzPFJFmtdU2ubq7g\neR8BarYubWiuRepeUarmKUVsAgGYVQotCi1qujscMSWdCvlUAZ52m8H7brzI\n/kBofHE6et6VErxS681rgEotw5H8JhYWssa1b+/E87KdGFhB3Mg2ogTMp6zn\nhV+Gjv0DGBYGOzZmVHItmpDgOQ5piaR8ICAMUuZ8KvEw10rtSTnCrLZ6FiGj\nQJoYy4hemHz6Df/32uFq2dXMTvnly/VlHSMQ7W98Opd/zIRXnVh3b4gyzVjz\ndS0e0Im5U4ttBo3UTeLfwBK42M8mdQrDXicdvcoL2KUlYXwzP6bh2rD7CFEL\nvv4uBx6yeukqcLaHcM1gLJW8d8voKsOoaYJLfJCe1ikLT1sImealx7ktjn9i\nFQfN\r\n=7OP2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89_1614794615014_0.8205774521168285","host":"s3://npm-registry-packages"}},"0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5":{"name":"@preply/video","version":"0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0e90fcfa0eb40ef9187dfdee2c79a7b8733ed9c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5.tgz","fileCount":806,"integrity":"sha512-JYJ5Po+6REcXd0NcYORTUlMnNKksZqvk8zMndq72gPUsAyMfGWJ+DPytD25QHDUanNB+fgeHMbXpMXYu013O3g==","signatures":[{"sig":"MEQCIEo+MqL7RxdKkAhaNOCdBPn0CzZ+pLwK4F0hAvrhQzo1AiBAgziCHIoyNq5ZGOPYt8b8lOQicuCscAqpPdotOHHfLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19884561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQKdOCRA9TVsSAnZWagAAgnEP/12ueKAxcnEE1aWEPoro\nEYHFhgh3K0wPb0BHAY/GdqK7291LtnsMNR5lRx+6ZvZ1QGwvKtg92wAcDx9B\nitLNUpyVkj5b8d2Wqp4XLO4rLY5p3CZgKQsbUngqBgjy9JjDvGIut+KQp4DA\n5/r+xiYFNJHCwBDkrtKL3691eMC+SdVcZoxSaruOGYHQaPDxrfL9T8rPBfrk\nn0ocHEbrW+So1eZtV1GMV7imQ4UwvNTQI23XGIDDBgE477JR7h2nu3VSaQxP\nWHb3xj+khqGVUgzvKWNeLyDYU+xaISBoZ7VxQFQurwR8BJXxRPAB+koI4T40\ni055ccuBnqmse2PYlI+MrXewe0dKPSDt8mGm3H3fx0PMQk5XpD0XnSsV8RuZ\n64jzIKorMtPbQ3ijeisFQQuYN4exG+IXpWH17B7XJilVvcKtkUrfMUPhDTJr\no3Bx5gVE+L+AEHgyCD4kp4gJPbBzcvx01u+V8zyXkRDG0a3VS0eklnbk10FP\n2DxjD+Ke/96sOs5sR5dqr72qZfNXvOSGn9aA63WVHOuP/rqBKh8JkefCMZYc\nWVOrIC/mcRc+wm9Zsb7nMxTwT0lj1tAs3XRH+i31ZnddnVrPAlxIC/zoB9sZ\nNvNqEp9xnrSgSRlnjLx7EgGm8frygsAmolukONrKg+iQFjHn/TvzGTPqS+8+\nlm2V\r\n=ACDw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5_1614849869790_0.9380834594595735","host":"s3://npm-registry-packages"}},"16.7.7":{"name":"@preply/video","version":"16.7.7","author":"","license":"ISC","_id":"@preply/video@16.7.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a9985e6fb1204d9a40e31199f4ff9bd3e4cebb05","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.7.tgz","fileCount":747,"integrity":"sha512-dhZMXv7E6GeezEWGrL6ntW2oNBRvLO0c+bY4LlWALjLZdgoxNuMnUP27B1tEv6ruEEHRgfSac3G0YSTgk5Tzdw==","signatures":[{"sig":"MEUCIQC/N2dmf91S5mMabrM88zE+6MAKRKcAz+plq5JLa6iqJwIgQDeZ5/BToq7bwgygX0u/M8MNnFnBdk7GZ1ffuwbM5KU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19488895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQMXVCRA9TVsSAnZWagAAox0P/0OD6RliM690pcNA7AZu\n3S7VoyaFtCmOLyF2nsnlQk2QB8mRZE+fMBpHnbU8WuO73zAZLJKjfLcdmUfN\nAYKv3fx10XdKy0HXnuyfWtjNL6ximw08PxPhbi2NM4S/gh19GwUahZv1coW4\nTx8mPss4iMQNWOPSnaJOrscbYSH5AWL4lEHIInNM/VMHZpoX3dcgZphRUK8H\npaVu7tmlMfL5rd47+bKmo/ZwIQmB5SZA4PwJIaBOaSY3rZa8d1j6PzUyrUqw\n8V2RD7xbuFL9Kmt7bVhtixtE3T3t+q9AuZQsbMf5H9p10bPuBWvCrXrJSq1m\nzSGwkMFFSdgChMVpEQLBktpC0mBRJGtleB5LlCO0JN/n8j6mJrco+Q08uzoX\no8YTOU3uVo8t2P1qbFPtoKQtEA+h4TnjPUKYjGXcOt1FPGtr1dX0ahrMDQqL\neyw12+n7O01SWzwpstiE+FLRUB8u8KF3MNrYxibkZxjmSydls3vgFwpyVcKI\n4OAIuMkLOVYjsBrWg5hp+93daesfJ3FOY+VybrzA6zDokyBVo4sKGkyy8mZt\nIP96htsz4BHeQDJMduK0KPRI4jOWU2ZrByFkjo9MoXqDs3reLdpIGngu2vC4\nTr39rK6C0udaM7l8ofO7rbLr5iYA1qA1Y+w2WRXntw38eYk7R3FZdmdSs+W9\nmCLh\r\n=Seed\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.7_1614857684562_0.8040356524282541","host":"s3://npm-registry-packages"}},"16.7.8":{"name":"@preply/video","version":"16.7.8","author":"","license":"ISC","_id":"@preply/video@16.7.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b31f440f904ce55f9a5de3d903154904aca38991","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.7.8.tgz","fileCount":747,"integrity":"sha512-uiILUKRflBGvqBrqg3x6fNXcfkpEwG4r68pwXAslHCPzriOi5HKoUXIRMg8rJ/DE4AzS+j62dpLUEjf5ZNaY8g==","signatures":[{"sig":"MEYCIQCNV+CJXau4mLWrISQV8JHgk8AuSXq8hoLGNMIxVFpftgIhANsv1pMBdsoKNtcD5dVS5gwOXh6GW6SUNmB73JPm9tNr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19489825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQNQqCRA9TVsSAnZWagAAWkAP/1ezjNB9OpfGJzLOZZPc\nYZAuclYwgLc9Zu6m2hf4wnprSGLohwQn3R6/K/O55udYiII/7Y/T+FxJ+xHd\nyPWuHIx2LrXpVQGzrFiDyBQhr3XrLcBLlNXw83cjV9TBZzrtdoAzlQ8TCLxu\npLUr3DA8tYitfKpta7vXklZwYgpJfXs5724XyN65LfmsrVUSrLYwmDLqgOg+\nRxXF6twlzz7KJ3XHPyHM79s2jr9KXxTtAcDQbZedpgCFtmTVmf5XrxmN3aD8\nOeyEbAlkdxaT0mtAOf5Qj18aTY2jaCYXtZek1jO7rh8NXFTS3hFZB0huqo4w\nBkJJjlMHJSpobtjVk1+PPHdKghmX70xv3/ziRPcxI/UsBpqCB/ubLhDMYnDE\nkwB19Idc8JsdbrR5DQ+xWgjunZBaaWPiU8qaNzYr8HaQIOAIw4Tp+xHVr+2F\nWcPJ2mYTkrAqpuYdnqYU+Lzbz/ceqOurcOUj7/wU0QHmwOSs+radsKpoFA14\nTmOV02C+EzcT+Gnvpu+ueboewbZa0EfFoePRMq9yOiSNXHdY3mh8fz3t/Abs\nyAT6NjAHPNPgvT98FITWtdmWwfTf+BLHzaWTzt6lVr9cPC3x4LwV0G8PoLpJ\nGKRv/gH15je0FKJE8tvaD53JVlESNqb8uXpQXhKoX0dqDHdqRSJQ3bAoOnl7\nfIAb\r\n=762e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.7.8_1614861353765_0.8198342527485658","host":"s3://npm-registry-packages"}},"0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f":{"name":"@preply/video","version":"0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"27987deef9634c1bcb621f670c14b605b2f020b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f.tgz","fileCount":747,"integrity":"sha512-OMWwyI/vJoZHt1V+/1ZSJwe0yFLqFNihoGjPGH3yJ/N2JLkFHHxsSzCPLkcMCDuQgJoZ6EWOacVeVRchqCps/w==","signatures":[{"sig":"MEQCIDPTJVqTrYA9lgPALWQ4RZHKw3Z7YVIB7e5BmXQBoMGmAiBZ3CLKtBWAis6NeqarcQ/jDvUuKxzlKhcWnlmQb5JaNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19492155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQQmZCRA9TVsSAnZWagAAbpEP/AgZ1RNHltRskOwHxnml\no4WetqEo6EhPgO86e3y2ViuhlpmcsFMED6plEse4wmiqBHX6rgxKdqXX99fz\nuBHqaIJf/OTAJTCdILoR1f24lR53/lMQueg9dpVoJdXOco6qDq3f7QSPADV8\n0tklDPjHg3L8jifw6tbREsOEsYKZeWm11pxHJDyTfcf9AJBR557OFDCxIg7O\nCv0/SIysu16s/agJF/7nK71bebVRLKJi4izThp7MzQ6pRIK0MwBEOzHcEQJe\nbJKlPTsPBZgJhaqAKM8DNzbJ6JQB0zgPbQQYn3k3WpAO4/Bu4VmvniHP2s5C\nCCGc0F2rP8SefGbVE5MaceqSD88Hs3jncBXMhixiXiwYRBtb4UDEqjKVreys\nChwlU6r2DRiSo3vfSc5DZbLswZ6CvEL6wr7idzKxcHm1jHj+nxhc9o5WLcTL\nNRfVt9tZqnUD/EmhB5BxGnVC0ivteP03kfKBvY8sHffhbJck6s/dGIx8zIff\ner9Q2RoKSFeTiUNRtylVE39rgc6fal5ceA9HFquV/CWyf+wSgjXnaVgIQfy9\nSsEuKGdO9U+TkJnIZbPX8i5jWXfHE4wLyJc2qj/WbziaLgadN+vYF24+TaZS\nEV7BIGiOuthTYBxlGqDYdub/e+n1F2SzP4mdDNXXnAaj52hK1h/d1QOleEEx\n99O2\r\n=W7J6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f_1614875032561_0.04650666148711591","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e":{"name":"@preply/video","version":"0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"58a4bdbc88dff3fc79a9c82c060928d8c9cc9689","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e.tgz","fileCount":810,"integrity":"sha512-NwzQgI7k9iPG0j6EDFzu/gQmH/fbmn/HKcD8IT81baDEW92yjF2Eq8WobwrYAIuLT7gz2mabwwFbcgjMtmT/sw==","signatures":[{"sig":"MEQCIB9+SlBPRXuxx+ks2m2Z6KWkr3Z/QWkWNDZj6jcxGb8GAiBgLl5NRIH8oZkVN6zogoMcHHjuqE0byb4iGhR8jGUhpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQcUNCRA9TVsSAnZWagAA/GcP/3eKd5Oh8yrT7x5fRV+n\nP9bVWHBrL/0hJ8ybEiaKdhaXpSZdNUqTz7Nb6XWmO4kdx67jfI1lsSRymTY0\nlxNVpkdP9sq2gyj3i5IES2oWrXuGq2jVEzhGtrAV8mPvYO6Hre0Snb69q/7o\nej4xn+DZMkq/Ygp4/DNuWeXZpj6Qt3MR9mAk7xZtloQHkWUWcnpa+naLpeZL\nZ/Ju/S7wlMZpCJPXOunqPW/CK3eF08JYYM3x/QxqnXn1ceSf/ww3XTZNDktF\nIt6bM5ji0YF9OPW7zKK46YuWTq8dERddUetAlF7Ee+y4wU2SPvPSWuOVbUOE\npZM0SQw0mr4jDcUDqEgBJPhHnxxJLJItDPEM97iVRhSJnjS4KGlUiUigqrmb\ni5O9Inh6ydEw7EgNLgAZGHeN4f4gm54RpxR4dHkS4LGcGA00GSDGnEOKmfSC\nrbzXFXN1q1LPA+5rPre6gExG39QJYzgPze8kH9j7DDi4ICpwsEDLFTCrj22a\n75AGQF0F5JX/lrWFwzWFVx7oFSvDLAsEiFOEU5XEuc/nNmkCnnsrBi5LGNix\nLdGy+DlpfcKJHK3E1LZY9VPXOSR9l4B164AJtXJfz0CaVSXwPjZxthCiXPJI\nDbgw8UDAMDRwkL7jKjq55J9K2xSOyAxm6XGyxJGabGrBxtosZqvS8LR3497l\nnSPM\r\n=oBDU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e_1614923020496_0.39885072115661746","host":"s3://npm-registry-packages"}},"16.8.0":{"name":"@preply/video","version":"16.8.0","author":"","license":"ISC","_id":"@preply/video@16.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fa6c37a7dc29eaa22e104f13924e4523fb280cf2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.0.tgz","fileCount":810,"integrity":"sha512-vvu2b4RSsqT/D/6iOBUbQjG46g53iSQlsEocwrIfol34+K2nAjN4g6eEiZzHf6icifya6hWelEcW7i5XF8J7oQ==","signatures":[{"sig":"MEUCIHGlQMSM3cKch6EH7+UjLDZEG1DjOpP4+SYTcS4hA+Z3AiEAvFf3/MxctxHXMNf997bWmyt46VozxWUejuxXrxqCbrQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19887405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQe+2CRA9TVsSAnZWagAATb8QAKH88hO8JkVQBlMmyE75\nuJOqj6NEYVbUJptBTYzEOm6Yuw6ij3KeJqSOl+nxL42PLGhyBakrF8WHjl4f\naYjgKmsz/iF059TiyliOy3fOwHtrciKaYG3DspOGO8Lkdx/LOg3/tE2/HcIX\nLqHdGY24WSuGWaBp26amhIMi+kaVJj5sQQds319d6tSGRcgx9C66N+24/lGM\nbYoTwUjPo5G/kTu3py4pGAS/xSNLXOPg9Mtzv+uqS/j+rkpOM/jyvUvBaznV\nQzLAkS/TL+fZogmrOEEaJhsw62/yx9lR5uq+Ga5QW+xPpls3Bzhl7Q8oH3m7\nWXPhdQ2sxk4Pycr4RUDXXIResB7B6AA//gEhjRTNvk/QBvv4sYmjBnIofAz2\nTeiBIQUhB8k4sdhuZmMR0MC66wftsAT+KoBlet+T4I5SPBBewCtlMKCIyVfm\nA0ZsbGRZL5chIPcylQJknXzVhac9dFj4I4nGEMH1PN9kDqdINPrl5DepxTmt\njFIHvRAx5NAhFobq29lvtbmQkIHvXLYJ6tsjeaJaOyGiDxlZ4KDMWiieygK3\nA6JlgqW9yViLsa3fTO1fM4BOxLi9vSOMr7LkCHOomsagAaEWyhoswuRaZ4pI\nxtubZkaJSyWJwwJwzMbCi6qNWGZnrbHlssVfeDWaj/lGRCXcufflcUYc04xL\ndXe4\r\n=QEgA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.0_1614933939655_0.1376915271665864","host":"s3://npm-registry-packages"}},"16.8.2":{"name":"@preply/video","version":"16.8.2","author":"","license":"ISC","_id":"@preply/video@16.8.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"864ad132352ed4da1fd3e3b48bacbc3341372978","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.2.tgz","fileCount":810,"integrity":"sha512-e08hip4iX89ZDUdZlOhnbJ9wT+zwTGMEosxKTXX6CUwfOhyh20NTUCKWBmLltz7NMPp+PCISm9XFQ33zU0YNmw==","signatures":[{"sig":"MEQCIA3cW2Ekoo9/4iBl0qeYSMwXy/trltYovf4ZGzg6N51JAiAxSm6p/14XEYP7Fte4+3lxSwhHiVJYW2O2DHVJolJoyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19887975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQixkCRA9TVsSAnZWagAA/5wQAJDr20Ymj5ZjbsJHiRrI\nAp2UYsmqL940BPQZDTDyWBa9mx8tncJS4cjcuoSqCZJwwppKDW3zMuNKAbYi\nNmRIhl2pxtgKThZ92pDxkVsgxqzNpu+jo4Drf2D6AeOBgUWwqHzB4GywssKc\nvlQiIwtmSj5OqfZr6JnXiVEH7eBKjDemsEWse0PFEARFkpsmF6EsVXJo1/pn\n/sNN10jaCS0xAx/G02Wcr334xRXQ1KouD5+CS+uoReVhFwwtSvmuPEb1wRtF\n1JiL0kM4CSdmdFpkrsLhYb7RDXqLNux/Zj5Kx4PJKMxxnHEnY3pG0SCbUHN9\nwQ73nI8CWgl23lt2GhwWEXr7eh3wUnbgt5DNBABrExWG31Obotj8cp39+WvP\nEzdoOWGylC6Lf6xG/cHiYaCNphB/FdmWEKyuwjB+/mvbycxIz5dDzNptRnGN\nUtGi2ZVwUKYHD2jUoWp7WqPZGwl0Scg3oZCMxDLJb0uBIemWIjXr/eXRUZeC\nOtZDpAUC6js37aoN8NbozH81B6yA7m8Z1fqClFtpwh1/MdrM7hhRVjGirXWO\n6P5UHhPfcDgu9o/xkaI7+Ut+UiLTByCW5hFqYJ9OJqZQYXiEvNYku0JAfD36\n8pLhnwCo8rUbyck7ovXlAXYbEe/LYbKYj0Sv2v+Ke8rOT2perRk7O+zX8eQ1\n1sGJ\r\n=C6aG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.2_1614949475334_0.751443236686433","host":"s3://npm-registry-packages"}},"0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49":{"name":"@preply/video","version":"0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"755a3bc832b8a6e7a78602887976e8638eedb4fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49.tgz","fileCount":810,"integrity":"sha512-LY8w3qXIEeL3dB56z0a7lXjygJMBjU9z027FhUU6X3BjoM+C/WztzpKtRnDVVOmynzhzerAtGyJ0q3z0Q2eUiQ==","signatures":[{"sig":"MEUCIHbD5A4i2G22VEMbYWcjYO5UyZUfUsvDEVK6LbZ5ZPOqAiEA2YCyXWzlHyRFzw6eEHDdaAS8XZzjDbZv3spYEh9Pe1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRfEHCRA9TVsSAnZWagAAqakP/3OKcy94kw/9O36KuRIw\ni8btekUqzBqmxV3sOkxjoUghAJGwT0Pii8qhai6ShItd9xOnLc9ORHZbZNcE\n5YniuS/v285quduas6qblzEY0ZGcaVWRtpadttK0wxvGTGFcUdj8Yij9vku+\nWhkmIkFku3lGrvKbZ/aZZinLWj19KinrCqeaajePzhH0KoNCENCiBOt49Mah\nRFOPZDWdH97BQshsl8FriBaKYUEJjGBoJhcweNkKcvlO/g+WhlDfWwAp+FPC\ncyCSUypMSh0eeONlScmG8tLjqV29YLEQvm770UzcuNfgVQMFKf7f6KK67Z7e\nM6go367FRGrhC0nx4IARCmdP8r4gamZW8lJKRyNCd2jUZgfBcs+LljyQ9S1L\nVZPM7k9yi6QIzDM87q4iQP2EWf3ZjbaZHIiNUY3x4NWeovCSDAHtivWuH8ZI\ncqaCaP5o5jhcnvUjwuvPQFu9NsqzciBLcogQf5+ygbTI6S9SL9aWydZmByUN\nFclIrqqLATFpzMsAGWMPk4HNgKn25EAiOBCCHCxxLSZ3Qb0NV3vWXmLixYQ6\npKCTpRG9xXZNpEn7V7LcRudvXttCZnZ4p60U5eWAEXyueDAVufSWUPdjLTG5\nraX2ubOEwx7TrJaYiJlhpvQxlJeQf98ZQJ7X0Wdmp01xlIZ8xxnvjH3sVSJP\nFa/4\r\n=TtDU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49_1615196422411_0.2561035535638363","host":"s3://npm-registry-packages"}},"0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368":{"name":"@preply/video","version":"0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8e18fbba4bc0cff2c318b34aa7a9985ee3a203ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368.tgz","fileCount":810,"integrity":"sha512-ars52MLDf9dtbGQUWqgJD2KDSfNACCfmBHIDMwXfTq0psc9LgV5RTqbCpE+mAe9F/6LbJSz+EBbx/gFN6RRCxQ==","signatures":[{"sig":"MEUCIQCQBFy289DE7iQOCSA9G76V1fk0w650WzScVAlTB99FVQIgAmgI58TESLdudaoH7EVnrWIlQjCr8CndwfwTeQUOTgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19885230,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRgJ7CRA9TVsSAnZWagAAhBYP/iMwarC1NkcYpoTGRf8C\nBCoIvUAifs+mv5iAoA+6GCYe7v/zjCU8fHDsLtbKKdIBQil9fPjrEMi8i75b\nUjcatgAk3k4qNlrVbfMZmCa1MCFagXcmXOUe7vb1L7Lq/stTjZXiBF8dCev8\nT28Ao2AqBrHlRTO3Yz0bQ1KizxaDsmgYUfymUujiNHRiageqa7hCQj20Az9Y\niZmMtTEcI1Z3iiAuvhgl18XCO8UGA+S3M6W3XxbShYf76q1Al2rSd5Rp6aVE\nF6pzZgX3xXd3tuXELfZ8K/g/5VbLqzcgGUKdLOswFOufEp+5wYWqeqIs/Eca\niRqUVhpFEaXc4xsImXI42/1DGIKW+61pmLooBfSTruIoEdlqtJSSOV+PigFu\nNpHyXh3I1z2aEpQexUWKCITlZghyIfAMrtQW30UXjRMaP5OeQOJppVtY+8El\nxQDHBrKJCKjPkAJobK1I9tB9y471OwiQIf41RP0ObRhAn9QLay7FA+W+kJXM\nKcwWyxdM+uacFdbWF9/QjNeZYv9yiDNy29wdqSQKeDA+sgGW8edes3sGVb6J\n8nOoXeLXgVgZylcYfZEH1rr/YSI+9AK8AFFhzPTC8w8QBrQ8746HaF28M8hn\nnwsSX8FLL35KMxFARLLkmRuIT7mqN7/dc/VlELKaCTuzvmc30WXNz9VYVw2e\nm4+/\r\n=uLGy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368_1615200890438_0.7871045135696344","host":"s3://npm-registry-packages"}},"0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca":{"name":"@preply/video","version":"0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7d40a2f833165489cdfb556c7f0a03e08f0d7c6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca.tgz","fileCount":810,"integrity":"sha512-2cfZE6iSRA0NCOKhHTr6DxjtKDLcISNcukiEQUqSkGJn89uJ4zCTAzuDy0cFKKtW/9ZuOBZ/KlmSJBaT0P/f1g==","signatures":[{"sig":"MEUCIQCvA2UUW7Q1Lw5drv/TV9tvmoUg6yBLqM2ooC4ZOYyuwwIgX/h1BXe6wJuNCLgLOespmwYXtgG32ScV0xe5OpJNas8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRlYGCRA9TVsSAnZWagAArxwP/i8hsu4FP7XmeUBmICkJ\n6jJVzLTNQm/D5fgTvvJx2A55QyDcMflOvl2cNcTC53BkILA2dThC4tMtirVP\nKWdWSGB3WUXBcUOrq5YkIeWwFBtSA4Y4vy1ifCrodyilQhHocptN/8LRYwMP\nX8ybjani/EtYa6ZmFt3LJDYJRWnhtE15BEy3TJkVnV0ghDIaCAPVKw2qGqpL\nkXioJTSCZ2XL7qdMLXRSFSn86vOEHMss8ag7weOkkOcK2iv8ijAmR2FOzwaz\nhoA3wjdM0tEb6HdyIDWCIzUG8iRz4KCvF07PEcYQAw5/3vL/pUFwohNSzsRZ\nDAa8Kmc8hQ8yPJvGTX8d7Oix9vZCylcWTC/Cz9zOMj07kU4aSuRtUmb1Z3V7\ngjs0exiXVuCa1UszrZDhbvMuNpVnmR5ANbtdV2oGyShh4WjwEV4dYkciHSz8\n+lOzbuL9WDV5Nu2Gtlz2h3RKhGm1uFmkPLunDy+1J1qzGWNAl8NOf0X3//SH\nUUt/9MaLgaCg0YUaBGC40Ate3Y6hQwE5Xq6AgXCxxDiesMheHYD8W6u15Lld\n1eNujbQr6s4eAZ7RX0Hbqp0Mt4fs07Pg3yyYi+bBRYqrOxX3whv5SNeYD9rl\nkTSWF2V5xxgsDXx5ohllmhFQn2/WCLsJBk5IylhS0wc2903WRkc7EEi4/cRS\n1dwP\r\n=JIqL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca_1615222277218_0.15503609248691164","host":"s3://npm-registry-packages"}},"0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4":{"name":"@preply/video","version":"0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7cd02e180867d3a2587f129712d23bbb41dd9b51","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4.tgz","fileCount":810,"integrity":"sha512-iACWqGN3LORy2QfRvmboGJFpqVBTQVoK/naj3DzE4UfofI6UUCJ7ks2QqsUE+exg3LehxAfCtPaLiHNIMKfbDg==","signatures":[{"sig":"MEQCIFMTaYqmCvQrry9ZeTBAribgfRTh+1rscYXtqeoeOJKhAiA3V57aZzYR8RxrKRxbthcxw6eC/8K3SFH1T7NNtztX+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRmb9CRA9TVsSAnZWagAADsgP/0JIXiq3HLIqsmKNd6bS\nJlm1icKWycv5DHJ7tvUzECjszcGr137KpBSKjBk7Io96KSCxr3dUoJpQBYWp\nglLVQPKFS0i+apiCY5T20h6RDRtjIOxzJuNNfDYIJllcKccCB4rXQTD9yeqw\nAQMwZXCs2RfzAO/Kjw91ZuAaB2WYrUsX+PTSNhZoo2Y7804uFTnIekPdtoB7\nB7ZB8xbV3uE8NkW96mF4CDvvsQ5oLJNR/Bbnt7gbfMZ/YvhSWaVhOFEx/N3v\nHvNFYj43bg0gglFmlUMObEBvIxXNd1OMS4cXZ5wh1R0KTzkjUiDqiPSNcN7/\neTduerJciKznKo8JEEP2dwxmvrcKYwN0x7kYYP5sAy1fDx87QpnfGZ84VZ/c\noRxIE0Iw5ns+n2EMCGl1wuVAV0mssMmYn/LkyfM5gpctC0jl3smsBOQ8TLwk\njjhAIs56PWscOGzsXFNslWne49LCEGA8GpyjaU6dooU+wgFnVDYy9Szc5A+U\nEqzCSJPfDWXbQaCwzid4T22mq6cSjWKWlDw4tialz1AmwNJU/Ss0YbLfxuSP\nQROoDkfKNo/si6/6WeJPEIQYAG8Vr7169woUba28Xr9lris9ki3HxS5O3MiO\nT4MLfrj1gfcU6TJRNIs9efyQHLJDC8awZfxIX8qGBhM+Th77HHGlx2FQz25+\nQ35l\r\n=fLQ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4_1615226620786_0.13944404279382483","host":"s3://npm-registry-packages"}},"16.8.3":{"name":"@preply/video","version":"16.8.3","author":"","license":"ISC","_id":"@preply/video@16.8.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7aa10067b6d243e068617c24d5bca0f45dec2682","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.3.tgz","fileCount":810,"integrity":"sha512-pt5R+Cdsuo9JrihBIukQba5fL58PiBIPMhhaCx3qiA0jUFrNAYE8wZvSxCMfmzbJGJKlGj+f3WI6PNTH0oSa6w==","signatures":[{"sig":"MEUCIQDDD2M5H0U+S1FEM8Cp7lG8MtLt9kk0XNpv/qenufrCqgIgf/CPesPJEXj4R6+Sx2l6ELIvfDPSBWJXBb1pllJzaBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19922715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR0FmCRA9TVsSAnZWagAAWAIP/iCpzIpUyWfs0wAQTEDB\nVYRwbOevFpVNpA3MgBQmm5Z1NrK+7k8t4uVds6dvZ4Aq0Jm7TlJp86aFSHCD\n9c0b8yOYZspbtspeCxZKuakbe/DaAfF7DFc3lgvzNa3QySttIgwAd+OtLITX\n2j/wJPBIPxWpQ763XAYTkuZ3ilxp/v30GztfbJcny1ZSLtkru55GUEi34Mc2\nmnuY9aCOoLHsW81i9mR1HzoxODt+bHZs4YhMjU0PE9SzbLJSSuY91QqloiGE\n9tQR9O+JV5Yk1REhsJ8UY2Dl0ZgCqJLjMHYMa9huzJs3eJiCRQ9ci4u8r++J\nCE3uklb0Zrqvm5R3TK6d5hP/ZD07byMa1uWWUS8N3yIYqFsMAay4z+RVtiqp\n9OG3aCZI97Gc+WtdqMBW6rl3v9qTYfGO9ZNIhDBXsRS+zzEyvUd6AlysYsEa\n/HHOoyJPT7GULILRewfdOwIEN+OKS1a9UddN8Z+1pL915GOmexvwALgP3zV7\nUixMc+LLd7J8TyjN4O9av+3XHB3pY9qsWe+2bHTfDF+Su0FgP6iE7D4yGYiV\nnJGx3EYu5NbQkDPJ6FLgy7XNjvQ5dl4f8IpnnX3HPZ1SPrxkhHyd41mL0xR/\nntZJUb79xab36Sa4oEVV2vG8zQ9F+5UAIg1wTuac+RzrkiNN+oRVEGt2mYZr\nIZjl\r\n=1tHj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.3_1615282533492_0.20012080336977056","host":"s3://npm-registry-packages"}},"0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc":{"name":"@preply/video","version":"0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2045c0bbd07f90338342895f601fce9eff992c52","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc.tgz","fileCount":810,"integrity":"sha512-u0FfhwIuPmzIS/sB/D/4Cpc31DjuZP5ZIbV0FMPDOglox1+ZWeQdl0+AmU8jk9u0l1SCv7NPLmTJivszrhX2sw==","signatures":[{"sig":"MEYCIQDscyOlcjq49t5rIIZbDlEqwSFFZpgI0fiHGzAqbJJuNwIhANuk5pWzIj26GkCahTe6IxP3Os1POfFuomTtOr7FrJdK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19891020,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR0OUCRA9TVsSAnZWagAAX1cP/iY8AVMB8CmIQ6qDeXS4\n1JWX787brKyK1VoSlczuEIBjySnVtW1PmwQtatOhpyQovEM8aZlO0kkSLy/y\n8prg4WnpJxcgJJxhcrmiZe60OH0ekK6mEZcq8+3ZmSiu4dGpOiPll/wlTz6d\nDz+bAySdcOp8TYGg+acOmM2Fai7o74Ko3vcHT562zzkNBPGx1sjEFsZ57Tyg\nDOsobuiNqjkp+ZIk6+tYt249vxK+sBs5msKYEy+9dZ/3pr5RRjkHuM4vfuao\nxa54GZ1XJ9iX/CbCMfiNfpRoWixZFEReNWNNu4+AIzt8rMA55TfRcCyf01bi\nnPgWgbKTG93KgMBr8oEsKHtykuUWlHtHU5hSq3fenslHQDyHnWLMRan0DYNO\nE2CVYVeBJ8hqwvfOc7k4jHYpVdAmLYvA8IzzdJSGGRxNYQ8y1yX/XL1ewaQ7\nkrhIybSuVL+SxG8DCHIf4HKgpRncXPYbHDZKGdJkemhVmY21Qz6O7yzfePsC\n76hZgpIUG18qskASmvEfzbOAo1CfxS9tCFsHdjFxxqKmX+HKhLgXmEihKXZ4\n08i8hMeFKr0zRE41g7vOfIhoVkmhhvOKes3DlQwmMvoK879mKqaYv7X0dIgC\nVmWSBjPFHOtulUGRlXv1wVlWn3tLtSQmmqIn4eYF4xl/F0d4JszJY97+xei0\nlwoh\r\n=zKeq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc_1615283091781_0.4266883870070459","host":"s3://npm-registry-packages"}},"0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b":{"name":"@preply/video","version":"0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e58d3ab2c18c60837517b03aa496dbfc94359697","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b.tgz","fileCount":810,"integrity":"sha512-jObLITevkpm9ysgfm9GbxqfY/hJWtQnEM2z1VlSqibTIGRTIxoN0x8qb8tcO/seNzn+KLpucs8UCGywmaWbvlQ==","signatures":[{"sig":"MEYCIQCy1oyHpjKrEeZvmKo8kzK2n9sjlVCMcKND7l0oUBNeUQIhAKWarZ6mHA8iQdbKnahZtFovDuBWSjsEJ264gymwJXvE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR0qWCRA9TVsSAnZWagAAO3sQAImLvzZ2yJxARIPaaloM\nluP2T2K6mY0LXb/ZmJSrL8+DRzUK9hM6/JBu/UlUdYi3em/aDIN4+ujv+t4U\nluIEiJUnbwxwwmN3189mx7g6CgEkWuYi7/iYVcDR1h3F45baDjY3xjX4D+Bq\nvneNeohYQu9SFLv/Z3YMCzWrRN1fIxHRdWm2F20UHJak6OdfhmVczcNiAwGj\nv2KSvo0412tYf7Sd8PlmcxttYHXLuImDzrwF/b6FywSCfDQhpyIe195m1/aM\n6ULkyjLRvGicn+c2lUOym+qNrYu42QUMwva/YAcAY728Z58Z2GQY2GQrYLZo\nsK0r4Sor+n3PsL2VWGGIo9kq/VeePttE1YhITG5zfyE32lbMcO6tlo/u33na\nCBD8PomdzAcRYyWjsR/3Jm/j7yIJnLCSdfu/yxO6NRPh2tM08IR+mxKAwTqf\nC1lmyy35YovHS6vqc9Thu5NDBufee9C+8RrEJa2HbMFqizJlkRARrzH+bszb\nO37IWTRW0t910w2b9HxxweyoO2BAI9EzW1xd8dk6idIdrguEjB7gONHHiEOZ\n7zhv9/Nfxu/4XtfIVDd4oKaZZFVHamWk7FH3UONSluEoHDcCYwIynnEWZmYF\njwz/KQ+LBeWCc1TDSJHWtoh7juEnUiDnrQ86zsKFeyISUdBYh8FxwHwxonA8\nHXB2\r\n=WxrV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b_1615284885409_0.24688600087629342","host":"s3://npm-registry-packages"}},"0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271":{"name":"@preply/video","version":"0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"824131ecd95ed7e1bf930ed7be5ff4ffcbfa3603","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271.tgz","fileCount":810,"integrity":"sha512-ALd0YBz48OsEi3ZWYlr52RGuo49586pIQBsD3hu8STbpzCvh0ZGUDc9A6Xk2yph6g1l3Tf4Fy19b/fLt1mpJuA==","signatures":[{"sig":"MEYCIQDh+EgnWd58OcbqiFOiUp9DeuXsJZXphIjOBRJzvc2HEAIhAONAva866MpMl7PUdlEVAlp/doBbDQeD00pteK8u1T87","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19891140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR1QiCRA9TVsSAnZWagAATKkP/1DwPbXdcD/yogV9DVzI\nKq6D6MkPE644jlUSRLJEsiKsOiHKJeF2SCXAEfSMFtJx6w1Sv4vRVY3D5dEQ\nq2yb8oycycongjldxXUCRCMoki8AVQJ71gPccEx7z6QXFkDi88nTqbD0i6uB\nWk3AirdV7CdLm34RZ40EdKuYFx1ec3U4mz44WYBPGQdIQ9hXcIclJXeRCY3F\n8oiRcbAm4fqACkoOPLj5naTsyxZpMRBn7qMrP2ONyVF2zsE6i9IFZUOCEKuS\n2YNmgUmhyUpp/Hn87BrDuKkr+VVxT63wJTzJbFvNOXTDJII+uuiwsWUI23hB\nbWNP5RzA37Is8vQQz+qjzev+H2PBitdpwWHI98pjaSXDro1/15yt/D9Zwix0\nmHlRuYismoWKYredDvL3WftgvwjKgsSM1Hr96FrN4lYBaK60vwbR92PfGyxc\nB20EEXs2RRKTl8ezv8a7CwVGXe895c6ZOGLrXRl8/RkhHdbCPfUAf8edJ8J/\ngWNmTbf5XJ6sNyftl8Liq9ug07LlqsF/rl60KBRfebj2jXGyLOTi4v7/ZwKo\nigrgLvPOcKhDLzCj60x75f5FtYdl7NM1md5Yq0fPIgREg8MIxhVx5dZLX+we\n0ZywE1pL+BZI8MG7UHpQeIcg3lxLuwx/MdSG5a9suH+7LLZpERZSFPGwxWE5\nenpa\r\n=Lysz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271_1615287329395_0.3978939017434411","host":"s3://npm-registry-packages"}},"16.8.4":{"name":"@preply/video","version":"16.8.4","author":"","license":"ISC","_id":"@preply/video@16.8.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a01b93c71907c579bd3f9b34400dcbed6488d280","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.4.tgz","fileCount":810,"integrity":"sha512-71HZuCGrX0qZ3GI558mxotqk0lZJiEDCL7C3vi5pWf3b5R0VJLd00ZoOfAyr/qEPiMVY58msI2yQ0+C7CHU4FA==","signatures":[{"sig":"MEUCIQCjY5+PFtS+0KOME5KNnRgNOQHZupkEIcMT9Y38lv0bwwIgAzWu+UcLqbcf22/u0g21J5eeV3esEGaxQrhtFxB9in8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19924305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR2SsCRA9TVsSAnZWagAA9vEP/AhUnYYo374yQOszwY41\ngOPpQliM+Ws3orEFRd8p9yHNYoZAy/0yVel3rqsT3cm/vmN1DkdyjN/haREB\nRa2ci/8/fxGfIE+51IxauiLOY12n2qix5NTmFG/rXMevnSxq2TlMVxokoKAw\nUJRYlFRhluoNZ9t+W4bjkI5tBHuUUfGO0dZhyvBA6Mcivmyh4JiSqvu5C8ji\n+ktbP4xv2dDTOoWFhAkBe7z4tT0sTVutAtN6DgEuFBs5h1Bm9Nrv2Fr/N8cq\nRXuHQtb4uR4LXLW/EvzlvvUJDdXuFK58HA6pugrg7qvOOGc8BRn5LAmtgYv1\nB44/INd7TxpxnUUrxrClNBumgAQp6lDniLilS1n8ITqT0Y0wC6L2SG8ITOFa\nie1kzAPMrig6Yxruw9kD2polh0YtjgPjBRQo6tPpbStA6+WyTj+33i3iVi/R\n5BMOtyn0RxgdMdNq4gkCywQZIwh8VFQsPCtPmKjXF42LrV7QEfMHNasbwECu\nnyOwVUcfO6eZRa8J5Kz7uExW4EG3g3l/ZPHvZT3FOLFGQTL3xRhJMWGNxJKh\n0nj3hlbfZqexWMSP9b6gMwshs0/qv2EF5hWiV+JRwYAgM60fiSpLMg+Y4XCG\nTpwLlicWj7pn4zP0DERR955tWnCI8ZRBDmKuScXMsCZrbJo2KW92tvCBTjM9\nVRNC\r\n=PD2Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.4_1615291563209_0.6461543315333806","host":"s3://npm-registry-packages"}},"0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831":{"name":"@preply/video","version":"0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"eb519decd8ce7dd84163f0cab31d3ef0a1087e6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831.tgz","fileCount":810,"integrity":"sha512-Oko1f9XQS1PabvEsvCdNkUPgnHHdsbv5VIHvAjeKaAxLlYHGH+w/f6thB6BM4K2qBxMADauaTpiKScal27WH3Q==","signatures":[{"sig":"MEUCIQD1yy0m7QH4160dHyqF3YWt7h19J31o/h7weO23PBv4PgIgYI9YqlPVV4skZNFJnXeIh9u1IbGKdP+vGOVmwExJ1xM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19927964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR4K4CRA9TVsSAnZWagAAK2sP/0RzVYppDVz5dVaYL/Wp\nV02C/qotdeBCuRvVn8pOqR8RuG1oghInSvs1/O7mX6lu5HVs6Ow7B/CVo8Bw\n64XC6UHT+6RywatvfEymobZPvteUPhlugrfivKVh+XWAwVVnhwCm0xYHQwu/\nk2//TuoGwFp3FUVWVzlFqg5zHmnMwlt+HLwo6lDZMwcqMTGEWCi1hF3LcIf3\n7vI+6Tbt/Ded8xBM8WSj8B2lS0GdsVC0twATnSGDr5F9DXiVrrlX1d6HnPdG\nv/rBv9GmmSa1xnrDgtpGlxovwVC5QIX30qyVLZMJzIlEXs0ytLSE/x+eARKD\ndNB2eF5IXxnGj+ODR/M159MyW3CajlQa7FlZLLNVjdzh+b2aUH+6zr6x0fMJ\nptfQcLxQNlqRf05GZHuPtxmqDGQVm+obj5JNS20lwQ3xZgHm3pAVkwca+TD1\nYSv9a/nj6g3/IBJUb2xV/ou2fZAKFzMiS/RkkLM9mvxwIaDRE0yuSrZdloo7\nxxgEEg9sACrilNQAUz93FtkEDikEkL032R8svmHj8ZFCN662LhEBS0R5fplu\n8SXETJK7ZaDUl+cFF4i5IzHtX6vgQb6JTFnppHfzcpMwWp4qBcGCiHqs0dJP\nsQzt09MYVw5Thnd+gq2g2CgykdOcDsmyIacXe4DDbfYu0Y3ATOdxQOqpVwoa\nrYRT\r\n=IsVc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831_1615299254991_0.19763925358126988","host":"s3://npm-registry-packages"}},"0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c":{"name":"@preply/video","version":"0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ac17f1d940d745caa62ce6690a0c0c28fb416a51","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c.tgz","fileCount":810,"integrity":"sha512-KqdCX1m56XSD28o9UyYgj2GXsjwEf3aRHL2W5QncOYwMNioXjp7FiJljXBOOee4FDD/pwSEg03wz4+/VEVBfWg==","signatures":[{"sig":"MEQCIBW2E2syhbky8HOXstqbE5iRNOdbg7JTTpTrsgezmax1AiAFIVfL1uzDoyj9rLWb+EGHbqEfSl17bta6hRs9UH4MFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19914853,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR4uxCRA9TVsSAnZWagAAoGoP/2xvjmhTvjjwu0Y6mzA7\nhMC/IA7dpDQcP4yvnVs0vIobCkshVFNuxC3R0mGVTe/sfnj3E+pqn3Btz/B/\nSPgc4AYgZT4Kz/FuOoa8K+0dI+DGlNKlv5uP2MbekVJgZKXFzS1oDAQpaQYm\nFxhd4pwXOg2kM3dIxMO3hNnB0zB+xRfPcVJEt7coB+RHLjwoIDBleS4urD32\nIMUkXMAowg7WQe6XZmsi7RF3iUAj6FBMJG4/po2l+VqSMqPif2a2kcGYG6Nz\n2RbvhhLApJXzK52B335e6kMuKIsgkH52fk5czArWqDyW65kD+Wtt7+M4muej\n5M5EaPySzr+SBqMABBasd1/bDDIfAqLmu8PRgld+SB5yQml3NpGok/8l8kZQ\n6jbG1LATn2tVJXG+SwSfuEsil4+A566efceC3B33Ptjv90cSXRQXjRy5oOfh\nLli0lVaBtrCetI9jWdAyAy7kQzPzEmoGveEPnB6NRR39VM9A5YiSvOjIC5TQ\nvVx6J41AzqBalLGBTUijrVvdIsoKxo2rwG+lVcObe7HNwE7bO+KlzPcD1Fn9\nzWu2F4TdiNQ+V1u1l7uOviyEhhNF0o6v72CLGEBAyRtctPBEG9ujzhhzGegX\nEckvdjFV8sSAogzbIP86mQZPlZQbNkRrlNPzokCREEyq5yiAeOyNNFgg1Ake\nygyv\r\n=iYnu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c_1615301552523_0.029107442374609604","host":"s3://npm-registry-packages"}},"0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8":{"name":"@preply/video","version":"0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1a825f98058701ba950ffb36609598dbc9fe96c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8.tgz","fileCount":810,"integrity":"sha512-UMTElHVJyO9p/19go9uUdTuVt0VtozwgvNASx4GBvBjBwggIaViXKBokH6c9zB2B5HSKD391sJ5EkTT1Ip0PPw==","signatures":[{"sig":"MEUCIQCNJOkqLwQ5QDTUbkw1r5JqDOdpPE6XxKr3jDV4K2fP7wIgMZ5XuXmdEOIzNQP+eD8BazdsdL/YXEyJOaefcoAYX0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19957117,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR5HiCRA9TVsSAnZWagAAeG0P/3Mx1Ipf+u28oUnatryy\nC5csw37Q6RZl6tF3adtaY16PgnvrpLt9QK7XiMcJC+Q3VA1wSFrsYClJQGBd\n+T5YtWbZTYgRmfKqEFD1UrAZ/tFsTkH/Vc8HZWKhF4tWa31BTdWl8Y0PgSqY\njiv5Jpiv5vMsIXGjj9TZ5OHZTpuNh+OxuHfSdxt4LZ+H3tSSxzbjS1ZwGzk+\nNRNefP/EajdQy8M7SJMFaUlsafzSkv7xYM3LDshi+1REuGdIojkDcHDkZZqt\nbH0lsteWDUe/301oj5C1oJOPz9SFo7MXdHav8kr6zna4mzEJVcFKQnkE0XTP\nspRfxN3vnFSvH25WzVhoctK0ZcKJJrF7aC5QkUOQHxbL9fUAE+ISm9+qQhtX\nXdn6govBzvBr5TnvPjPY+44KK/eLKSoccXgEbh23kdZhMnOKkhZt/eGRgr8V\n+Q1PaYxSoFfvhP32/DURh/djYHybAU1CU2EYrWLPsvH3jHySaccoOYOCN1eP\nfwiP/UnUioKav71AoxRlV3oXkqkEEvkJN/96zp9SaIsP0IsvxiC5yMkxuuYN\nERfSzygjbfIv0AWXXzmOMxz64U+6sDVxOflko5FXFcKbTxoN29T13I6JoREM\nLmgkIojT/D1bMr9k1oomYfsKeQ5fj1+OOzQRn19tFCd3BwuosJN5lA2NEFhl\nW983\r\n=uLmV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8_1615303137514_0.20382691485931903","host":"s3://npm-registry-packages"}},"16.8.6":{"name":"@preply/video","version":"16.8.6","author":"","license":"ISC","_id":"@preply/video@16.8.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"16d3b1324c5fd399d98f2760dab8101c025e7c74","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.6.tgz","fileCount":810,"integrity":"sha512-NJSHnt2ZkvmETdSW5CZrVoY894cjLFPThoqG7uNEd+BfFSix0JPRGFAW0VKQZuFOC6htnMWcu4oEq2nUwwaFQQ==","signatures":[{"sig":"MEQCIAtrfTEC1g/I4VcZHIQwutK+QozcPz03ZdQjTi6uEArjAiAMP2rhCX00kFsdCjyXJyxDt3GaBCg0fZpWz1Ki8tCetA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19857085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR6PkCRA9TVsSAnZWagAA1SwP/ifa6ssBPx5uWP769wnp\ng0iJi68lx8TaQFcj4GTpnRcFaTEz6oXENpBcWMK6C8QE0gONaGIWgrXzF+30\nNxUCsFc3377iFnHUSiGAAVTTD9ff1cglY9rqCx8nWkCyPUXdBhyXL+1GNL5K\ndJxhjOgVct1RTz720Hfo33PE/YU7VrJ1AXoIBLZ9G1C0BROzSXHFhZXVBIJF\n94Bs6JAjYmE852JonybK5nQQYmJT9Sv/zxM8O8E9bMAxYp2/S5kUD/rjEJDq\nlYzW2dJ3QTogcQcorDan10UpA3vozVEW1bUTZvrfchEfqnqnM9ul9gGUHuPw\n/8F0lIR7CJjId1rufJ4RnzCR0cwWCP9fmGVoTyXNNbTDbGARymqC52VUU4k2\n8INyHhX3ZlB6IVdj+9ynO+uQKLO3n8WttViL+L9HCkLKovQO1xqDz8roSPQm\nvVxESoAlqdyrFpKm40n4pdVSLvvobZip/SBXiSBiCosQQmz9UAwj1QtcjNfo\nUTmkkiAkycI7AhXe/D79WClQtmkkomRkkw6mVz/sgr0Xzhr/WZMnXwqYD6ra\n7txLE5IK7K1qbZ4UrU0H89nD/srrG8C1DQ4FcKPw5mrCHTVBZSMLNFul/tWQ\nvvQEnbn9tIbIjpyprB2RpnbkVyEPYKArczlaoznjoWpfUvaTlDcV7mGZ29Wo\nIfuY\r\n=QWG3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.6_1615307747605_0.20792723485387143","host":"s3://npm-registry-packages"}},"0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d":{"name":"@preply/video","version":"0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2203648205c33aa71b7ade80a55505cc0f44cf24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d.tgz","fileCount":810,"integrity":"sha512-ZqdLIDZAmZz1uS++YGS8aGLIUbKTiv5QBoPuxM4F4PlqV8j7TFmFY1r33IA6wKlFqSpBs1vaFA/8ll+mijiZkw==","signatures":[{"sig":"MEQCICrbUdnogQlSlBliFfjmyRbTEWhlND7642fYOy59IQ0JAiBKk1AI8U0LwYUbd/YmPFEBY1v9Liuyryr1hVOWBP/6yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR6blCRA9TVsSAnZWagAAmgkP/1Sor0Wa1IWPskzpBfnY\nXJ13RjibbAlsX2hjrbz6A2cIaaupK/VDL8mMvEXLoCfIjdnZczdQQTvLEm6P\nGngjd/1lMHXEl1YSdgtVFuYqGgdVTwndDRoqZcCpT3ESvKtbGGr1T51gg2L+\n/kJld2ZsmxP/GB0Jshya7QP9TU6e3LyJ6SQlxmL4R3dPsRkd7m3dtTfTzmqM\ndxyo7fB9QYJFSgUTWKHMc2EavVQGSrA8LmJmHeITFEJhwtYqrEfDvvuDEmkB\n9fFgJJsqPofzxnSydHiyA6ww8nmQFOCuA5S6igEF/BMofH0vTr9RCK9dTblL\nHF6KuKsWyC5RLTEBjcls9QNw4M5KNV9rFDOgeMhBQEMUwhHEKTnkRbutKdNg\nPpklcN1RszJjcrmz/8Q87ZWz/lWUxRhvq9CouEmbUea5Ipkk/mBw9pYruDkc\ns0MQ7CqT7Qc/UEU15qrUt9b6BrXJcYpWkgLLYHTor0o1KyUoZGEwp0+xsalt\nhsoR0ho8lvW2WWMe9R2+6eJ6Iu7Otz0Pnp9O5agGeqcrjl9bk7pqSLPXB4zW\nms5KGPIgQwA7AbhAClAu/TOSWqqCR065e3McCuKPIsx5fZTxrX/UR0ZCIQ2l\n0VEu/Vg3x7OsfCWu+MOpcu17JvPGGWT/YuQDASHZCxJbQopJD5Fx5Rs/1WCX\nVrNG\r\n=54QM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d_1615308517246_0.2874848070443039","host":"s3://npm-registry-packages"}},"0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b":{"name":"@preply/video","version":"0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e7ca6c429fefd1eb0db0e114b7689f7aefc7b7f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b.tgz","fileCount":810,"integrity":"sha512-iv5y4s0bb6SmONj/bMRFUncDQdXwwEoHoqUIimqDRSovXCJw5Vx1VPxizAolL58hTP68CEuOt8MaXyTzAsrHMQ==","signatures":[{"sig":"MEUCID9HYOkOQTLknDV0GTX0cvqxqZkprkIlm4c9JKr2lLNOAiEAhtqGq6rm1J1B/WkNrTgs0V0UCT5CuYcxW9IEC3FpqP8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19859767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR6i3CRA9TVsSAnZWagAAP8wQAIURxkOwG3pv+2xVBmpN\npl8t6FoCMuT0Yapm+/NvnaI9Cc4WsGsRQv7b0WXgYAFHLrZmMnWpF00adumb\nBTXrA/vafUVOinj5T03q2p5Woz9LuInl76uTH2pS8gGolRrrwqfKJoF5DjHB\n2om6o1ALwOcI+pxTLIP+3MiZsd4oL9xemo9zaMuy2rinjKjqu01YBT+Eg2RK\n2rbfbI/TDCrcmTXWlEHlehi2YBUR01x/rPSA/2g6Ra8mYbgrlIBPJsuhR2ad\n1Nj3Ns4sKX1USkdVT1IFGhKVXI4T9BU8wJx3zd1hzy9xHN2YZtAXNySrcSYe\nqLU+VCPswDJK635LPaR6hLwN+940H1tl118knWXX/Saf3mgCgp+zsRmtOxys\np0uE8SzCwSHRpTKU4sRB2x5Av6DHIdW+t/gvBK3Tqc6vHRQsoof6X5r76M5e\n8YVmadejEMgK+v18Na1p9sHf74/vxv6I7XgxzHZd/u5zn6iF/enzXN/Cllye\n+jZamic1NlKXRfYnC6/fUtXIIeg1EipY+MxLl+Aknh2o6r2X7I5KkYsQBMXL\nf+k66E9GDk6fcauhOh0ynLOpMUtm+2O16NQEZ3dQw7T16cqh9hJW7VWnKzMD\nfpLkT/Vt1eqDFgiN/pNinDa2ceffJ4aoIIz9R0sOOM21V8zR6vL8JgInSyxk\nOBPQ\r\n=pwO8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b_1615308983036_0.233453193677434","host":"s3://npm-registry-packages"}},"0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d":{"name":"@preply/video","version":"0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"06ab8a05573c96da959c48d70b9be41213cc0a9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d.tgz","fileCount":810,"integrity":"sha512-WaWwTqGnBqPNTVgESYnSCPX7q/8yHD+wIgxrHmHDbOOJfuYzHnVngduB+VAjfH21TP/X2DHgKFQg/zRfwQpxIQ==","signatures":[{"sig":"MEQCIGeP0Cel3+Sbo8WvSyu3l6spsxFM5+oJEo9ZROLOZbo7AiAQFZnp+6R1jzJ2lw0fx5Y9jLPMKOuDqS+LHQrad974wQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19889897,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSHcECRA9TVsSAnZWagAAY04P/RCcsz9xYme7o8ay//RI\n6roRoeJ15TSM8THwdhyhLrG4TkTQyIuk188q0huUhHDT1ZtXqW01gqG/QkSM\nQimRq/1XOQoXBctNlWBcI0v0tjRo0qM8g8SnqLyjAvpgGKmBsU1Ke0Scg57E\nr/Q3myX9DmdtyY4aVu2W9FlwgMUDEHO9e7MqOa7hIKUubzA+X/kK7pBXjYfZ\nESKTV0I9+Ve/Sq4HhP//AV+va6XFt8KjYRF5b4Ar+kg8XjiZULy96fL6jU8G\nJcHGcCO8HwZh2E8hEQgQgl4MgZbldYNTk4WRskr8TEdtbPdXvUCKu3ixDvvW\nWHJGOq5QM3NlvJOAELz1cQp9yfnxYgJTSaaNKmt87//0dIWWROsg5A3TinIR\naobWsSqLj20udxuYSQbaUzrjtlBc0VNTxpAb6VRSHhYnJTRsKw2Gi+226W3T\ndzI5R09q4sp/S2y8OnPDo/M1714vSUSJLbhsDRwukMEf51hOBE5od0wn0T37\n/1yxehR5cE2Yg2ZSSVJBaF7BsIVyCGXeF8lqJ208nFgiP0CdZhdCCHBmGJ/y\nIqNrqwYlvnFLX3d/zVYLwofFrxEejZyKbsp/OkPmPxqYG+CPBKI0zRHlbD5/\nfcq876REt3n0NrBD3t9VlPRcJFMYMGEy/+Zw94DVjCknXblCqTSYnXTk3onP\nskW3\r\n=IWxJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d_1615361795289_0.7819102621872258","host":"s3://npm-registry-packages"}},"0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d":{"name":"@preply/video","version":"0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"038dcc0131cd589698c927e4978c57f183f4b45e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d.tgz","fileCount":810,"integrity":"sha512-xCitTHkw+WdTFaPHdBSryScnY7BjPr0zmrAvdFK8ZftqhCz7yzYKwXqy/8uhlLt7qNe9egNRdrPwEAcFNT998A==","signatures":[{"sig":"MEUCIQCBRUi08qs/BFITzDvOdmw94kxkdEVmW/1RDTfI16MFbwIgT7cFoJmujl8Oic0/Uvl+f+feWHlena6cnMh18h8+fUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19845646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSH+jCRA9TVsSAnZWagAA/w0P/38pUIu4svwNemJK1DGt\nB3H7Fm68BIWe+Nx8/qdElAh5EAx4Ey+JlCnlqJnYczi61EToUDCZegU9Cfdo\nCOBZKG/4jG65+s0bHt1takSVv0Uw1mMHXYidosM3mah1Q7AmHu0Kc+wC5p4B\nM2oucZzOcXfsqzkAbyRe2PIDeANe4cFpu9VmmHL2NZicG1OIKm3PNISTpcnM\nHgM5XJFVCyIKgDK9xJK0rmNNTYaKcUlUpycYprdjp/VQKA8k+ssOvGQHvZNK\n04JLP29zlRjitihfmI+ZoAr+gkCGmMeHAY6iimoxf/oNnYwmoo7a3EXoDKp7\nU2mCEZP/10P8VyDdM/1lrv3H5EjXhy7glRW0A6olYMgZQl7Jg+HuxD68NfQx\nS07wgzA7Uy5u397SS7Ar9vVL139qye86J8JIEbR8wO7o2ng1DBEBfDS/Upf0\nOvStF1oWI8J+JUZFYF7GI7dBBfcHFQkuvjlRGoCggmq4mtWZXScEXEYPHIkN\n/FFF2vJX9Zfzgzo1oXqI2/GNoNDXHjrEWtWV1yEG8jjh5j1VWTr6cXnu5jRN\n+oYZexOMdz/ztxPRNMZIsknrP8HsNwKyrKMT/NWZ3oEm51bfH9i0TvyjALQM\n5fGE7RgnntULPgUn10DgUB21pHc8vVPpuKA+w76G305s108UWE12yNER00HQ\nripn\r\n=z1cO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d_1615364002984_0.9682798965187494","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177":{"name":"@preply/video","version":"0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"984f220b133784f178ede1bbb597d17505614fdb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177.tgz","fileCount":810,"integrity":"sha512-79zTDGbloOFXj3yTA/qLIjsvbPWc5ShT+7MBmmSRTIwlDnzW5Q9ID0ddgmRt/L86+YA5U39sEONEFyb30a0HRw==","signatures":[{"sig":"MEUCIQD+0C5Kn7xROQq23HJ5tEtzBgTI1PK8ZJHS6PW/tEgrugIgDybXOOF7b0c5SB3jMXTrasLV4fAs84xVCw4BevGg6Co=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSIHUCRA9TVsSAnZWagAABvkP/210QGoGAyFF3S9buBOx\nygrISG1a6wlCrNlm98XtQW9SJDgewLVDGgP+GNEmvpo2M3UOtvGOZ6gd5Jco\nrz/zTeTZbV4T6V8zH+7NNKCRmbemyTugKPhPJeXG4eVaefLUdisNHIPrXxTe\nI3Z0LCkcTS0AKe4et707HXxp4BnEFy3yoNwn7c53SgGDb3cmpM1zpSt5qLWn\n7GWsEMWEorQyMzmPMRtEzE4suRbzQ3xJrIb7NyhriUr6euL0VU6uI/CcAV70\nm7QUcZuilkxr0Y6Up4VhZETWj253KXS8ququGpFmsf9AMihmeFfxP9+OjpvM\naQrctUbet9YKwa1oQGbwkG264npmAwGiygL2AeqDKu1Kqg3Wb1oRvw8QuqdU\naXHAvHQ1ZGYhbFdQmLq6kfJfMNvHpa4H5+DLt69EeCivbJfvzyYyybE0Xu9X\nW2TqSkD0d5tGHLJj8gX/5Cmmdh2x3B+Ct3epTxP49/pcNxcPFved+pbZJTcJ\nQSiytJF0eyPUtAleYZgJOo1fyoe7CVxNA7KtyuWbuANf3f/dyf6VuHQxU41g\n8kxcfzBFRJmFw6LOknF8IpjhnD8ZXpcVLLZ02Y1o00SqwZd/roxHVFdHzD4G\nNOUjFtK481QQSHNw4js9NUBkx0zu/gckdguEQlzjwUfb6AuXnrlvAvwkmgJi\nRHls\r\n=f5SQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177_1615364563441_0.30574355381560436","host":"s3://npm-registry-packages"}},"16.8.7":{"name":"@preply/video","version":"16.8.7","author":"","license":"ISC","_id":"@preply/video@16.8.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c6f9c3314cede243dcd26f693a7e7f9d104eab91","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.7.tgz","fileCount":810,"integrity":"sha512-2gwcgXOl96yAvnvWqnzP6Tw8vOqsuHl6za2FKtaa3bgAHo8fEl7IG4KiRPtW7+RBoGZo3owGlDMZ2DiaJNCyFA==","signatures":[{"sig":"MEQCIBhQbqNPiNgoqY7Xu+D00hM22C2QAMhx62i8nJg4+jigAiA6IUbOdwP1sv2pUWWG4yb1LJ7RbQ0D2f2l9jZb6PbIKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19844281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSITvCRA9TVsSAnZWagAA6WwP/1hMJy4+UFO50Am/UdOM\nc+lWHiLG0PynajKVkipKg01e6dI6zk1LiKM4cnXPBxff21Q+1p5h9POR18Hd\nwKoadJjnI7IZTgp5o2UnTLDIqUsAxCrIVIX+hSJo8s60O/yoa8F+ImF+WxvP\nQy9OBjvVgxoUPTmiQyg2iMle33p+KjqBWY7+Uqj7Zh43wd33p76wMbjYr8/o\nuFT+XthKepWYXlyXU0SDvsaahhsYHzcG2u24jHEpgEvcUSxeTaGnR+cvY1FR\n/E9M2QR6vO+mnZZkVFv9qAOrpM+Sh8pdgCwRko9vVU3p+IR27yiJUd96BIhM\nI/xVORUcu/gYSTf2xKrf+kgLb8iCHhh4cDQqToa22tqIIqrTCj6km0GCxRs2\n5V8S7+NIyl4f+TQ0LIQwRROkIWgoaFRkK2/G9ZKmZJuskl8mHW7MEOE0nr9j\n3tDdzhnnxm6b6spZ3kkuyVmF+eXbDpp0HtqYu4nYxwbLhK6eQwguHaAMm7FW\nD1lSnaofg1zQX57Awq3KJ4sz7OkdO+PtqMIiFKR3YpZWdvBLGCFdH3kgPnti\nlorhAdHVdTEwXpAk6SbPIChlOE4RvvHR/cOOXfhPTGAwDT2HtNO/ud8OM/TK\nl3OHXldQ0YQhXpRkSeWfhA+8+9cenjj1wRvHeekMZnBmLuQArLCFm9uEqzCV\nq7ml\r\n=38AW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.7_1615365358365_0.8379307676247663","host":"s3://npm-registry-packages"}},"0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8":{"name":"@preply/video","version":"0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"56604b2ada15fa734fb3f2abe4170da081efef7c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8.tgz","fileCount":810,"integrity":"sha512-lw+sTSzBpBConCzY6UTZDXtqdpg+HL4dCtt5E99i3r1+w5r276j5n2zsSUFVac2jMq2ZC5lENf13nkrc5hEBcg==","signatures":[{"sig":"MEQCIHFmNgzieACmJU3O2AyD7IU0Z9I2YvWa1YjFvI+JeB/TAiAB+1uVTl076xkejCwcwqkLUzwyI7PzYF4rLIFZqel25A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19876493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSJqjCRA9TVsSAnZWagAAEkwP/j0aQsQ3DZ3T85nnBMPJ\nH5wSrEWdGDAUfNA+XGqxEQ4wCbElTgy8wtT67YR6wUKGlH/6Ds3j8xr5zReY\nauQ8o8A3cUNjYWnB3/Enwbqu3/u0EzbXn3SXBPZeCPRwFBI4IX9HZHNBvQ6F\ndlApk0a1DGMI9hP+OhPaBnmz/UEj5a7IojXKaA80oAxVN/yY+lSjCrK4WrFy\nAfKHM1xaQO/bqsXidAFZ+eRjSm/vFL7ttFLoWBeI9xtg3rEzgw6+JNR3CA1l\nUc0INkXoUMopQb8VPkPMEKwS35QGAEhdjJzue2l7h2etcagOqKIkZvPoM/C9\nWH0tmy60GxBSl1bNp8sp+6F2cU0SCZJvXBY7zrCSZIm6x34TQL5AT2TX24M4\n9J2g2iPFaeJ6Mj5BBcXUClhUQw8HMvNuqGLd+lVCnQqxG04mtPGB9ZDenYti\np1QHy1ncwAYqPbM+2mQqgDVgEB7wuMWYlMYT+pggd7pDgQyu8bamgDzJC0yk\ntR6lteDuAoYJ5ZyOhun+KR4t9zIN3hcC9rJapbccduiFgnlaDKIbVoDq0ULi\nZC7Zlwy2WtMF+rwzpWiGCKL3xFAl3HI4M6h64tA+axEQzjeGOuIqzWjWuV5z\nRN438DddUP0V+3XDVtD9AXlZHYIJUYHEqBDyVgW6fR7kpklNzlS9j07/1BWZ\nUdUN\r\n=Ooce\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8_1615370914572_0.6810633763742098","host":"s3://npm-registry-packages"}},"0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0":{"name":"@preply/video","version":"0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ffc44a5df6c696706b5f8a863342246a14a96928","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0.tgz","fileCount":800,"integrity":"sha512-7XOkftaeurHTJEaypnTbTvaypWHKV99UwNPowMRMloSlUqyFpfcEmOzBbVuhKjtHnDjiqgA9pvD1tvNr7vLNXA==","signatures":[{"sig":"MEYCIQCtXt3bEhQJyIeMjc5TZQWZkDtVqeBCUEbAJVgPhZFrhQIhAIrYELquxwltyoiaAW0Ql1uIjZylbVe8/ZWaIPcm2ZCk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19684887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSK+iCRA9TVsSAnZWagAA3BMP/iV3M/fKyET9Cv0ypLQo\nBIRsYJ8q5bDyxx/oa2UbHHoy+SCehVXX7p4tYD8pbzTWckP4ZzHrDCha15I3\nAtDjklRuHBgiELFp5jAWst+H4VJ14UjnIwO74pNmG11lCFwl5jviXUBWivpg\niEl7+Eds/RQlNBnRPcP4noSUaeaQb+/J+RvbEUeePf77FPlglwRF0+OTG92p\nxfdJkUR5+72LhE2m9kZnyPYTjqsFYldGy7Vu4cmkCdUPpghz/w2WvBbRhkWv\nrKyrNfocTKuxOz4Ya2Pl/mv/ams+M9h/rjczjNPDYF38bNiM9r/h7CIUaykb\nUx4TTZEOopPd658hIj7R6A/thKfJZF7RrDLN2XqbAAAvfJuQTnXQtnk3ntRv\naAmkaZawzfu3gM1RTh5Msq9+9GUARVvEPuTo/KQce2IKHQ1kktz5vfOtGje+\niv+miiMFmkWq0cFy9NGAxAnvEJb+yL3HKKiodn91maRjdyd4MmhGX5OIFnMT\nbw50wVUl2QxsBufvZ1Hi6tlft/oxMOMp5uDyKD9/hJNNmFtMEkYgHZUrtmrM\ntCxaHgRpDuEfef/UypLgpOf52RLFvKjhSWIR1cYodTLYbCkcAp4cQXi2PAnD\ngB/HQ9zEMI3kryU0SXLI88OXBaiVCKRn2UCo/BPR8KU6Sd0Yk+7nah3rfkF4\nNEQc\r\n=K5wk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0_1615376290218_0.9409230696612145","host":"s3://npm-registry-packages"}},"0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6":{"name":"@preply/video","version":"0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9bfc6ec206feb5446e041862438a29e4fce875da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6.tgz","fileCount":810,"integrity":"sha512-Peaf//EAZHgiTLRy2R0qZz/AYMnsQdl/29KJPXr2T5T4K2AE1lmVyRhFfNFB/24qRMDsPUWitTqT5W+QDKqqmw==","signatures":[{"sig":"MEQCIFG9h8dT2wB1CHkIN2917daEoIum/Tf9nH3hxFu8sjScAiAen2glXynKPhCqKy3xGFVMAGqpBQHm5SQZtZsuv3zmAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19876493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSLJtCRA9TVsSAnZWagAAHcQP/2asqQQAPb4vDXzPzg+H\niux00ir8mR530tXMyCsEETucxg6uRN/1xTKHyl7vjqTwtVcisz3lCGiOeBOZ\nt/GFbcYIj20rX4Y1nZeWlNSbgmIOqQEfu4LQf2gP0TnA9ivEYghEYvNvoYxu\n97hYFauw1S+1mnVraAkSfarxCI/LBSWrkl12Ljyri4QHYHZV0WD6jyN/7mWA\nvRw+tbC1KOxOwMiBpqYG6XwyVF2xssd6GaLwrSpYJ5985KgpMTMwDNnNDd4F\nwy1eyEY/Ba2GHN5yHe7REjdxdgXMxs5RvZS8+gt7aMNJBIgyrwA3MIhnyTWC\n78CcL9ZSdo/b+ZpMZj6nh6m0HsW6j2jhbt4S77qORPGTv6t+khJINW4+3GHy\nT/O+G5zrhiRLG5z77l3s1PyZ46vdx5JYuwH72S/ArEdh88B6u65P3Dq4g+k0\nisEKvnzu2ZsF9+vHNgjEF2me30jIuE7AiJWBJ4mdJEEo1pJJ4T6JERE5y24L\nxPR2sKulAw5qWhgm6Nd6JHUVAef7BD3O2MHlvcnHIhWAf03NhizBThbE3MeB\nVh3ZzUHZKHl1r1K/vuv/YBhTXXTnCcfd5dEd5Kjr5zUalFSikvKY3aDoMuRJ\nXfuQ7vbvodLGzbUGv3ezU1Z7hYbPXr32gELHrvmRkjxS7XfMwd424zW7q8sK\nMpbj\r\n=Ji5U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6_1615377005030_0.44265949332305854","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b":{"name":"@preply/video","version":"0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"425769d39b6ce6589622e0e933d70509ccc6893f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b.tgz","fileCount":810,"integrity":"sha512-BTMsPyHEHJlld4366U2sTdFowZ7p6ENRmGbLWZgWDoxulMKWNoVb2AbsOa1g/3XsEgnwStkQtGmTS7wIBZn9og==","signatures":[{"sig":"MEUCIHEghRPlBo9DzwqS/kx4Gn7WdI0zMvJCSl58GMSPF7+lAiEA8hFVXkwqS4GldHtsLQz27HQUDDXV6q2jZaUhvXR+ogs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19883682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSMxhCRA9TVsSAnZWagAAmrkP/1y1hjRNWIUVKMDMUNTp\nscWZj1ckqlZx3HdZ6kPhqtueANy9ag4ngfrz+8aHs2bM9nVgAjMqSgvG1F+r\ncJ66p/CptFWxPhmHK4UciB46oRoQf4sZGNlyPl99K1Vw+F9XZQkSfOc3KhDk\nR0dOp3kUlbmOzV1RlxQeZf5QTQFwNf0dMUxx2hktU3qww/69gTB0pd5Z3G53\nwBmK1Q63U1kHUGsgUUsaid8RbYB4o2IRekxkdYUhio9rgxYGS6hePpkJsYWk\nYNe1G6MSnhIVAhtW1ovpmvKjOTSJKdAzDkM/xOQf0VlFvthirshFQg2ruegc\nK0unC9OJquQgFzZh5h0kfVdmZpV/ZixPice8/DuK0Uga+kP18ERxB2Q5WMqX\nU+LUF9QXK6BH6FwvhvHNQ8+q3az8TWt3SlcS4Z9MYt9HwP5jhFPT2ygDsf5X\naDX6wTNy6AoasA2ZSfAIrCoBKn1nbYxlkHCbn8tFGE9KQ0hL/knSIuuLX96M\nr/d2oft4t7wvpM4VZE44zua8DCU6vxWGJ70uW6aGS2LnWIxkvU6HB9Ic30dR\nWE2bojMca4td6doB6WKgFA/FbT4QcF0WaWUjT/6djvSXPvM3eliev/wKy0eh\nEKO5bxVjjGNV13GKl9a7Bo0nfoJFAyb14aHrm5DC8+hnHQpRccQNj3ABh1tM\nhegv\r\n=OzQc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b_1615383648643_0.7627004612013109","host":"s3://npm-registry-packages"}},"16.8.9":{"name":"@preply/video","version":"16.8.9","author":"","license":"ISC","_id":"@preply/video@16.8.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e492c3038ca010eed1e0c7b83fc4974c0458c378","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.9.tgz","fileCount":800,"integrity":"sha512-vNda6PenluoJwu4AV9NHL4UwLFxghJGnqRXnUcdYpXZKgZEO4sUhWE/Yr4avVKhtHY16h+hJQiwxlpoMaP/pMg==","signatures":[{"sig":"MEQCIG67ilzfJqiBVRyHOoRUmgHqyx2GbBLA8g9F7DopTzbgAiB0EWXVULn46HwvUXmX9b5jAlMy15skSW8hrIov4FrmjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19666627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSOjFCRA9TVsSAnZWagAAi5IP+wWdBHnWAKwIPYq7GOCm\n4ezcMWH8/MHf28r2HjmLI1QqzuwyJ8JXvuWxcNP5Qs/15NvCYW1hs5Reus7q\nAjQR3VqHZUNmJfQ89FNIQQH5HFtZVJ2KR0JVr8jJkYp3mlDTCLMIu0F3d0Is\n7EmvWgYXPIVHzAQKABA2RZMUWjWkBAYFOy/u4cK/djh8/0tlOUVzJj4voUDt\nYkVi1e/u7kUb66HpFg70H1PWXHEKKl/KTRc9RvTIGm1di0tzX3GsErPyrp+n\nixS5uWG7jzC0w6N96uFL0Rc1laLV8MML/j97rdqlyeQDIth9bsEs4Mk32ndm\nXD5AqY7+Sxqx9qBDoOVP9MDwUxV9G3OL6DfiZ4cYTwBcqRywXmUxKEKvE5D5\nMRcPLTTHfouKaxcH7GSUyeKUyk7KbAgH6dfGSWj2bMXHntqZBVYJS3BXJVcC\nZX5mdmAhfVPUKnlYP9evWW6qTMxM+cmXnoL2cEDTA2dL8PJ8QSMjp2usa3va\nw284RX/BJqYxNmfMVPJ+ZrtMqF/hv7ljJ91/sQKGam/4vZRumXnaB23X2Cay\nJOHzlZBwefogwpPlTbzWSA48a21pYWBYMLQjBPzoQTt8t79gF8BDSotoMKRi\nV/PY6EyLjGSkrsYUz09lU5SzZUT7bOB6pucSw+7ovErtHXDHz9YFfWOcKaGe\nabef\r\n=ei1T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.9_1615390916092_0.8622899684941498","host":"s3://npm-registry-packages"}},"0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c":{"name":"@preply/video","version":"0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"62e45b90ec0e1a753a7ca13f0ba2fe9fc15513c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c.tgz","fileCount":810,"integrity":"sha512-msoPPb27PS5BjsrXN/aNVgN3qjdxIpkvrd6Lt/wcCZgGwcWFfxjxxuMiWIo9ave4hIvlAfre5kJFEh/4eeeo0A==","signatures":[{"sig":"MEQCIDKZi2Npj93L+68rGkCrPbQIZv1gquLxQZ3JWH3gjlsuAiAtSGQiNkRIMFsRVdgJPJxQQXnrYWxUGXjY9i6ny3/9OQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19884453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSOq1CRA9TVsSAnZWagAAj2oP/38WE7+do6oazmPBAEah\npdEcRGnW5A4DBfqRcSx9aUaXREVYfYiEnUkjd+F3cqh5X02q4HNsmN+uAOFw\naRY0mncUxib/BQy1TLMaINWGDnUcNGycBagZP+vJ54KkRynUD7FyudZr5xqV\nVxVRHVu8omMib0i7CBKngxGJNjvY1EQVIf+pjkTIIYvfjf77ySE6Dkj3oWY4\nvcvaiGOvgLVBLnpVOGxCYWbhkzLMXIxMWaw1yPb/OeraPrHGW5kXpLgi7bo0\nlyazndok9VFlN+8L2OvCLIww+DtD+DMkfAJAgeah3wPFdNwDcgHLWLY8xe4B\naIxzjSqsvZy6+WYfN2Vqk4jFsfqBhbrDE/D4CRMij+A0q5M3WXmNGkrzMHMk\nHZp44BmQYyO2YUmomOuhr9vMCfs2hM+L1xkU1030seLg8OVBmwREXZ5bafjb\n9cWmVwl/m8V7hepCdi0nnYMnJe6Y+RvatAJsDcRt9sGVZWObt1/zMLqh8avO\nXTQ3QeoxbjKCBKxKWA0x69XU3HbMhcLaAnLstPJwluFHb9f3iR1Vfvs5jH5i\nU1LEj+TH7TyX1+G1h5CZwuBHr14i/yh62GKV+E7t5JQFSWVJV0/rjSJF+baZ\nJsoVqFUIxFpOdeUAy4LD9N3kstK7VyooQ15vmQy8yGB6VlIJfByIcjkjEGVR\nzITT\r\n=GWat\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c_1615391412370_0.30017161000381787","host":"s3://npm-registry-packages"}},"0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000":{"name":"@preply/video","version":"0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"daadc3231246929c26e7302993960de4899fe5c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000.tgz","fileCount":810,"integrity":"sha512-BonPV2s+vu6fNooOz8RBPWCYMYTtY6Le1YH1wZsVAZmdy3Jk+H2pw3G1EFcM79JtFwPJgo/Rv1xw8z+p3ZFFzw==","signatures":[{"sig":"MEQCIDKsDtA7AiLzxzMqvn/rUh34hAPfhiMv8f/5i3BlJOmnAiB24YOhj3GH0mOkVbdRGuktesiPdHq8Sc1KPJi5cQ/lpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19887352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSZv5CRA9TVsSAnZWagAAJdIP/jfaGeWR2lh+LH+sy76i\neuS/lK4v0McbRiFtpAhLB+bpMkAeKWKMgmzyyG6vpUOXhwLsUrEQMms7WT88\ne3Ku9DH6vSVQEhrzmtjVKLCclT/+KU4wSLTp/SBDT0ZptROwt1KI9X0Nic8L\nLMVJRYnH2aI/LAks0n7g6FemjhcMY8RJSY44NJ3oqYQt7FvxMlPft8ucP9RL\npMqPQ1lG6dF9DWWzjwfyYz0nc3piYirkYBOQVZOZRkea8jok4kh/xfuCuSqZ\ntOZoc/GUVwSnByI4c0xAunfqKwtboS0e2ASuS3++5vcTFOTc3Fz15nKwEfjZ\nvNKzErNbBUCS6j8xlKLjcxRc7xRP2mdGv9u4ObuG1b6MESkN+fdb4gyiC6iO\n8Mwt0i0oEwOQJ42qoTfIkr6L3Fh2+MTKBb2KjfEiTI0eQviLoeMdy+Ami3g9\njsPIm2APuInpZ6I7wslK05i4VWHvsHX3uAvL2s0iQM2wCCrcvqOHfbBOzH+R\nP6evT12UkdpNzGWB/zFaGvoQPsfEZh0Vet/8JsdEXtNy9ImuGwsT5knUr1JV\nU3FtmjfVztI7PS4mGJl5HQJJCYP7THFBT7T2uy21ScvNXHsQBNp0WrrELVPP\nLJsAq7qvCrxJOE+wDGKSJ7NW2D+HMufLi0k9ZqiLmIHDI+7K37tZCIwugB31\nIy84\r\n=g2Fm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000_1615436792794_0.6853334892543315","host":"s3://npm-registry-packages"}},"0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96":{"name":"@preply/video","version":"0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fe3e66101f243b0dbda7dc6dc4e740d3a0ebc4ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96.tgz","fileCount":800,"integrity":"sha512-5O/T34G7bmTMnse9GbKcOYp4Kai0FvI2h3GJH1RqiVn1Jc6ydcI1iR17F7xkNe5/LjCGUNq1MaK0ZtKL6ajhlw==","signatures":[{"sig":"MEQCIDrNBMRvSlRkiTI5Q3wZeWJEiDNmWgKtD3IN6NL3EzKzAiAc0DpHlrKHXuZgUHUZ/2XCW5cQrjFoRHqngZo/pMY5lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19709010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSbgZCRA9TVsSAnZWagAAkS4P/2txk2qV9jkOCmo+OXMI\ngAfO8dpZslZp2jkAVHOzcdrDX59fqbTYg0cdO0WPmCtpIYG7Zrd3SnxN3XM0\nsr+JbJhebE/1H342eH64O5YuZmUGQ/F562nHZVJAIJ0e6YJ2mtgX/r+Gwwnb\n9wKLgbJgShpDkCu1EUzvWDLW2QPp98WxIywv+Dm54B6bXz/MNMGatgj3hxKZ\nTD019IJZsP0lOujAfPN1HhxigGOcaEAEOI1N2WaDCIktXMw5OiFIPCMzo0Bv\n+mB/prsxyha191XURcW2zEovLYa112qwNGoyMmXUUduy/KTdSOhiP3ihKWAf\nYQT9BZ8SgjtA7V5b/uMkyRnEk8i3yWAQ+iLcinF0cZkvwPik9lbKycn/zXBq\nuAnhdXS0grC94SNdrPCBt20kLK9W2+Urf4Qx7dNPb+VyXalZ6nDDWpBrRkj0\njVNiFwxbrakYq3NDMSu9CHrBLZBUuFBDFeiU1ick6Tk2ym5RaUvX48o7nHcB\nLqnBV7hgV/9jSOBHtUWgL8gnRs1sUTDjRxATEnJVrwcPfyMIArngLLRAFJSU\nFOF9zFYXgzpf4iGU70kUHP3rsHL5sSkPRAPf2Oo7EJMusgC3CHn7DWW37VNj\nbZJVB37dA7QS2/OphpcMFM7dJkmcTiRZmXniDQKWL2fIp/FSUZdb1aNY9vUt\nUmjx\r\n=qvVo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96_1615443992335_0.9639682232676712","host":"s3://npm-registry-packages"}},"0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f":{"name":"@preply/video","version":"0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"341964b5f73cd729bc5be76382f8406b0de76373","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f.tgz","fileCount":800,"integrity":"sha512-3i/8nCBSZsLLdqEb60/H5faKHw72Rh76IZpo0oHe4ukqwzvlUsTftO0UR4TefOO8KrMOLgVA9AAzDqxzQqF/hw==","signatures":[{"sig":"MEYCIQDCljcoPZiKDZwH0wtc6G0XfiR+o7EZ2yNle2p7IQaEKgIhAK7Ds50y6PQiNNWKKOIYeumz5CAdKNOTbRyDcQrPZ9iQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19709070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgScWGCRA9TVsSAnZWagAA4fcP/A0KLxFHO2sO/l2xfYQy\nSoHAjFCAa6iGFjQ28TQgpbkzi+DjvKn6L8ud/6nZcEgQOsfNUDsUzvbK2JU3\nCUklbMVAStSGSEXF19RwAMoIBEP/Yx8SS/leumuzFyOdIj2TrpQsUo32SHwj\nkypoBkPDk+h0/MDHP6wFQ1gwYWZI1Y4KHii+qsmCAIt8or5phhGwSq/nGqQ5\nukz+fPfS2EvPl4Pb1FJb2nL2olNQ5TKf3vklIBXkIoy2ImrHLSmTAn1ftNnK\nOenGZ4jeeCmk9stMc6Gs3qDPU8w1xh0FMV6m7KPR3Ur5jXtgcZLRafjPrcOM\nPt9YP+wPw24xNNqJrtqfHA/fQ7mHwcADTKDybeRsU4lym4gRr4LfS5zBtzE0\ntkaP1q6rkzG3iTkeL2YtxwGGcvTgtCOXNg6KF3oK2Z1t7ot8SkEYxzBpusj0\n9xkv6B/UvdpLXAQpe/G8G68YW88BwuRxlwBifh2Ao/8jHTWWCakuu1pe04vT\nIG/NxInhmHMFJFMDy/kDAqO7rI7lYJN1PV1sczPbCmHmFh1xs54Yom0PohBS\nbp8I0WTZ6q0Ti7Si81mZs8GYeaCcUDxBVajaOcolzceCvrBY9S3GUmlTCfsf\nxkAOv4r0gEVmYVl0BIVJOmz+yG+4RO/QWFzCOwbpETB3Ov36lL8CcKZmUYcO\n9Cxj\r\n=hns9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f_1615447429422_0.5006514048644994","host":"s3://npm-registry-packages"}},"16.8.10":{"name":"@preply/video","version":"16.8.10","author":"","license":"ISC","_id":"@preply/video@16.8.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2db73638d0d72833c1c086267551bf61a3a2640e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.10.tgz","fileCount":800,"integrity":"sha512-swH69P59qMunIjcdE/hBebEYWwR0tVngZjD+jIm4u71vNP6MCSNxDqj1LDJwzb/FMVn+Pb4w5HPNYyDqFqai0A==","signatures":[{"sig":"MEUCIEqWzI942xLHYEOQFP6IAn2sMj4MEe8U1J+qw31eYc7dAiEAtVugp0xbfXdUc96vFu7vMGBxuYU+pWhPHDXyGDS2bL0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19707391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSc8iCRA9TVsSAnZWagAAdnoP/3n/dBnAipCZpYbtnryz\ncQ0lZlypWiIMCOPBtWzBLy2n1r2CmC13lXQLN8u7QmkapkbZNn8ZTr1KGoQ4\ndY6Ep90n79HOiTsmACab4zxGl6MUuW38RimHIfygEccAgoTtqx1LD5uOhiLj\nIb+3IpFUxoz0iLipRohisc3s/Pd6JcH3bQS/3UYjk6k8yjCHIJhpzFa349V2\nlFyLo6foLBux/wxGc6IZdP1+XyFHQVwB3dl8CaYK/0XYxdRPY7TsqtDuCAl8\nbFCW6IyRH9g4tYYVPFaFp9OOB9z2jH3vFHq44rQekNufy2Ussp7veXotIYBG\nW0ORDV22X1ZGVz1PbOxUOTpRZiBZcTX3I2CXmoSZHOORBkp4URfHH59dDwU3\nFWD/349vFCv41/WqiLDe03u9vDBOLguGyWEWCi9AX3vjiBMJADrmJw3lCwR4\noBnYHNTAO9Zuz8xW8hz6gcLDLAs92N60TZOnicif8d8qXJtulbHjk23kLOGZ\nfFHMSxwiScHxnT1z7PS79tapy91QoeByQEk5oTLAFAyeOpqzR6lqhVqw8fe4\nKmQVE5UeI/hkcuDvJsNUEBTk9prPbx+CPrZ/nnU1fYJluAT3IoM/aKN5JNPS\nMtmcwEDSdP4vlbIxagmSGtdj6ls5851Zth1cp9KRR0hoQlM829mvb+7KXbc0\n1jtW\r\n=Khzj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.10_1615449884396_0.85849076563702","host":"s3://npm-registry-packages"}},"16.8.11":{"name":"@preply/video","version":"16.8.11","author":"","license":"ISC","_id":"@preply/video@16.8.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5919eb96e92ef7634335f10316092b96b553cd79","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.8.11.tgz","fileCount":800,"integrity":"sha512-HOWJ6E0rknFjaktU0PvpXhKslHO9AF5b4Qd5l0nj4DETaSGZELvWT9wlNhOHgAmh+hJHb9wYxzrR8kN1dusWXA==","signatures":[{"sig":"MEUCIQD7ocL4q/uVKHV8k4Lk6p9iPkeg/mFfTp5XliO+JrquoQIgTULjX72np3q0i0XJf61u1jPO2aJkzAAYWmoURnvTR4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19706386,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSiPTCRA9TVsSAnZWagAA/wgP/jOzdd2VFlYrixNvmPT+\nWV0V4MpxDILkSH/LpSNw06Ph8wyS2gYs5iacmkGp4bX4p3tafYYrIGlOYtix\nEZMFM5+wsU4npWT2RMw4svclJtWnpFN0qn6xYqb+phmB7Z7qJIu26Awn1qND\n6MQsM11tm+Cdoi0WoBKfL5rysPl3ii/+70kTS9mYAr34N/kba5zmF59xakI1\nuNM+dSHcnib5lT3uFOnC8hsBEwZHugWnc7amRccdox/C7Qx03ZIs1GI7X1M1\nzy0NP/GZ7fk2RIbS4y0V6Us7J8FtjfC31vSefGIUECaGXTmizcW3WPzvO5fR\nDfzN0As8dX5hLecNG0JT7i0vRVYZyQ+OTUBTQYZH1PeNwsqFv4Au0r9QBZv+\nIBzTNZIIU1d/ZeY9yoZRArYU2u7C6VrY9zalVbgemFgRkcfuGuj4DvlvdFsT\ng9Vtsc0Y4TW1RGcMsD3NkLO88431TVDfeofQIRa+b7csJEwPN8/YyKuS5pyt\n8hBvCHLfcOz7AYoMT0wKNkovlVf+2sDOwhEz2DVPf4GuIRbsBBexNw+gYwbT\nk0STcvJxNEPzdt8Bsk1WazPGmYs+hHSogtyXnaGwW3cPSapRuLppguNIcIkj\nirYmTIZdu2+l9QbyT2gZ74b4E5IRHSOG2K/uMzy3jZDz9V6J5Xipw5XN++U6\nnCx3\r\n=+mNM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.8.11_1615471570195_0.7528866072705145","host":"s3://npm-registry-packages"}},"16.9.1":{"name":"@preply/video","version":"16.9.1","author":"","license":"ISC","_id":"@preply/video@16.9.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"705e43c8f30dd092b24026e672f9a36d148d24d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.1.tgz","fileCount":800,"integrity":"sha512-T9EiYx4q68qdTc4PR3oQvNo8lJlQOgsVGGgesZOfUVOfPK7/IUV+/NaNghul7bnIhGG6JJvkienxrSAox4Klbw==","signatures":[{"sig":"MEUCIQCSnMxJ/kR3Fnv1b76yD4ieGWnh3gMSDO2YkR2HWzClwwIgIht8R9H60UoFxwOGCnMHPsVfxDbwoS0j7FpF5D5Wn2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19715102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSjivCRA9TVsSAnZWagAA3e0QAJFjE/v44A18bVzZfpcl\nX5/O395zGhCPE1046QafCa/vowdsuU4c8RagJNRoTBornfMYg9h0PNOWRwjV\n5xBCovaJZfPAXqXhNjPhM3OCdPAkRdZdLz1i704hY8OG68OQ4VOY4mG3jf63\n5SPf6/T1c7E4C595KIec1rXSF4sEeNgjpdlzr7NFghVU0giBOvAhMZjUpcqW\nR6D4xky8ZCViS/aNHm3rZ0CWCNHyr45AO4xxGo4o8rHgryZqJtbO34W+yHey\n/WMfcUm1zLrA6w+q9E0bCgLF6qQjpmCcL51zJHsIjDRm09BtVD1Od6utErUv\n62vu1K6ziq0Ec34/W5F9nFe8csp8PrVws83cCzmKZeSbVlLrIWnZI3W8ktXp\nxD93K06u9YN0jkYyHPnKj+wCA82x+WE2yAuZ+sbBn7UlqKmNgNEldcDkEnB5\nXbCucEsRD+s7ZwdRpKccNHSj6QyG8nVgyome/LOkCXc6+cR15JTof1Wpme/0\nfhC5fAXR6DpCByThfx+LD9ufKVwt/ZMTGrsydxeQRWhF1JLBqf+SsiC3nX1S\nSfqoZK/WE70HRiPjHKmt0GSJ7sU0Yv8dP8yu/H/axHoDc+Of+F+oNL2BcNbt\nG2DeEbl03uAI5cTFbYW7eY/sNt9UuHrW17BWkC9FWBbpng5xqKjLM+AWzqWM\nzQOl\r\n=uN46\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.1_1615476910085_0.3839512459957277","host":"s3://npm-registry-packages"}},"16.9.2":{"name":"@preply/video","version":"16.9.2","author":"","license":"ISC","_id":"@preply/video@16.9.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"82f49933b29f89ceb39603b793562e7ead89e923","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.2.tgz","fileCount":800,"integrity":"sha512-un349ty0qXYNqsubC3OB1e1rY6tAoy+epH2PRQg0Stx3FeblGralcew8W4+sFq6HTmXq1VE9zW5IrnahG2RjwA==","signatures":[{"sig":"MEQCIHbCmKMFC7M3HFEV0qi34P6x0okSN52GYlHbSz5uJ1mTAiBZfBfn7m/4A1DnVB56degQyhXrBw+FnvQtpugBPdTnvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19716497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSmLMCRA9TVsSAnZWagAAWvkQAKRkMA2/gjBTXk2ECoRB\nlTR9MXXUBp8xQPojWAj6BKd96A27hYxEVYk8NFRECTgtIx41yC946uLvUdz4\nAUUb4Y/tKCHa6ZekR1Mh495VhFLi1MBgoS26krls7hGYVXosZ2BQJJS905XH\n4rD2bqbNborumuB7H2cTKzfHT9LQ1tkeXmEy7k5/OzY3GdKmBhOc3TZmjrTl\ngChuH9cN1GI1QpD8C32GkpSUHGtFumLSOiqj6a1RVjIAac28s/VVflfT1V8W\np9sjKy9dXVO7wUo/zub0JTd7EL48aiA1RXVw3PbnVb7EwT1IFWwfMowKRyDA\ntg1RqwMsimHx3gWxCWKcrYfyb1OHhHnT+o995N2OqNCBwfZHWiJh6NlduQr1\nza4LZwNo4fXxn5iRZYidVIvChyNHbgWxjmXsZOmdeMuEuDQO0OaNXgoVuBeC\nf5ODCi7iQaUM36PdqSQCzjHj1Qv0Bdq9Z8KHJtPl0NL8XaBiOtm6bBW+0i+D\nIJSA41xq6CI8Ms2MvFgQ4mUvEelpEP04DX3FkKLXSJbVQyCChUy11kYD4uws\nHw8d/KasOa6tqpc8J4wx9TtFe8scIXDFYdHUFySzqElRQvVHx3zZcOvlfshr\njTzqjK1HGsqkZeUTrs4dw0q4bCTJTsGccoMAstWoM+qU9Rw9qqOOTZXPt/bt\nC8xk\r\n=beDh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.2_1615487692046_0.06742905879729921","host":"s3://npm-registry-packages"}},"16.9.3":{"name":"@preply/video","version":"16.9.3","author":"","license":"ISC","_id":"@preply/video@16.9.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9aff7c3252c79be1b0d52a79ce2fce2ee9e916bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.3.tgz","fileCount":800,"integrity":"sha512-CoViaBWGStU4XdEdd4uSpXa8jcXmVRvHfyuxZfKi1BKvuWIjRk3uLpoS1STtr7JI2sLn9McXUsSTbsVkLjR1Zg==","signatures":[{"sig":"MEYCIQDuhLV0WcU7RH+hqQ0R8xdJevU86ZYjzjH0a9FGSFyTfwIhAM3q9q7Vm1Kt9YMsrmXATHUyVJt5EHmLLPzHBS3/BkOv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19724687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgSxK0CRA9TVsSAnZWagAAx5AP/0rnu03vb8rui59BdAog\nbxcwU3T/HD7EAMBaLJNg7Vfm6oiwUD39tBPsv6kK4PelCwPfoPWgXo4gJgsS\nVEWpnkq1i4O5pLMVkY3a0XPkL8F5MjACVf4xRlNuFYcBfNuxuN8XdBfvqCWg\nd4VfwJlrmPdNyLS/1RYYX+ovJfLK/wUR78DSsVJ/oa1pbSw+7AUjCyEL1QAd\np21DbDbgeAnxtco/VplIQHlvkTCidK6Aft7qKrFu8oV6YAZp0pjgWlh6kB4i\npVOMxCwYazXk5z/bYIUE+BJggkTT5sjnVX2OGc5KvocVtYJQq+DAKLpXVL4o\nu/JFKNyJp4WfJcL5eP5dychDShVBVEArVZXKBEioVGi+v18ehNNtaUVU23vM\nOXzXeUzbGElPWkwa2iyhGj1VnoRxsG0U3uDskWXKAxzx9ZTayEbjFRRRNlAR\nH6hWn16tiNY7txgVPF23SyEapym2HYD180dbQDpwDLe7ydqp8V/22VF+HSqF\nfLOVVl5at6Gj8R5ORrvPb4wDFORE6NVEHj/J3Lcgq+tnB9BGXi3xv2gDAH5w\n0JWJj99BG8Z9HzYxSdLQXypd3WlUxWh6Fw6GCLGJ7Vjf/9pGZZVDkh/GRxER\nHn0SSVJq3pXxwKFJhf+lV2pBZRURk/XFyREZ52PSioMXA5ZZzwGLsUSVh0iO\nxSaA\r\n=atoy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.3_1615532723276_0.7791472760383575","host":"s3://npm-registry-packages"}},"16.9.4":{"name":"@preply/video","version":"16.9.4","author":"","license":"ISC","_id":"@preply/video@16.9.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3af8ea93756366d0e6e046a1bd5338984f46d7b9","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.4.tgz","fileCount":800,"integrity":"sha512-AwLvVaQdIPmU9qZoFqmhaR2TeoabUK8vAPfVJzBNSXQu8RzEiRhDB7Tb5MrRC5WEDMR6Q3wISKLsNL20h1uNvg==","signatures":[{"sig":"MEQCIAEYq+8NtrkhIkPc/LmDNwunYeG8RBRoCnY72hQxFeVIAiAU2KERCkHOKrpp02YFbLfmt6203rqfgER/uNBZBT3vKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19719891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS1jXCRA9TVsSAnZWagAA+D0P/jhufylywj0WXBnfqBDP\nsdFOuTcDE6gXqOY46SVntbPwY2OdVa7XiRPLmgdIjqW+I01eQzxKgDW6sSEl\nwoqMahE/UdQS3tfR33HvunG1ExOsUQvRgyKgdORTh3i5vlwSG/dWoBheKnbc\nsbhDyIv7bpDh4h1uqsW9D/V8hx4CaFwstsYn1VGXVa4grjI9S0s10zluo+51\njmToiCEKJFko0vTLynrKmnCIe/GSWQ2qfUgO/5cMiwJZAPfoRwQVqhsqDV6z\nOBqmHFOsBTYMQjkTSh9L/0A1k0gAhVPUEQb+4xYXwvI7GTGSRCPD6N5tA8E8\nAduhqsW0gSAA4aMK3NjDUwI92IJbv/dAVQdGuwc6UmEncP51QBGRa5yqJhsj\nL49vf1oLvuQnrmqDvyv9J9ePHqsWWVaXQ8fOP1tCId0FL/yR3cdDXe1FH/Ov\n2E0u4CAVMePR+MRQp3yygVM6hlvGEdenGDYLGCdNiRcqcNVwQOgpnMyOm7NI\npVw2sy5db227ad1cf/ZqCB2s+qKpv613GRwn0W7mJp0SlX+2fFG1PAyjoAcF\n+GNKz+TyVN1Sv2vdcjd7EbXD9WhrIuxOyPjZFTri0jGEykddtkUGdo3hl8ye\nbjNlOiDUpXs9pR2RNrTm/nlo57sX59r3Ov/HaccALg8F+Q3RTSpBur8uqxam\nbq6N\r\n=RQgR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.4_1615550678064_0.8831986660113986","host":"s3://npm-registry-packages"}},"0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62":{"name":"@preply/video","version":"0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8fe28c1ca1ac7c882cfd937a675157954233a7a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62.tgz","fileCount":800,"integrity":"sha512-7Z7K2S3w3rD1zdvouROe0aD2mZeGo0TYxSHmkMV36n08FRCSJRcee29S0xjejjZScUf3pUANI3Rqq6FzF1NG7w==","signatures":[{"sig":"MEUCICf6QuNxyGXbq8XU/k58hacYkiRvRGMJRLM7R3ZlepLFAiEA22fSlkNNnwQnAxrWm10RXhtfqX6lpKyaPofMStax1QU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19709873,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgTx2DCRA9TVsSAnZWagAAZgUP/jbqt0dErnM1ED/yIwcE\nwc6RkQ//k0m0MZVMkA6nefse2NBC3zs2MWvNCD5j4H3h45RD8FSmawDFrMZm\n/QDeEQLJGPQR6YVfA9wcsM4lR2PxeocJDrOhOJw2uYXHbdbTPsPNhiwwKwkc\nWDanQKudEqV0MRkgTyPr8NYIceDl3uABoqzWFb8y4IERqjXAbm5NybEq686+\nkMInGIxC3TpyQVChVR+5hTMN2yTXjIUmIR40LYfARSgHEusr2XykSzoZAMyr\nQ1F/5pgzEyh/PfoHrr4WIzzmTdjHxpBFJFcVXCSMSYPw0suQSye5IZVwISBS\nXwS3+SsMfzc9aKQi7EbWWYNGEUwXSnEuuxt8pmv88ErAZpcJADKuQ5sJSGh8\njN+wTSOVL5DEXox4BlvVVnpsNKgi8rx6NflY3W8V+hV2ixktKBKpg6pebgo/\nJwUnEqJ3lD1fhnNgp9rPPeAVDBWUiGHfsBHaohIw9C0bHqBaJYpYHccazgV8\nZiGqU2W5n1kAv1IL496/jXswUztT4aEUerUiIOOjZsNHcdaZpKeKEmW54u3F\nyXgtK3DrMYsDicFBPsHoofJBBnU0BIUBCvUNHwOsP+vTqZwAMj5PNckyE+yM\niUYZgfiMCFvts4zKFNtdIUR840l9dUetE2tCDGNY291jh7gPDf3FRQgeV9/w\n8h8D\r\n=XhVP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62_1615797629782_0.8657478453265839","host":"s3://npm-registry-packages"}},"0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf":{"name":"@preply/video","version":"0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9bd838d8e11033c7136cd09c53de525a24de02e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf.tgz","fileCount":800,"integrity":"sha512-9uoy+GYmiZpRROWTbJyz3VV6oB++LlfyjzxWrIhevi3SrnuvzXQm6y072taidqLLsklqA7hqtWVx7PBjNFZCyg==","signatures":[{"sig":"MEUCIQDruhawLvUOmVpiZ+6aic/QoIoAaQVda5M3oMvdtoLbiwIgD+3gwy8Tcu+Pfgv6aMavSXAbK3vM7K/WRFnOtRyN4Sk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19710110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT00LCRA9TVsSAnZWagAAjV0P/R7ZaM9HflAcl+x8jfPA\nSJbXAGvTHEGwu/6UBnsFlzclCAisHl1Tp6MtulNBKvC41Mj8KQkW1mC7Gswr\ngqjHCRpr/qS6lz2v8I4MMNHDL/5AvTJi9txp/e3CY2h++bWlgf6Qikp+8DSQ\ncLlqBnEFApApJmvUzZyfq8b2q4CxjeepC22OHH+FFBHgINawzNGBUFckA1UC\nm//P9EVkGUOtsqCOR2NoT+6ZfJM3NPhgfw9znTnuGNnzTEiicLhiLnq+m4pr\nEK0OLjriMsZoNY8eczZ5BZl5e3l7pyHyN3/COf58tZRaMs37bgxJkHoVEwfB\nih6NnkaciYVvzD3CZwqJEfbRPAJOZ+5gvTsNEs5llMYNkvHq2xc9L7teKNJZ\nZe5IHvJTT4XDI8W11csp3Ro1KuAQsmDOFHTGrKTa5u4LWm6TEsk216KEFNn5\nUU2v5EU3ZRl+gKX8/r651sAOTEO9IU4j6sBWHVb3RICCvWKvn98uNCt5dSni\n1QOKIsn0BIu7tcdVGH0nKq17FhGdK3PaiFD2M+BDYID9+WRarie1vDjYsCbx\nCKMToUEHfJe381wbQnebCbJrkY/s/s95C3s++eVxDhVzgIXFXbvWg31+DZZ7\ncSyQu/nASmiTwbDQhEsf9zZ5bdoFy2rWYkXBAkTDXy+lN7NvbM77ZeYAA6s3\nvNQm\r\n=qRWS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf_1615809802874_0.7432388125383729","host":"s3://npm-registry-packages"}},"0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76":{"name":"@preply/video","version":"0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cccb840b0da92bf84796841a1a9a0baed29c8704","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76.tgz","fileCount":800,"integrity":"sha512-4zngB9Qcsc+SkQeF0/fBwp/ceCrQ1vX7BEdyns46mLxHoScqYy+nDdbt8J54X1dLkzhQOJTAweasKuOtBbxs1g==","signatures":[{"sig":"MEYCIQCHRnks0zml8MSNxFWFMkc1ip3BV8RMYs81Bq0hJSVz8wIhANsCjnfPveY4SXiIOlrxBV7Va0b+BNk8oRJbnLE83emA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT1XVCRA9TVsSAnZWagAAulsP/jodkXIfQIiEgq1TB84X\ndiLWMfmRMFNjuFKICbdBkg+0cYkN1/0e2DhP81j1ymHdyUZXGO4O3hZR8PvD\nI5L2c8z9ySKJ519ACZ8K/mJY0oUEsuBZFCrzPsuwwH5koI7VPhCcPllKi95n\noe8QlIboXvsSqc8FODUHW+sYhHSIlTJkDkiUhVGxIWlhWeF3lhjPVzC5kORs\nIVdUyM1fSslpifDhfLVJOH/EgOVFK5zsnIFq+CSAO0u2niPxHnjDJ2cxTJbZ\nWvATa9SHOGmpFLF2DxQCi4JAnogduVc5+3zsIU4TH5zbfvuSv3ShVWg/i8b/\nx2PKS4SNfJ7vCkvgLft8UUHxjMfIhNpA5AVndjPzfi7TDxyHKXeTm3LKi+Wj\n/5LaKFmoJUfkNIxaKwjgJhvuUIYnN+WmNNQsfXTq5Vlw/64CX4ad4wOxpvrz\nZNQIZQuxWIUxoWpthWEOwLsejXagXaMjRz0IpFkafI+zVT5JS87G3LWO2lAA\nA4ObDyFlaJFrXBfzLmZNk+buZi7cA09xaIV/7Gxq/o17TEcecvzPAjgTYgmF\n1DI5IdQnq7n1b7Aqs9wcW0vlVZTFZu80OMYSrhofb4hMfvnujFS7JLfesh8y\nK9minAvAzGKcgIgBUIS6rMfPbVymSxakkjOiAEhHMkWADa5A7rlcehpXyFpN\nqmQR\r\n=+gEo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76_1615812052682_0.6619231301477067","host":"s3://npm-registry-packages"}},"16.9.5":{"name":"@preply/video","version":"16.9.5","author":"","license":"ISC","_id":"@preply/video@16.9.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e210e821ab81fedc63dc8f35b9ffa4152302473c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.5.tgz","fileCount":800,"integrity":"sha512-RZ4q/SQUaSko2Uys/+2I8F1Nfh5hbIpGvOSCtP873H/ANL/D14uVk4yDIkq1z4D585eT3TppWb6Qsp3vW/n/6g==","signatures":[{"sig":"MEQCID2XIOEk//7k9xjPinI7tPpZX4jsFArwLyHpolnLd3LJAiAqd3v92m4Ymea3aDZDEuQKxQY6eQJzcS2CcD1Wz/Gn1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19720218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT3C6CRA9TVsSAnZWagAAsaIP/ic06P2O+xDYq8XAM2Fr\nuvlment9n358p1/GVXY6Z1TLOtvUw+ZhqhwVzHzbuNRjSyP8r3dzMj0GDPJu\n9piU9OFG+5HSRgcVhZ16p9CKYDok02cOAqk6ift2cpU+Q/Tux8T8HoALYb2n\noR7mmM1ltkLAnRtBlMI5P+tWhybcuX+vZAV/pf+PkxdWo1vofOgHkFPbdKmj\ndZuurkb9bZG7Il8TeiKGeeG761NdzrG9iaySzbMVXl1ywpwUf1qSidVkMnqB\nZa5AMQd8QcqwRTF8qdgEDS9sJ1S77VhyPdEmu+4dQ16fSy26rYxrDZwrvRug\nX8lmf94CzTAnyLno6/yo5mgMsg+FLUt/cjxfQseyQrFHdXPx26ktAxIkrLTW\noZwaWjX5N+N/LHFr6qF96dKOHvCa3q6ijbFJaAGiQ+AA9tmQkcXaNxlKfIcH\ny3b0eoXBB0v4p+rOjnCXO/It/qV3Z9KYU4V4p5qWSHa0llLBmmZFWAZU1ObA\nhpXCvhbAD0LzNT7DeQyMARtJ1r8gB8KjD5WE9wtD7Cp8tQBLCEgdQ/rW9mHz\ncaaMgUT4QSga1y+BUDyTYWFTny9OKVaPrbevqUvNZHYiyfb24zPjH2HXtYGh\n5OzMdA1Ja2Pj3qL6QEG+yIgQifTX9v9hR8rFNVHXcGYZ/KImeLg3MJWpvE4Z\nz7Tp\r\n=WBpY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.5_1615818937817_0.890307184975667","host":"s3://npm-registry-packages"}},"16.9.6":{"name":"@preply/video","version":"16.9.6","author":"","license":"ISC","_id":"@preply/video@16.9.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"826237ff24256c969ae4b57865229459f5a55422","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.6.tgz","fileCount":800,"integrity":"sha512-ZvlU54Pf1HB3fapSHr8EaKBSalMdksWiRbZjHxTVPB8wDOhaU9RatkcuFjHOzPCJ/eXBxi7DEoOfNiLDptpjNA==","signatures":[{"sig":"MEUCIQD0pHOUSmTROEEc4sHH+GYm9Yng5gIaLEYjYOZBBNQX2gIgIeVG7J3L8SEEuL8COtLFjnLfPy81t+RSc1qx75KWFDo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19710009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUHxICRA9TVsSAnZWagAAlKkP/3FDBcXR7af9RCDdEC8Q\nW83QvWl9AlnwN9g0YSrvdg1jAFwe/URnxMJsmkI+ROYJZqj7exCfGeE2tjkR\nbfqBV+NH144GHkY8WuAC1OLUH2UwTGbcttWhIVygP126Xr3TYvIgo677TYKw\ntJ0Vr+sv8S76bvyewEICrU6T1Blxv1FgDhoCPpOw9bFyFVjSVyrz1JMvs54l\nytXJswcGp2zZ2rRyHG2DcJJBao8/nN8XYowDFsOZBZyQZxTSn+oPA0RzgPVm\nk5xz7bXhTaM/Ua3RJWc5Y7D9P5F0CWO52uEgGL/ThwmVa8gmxY+ekKww9Ej0\nhBqVnNo5Yz9V/li0y2NpkeOa7xvlv15K6e1Sl9fLk90Vr69nUJU//e9eU3HB\nA7NXOj76cHXfAOn/5679VWNSR59SSso7Y4ZkgieScy1nySQB9hM81IRx4esr\n5Vq8DSSgnfaq3i/iR8PpyiBRLUbqfWTJHfIb4J+Dut2nLWzyeKc4ARjNzBjY\n6fSBsiqWR0oEUtCdLKHzuTWXbXKbRvJefPBGx6HFpA41ZETvb9L1v6RHs4j5\nTRwCwIJWQwyrDkUwGiUt5E4CRJ8RTC+9iCbD5lWMpUuDb+j2jXc/Y/zE2ySf\nrb8PRQUqATZ7A6yNcXVRT/UCENPkmm9yiPgm4TD85QLySG3nLafC5lw/4lAG\nFteA\r\n=4Lla\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.6_1615887431470_0.7068381921106781","host":"s3://npm-registry-packages"}},"0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e":{"name":"@preply/video","version":"0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1e3d6d3a224212c408d3167ff98d27c5fafc17c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e.tgz","fileCount":800,"integrity":"sha512-ThSYungYy1k/jPn3mvsyzqAK5HGzKWiwAI+nvoKwt1Xjr+MYMKncR6192GNeb8lJDnmnR/YMlFY9mPvMKSeJ6w==","signatures":[{"sig":"MEUCIDMwFghV87Y++AHYrDozVEcpqtvJvr3WsC6IwNcqkDUtAiEArbR6HnNPpM0DMyYaHDeqJvuJ3uZb+o7cE3ay0pX3z74=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUISRCRA9TVsSAnZWagAAHDAP/1TC6K+fDYwpF4tuEgmd\nKeh3+vp3MLtPraB7w+ouJFCwnoYJlY+XnGO3HKkctVHf6ePh7B1LGJvKkuX8\nItJA8qZBnwNefjoaF783ceHwUuXLGLQdJpgMM0PI8dX6w/QxvWhLlrO/W7Xk\nzcoOhaQZhdyVnYdiTdi395gemU4CyURwypwx11GX0rf9r2WxGjyCZ18JzQEG\n7fbs/Zy4/7r2OHHqMwDXctNjIrdIiYiahrJog8xT1YPHbfQn/km4vArtQpWN\nCqczH+OP/H7irnsQ+WL7L9kthhaxn7DNXVAa4KxUX3jVZvfFGmdsnRFjFd7B\ncyY6Are8Ec4sc/ZAedrZOiM+9bDDaB8PgpueUdAz/AJaxAy967A4KkHPI/sC\nPn1ApzEU+1gEw0fqCW9EdI+lYGLkEHKYdm0qu8gh6MBFraqXBmE3ls//WDYF\nlmTFL0DU4laJ2DdE2CgcMM2NarHMWbHBdZhzm/FQOZS8aeNAvqtJrqcqatGF\nz8XV6O2JfGXEIm9YyQ7Rbf3xCoBzW2dfOpKXh74FGKY2L4i7sBUrouWo8/tU\nmi8RA6gItwnwq1C1vp6k9Tsq9BaINcIUm7s5BkbPsRJA1zTNfrrFFzkWKr4N\n2LbzHgSRsFtSefuwdUZxfcCoN3zpimqD/eCUmvJmK1s00C9jYJzI48EMoeln\nyOXp\r\n=4y/g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e_1615889552849_0.26143834764117546","host":"s3://npm-registry-packages"}},"0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9":{"name":"@preply/video","version":"0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6c5ed00fb13ac38b5803a4c5b4e032d89c0e8458","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9.tgz","fileCount":800,"integrity":"sha512-qERQiV7Lk+nv/6BXB3YLsXItNq8HBa6etTnGQAKgky50NPZ90atXwr345hq078+f1ILQ12GMynzw32L5GpoGeg==","signatures":[{"sig":"MEUCIQC/BsypSlJeyMLq+w6TstKvdxVslLb3uqSzsN9+gitRywIgWqJ/KZPKw8SNlKcfDmimAPS+P9RPMnbDzJRDXXm7c6c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUKKZCRA9TVsSAnZWagAAthAP/2TZkr0wf0uF5pUEHVcU\nE/znXRUKJ+01PkDKtoci07HjOXRrAtUZbGYxzH2KI+h3wAtNUXnZ4zhu1QEf\nQpnBG8wiKMkCk0qf9KlGuRfFYUrQ7eyhp3FeJVELAdyGipVFJEzJwF1UWd8f\nWKXG0jzJtIBuOgDkeHAdDVV84hmTfDUdbBFXBqa5/UEnGlfCt71TBQPqTMbt\nOHWPEoWSoUH6ilMdXjNDxVA6cOCcdE2rF9YpBNHLTRXHXUzjWoo26/Ae0QPd\nHV6yiTIgNC1Tj3Q/64xXbfdsHUjCIlsQGa1ucYugtFHjZWxStekqpGWtgi2T\nNhxKy4JwEkDuf4MUSwAJTq93p4c9tOGcOHYJou5jkreAl1mdKVPwOLVFlYKp\nDJJAlhzSxvWimyKrAmrfeDtUkfODV5RCo5zRrVRYmwZBEQ9jViiGoWd6MyQB\nP1QgP3pE6M1wafTVMtXmonGMhibm1gntY8qMfCwbwix2smVWfoSTAA8rFzix\n8gflUYWNJWDqxWEkQjQIqr9wVuH/DCFK9iOpPB5O/46XDFW2YZx3WE7s9iW0\n7k/bFnYLTWQ2VREotDzkKhw5rk2ljOcE5UNDRqIPty1rKZkW5qIeEkVm9aqB\n1ZBkhVglUqiF5tw2JfVcVaa6k7h8+tVzZ1EhoXSV1Vzy6SXVYtIE0tqJm3Nb\nYlXQ\r\n=EtIu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9_1615897240562_0.9238287163386956","host":"s3://npm-registry-packages"}},"0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115":{"name":"@preply/video","version":"0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8ad42d911b7c03409089f3feadcfd0c9f793fb81","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115.tgz","fileCount":800,"integrity":"sha512-NrDnO4Lun1Npq06BL7RR2+3+XqvR6+T8xKSbrPIqpkltDYoHJfHa0fmvtHRQr0ozStI6irgOUNiezatIxObPpQ==","signatures":[{"sig":"MEUCIQDl0U5pe6vik5lRTlPPeQoOtw2QFSbnsi1YV5i24yZKiQIgEhuJIw9Fca8KlzJBPm3r8S4QR0KXJMNMoKseyrUD4iY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUM8qCRA9TVsSAnZWagAAtRAP/0Pu+xf3XbVKRqvtkvK6\nFSBK3pMAgtw+5OPmi5Uq2JJ5t4vbYsi9+Q+cK60RjlcdfcyxpSFqrFnAVvrX\nYMhEgKaEc2XnjdmE/CArnYS50IFHdmFt/jJBvw5pjNCPo+/zrAnIsVF3yPy2\na9i/IJ4qmwqI2JU2EHENxxOUgkooI4iX/Sdm+v4FTRob83ufqCa5yldOzOO/\nGupdpfCYVt9TaIlLEAtWdJaXoLbNwANC1QhPCPeWeE53fh53AXD8vI2bAyzq\nANk3jJD5vYH64R8FijhOZXLQsLcY0gqvoZ0Osv8a9iFUyi9CQy/g86gHNX7Q\n2ejUpV3kiEH8bmzMiTqof7tIKKnqDnYACNF3BD4ANlUyntNbO1yXFc1qSFea\nn/8tFLCUCAa7jPzrcro2U7Q2FHblzsx6mt6SfwYpMfXyR9udQbqOI1+8sCXb\n4uVP4bXBaXDami+gQ2+5GsPhFoZ/Dxz1IWgWP+5qrBmcgv0f+lvHYAfYgjX6\n5wLqevT7P93tyD3MlShT+PYKL+kr+DmiXErecgtpwUMtdj11Jsa5XfO7gWQS\nxVKXAn3XYR8Wa7DXNV8+2q6Ft52MG1xkUIks62ZmDBhj4rCHGGYxYBDnwfd5\nAoc+0NK/nSgn5JDILPDUREGUCiCghgveDqw/IMSUnYit6uJCJv6unYssx/Xn\nCRw6\r\n=D3fY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115_1615908650201_0.6969237692455987","host":"s3://npm-registry-packages"}},"0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57":{"name":"@preply/video","version":"0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"825ef8324c8532d8ac983991c3e5fc5e4d156077","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57.tgz","fileCount":800,"integrity":"sha512-iYVTZRaByD5i9bcjD9cq0x/qLFKMjzRtziKL5bIgF3AoL8PNH0MBv1EYhHua7owtoV4yUbrXrsSJi9dg56tgGA==","signatures":[{"sig":"MEYCIQDpxR4D+WPlWUtVQF5Ywe+R+zSeDc4YovEU4KZa/b5gzwIhAPSB/tZeR70PT2EmnVIn61g+iX562C8wgOUgouhXqNJF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUNaNCRA9TVsSAnZWagAAOvYQAKOeI5/IGWLHBMsLZiYC\ndBOjHnzbzJyAkc5BRhZVSbAUAqZcW1MmooYnrhTZXjSZAIiZI67Bq4jKYY3Q\nYylrBjrtoP9dReib6vFVbcMZkLoVoVY6qE3so/iE1wppDIyBg1AYyB1RNtM0\n0OXG9m36ytwz6VP5n97b4QAtgO9C9T+kQUOXtrUpbNaXKSwo1Ky3whyP0AUe\n3Yf23NQbgkAIwEnplRsjjhADgbb9odEe5lOReGqjLrYsU+3Vc6Q8XBTJzC5K\nGlDjzjCkmzOmQ2owwMeTg0sPJcmp+tc6ao2B9qKuqgaH4mwcPpwu3W7p1sme\nuwOo2ZqUn3pVoIsvi7tKYMlbEwJRz0VSz57G60mZ2mi0zJd1TtgNUYCTNklT\n+0BazlThSFvTt3gMZoq/eoIH4vI+uuUO5ETB4b6j23DCk5shrAOkFdGjCC3i\ntAL0+fVzxQEnNcqVYwwFWSwkz5VWUwF6Q7V9Iwul1dFYH4XYelZ6GtugAWfx\n94z7eoG7I4m9iKNEjHrcrjaKnc/K6wPSl0OPCEH6hTiu+gXxMSw4St0a5Dc6\nJNiMpDqDMPbWIbG7z655HlCwzPbb2cYG8x5sqr7v3Oa+83u7Gtm1IDE7W58u\nZYzt75Q4IhS/Eh9VJuoAQyQuEER92BAwjWXShlpRmSBS3xoyBuFRdfwXVRh5\nXxoz\r\n=MZOD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57_1615910540116_0.9607191002966442","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499":{"name":"@preply/video","version":"0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0033f32f22701fd52b4981ce109b100f21a19731","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499.tgz","fileCount":800,"integrity":"sha512-I9X3Y95qnLSY+r7FCW3hOLfHfAbfDt/Ro4ZgPRBPlDKbtrHaJ0WjCgSK0tC18CXIzzMX9Qy8dQgVJWfNHW76fQ==","signatures":[{"sig":"MEUCIE24P/weWFop8jCQ7l9miHMy4viTftjhhEWEyl4Z3LmPAiEAiA10IbIOaAhyiFRsBy1xTQzIR2IXVCm2/OYSKC9WIq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19711798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUOHrCRA9TVsSAnZWagAAQRkP/RNo+IyetVqdtHI8g0n3\nt8U+pxzdrcv/LM8HCY8moJBGHkTMPm1YS9zw6SyoNcfY82ycR2oJdoVFvbrq\n+Uk6rHV5ObwDqWdJWBDufeQ9lsGdak/EJbuhbyX157GQEoQGX6d/vzYkar6d\nyFMBN1IsA6eu4q1dAnE3yzfP+qMZh5ONzuTryJr3/eVbfDOkL8gCcgKId/lc\nl6yFHBFAxVKiQQJEQHAqlbdaBwm3/B+9A5Lk8Bj8THROVIoZiy6nIGMk6+eo\nhEjWaIInl/So6J/7gMNwzCpSkU7ar3fLIrZvhziSLlMs1nOO+GAQID+7uriE\nSbz0uVShSKGLx2sbsdo6JzPdJZKvblm+BM1oaMb58t1vUm1iDJULl7fW52f/\nJZUfT84BSQUk+gkmRi8eBaPa/pNMtecsLlMloqKgss7tQ/FFUVigQz55sB4u\nsVUJHBacLarolYRMsQFl2Uau41J1LQ6oC3GfubZRFiIuG/g1NnpA0q5MYy/m\ngVTiw8bOUe9lE9lIiMH6c8Wuo/xF8SHfJJCaj2VBvhmnU7xK9Dsdq43axTUp\n0+sLHIanCfFktoZybO41s+gEw1hH0WOoeTCPm7/WrG7wxF8i197P0bWlnePo\nntjjmOt6nRyxh2RTzI48tK1t4/ksAGQ5i54SUb7hF/tbnANkGKFaw0rhYPF9\nmOIQ\r\n=u3bq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499_1615913449667_0.7941593506138267","host":"s3://npm-registry-packages"}},"0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767":{"name":"@preply/video","version":"0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4952c2218267c2d87eb0598f8a56ec5fc49e4f9c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767.tgz","fileCount":804,"integrity":"sha512-0NYX5hjZJlbDN59aptQ84AM1LmXtod6erNT50iHCsBPQoxh1UTUVYa+PCXsGpsGQ3stbHDeKr534tp8C/BZKLw==","signatures":[{"sig":"MEQCIEeOwRk4Zp73D0GTLot0RR12EFiir4iX6hMMXYLurwO5AiATUpIeefS9NUQyWEhJ8pLeAhJjLhXJS/uDTV7+/Ex5zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19858600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUcpMCRA9TVsSAnZWagAA3ewP/0n0qq5NjpLpCUxfzwEF\n+J5h5rY/fYCxJ+9BFzDN38ANA7loCdlTHml7ynsXPFNshtddAdsRia27TfN2\nI4/gz5w/ua4m1hqC46P86NujCd+kN5cEEIRd66JA1PuApKYnaTUHL9ZMSZb+\nmU5UuSjgNb5cQ4Oxqma7GIk0fmSrO6oA9wNuYeYVu+sHtPAqNo7VCWcodZzQ\navqDU61yUSKbiaOkFh+VrrKq47/EciMlHYwCFQHWW6rAsY6ZBjpYdux/Ey0L\njb3P8nieBQar/HaZpmOTlHwnwIrR3GMzT1WtlA7I1nMpfJE+4PMyR935LTYe\nU72v1GnZjZYzGw/aMRMbGeNT0J7mnNA5zuhVrvd4ZiQK8OGp9pVGV3QKH8Cs\ng1u7eTXrJLDn9ePkvMdJ0A6v8Uw4Q84Lco4X/NBmckMQ+ZUzM2Z6s/IKg9P8\nU82vxW9FW4f9nOO37sIvipUjKNKnTVmcx3NbG87fIb2pRwh2/TXtpT4rkMNz\n3U6Qhuvy0gYsqFHPou+nBnnuy15KMDTvNvIRxkE+eK8fwqD72fnSkykBtV+w\nAfhtOLw2DRZX/XaEH7OBXHcS8X4rt1wQev1cx24lQ/jyOd8bv57JzkCAw8MD\nHNkvedGSVE7chZ1TdXJebegYamKOHprVAg2lEqorooWPGNt0Uz+jfVxAOz5h\nj8if\r\n=dz/w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767_1615972939718_0.9054727144794332","host":"s3://npm-registry-packages"}},"0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68":{"name":"@preply/video","version":"0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"943eb8376abd3b95627ecf751234b1457d261afd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68.tgz","fileCount":802,"integrity":"sha512-6/PDKdCHPYjIwxAarvKOAgwniee8PzthI/7m2oKClkHSvuHlV+Xoef6QjG6ToqUUAmJGfHhq3eu1AFooU+rXUg==","signatures":[{"sig":"MEQCIQDYSObjCd2BLCuGSGD8d8/ThPtDZmLSWsQWlnjLhCH/WgIfSESLWjyfJfKAJgUARqotE/e2Oi6dnMEilVOf4o1RvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19724259,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUdhjCRA9TVsSAnZWagAAE/AP/1LXHx0Hf6Y+YovIacFl\n67YC63fl59wZUyK1ZrhbqITRbdC0qXe9v1MFZX+Ug9bB/69MMypwGqPgEUNp\ntK8ZKAKfKKd6UiuJjkM1FtgUg4cJ5gQ461tNYs/SAd7FURWbNb8EwN53IZRR\nL4tohTYiTUePZLkjPIVjva/mWcqGdCJVp6aIGNjki+93RxiuYlxY5HhK7T5x\nD2oDnJLau7+2Uz2tT7dysZXGDGpwMcN3npYYDgyOaHUWrOEKXrBO3refgrmr\nwlOFAuPz5PSQ6AEBq8fAqsZoR4E17CZ2Y6bD4yfgdmJtzivi4MTgdw+uX0qs\nxZKgjntDmjLqzglZilPTGL7P2c+l24w+3mvNt6YbCvpccP+DXv4Slcalza1m\nFSAglQF4rUINQc2AYQOosMcdMRBo76aZGIJsK3ecdFyjyi3o/fpsot6IpvHV\nDVaV11WgYZewuxYjY550bmpnY1X1Pu5oflN6heI0y07ZsSdTyQFWgYJaeg0/\n2ZIqCzp1mw38gxV91XKajXPtL088wieRIczAgcv3JQVVzaP9yDrigArM2F2V\nUs+1X8Lti8ocjEVdTlPQb+u7vhNqOHSGTf4keLSCVWJMezI7Yuigjz9oBBM4\nQqQLAqwxBb4OWc6y/OyOlCkMeBdmxcJ6NVkGFt6nIvo/z/esAtpHOb3RKmUz\nHek6\r\n=OUtE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68_1615976546285_0.9922223482316319","host":"s3://npm-registry-packages"}},"16.9.9":{"name":"@preply/video","version":"16.9.9","author":"","license":"ISC","_id":"@preply/video@16.9.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d694d0cf97e5b2a6cff49fd2c5bbe2f6a30b924f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.9.tgz","fileCount":802,"integrity":"sha512-BE1MoJwdrWpSOPyjRZHXslGgS74S9RhKetrsrg9zYEi7GDP6trgiGXutHfK8KyNgxHNPRAzWp3dwcTaokRo7cw==","signatures":[{"sig":"MEUCIG9xbyBO6Jsk5ytcsCCZjvt0BVLu0x/3iTNJoJYMbt6iAiEA+unEiYoLn8lJDSJKTyQtWGv+J/2O1UmXURB2CNdBDoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUi+VCRA9TVsSAnZWagAAOa4P/2m/tmll3GDufUosGYDc\nmV/rTtYgj6RxUsOxFz+5QbbHxkFvVCLubdzwCL8fraOMxCwSp/Ay3KqAvvTX\n7P9Z2QNENSi5ATQuHHh3pI0X/mpbtpoSsauHpG8yCGzAs9s9YaMc4sifaxYu\nb7VDOqF6BhlG5+yd8bBj+w6ZpOKbfKUrDf/R668RdrrjbPC34QCWfw2XEQHx\nUHfvy8eKOV5wA52/ibFVQiLQFAINIB2ZBM6ncDZRko3QbHCurw/imKvQWDTy\nyAHVNvLyD55FNpIqbE0G4riepTznfgPRoRbsiUmu/DbYGjVHXh7U0U+ZYGYt\nTPcPCGvcVjrzJWL2sgz1edbRYLAwABIB1KmWb8beBIXjmy4cB2Nl0sS5jzCy\nB2h9gmkBjfTsWkCvfip5EVxd/A2L+dkiuPXcKHtmMi3XwuoKWqIGqxPgwcrn\nk69Qo9gHJ26o4u3jj1UMB4X1AB+i7VH/zGzrdcbRL6TN8HYitAYpFQfot8Nz\ncZyBRUvZr6mCWwhk81dHNinfXBrJJ76GziEwz7VgGxgElZ1dqRp0aznLRAmK\ni+QoyH5UgUxDU619GeYL1auGAiRH/lLBiO6Fbzqk3h4rQ6tdZezYqot0lF+3\naFJpLfDCHFP5qHtKxc1oTW+ha8oMA1LC3s/HLa7NlO8mcVyPA5pmdqr3uWrF\nyD/s\r\n=t8l6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.9_1615998868980_0.12404771144879789","host":"s3://npm-registry-packages"}},"0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7":{"name":"@preply/video","version":"0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"53c30fce1aae64a36b85ff7821bf40ca8121faf4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7.tgz","fileCount":804,"integrity":"sha512-jK4CbiEpRcDgEBhanqfkiA1vxvy4CH2vvWnyO+ydwazxKGc7bzDWsnQHj9/Y9Z+pTpEqa1dsEaj3JVQRJm4Zvg==","signatures":[{"sig":"MEQCIAMidIntmOB51241Rd6r40lm4zBqhyQwMHLryXHzhNFzAiBI5P+Dx7id8jjyvF63Lu739Sq2q5UVZ46LP8gRdpIYrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19882146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUzj5CRA9TVsSAnZWagAAIMoP/R5yordSYlz7S4v2AKzG\nJ2JDvr0EdISVriONu0A4WQb0ZJtvlb10Vi4Yw/xR77uMiRI+g/+Qrt8szzO2\nfCrncr7hGTdUJhLoWlkNH0kEFfJo+p5xtFIzW/wemJmvT86axz3m5f7qZSyE\nhFDdLcheVNj5TOpPF7Zbvm3M5g8nCkhXNgBR+UDTfjctuBwwx6mwUbeLduPz\nIw6RBv8R+H/LvZY1joEP6cqCoNol8t2SMAEus+y5A8fKnBL73zPySu7wm+AD\n3TzXY9ce0Y6PI1lnPE5vzEp8XRKsVZjsV1RYl16gmXogDQAkyO6iw3YGTMB0\ne4bbzxBbNpcuiR5LzWTE7Q/34k+9kZCKqan3OdU33Jb/oGL8Mn28aJxyBJC2\nOvtfVPemfqCeOJH8OX46HFyJvLBzbmpe35O/iQjz0ooDFy+Bqc+tIpK1Vehp\nddTAtMZxSCF8Zx2dSQWhfpuEvGAKsOag5Kd/n4dCi1NX4yfRDmTw3YR7lfA5\nKI45ZlCoHbQj+SHqtuLBNTZ6ScMNMSPeL3M9BaKmtcFyhOku5PysDBJeKQjl\n5zxWZeHaMj63Dz1QP5ppcK6FpNiRo0Th4wq9fU15SQZkgWgdcDFguTCvnsLV\n0WlFVHEl0g1DrQhUW4GvSJ2OJ+JZsbgzdNH50n3yhMWSwVHOAZ7Yul4hM7pw\n0ZzT\r\n=PFqq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7_1616066808041_0.12514246875940405","host":"s3://npm-registry-packages"}},"0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846":{"name":"@preply/video","version":"0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"299e5dd3dc9115a69465bd9c0e9fde8af3776428","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846.tgz","fileCount":802,"integrity":"sha512-USKYrC2NDu67x1XWCaCQHCALYgpI3NhHhpE/vhW9UAs9IWdXXTjAefedZ81mS0PBd9Sb936JB4fP8jd7pP6+4g==","signatures":[{"sig":"MEYCIQD8xTs3snQ6zztMZeUbPcydlXRDT7zSpeEoBdUubH0bBgIhAPdWZHhFR6VuqgeuHt5iQeIO7V53x2zmLGubHwcI0ZtU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19726958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU1t7CRA9TVsSAnZWagAAMkkQAISg63pwZs7AFsP/mJyo\n9Q36ye8OrhLdv3avbGXca8RBqRfgAawd17D5CRsAxCIifZcYTuJjx2O6d8+q\nuDL4x/bhDndsmk9KXIeenuF0EKbzPkYb4xMMoARs5VAU0H1UiPiuwte9Qa5X\nTQnogtfq++PNkqaZpNBjTh43DH3govhlNyii6L23v0RZOvTm0mh7SxFQATEl\nK9ypFrAY2jEZ3tEZUX5ERDKUk/K3dsPzYvrwSMUwQJRRtr+GWWv36zWv7NJf\nNlK5ilmhSbCol0Pou161UDNRqWru2rJt3ZixYb9E4oGY29aF8jNw0RSpIsjj\nOhTmURcptsVnaTXkCAD2N5anS9XOU0LRLdDIQhyZxw8NVzkODagg6NbY22Tu\n+hzw6JTERsT+JiR6bXuFSo48tP6faOaUx78sFNdlNpAPMlCr2gEBgg+zcBbE\nLXDv1uDXKzbSToO0XwVNYIVG0ZRNMpfQtvtZbtegh73r6y3nTnkLIblbKJSg\nt+Mb9EN/0mk7fHwk07MaSk4x+s7+oq6H7YiBpxEdun2isUkziZaGy9Cl5BaG\nX+zYCNKcrl/Y+fed7lY0DBWJOKT4SdUoiL6zWcjKU0jMyywZyWyzKUIA8Zso\nYymW0h6B5kZ90mtZXRBbFIYqYfxM9VGnzJ55AslTdpWCGvFp6dQnqjaOAJOv\nKPiG\r\n=Od8k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846_1616075642947_0.18888476593738646","host":"s3://npm-registry-packages"}},"16.9.10":{"name":"@preply/video","version":"16.9.10","author":"","license":"ISC","_id":"@preply/video@16.9.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4e689356f8718687af9d9332d314ee982bb30c30","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.10.tgz","fileCount":802,"integrity":"sha512-/WI8F4u6SpDXXSC84QTpw632kTFyHnlIXIEqnr31I4rdp+Rwrs4rvYbT37tAie7+M4Urn9dTZAvbBtbiA/dQ0w==","signatures":[{"sig":"MEUCIBDBqGPi2dRFdReRUpehtJXu1tON0kpI3vhNMN4VTuUTAiEAl93Ed2OJ4uUsENqhqxHWJ7MXp93x1EHkQ5Ac8tH7O2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725224,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU2xDCRA9TVsSAnZWagAAdNYQAJm3K3vZdDiAivEN9w/R\nb5Z+Xj8mMYsCiR2rk8O14Z6vd9LKotU72RjSaMAfjob7cx+y2Iw4WRoVtc52\nB1abfcbbCVXJqPgCcgaPj9M9xdliOSHoxN2VmEpc6hoyZosMrgYblRwCsqI9\nElFLdpvs9CdIDXG2upYQ75BVCm/mUEtzAMFofY0zzZgaVAhGPR6uUjbKmcxR\nYbt8rsXmPs2OszIoNIhlwJs/LwpZpW7TOtqspalrMX5ofg5hP42eDNkP6Mxn\n45T+vVZugQ9e/gKdlMROx5cOg4twCv+Y+RoJxIBGsAzfEfCta3xakyX1tJTF\ne0IgpPPdlNgl/H2hH1WH+2CLce5QrIJrPuoMEdsiQgROl8cBcqHt2V5ulrI4\nXF+1egYAlWkSUUzGsNuUocidCgg4UtUVTkI/HbiMrzy04L+G8dvpyJyHH5tt\nU6X1LQRJoLjWzyDAiJcx7VTGYxu9o3B4nMYcHjf/zZwuXfPd7CPBpFdcnf0h\nqqzBUkpCa3/7Cpkh1t7s8bmX8j5dhO5l8969tacpNOoDpbmtW9XgdR6udEyO\nue4tLmenMuNxaTcOV24yxBxwaMqdZZCGnfCpQ5hiySEUpYdK+S3YVCjTbC/J\ndieVdCdwQLzS6wHR5uaYvHsX37HAYQv/Q4o2H1Wd7ucvS28pQO2Dp5CpQuAj\ncjQf\r\n=fnd2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.10_1616079938850_0.03359938572975674","host":"s3://npm-registry-packages"}},"0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df":{"name":"@preply/video","version":"0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"135d5b48e56102dff5351a7b5f848d3bda384aea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df.tgz","fileCount":802,"integrity":"sha512-hg1oSowkB/nez6TjXzLQy9EZAPgltMeQfkPeTwgxk1rF5CpodZUDAqlhCljVN9qicHByIQUarIWKD4vCBqDxtg==","signatures":[{"sig":"MEYCIQDQldLKkm9UmJQvo6h7HhHZ9lwdv6YXlhqPPB+fPqkAFwIhAIWwI8qaTQBRT76V5+95DWew6vI7ZDzFBK3VSvtsLhOU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19743431,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU2/4CRA9TVsSAnZWagAAlOAP/RMed1IIhRjX2GNTbflI\nqx78bKP4tgSKQuUCVHgGeJ6XzZlJkMhOo/WEzZJ0UoYrqkH16CNRzKwFnxdA\nhIhawlovZugc6bYlTM2o8AMmDyAolEcc/tXrRVSXuSAe595HTGH1QG/mJXxH\nPLuiRbxtWGKnJBO9GPbKyCgCf+OaQu6f+aEkSQpMIm/BHTwUOq+HucA+/N/l\nqTNHW4t5gUoIzvqjBAV4zJOt0EzyAof+Now5PNCRiPiaac94tmKfyAhY3eSE\n8Jjn3AfrDY6DmEz3d3VObVf2hrIBB+0ypAe26JnkVL/CJzdDuYUYkbRDY0OM\nwA9gc0H0HgGQCcrG/SaIP+4aaKnMbzb2jVsIgBx64fnKvmrXNSCDqjzn8Xh/\neyWCgwbyieYHtrGecIH9fY47xZWLq9mYDHYHESyEHAeLfEnqod0n5OB0l1xY\nYPpMdNSyv9kPXGKgjnkUswjxWjAVT2EEcidhylkUTqlXo3X1f+eO/2t77dEy\n0h/+llexlQFkX9ulShVqnnZVX1rOADZdErUlIiJSnkG4f2yZRSKm6YsQSyDk\nuC5EqVKBLI1P/550fbqJfc+exw0pCkeBonsmVoyi4RHA4OpXihJPL8ENRT3D\n7IrmOirFUb+VvPU+DcmMlV2v4ymHveDRZP8TEuvfy6h2ET5HFlYgN7TTKHxd\nTvwj\r\n=ceWz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df_1616080887548_0.6936592191443824","host":"s3://npm-registry-packages"}},"0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8":{"name":"@preply/video","version":"0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d8e633d55edadbdb49a20c00587b13c1fa922a48","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8.tgz","fileCount":806,"integrity":"sha512-vA69jQKoi1Uco3K2SPbYDENQMuPrbghfZKJqB6c4xC568yWSpR86zIigKPOLDjJQ15Ol4eKLIQS4cOZEguuU9g==","signatures":[{"sig":"MEYCIQDj6i2YN41U4oN8wbcG9EO2fdj1EXxkQcQeGzYVqr894wIhAOCeaELb3yD8PQkEk82ifqp1n4h+18YgRl6fS8UtMovS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgU3KhCRA9TVsSAnZWagAApSkP/1dYV/qdANvF2AEwOhSE\nUf7u1g7z7u8XOcxeBX7/Qxwzmt4hdKoqf/feN+S0diPjHlnbZtbfJZFYHOIe\nhVJlYeV8y9+wH+3QeO+cH/4fgkFWb+J8Mr8v6l9wgytDLrIjhwBP//9uGu3S\n2/i3vkgzrh4npbJPzgJKGMNAjfVrc8F6REFL5wJuXnVBOWzzRNpE+1tXb6qc\nAc8mTO3fSC0AiMiOCD2Zuj1XJ6k6DMsOcVkOV/PRaWsRPvfeNZDUxFn0puku\n0/gCdItmNfV3n3ZaoZqifjqJdginWco/Dhk77UmSly8U3Sol0oFL3JJ9NR+8\n2iUC8CykqJOBRDSFFnHWctWhThFxXNQoudzz8djhyqO/fa2JpMDKk72jxYff\nb3Z/NinMMdkAk8nTT6pQPPnQPPl8LxlPDbUYodW9KXfBoP4XC2+0GGQMndP5\nY7xwK5D5SyF5mLSgp1xiwDazpAAoTutImiX8/nU5OtV0vT7/PgjnTrbq6f9+\nYt/cJ5dIAr0j7G2tC+O2EGwWRv5Tw0GuDG8ONyV7c4Rol/vZ7UGPL/WZZbuR\nKPKaDHbsioxls6I2RsDPfDgajZuyj8/8RzqVIWBJVq2UvqnkAWeSeP6WyMdx\n7Qp35XzUnYyOdjlyT+QSLIYEmuhSnDB5sGuDH39ea0jfOx1Nm/P4q4RWjykG\nX7m8\r\n=sDg0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8_1616081567824_0.7188519597146314","host":"s3://npm-registry-packages"}},"16.9.11":{"name":"@preply/video","version":"16.9.11","author":"","license":"ISC","_id":"@preply/video@16.9.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8be0da08e3178243848380cfa18f06f7be93a2f9","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.11.tgz","fileCount":802,"integrity":"sha512-7wx7Q16qKZs0XGTdCfDg0YrBbyEBy0iVd3ttr7BCfMYBw3SpTrZlTvcEBXqZ/7BqcURjDBvksdJ5//cwYN/ThQ==","signatures":[{"sig":"MEQCIBlB+YBY57rqqcKZRiSh2ij5KCDhAy3Ika69+vrjHAH4AiA94IEgbL6u2Us8QGEThMBbaoNH/zSv0SG26Uz5rfakKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19721744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVGNCCRA9TVsSAnZWagAAa4EP/RqFRaK2kmZ46yDJp7+f\n0Th2sTyWHpvXdgbgREU5NY5Vmdl9TKyAvdzw8OKaZ/8kZzhYxa4+xgz0Ki7m\ngEKEtSe7Cb4PfZlLg424wuSAORuHMFyxrKLX9a86wsa55bkJ6wEZBFqisnDw\nSdfgXsf1N1k+hd/75rvbs7680JKKHYRTT8+DT83qn3IuXMTcwTALh8iq2D9d\nYHFiVGag7gXHdSrpez87DAnrP4Avs9eGHRMx4YSwjYPSWt95bhjWtHtJyZzn\n+37gKIO09hnL1KWWe3YybTKFzPqSO5BNjb3mwBFbUDl85xgX+164N1yIbXvO\nPObAFZMEtmRu1FHqpc2voZKiDtN8I16pFZvAAPAdRNsyiq6pRegrQlO6xxoL\njKlRW1/tyG0eEWE9DTM32dadTAjxbu2zc36q8jUBI/4JIvAuzHA1df1TJYd0\no+XUliEKiXaXYTzu/7nAW+fuVE/os/0YdxvS5fRyj9l47gEE/1UIXBcTWXO1\nNF0+TkryQ1Poz21NNI2Y/8S+jVCse8lt2jcJ6FJ+pVSAq0HnFRPTtTLi7do5\ntDaI88UjgcH3wHhF8prussZkXJ7YEyHkuvYbD759vAUI5E+okKEOEa3Jec39\noA52E+T+q/mYIH8AMnyCu+IGWkcSR9/r43sd+pg/KCyYun63+G8sFIhSpzz3\nghEw\r\n=9w7P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.11_1616143166432_0.23437892069831134","host":"s3://npm-registry-packages"}},"0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08":{"name":"@preply/video","version":"0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bedf21def8a91e7fa32f712a43a0dd04ace82360","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08.tgz","fileCount":806,"integrity":"sha512-v5jg/Fl9f0kbUXc5U9iEbsmo59nDabKxC9dmbu2P1GZZVvVPg6/U2cuzCBb9hAsu9f7mh9HRwy5mKAdMD1OR5A==","signatures":[{"sig":"MEYCIQCghd3pxgMEZD0QMFqP2p2fZh6hPL7yTD2QYXvME/OICAIhAKd8+yXN2mBMqH4K8wLJVlNam5hLE8eCjgZyBuxa6wU9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVGvbCRA9TVsSAnZWagAAkXsP/3UqJkYvVCUkgDarjJer\nhK7wTPX/SSFxDpfsJA8pSx2eitOMXqiqpv292SjHaqXdWLJfpcQwkBK89Jb8\nxJRqoRLlkm4n9ukVR6VOn/uQ5q6qQGHGHEjTSylF73idw3Grk3w0KE81tZgv\nviKWjTCIfe0ToqOnQtdj+aMTQOn7xZO7o27whs6zGtfzJv21ouCPhZvVgOd9\nyh39/ZDN7A8B/VHBI1quh69NvG6GvLFHCUqy82h5a+tu88YutM6pal0SSASD\nIGnljItmIH/lpRzCM1LoQj+WBCaA31pHbbZ9UOALtLFVcHWEG2ymT/C+uKVg\nps+f6VF5ngPBIvVjkbajMHB5Z+c7wClRC0e0hjnNhwTv1VbUssughFVgwtBQ\nONszlVG6In8qoook59SedmzUbr1v8tVlQ51BMD80qnRHzvAinsv6VxJ920vT\n6YNYmlvH+bZCItLDjXRbAOTw/M1KljAvDb0FkqixTHhdI6XPdVX5ok3TuIm4\nWvxSkFQZAkUld7+UTHfEgYs98ltW4NYQw4C5wQ+Ve3ZiXj1SNYTOfylabzvJ\nfETSoC+xBY5J7VuwwZfONDHDllDIhP20MPjzdxP62dpofTlXFkJptn9ok0yy\nBi0YsPdEwA+Jra9rM22oJz+R5QPvLs7kA1X2AOSwsH6DZPIG/Huu4RofgtyF\nbRzh\r\n=lR16\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08_1616145370779_0.945456650476789","host":"s3://npm-registry-packages"}},"0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983":{"name":"@preply/video","version":"0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"41070b23338038df0dbdee45f706076ee1b33992","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983.tgz","fileCount":802,"integrity":"sha512-absb24OO/X9vEgNnVG7HWDiCtuUBvm+KWq9IHIo1J4tVM9smiy7q9p75mbfgOgrRaViY/7etkqf8Po0SSOSE7A==","signatures":[{"sig":"MEQCIDWer4B+yh/jJAAo5nM6IFnJ2mqXz4uztxRmMBkroZD6AiAnz/zw/AcVQgYMj2djnDSBI+QB0swuCE7WUfZo/BcTEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19727128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVH6uCRA9TVsSAnZWagAAMdwP/03v59Bo7xKAFnWXgFNe\nj0iTaXgcd3Qrhpg4XOsmUaj2en/mzucXR9etBAn7ifmYUTRS45YGvXQ7/i3j\nLtwQb1Vz/cuB/hoX1I9foe2VT4JibQ5rIFHHEs5l+NwNAvaU6+XurRQnjc8t\nPFeStt+NegjjRs+k6OL2rV/Y5JMO6thrS2aQk/RqbNpRHyZUMGUINfSWoSMs\n+mEi3atkAHvpjMcHjxcMA0Cawd9wuip90eGAAYGRi87mUp+rQLAIEZA20Ais\nGdp6Di0haV78DKRqfxhpd8LBu48loUWLWvS13hDhx8M9rbQXbesCeN1pOYaY\nNT9EQhwHESJ2RsiHVKj3BQ4MzOZMsUiTgQ0b/EVez/x85zmjT7kH2QT4WLFT\nJZwxCGZf/Vz80/0Q4kwHmU9mL8ruoFQBgXYDqYW7Ay+tsriaa9YU7N6mH+lt\nldumyMo6ydGiL5AylxHE8i91q2aWD2xnZf0SxQsXMlVRv0mAG9NeOAl3JDxA\n48lf7Htp+cTQOEe1sjPGbijEIM64lupHbkekWJnJcjOrN+HNprc2iUtt5Yuu\nHPBTETinLD9+3AvEuAKe9L7r0GHvVreDEBhuRDw6wtNCwtzO9SfY883rN3aF\nVfJ6Sukwn0mYmswqrafVH8cq2tgUeQdJe7ViW9Didjo7HcAEyG0xpog/kXPK\nSecH\r\n=P9c7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983_1616150189960_0.7333795405917958","host":"s3://npm-registry-packages"}},"0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9":{"name":"@preply/video","version":"0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"765e1a823b1653f178bc5217c752115bbc1b7c11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9.tgz","fileCount":802,"integrity":"sha512-FrriznyEFJ+ryOHW+3129zhFZRSRICbWZvbsqi6YIaXn/hRFnSPJrrD5WUVaRprXRb1okfrb9zVZGv72e9/q7w==","signatures":[{"sig":"MEYCIQD1mfTLUYFnreBgI7E7yqGVGIDL7Fr+e1WGWxA947zp2AIhAP+PjrctPWlBF5fgOsWVdZKYczWSA4gGPDoCzSRrvEXc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19726844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVIGMCRA9TVsSAnZWagAAUdgP/jx94gN55Jvo2Vs5LQza\nslGOmjp3JHI4FxuBEBStL2MsmisiA0dIf/DM6RXfS0/DvLS4q0uqYwuMewIa\nQrjtu+/GLQoTu5EpRdlchXMF25bif1SJESK9iFJvZU2FWocbbZfVejm1xZfN\nF/pCWraphjTvDjw5UOVa8Z1F30s77v3F7BIXDrqqW5vrVeKUoATPklDIXeg2\nvF24AlRrGs6/ctHZ0hEmaNz0Edse8AmC2+dy7zQlDpY3DDaE6W948Au0l0ik\n2QNw/zE0Scu3hMASFR8xg1A4lvGUVSyUUw0bSQ1t3fKUQkEmAc95CUXecvBR\ncGXujPLp9xaDlIuqQojfBc3N8CQpzSlqvpR5uJlpIjLFDY2s6ZvOQ9yIa8jv\nQPd4eOanMFvCHKUz5JMlldXVLYBtZ7y2SJo3BXR/MhG8mrIFcJQxp+XQyJZr\n0Kluug016UNuxS1yWSek4klPV6vBI0pP7BYoB4ZGn3mxILSOZjDx2pmY9vXm\nq1axgnm6Ee2iZdSEJlAtG0rG1GwIG/C29nh3SArVImwYsqAzrh2xW+QTXgPB\nutJp4/WsWEOLzyb9qyw6uMLDm5lMoORMrBVZsQCi8+A+OCCclcR02ceI/E/0\nEhCL+HBxSM2cA1oTLoeS6RDjoo9NnRjFVL/ph/mfaswTgmxuYlsI0ro2f7iC\nYzme\r\n=VoZW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9_1616150923430_0.9909949570910745","host":"s3://npm-registry-packages"}},"0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e":{"name":"@preply/video","version":"0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7fabb15a0ac54a0c1e780e4a39d44c9eb381d2fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e.tgz","fileCount":806,"integrity":"sha512-cgdf2MGBd6271hNK4tHN3cE+mt9IalkLsZXNqboU5FbhZlNpL1whjTBPedaoLCyZWL7I2O9um74nDcZTsUVOXg==","signatures":[{"sig":"MEUCIQDEwchALwR1A8T/vZNi3Biw+kLuiC660oATnn3TWMPrgQIgVApsJkEtAicOs+L85ERMOtlrYTXqyacZkybke0J9buM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19890497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVLN4CRA9TVsSAnZWagAAXssP/3mR18XOvBlhGXkYdD71\nynrBjPbQOQ9UBu56aZbX7XL8CLa3lgYZOo/RBp/4kkya2wapQMVgTIIIirYG\nKSNaN9CDhXl3rRuW+hhdsxrN8NThoqK4Xk1T0anvAY6n1ULo0pPsxBNAQ7Jm\n9iFc8WDITmn2UZ6aN5Lz0IJ1jeDVKBEo2gUXH9fL4oLwtfMZJ+Cd4aNL/Rb9\ngJ94LTcrtytT5dnjhsJnmtMPTeddkYz1Db9/+n5o0a+QGbPWdLtQ9q2MddcT\n1yfBONqR+3atIdofUMs2KDjKey9zEHJWmLtelKTBWZ4CDxsOwxmoXo55kR05\nTprA22H8WsrOcsktRuOtXJlZvvk5HY7UeLAq92yAut8Q+sfYU+htyJq90Exr\n5sVcf4FOlTFts3S/rixheT2TLodlrUq9QFAzi4XZEVQuRNhu0MfG2itE+ULi\nw8Gib5/91L1tEv6PzMLWgoUIkKF2gyqfDDsGNBVP39xTHJX8P07iEgbS6zkx\ngnaI1BL/A+FgTHHK8YxX+xU14dP57MVKIwR8ZX4L+IqsepYU27qjjjrgrZmS\nJixvR3C83CNKNUZM5z1frsS9WdGTpRr2wGtIMpYeq2iLSO/f06YorGaQTt6t\ni9LtOlawWSaxFR6pHCaBmmDFjL6+syMDvt6ZrTeEUNIg/gGS+vXi1SePFs7s\nGS9n\r\n=TUaT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e_1616163703654_0.45228419032928024","host":"s3://npm-registry-packages"}},"0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb":{"name":"@preply/video","version":"0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"df34a14d75269a7194284245d691975b68ab5874","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb.tgz","fileCount":802,"integrity":"sha512-Y6fZWFPjuRwh5E+iot5zuGCcHvRF/PIP05xDCNc5k0WFfwHWAnPh6UPpW5+f0MuKK/VQc3z0C9qr3Nhjj+Qk7w==","signatures":[{"sig":"MEYCIQC0u8k0S+4rxiahRdOkeEmdO5ws14gBu+QdVkNRwRHCKwIhANthntF8bHWYTTYFGM+03S0AADQAcTP4L+fC8a+0BN67","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVMDrCRA9TVsSAnZWagAAefgP/jHYNmp5JVDHQQrWqEXH\n53MARKNTZbcYM4BJdobA1mt09szkLucW8ESERdrx0E0eDboIcTXB+eD7PO8D\n0eazMIAhr37X9ht4nBBDoiKBnhk1kcpNkSO7ll7F5GLv41rfOsBcyI4hlCRy\n98v3HQrax9Zo1nmfkhaaOk7HxNDP1ac64zO867OGy/5j/t5XtZhZftshN5gO\nBoQiKw020qlvyHDcNhc/c9tX1x0dotwAchu3symhUUzBCgHGCS6lIUQuSaFQ\nY08eCFrdW2wNM4Ji5NRiIzGQEBy/K1y2Lt+PKqYmXdwZXHRIO77xCmfYTv6s\nRzfQonv4NnoGVst8NXwhyDQYgRDRZozr7iL0Lf9Fs6T9PqNqAHYGP5NLbxwE\n/idElBUKEwR0TZE/aZcI3m0M71czqpeMoA/BZRQx+yf7tXoT53+L4/9xItHv\n9a+SyaAS+TpD3/kVhXnJ6fMO2IAuTOuOREG2JVlQr7mzqh2wjcf6Ooj5yLke\nN4lo5qe++krdkmIm0rE6f57W93/DGoWm/2tx0Iz7jl82lbyGZz/GZruD14an\nWfmatalcP4OeaOMHJGbKbXzTHkWc7N8hNiAtup7iFo2nsqCNDkdQoIUjzIgk\nvTivw/LL1g+NH0j4E/u1L5im3rG4us/8bvHGMIEQqSV5hKWT/p/xaHvmDhp5\nf8vR\r\n=NmvA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb_1616167145723_0.9607154829894697","host":"s3://npm-registry-packages"}},"0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01":{"name":"@preply/video","version":"0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fba382adf47bc3995145a56d05a787f43b69aeb7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01.tgz","fileCount":802,"integrity":"sha512-dVItnoGQp5uZOfy/7zwruAgAlqucp/Bil985k/y0CY0Wq/2/9bxXKPOj4bp8xswYgbYVlFNuXbbaQYxYmTwssQ==","signatures":[{"sig":"MEUCIH2i0o11HKfKGJTtYg0bDzt/vx3lgZWASCnKVRPF9c/xAiEA7l+JgSte35y59zWTLfb0c3S01Qqvpz3Urfmjnj4U/EM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVQGGCRA9TVsSAnZWagAASPEP/Aqj6xLmR0YcKPUO6Pug\nenWYsJYvPisT1+xy6r7lxQ66bbRFsOQ9EnrdttqJMUMeBnxMvogn27Qf3J1o\nuJgKWHpt8L9T/IbwoorxbTl9bhsd0jpI0jW9P8oonU9rwZ1boWriCAGBkblC\nPSq5MiXQb7SuRIPJaSaeKVI7WA0XUHv35VvnnxU8PyOyTR+Q2Vzwh4XoSx7U\njd+Vgt/z7wN3M5a5HHwnEwCaRET7cmDFrqoge82oXJrQGUwkSrEQMEKIq4QG\nQXryeurmsKlEaY0JhOZpcmKeAfPISNKpO07zYt5qBHIjW4IaD3UwblUrnK2F\nRsMHCIlNBQcWyn97UsZ++54TDsBGc9PI3lfP0TiajniQ3Y2fAkJa85kew4lh\n99KdKJ/RuDlJpFWlC43gYiYIcIkEF8ItLnhoYQXEjEmGWh8eXLvRLetXL8cB\ndYAWc/3uJoA59QeHTfaf3JsnjcjE+CGiIL/sqGDFmiJKbughL6vQe9Ahfn3j\nMMFiJGWUjpUwlSUxrGg86N04A6lchQ5y7iE6XnRZIWn7Ps7l49g4FLVH5+2W\nKHdmNw0QvJ3riR2L4aiKy3YghacMrDF6nL2JoNfhfAfaiGgEYZg7llnGQw+D\noGQgIoaYttwwm+KZL4DddNmCAikqsht1c6U8jW5JuA/GDw1xym29mw5vqr1J\n9zax\r\n=aSOQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01_1616183684556_0.3593054875182251","host":"s3://npm-registry-packages"}},"16.9.12":{"name":"@preply/video","version":"16.9.12","author":"","license":"ISC","_id":"@preply/video@16.9.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"104619aca46513feef5f6fac53a8f9fbe093605d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.12.tgz","fileCount":802,"integrity":"sha512-WIhPBRXJtOkooUDyHKYgIPXb9jCBBNXLbdE5ofD69YSa1djbejrAxmkNqdA/DGDBfLL3NeFhbRNBaI4XSEXPsw==","signatures":[{"sig":"MEUCIQDC+ciKWkRUHfgaYjSBiYu/g4/KQjA46HwKo72VPlIZgwIgUipkOV5zWtGHEwL2FDWJRvzipe9nSbG0DJ6FquOKMno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19724129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVRjrCRA9TVsSAnZWagAAyN8P/RJqcye1LJHE2a8U5CVP\nS+qutXWD3fniUAwyb0wUH3/1s/xleFgHnj5Z3X/EyLtXWNrWfrTsIp2Dgj99\nxJiODi7i4wBGYYbud6EloIXSIekFAzxGW38iCJt4Ombw+RedxGul5ACAx83e\n2sObcSbrPi1UcILM4P6ZYsYObcAHJhLPWksHMyh0RZovamVaX1fxZZPG8SdJ\n4Y6hnXE66Tqonp7R4cBApk7tIhoCeeleNy+DZWAKAEZP0x0Xe+jp8QJZZQXu\nPS1TtVibExX9lFxYUertughVIb07UCCCO0RtBjr5M4suX/a3bKsXUVybIliG\n5cXtf+0mRL3GkwMKuM8xs3nF4wpsuiJ1AMlH7jBEnG/ZZpc0oXGZV4PzCL+B\nEfPHdjHTiLDUPUzBpjqICq4pye0iTEq+dV9SuwueYSb0WzlicvPEMhVFHKQ6\nco22hDvunfnGS9s3TLd03VnVlmP7I1iHYbUPPKtvCUTpxVuESO1HaOUZHUr2\nSayk7GAOzAz7omXKNhD0h2LpkZ4cpIULvl8SWLv+ZEq8dCTv4iVLuKmyOlpa\nY0yJo3I03W0xN+OuT+KV9jk8r1jYOaRMt3jArX3ZxcFVLt5kop+iTzaUrRSI\nOb8owUj7MwyDv34ed+djylnArxE8E5rLy+NUuCEg19qNDQd4oizJkyhSEehF\nOuZp\r\n=Q5Ac\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.12_1616189672050_0.1916917974161252","host":"s3://npm-registry-packages"}},"16.9.13":{"name":"@preply/video","version":"16.9.13","author":"","license":"ISC","_id":"@preply/video@16.9.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"66203fbcb84fa9335937011b9897e06fc05a935a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.13.tgz","fileCount":802,"integrity":"sha512-u3KYPBRSyY6cQ+ga1NxcQLn5BHe3xftc/do0GJz05VLw6GMx+pnYTZ+nKDHD58yQyFOWc9gt5aG5byFZJttvPA==","signatures":[{"sig":"MEUCIBkNKYoZYxzXmxTbtSHrXsucC1qYAwYx2znbqFbBVD3bAiEA3R8zZe2bA3gj/UYuApsxI8Tb88wCIGfuL6KFV4SI11s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19724418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWFaBCRA9TVsSAnZWagAAQz8P/RibAgCRn0ieJBKZCw3F\nV7kGCWAX19KXWMGitbCkfX/u+vzzZsTqfjtwU5YV04OqeMcBnLc71G3lNiEX\nOxZxfF5or5OYBNzAfpAwi/ds9P1h2kak3olGUt/mSSjsQwGedPPKnqkfw/15\ndf0A1gFo6BS+rbO1VTitEGaglLSzFYWgAUWS34Mh2PjFNJEuiHZDCj8WT8jV\nlT/ks+whgbph28vn56aDDxw0mFoxs48X+YcEB77kNrN6IYp2IhIbYyTo0Lb8\nRKOWZprzcGVfgMKKp8JX1nTjDxpOzsUjGFVEE6WiqmGko1X28YYdwuP3eZ2t\nZfo1NoINgeSI4jddqIjebx9Cad4nhTsKyhk2u1Nkz3ODsfuKWIPVHg0a7H0i\nkLRLW18gzT+Y6jVDVG4WGwSZdg5EFzQyYvMMd0u/yL3uyzi+ZwCM86qLgVwr\nGZUUDQ78reA58ELDmbAiQKNDbEDp33/QHg7WUlY7WSzySbQxObitQRbMNU6q\n1YGeXmPBwhCzeLY7AmYBakr7QTh2jW2hpM6SkxeCCbW0BK570tSVNzDaIauQ\n90xGCYVXiuNESUxqIveimgoHBQau/UDQcoqXTz+lq7MvohRZ+ZqoncPzZdxP\nUMGRjViAMbdnYXBU04dZbvI05OqwkNlPg7uRvM+iscoKFCwsG/BQKXr8/G3B\nxmMF\r\n=Z5eF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.13_1616402048256_0.11677724113264354","host":"s3://npm-registry-packages"}},"0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66":{"name":"@preply/video","version":"0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7f9ec4daaa63fe0e011545c2e20bd5bd53136c25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66.tgz","fileCount":802,"integrity":"sha512-FojgBRZRyK3/MLxgTfbDu6t6tA0w89rK/zaA9Q+P5Bong5mA6wCGHDHkc4Yxizs8MWX2Vu0Uo1t+9IdOnsJrPw==","signatures":[{"sig":"MEUCIQCWdMTTrHo0Wh+Gu4eaaojOl4GrXnGuWVc9n0QbjmdJKQIgEOMod+4U2xYuYHuG9QjQDQ9Xq00nn+ZeMADO/Jd0QZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19726586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWIzQCRA9TVsSAnZWagAAIvcP/jO2jnMLD1vV3YkcFMbS\nfAbnuupwrywdpCXSWZRhp+5/Bnc28bHQSqV5iarHnQL34Bh5I/4mkx+OaAm+\nII8rddkmMVx5SKvv3q2I7BO5MY6C+gk3FBZBXuFV7XGqP+ja3AUYBYsPDE1F\n4pJ0SKE2Wq/6uwCwNeS96lNHN7lpaD4BvfctDx77ytvjEsSco3OdlmUzpPW3\nb6257Ej5cFDpTKf4STg4w2v0Hz7KkMIatYV/SKeq5do6De7YVQI1wT8JjoSP\ndR00kv6PeNQnULwrOKNExoLPj9UeRg0na48qWL+4mX0PvN7IQnUFOsVCe1Wz\nPyxzALOJJ/7FHRL0pj3Ulmiu8kO5e4wFcaAxGbybokTdQJTHKOVNOeKNXLjV\ndDwo//8OQrFRBM2mdsRpHRfoZFzl1qvpBiCdp9OlK2Gl/cDAADoPoxTxSs+Z\nLTxCNGuxHkMCZmQg+t7/A+N5khbx5PjieG/oRsgppL0xOB1G+zLZ7Id31g33\nlL1IgBvQUTc2yHXlHBh+WSEmtM5gHROi2Y7dLOvFNKEKhaVvJ+UBgJYZBQiG\nQQ0GoVB3xkmTTLpFogJHfsElzubocIZG6XQEoOP8es+3Pr98+FOH3lQXwnuf\nLFWju0vZFDq0O47iVpwzz17n4kTv/qqSKlJQHZQ4KH7jHcGzAb5A3bTGYO/H\nHmSO\r\n=I8U1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66_1616415951371_0.7400844563918783","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb":{"name":"@preply/video","version":"0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9ebb06a784767ae0bc5ce154ac06571239df13d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb.tgz","fileCount":802,"integrity":"sha512-LQaxoOjbvJjhIsqlyFpBrLdVqBWhTUccOMKGolkscygDrwIj1lJJ8oEsppB0l1c5CzBV9cU+ahDRjH6ip/iujQ==","signatures":[{"sig":"MEQCIBuVN1BmmoqSF9G9dh3+NjkwfpEOL56l2QG0H2s/1tB/AiBY29b8CosulJFS3At6EaUKjp68WSDPM+CJL8rpzVVqoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWNDTCRA9TVsSAnZWagAABBEP/j22bDQpAu2E6ZQWOX6G\nmNlg3c0tMTdyIxDxpcGRUb+E43h5rPc9E1zITFixttAM2SDeq7Kwim7FGN0I\ngEGY7QJLgaqAdyM5hPG3uHu3jyQYcxKnu0cQQGAnQf731LiPpTjEeWg2fxvQ\n0e5YWcLz5Z1bmSy3ywX+FOTF2q0fs5WPpPBm2MNJnzNEww3q//e350fl1smm\nghzW7jm+rTLhV0SdDG/MqAVXHUZUCaqt1Hn1R+jD4U7AmlRRb+qdNZbuiu5z\nhrBXU4BAYSY9meMQbmvcO+tWWOaO+hcRkIZrlatrgI5WAzf1xfE0DTZQhiNB\natbXXYM5LlYsTQD7NsL5+QPDduoAsR1lz/bkhh9gy3vYENzKUEy90X5soLIy\n/L7uP+NoIVtzZv7q67dtJl/CHYuoNdSU25NS6iYF83FT8PipoMSN0wz+Pi0R\nHhhvIO/Z5i3Rqp76N2tqwq7EBzV55qn5C5n6EFvLBy0RECjKof/TGLUGmLLr\nsfmLzdiOym9A7LZ6tkzVJ0Zfe5icUPIOZnjHhlsItvkjblvN/GvIS1SKDS82\n56UAtvsUYZ6DeASr1zTpEnN/NgmTp3V7eVwkHTw/0A59z3IU7/kH3jphUU1X\nXJc74ROe/+xcWQMIRbQaYxqLakTrdmpXAvRJunEx7v+RGbTY7u6eEF43Cns0\nLmuz\r\n=JSrp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb_1616433362684_0.47250859889550445","host":"s3://npm-registry-packages"}},"0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01":{"name":"@preply/video","version":"0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9725ace8bb42189dad4de30b384104288d435922","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01.tgz","fileCount":802,"integrity":"sha512-mQZCWAZbWaFjbGgPS9XMpAbYS9UeQ+0bVf2XCSMjMz9nP3epq4GUXJMxQ6ZkJLrqg549zUmcG4El6GduWhektg==","signatures":[{"sig":"MEQCIHuTsFrUSql+KyyewwU7G8MJ86/o7J8KsJJ3Cwrfqm7BAiBr3bbZezNf/ekOQYbCUzAchXjWEes0bA8FqR9zM7hBsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWauuCRA9TVsSAnZWagAAlvQP/jpDGMojb5TrhSaWaEhw\ndDiLz+QvrMvOmAB3Ftn7h/G78w75mFix3I7o25hZA92nYCYc4rBLMmW5n6EV\nCxhEhxO3M9zXiTjN1qHlxCNnAB9eMFpZ+vlyzVVaDD2EyFi0ICwekvV+ansa\npk2ESWDg68Uhoc/uFdiEFnNnjrM4OtCwkMpkvYEO2gXOkMRHIA2yqmkS9w9C\nMw2efG1q749kpu5BkOv92EgkliplUEwqSQUhTgs11KIUOgRRNXPEn6JthPuk\ngYde2Kw6rk9oyApSabbFGf66Tx2c67kQZs+tfqJBAIUENAuxduIXG7wRr4Z+\nS1Ax+d/dWQw5C1nXN6MMBKAI6sFL+sQvnzvI5kPglJqRkLrOg+aKC5AdLged\nAwxhyDjcg8D+a8cZCxAr6BnTEepo8eTc254N9K8n3oyo+noZ4Bbr5ewP+JQq\nYxvV+C795BAsfgK4nr4ZpFMwaWwG4CRJVhByNUIGdimKsE5TS98uO9pMd/F+\nGtVwdCXLWoExK1oEuQEkNO4HGRjXii1rHZm/OzXnuJ7jqd0NcVl2k2gpBNTo\niSZ8dFJrefsdJvCzWbBObNcAePo6D+ewlHuo2m3iIr88dqH7pRPmx7GjPsAK\nqbvR/IrQQKeXezxII8pMdEJkrLHDQoFs1BLPRMuQhYIVMwtB+qbZrC6e9Bus\n68zD\r\n=Y3L9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01_1616489389277_0.9618960302172874","host":"s3://npm-registry-packages"}},"0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22":{"name":"@preply/video","version":"0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d6d47de86187df708f192a10eee2b8281f8034ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22.tgz","fileCount":802,"integrity":"sha512-OgwYwvBRt04Q6cC5bT5daFmCHYhUsKGf0ITu46HDFSVQ79XsxtFAjnMX5ZNhjBkqr0ngoVkvp9+/f2Ph3/Uf/Q==","signatures":[{"sig":"MEQCIE/ay8lZqzkx/0zCLifUfZpe1VMWtpbx777zqehKjyzmAiBCmPPfAjlYAN0+ADCuE71La/Z+8MdFrWyiYRByI/YDcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWbytCRA9TVsSAnZWagAA1W8P/3qh9z67UrzVYBaginU3\nNJaVROLe30QDxPZENTslpbodDkhvW8pkHSRb2RK498BD/vR1RWIwd9VBb/+w\neCy7jZOYyCf6Jbrun+IejhW3KghKc27Z2EQgkKoZVT4bcOiD/s+kUPyVp8SS\nDZyqGIWohcw2ZwTeZAppAIWOWjpEILC+hnZFzOoZlKZFoWYZSPkwjnFtO6vV\ni1OXr25FZpEVQNjhLZ0NpEY1NH6jxggXVxtVzFks6BmGJtr4HmhEcaVWM3mi\n4WiBMCKecZJTbrnWa47mVGZIGHDu9KXiXRKg+cvNBJV2icuJaMTeCgTSqt2r\nMqk21tcsP1Vvkp5ToLiSf4B8ajKHdMJDI26XxwOchrM84KCMKG49UoxDr5dD\nRvWc9aBV+5gSolF6T1alXJP626zPGnvWPJcvNPfoY6jaPqH0eSZfq0dURfy2\nhsSD53NEYB5tgryXNbVQL3o4sHuKRbTX8yHUb0536ACtX498u/M6vB2LMPxk\njHuNk7NLTF8xtWoeCgzJVPJix9vOUMkRzQq09euRCGn+uKdFdMsKOPNsc3Zc\nzaESwWVRes6//guWrt7kjfgrPwWtdHlEP60z09Fqv5UZ3xWIB6kjiJ1GV5vp\ne7kjtczRG/oDd2JN0itVJIF63e8IbkEfuRX8qoAxHLfSdugESQuYM+Lo/zOG\nCZ7K\r\n=W1qR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22_1616493740916_0.5151270236548884","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7":{"name":"@preply/video","version":"0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bc663ca9208c8202c5dfbaa3ad541ee229ef1a2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7.tgz","fileCount":806,"integrity":"sha512-pPuy1DB3IN1NtQz1giZio14zceOaDE87GBcqLtn6mdxxEt5cvwd86rEsREap5eS6Kk8Yv6D9lrMwn7+t5QFopQ==","signatures":[{"sig":"MEUCIQDuZqB1dpIEmxPZ/v35FvZOeZjSPrbzIPsmXAC4rm2s+QIgMCaNuGboZB2yje3O53Jgy8d5T87IHO3x1f/YA6puVZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19901716,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWb/4CRA9TVsSAnZWagAAtiUP/3wIw4i/lexdUgJ+3o7K\nsVG2U8SLrrb6WBZbBGcW01FBwhjMsVyzZ5VyRYx5E4JU6rfycbdJP4XlBW+i\nm1V6J9Hxx+7Uzr6AvvrgWMwsFOXhBXd7xL3r88rhrUZ3EfsNxVbNk3IZft3k\nsH1vVAo8qVsdeO3uLdLg/UI1c1rVgZHlXCt/iYUHBxbkbCi19NBMELs98yOp\nQQ+cvJWZo/t/db5APWwc2nFSdWdAbr88sucQ9BEqA0ItHfuku/oxvypaPY80\n64pNIoixuZGAQ1zJUQO77ymzzbwoNwmY55VnCp7g0NvibM3O3wvf1/nKD6UY\nNKyKlIc5uxQCT8OTAbVN1aF9KXQsiWOGjuVF/8vVHugMe6rwC6myHMqqhzsO\nvkefvzVIC5szGbAsCFgiuTxjJj2AzH5mFeG0nuAUotCkVcXPEmvyvyPT4goQ\nlrYPcrf4w8wHHlyUVeTQ9nyMoKqb4K0SfgQN43xnrlmiBHIP3VWbjzLskZlk\nB5Ws/ji31FTZ+kBuUm8QttVZPL66a19v3VSvY+PY9bBgN3ol8rvSXSpN9Kc4\n1HIVUnyXp3pEMKcnLJB5PuK5a5QXiIhLx5RCxoN+GZ6x76eCeZ+hUge05gOh\noaRxRUoYjG49biGa/7DWVnVSsItPMqehu1dglUsyEDIf64gC++uGPGBySJ0E\nS4T+\r\n=0BN6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7_1616494583599_0.4088568015741383","host":"s3://npm-registry-packages"}},"16.9.14":{"name":"@preply/video","version":"16.9.14","author":"","license":"ISC","_id":"@preply/video@16.9.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"028ecdd6d70548d29bb52b04dfc15dce02565474","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.14.tgz","fileCount":802,"integrity":"sha512-3+l4wsTv3l13O+U+zMZAe0uic1Z4I1bZhpB5nkTN0/nl3OSNGhPFNyw80QQ+k5ANLpMM9BMcGfJm2HKtkFFm4A==","signatures":[{"sig":"MEYCIQDTDV/anIYS98VcAbJ49dbEFxGh/PWDAhbGvcH5OAoj8QIhANlYd9gEO+iBT7TytHYhoyZyqqhNkoDu+l3XNSvwGzCO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19723837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWctUCRA9TVsSAnZWagAAOmUQAIVf8H2sDADMazgaerjt\nr13vx0fpqcVB7gv/93vII4lyyqFaDmxRt2rHH2LXlMs9cTZ4hIq5oW9hmYIp\no/XVVBO8ZoWtnDOdjRNYQmAOUiyfulizMZzV+URU2aqUNXlWa1dtp1mBCH1H\niX9b/cj0zi51X5JdCibC+k0aW43yMsKoqvWNFj5Ej0+nWlY5P/yoqbj0syGO\nyPnoXLtcjEFfQQPakl9VgDQbYIzXbJ88LDQLUXh4vx7BJVi2KXdElB7ft9S0\n/l9cFDGo4fis7wlYCBoC5adTyhg4kyMgn3KnA9dsNf8QSxO40aRCFhqtgEF6\nqAcjQcp4FojiGBkfu+TLpRErRk7RnJbFeWCV4zgzy7GltZYcWQ3grSTnmXPc\nddZwFbas8h79zp5Y/Es82fQ0L8B2Wlwbtwjqw4H+P9sYFW1WbHPrdDyoMuxh\nhZFNZ3bsi+Y8qAq0tEMHccNhQSE7VKHsTwywrVY56pL26boo+m6SjTAiP4RC\nrstlc/YzzAYDKCTIPIyrG0BCop3i6A2g7enA9XN7CRkiV2QoiVoKeIIvi9lx\n0GdE69AZJfxRfQulEtF7rsK0vwNp+eXcM6kWTYsJgpqhJ/bpLftCY53FipSW\n6KUFwwWh0m2/82O3ioqRP5iw/UFhRtavXbOcTvgXITETt5xUVmt/nfI0hrEp\nXn8N\r\n=yHPz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.14_1616497492038_0.9888852885940289","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef":{"name":"@preply/video","version":"0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b413b3795ebf8c96bf74d1364d6cfdf2f75008e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef.tgz","fileCount":806,"integrity":"sha512-CPQ5NLZoXFewiZqDr5Np40YrDxxe2cO/Wv30cuC6/rKRGDAkMXHtU8kOAT5i2drvN1HeP8O7rUJrnVDcMdYD6w==","signatures":[{"sig":"MEUCICXYDlR8qo7X0+fhhAlUSHumwykYhZpdR3tCqXdjRpjLAiEAuWeGg0wCMvlXDH2oqwvpDWoou7yb0jQvZDLhzXCac1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19902046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWdVWCRA9TVsSAnZWagAA4E0QAIeWCNtyiZjupZ0cS9yv\neumBGaeOegogLVxbWJQItuC5CrGKUZPG8fFKT1uzD+rZbFNhVBe/Y50qhi+y\npHhnX1cbt6TJJI22A0R571Aam/LlxD/ojutA/Vl2lRJ6QqJ0Sx4tnp2SunAB\nCZX6Lm9mM5W8xausCS2mkotGXio7QTXCROnpZse23LQXYCmrCKXUA1fH3WSa\n/Q8Sn/YPwuACWPC0xXBCGArWtVHJZBreSnbxL7m/ZoYY3MtWy8wY6jOYkbue\nfUWPDjj/RhrvDiI+GMb99Qq3k3Yis5AKYNzZrC2vA1WXRhKy4BGTYckg38hX\n2s+uulKv6j/78tpBY/cyHgufdmzqPz/ehPmghR7bddto1QNLLXJ/G/Tj1oqb\n06HYj0WM6w+EsWhYhT1tFyKrNx00gd1IDo1Z49kxX04iiRptZJA9O+V7bIIs\nfXhUdlcnrPVWDQOeLUi4uGE5itQzyk8PFfJMfYzzaQJh68Zgymjg4ZlTLDRB\nGIOj3xjmDUEljdli6jRjCXDJWY1KyZk7yucsJAIplJTRe7Rxc1MCn8cP0kCM\nlb0LNAp7Jm+r4NAG5+0TQrGUzMZL2MkDXgcd+vLkCBco+wh78AHdxraZ5WIc\nXlFV5yRDxaVKWwsZX4chmue8OeAsMTNmQEtNrOmHaPwxaMPaFtqJTfanUdeq\njofv\r\n=IBS0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef_1616500053637_0.8735691126961496","host":"s3://npm-registry-packages"}},"0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0":{"name":"@preply/video","version":"0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9be13acad8932fdacc5c50b96bf4a0f434078057","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0.tgz","fileCount":806,"integrity":"sha512-ROMUTP+775218Jftv+Kg3REYrFWyLreXG7ZnMWZb9xokiStG/kA7AbQ5E2lHG245fYEG7GQKxmAoe4ID3+x+IA==","signatures":[{"sig":"MEYCIQCk9TWEl+hASwsxKdXD4xNO/UOpCXX/amIDFRup4sEwlQIhAJdTRXsg2XTnq3inKxv+i4KRfYWZn8DrewC5Vwh5gXS/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19901146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWeKuCRA9TVsSAnZWagAA2oAP/0idDdmXR5U63pJsRizJ\nQA2fj3YqEkuhra4eUBzXFvsHZawl1alEnNqKhj3iy30ifcqeChUE4nFmsC+N\nMqoUHwZBK3v4ctXGbYT+hcTQmBjwSGPuGQJO/feEw2HMnIO+HpewM6A/soUP\nQFrabQL5fwMnx3zgx0UdkEVZD3JNBnbyF/X7BPyMqRxAaWHh5DJ933HiUtyo\nPv5YKarLIVlMe3D24verT+VQlIeOAhwnJ0hZbsnJdQg1weHgaibYECC2CiPl\nRUDqvb56M1N6CDhCdlKuNtsSfPH80G6ibScLw30pdTtllKEadgwQS4pesMoC\nJHSOYJFdxcpMC4ehpctwlUNe3rJsgKHojGnBqb3w5f9eXlqhH+l3R3rOLoYD\nJylkl+R7NbYj6P1pRDu93vjacN7MUPSZ8myBQHHxw6V9zd7wJDzcuFKYKhbg\nUUkAEUhUW2PjVqnK1Umki5/gMh5DZ4oApj2wkLpalPL7X4MxpqT9DUqz2IGy\nbe2OBMnSdPYIo6C40dxBkP6i/ydyphlQIv+vdniejCEVDqVE2lkrV+cHbNLG\nkDWZ/gP8Of3vDDBfTy45yxc5iHZXPyNaseR77FGlqMaS975cPnqr78mvOeYo\naHCeeH8dUdrDXphrL/jkWc0IK6JOr0i7W3KIG8zLvDD4J55IThqCG8XYYp+0\npUh/\r\n=mUmi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0_1616503469874_0.003671349866568363","host":"s3://npm-registry-packages"}},"0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6":{"name":"@preply/video","version":"0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1443d5f7483290bb1a6add5fbc3d8a8f3b0d20e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6.tgz","fileCount":802,"integrity":"sha512-ZEnkDle67Y0O5NGZd7fGzcQRQRQi/PMWzqvThehi3+dFJxhI4UCjMBDLrive58Ui6mfkkV5HRJPqaDBbldV/iQ==","signatures":[{"sig":"MEYCIQC0DkD6uGw/3RavyOQpj+q0fnTWwBGcCfeazeOBOwTPpwIhAPIzjmmmyCNlSkcqbkw4RrNefPsX5I1ZfLMDIx4xFZVf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19725261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWsXGCRA9TVsSAnZWagAAn10P/2VgFjxmav934tFnvfby\n8AWKWEnw+k/sMt1PdD0Y8ummAuXIseR0g3V54aUXiv1nbUzaqWAaormJHCaM\nTrmB4rZmmnkYa/YbKEVotUf1v7rQv5XYZ9PwH1uTchdV2bP/TWMldpyRBq5i\nLGPF6sjK2VU1NmlPFO+VeZu+WP6g9Idz97yDrdwZk+lG/ilxMdN7r24+ULry\nLVNm59J3LNkaYf/RVvCLPODfw7g6Wz1IezJypZWZRKPaBYSw4RPqyat6BO3I\nKtixyZcL5KsZrbcXQBvdfccUGcHOyR8AV4L+Lk3OLENT66T1GnevswFfKKSf\nWr4dpvdda0qwfrdHOaJGmYyCZmVt60IO9GnsjVrCA/1ttA+d3si1/vuH/V0Y\nublKxcm9j86lM8/HBUGtA5XL6bIpAW/WFqONd3hsQl6t0btuPkGEYtWmulyn\n4EhobzdXX0gzSwuF6XF8O7U4bQDz2AuDfzAY9KHcnbR6Ud5Ptd8haaUfs4L5\njnMHTrwPGz5SWf1Ja17deY2JVT0PmZdU+/9AdYoy/ua5tBfEAGJ1i/mUAzmT\nXxi8pYpyoTtsuvSSEblorR8Os13sGlsnWIlcE9vbNmV/Oz3QqdEIIHcI8aMw\n+9j/CAfKmO6cORDYb8NFGb0PqUiITKgVqpRujNKPavmDTFNA4UZp7WajkH6R\nX7be\r\n=QM8m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6_1616561605876_0.37740323092059724","host":"s3://npm-registry-packages"}},"16.9.15":{"name":"@preply/video","version":"16.9.15","author":"","license":"ISC","_id":"@preply/video@16.9.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"35878d080d95b159bd8dfb1c9278e304072e0419","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.15.tgz","fileCount":802,"integrity":"sha512-IcKZj82lh9tmpP/VBrPoeBrlXJ1qz1le22+yzVXxRoKAplz+Y2GDhzgpnW1+2QSMAnzaqHWJqptD4xB4IBodMw==","signatures":[{"sig":"MEYCIQDvGkfWFGw4hRt8hAt78GAzQSAOafasnBzpBe28bvjSYgIhAKas9pI0eEdRYt/BXorzqQEX17qzyi/fsauRpSnWIzcb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19724396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWuT6CRA9TVsSAnZWagAAHocP/1vUugyelgnB7VISLjMJ\nkalaVlVGBqwuYhZ7pSY6Y5TIm9ck7TnBOlOuZ3Y38AwTaNm6mg1qVKe/WP7T\n/UUeBXqhup2mioJaGMPMUSdsk9G4NXR3Ohbg1W+uxT/lZsQd6sUl93vznsLw\nnfVola3vwXTvMRY/J2iCtQJdzmzP06i8k/5o9AEp8Q/aZEt0PFUmLbvIpJ8U\ntwZzxHt1zUDNrNyl0BaKTMzBf5wfzAiET1XATdNkioIYfrs44LzYgtLkNRRe\nSlU7Vz5ldjT9twNRUfW9dveoWxdr8/s0v5GkvW9tTsan3Xd4nWQdu7/Ml/j2\nEcTvZRmnGNB6rZMXqXzOS+atXbcxj3st+FFZzmH1iqnra3oEeqVL4wgX/bH3\nuZBpah7bDYViOXJDg0DwZliBZyDzFMLeR9XARxPSYm3YZIwawweAxfSS/CnA\nQhMyPo61TicCuwwh8g7V9l7meRwxBUziDzHuXW74g5d32lPL8TjObZjSL7zJ\nbPkH+qtYjZKGNEPr8eZ4GyjbiibrJf41YwawA2bivOtn3hU+pBT96fQP46JZ\nMwMEfj+D9RnxF76LMkHyimcObn5LFBJkcPkaymGkKhsRkmJOEkagCFTjCQuD\nFU09ijW/FFndKKBC/MpVfz6ZdrBmNVR3cS33RPhPItZmJkZ4rmhYt14/fOaG\n46Dc\r\n=eYPw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.15_1616569594052_0.8900294334949361","host":"s3://npm-registry-packages"}},"16.9.16":{"name":"@preply/video","version":"16.9.16","author":"","license":"ISC","_id":"@preply/video@16.9.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9f3b00f7757fccf05a214f0ac9a7f026825498a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.16.tgz","fileCount":802,"integrity":"sha512-VcYc8FrTYWHeh77Tcyo8b4KcDv8WxkCzdI3RO0CidJIwH/QrKdgSIPIB+A8jd+pck9/e142wlEzEM/zHO7lDIg==","signatures":[{"sig":"MEYCIQDRnMKizIzCDg8FYYGyPfvm9jfnIXvqlie2kN28o55hTgIhALbvzIFkkn35LnTHtNGsVR3mQQVvvv2S4mzdrd2Np7GT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19723916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWxYRCRA9TVsSAnZWagAATB0P/i0isVHozhxxSdPg6YR0\nbvw8vD59ZZDgUchO/s62ColaVywlOcF4Hn9jXWJSgcF8NVFd7u4GSQi++poR\nNWotlxyFBaY7Dc2bcucya+jiOppyWE9X7x8MXPqxa1tU/rOupIR1laxdHtmZ\nbGazD/+bSZ/jMCG/D1sUM2sJ/xE/QImz172pDd0z8fl2c0nh3TGtlAIXjjCd\nIYsoFEMzeNkgzL7i24NpRS/evIzaW5nYsUj8q1CwOK6OlU8/J01k82VdhEg1\n1FyEdiRKj19zo7wpJBpo6KKHBjSCZs1EQdQ0LlpRiH12eLjybADS+Sz1wGmi\naGVvfSgA6UZQAKm5DAqIx5Kx3MczwRWVqMnI73+8uy5fJ8EeOIYa94oVzUNd\n2b5IG8Pw1Yjteb2JohqlG43q888/AtELmBAJFcd6xCQtHUrHV0OJQkehJP5P\n1vy+1fMHTmlG42+nH55nXF92BXlu7K1dWnRMO8wRzIgweZqN151HvXu5XjIQ\noV3rbmR48Khn7jfuQsWAALziM1ID7WNGeDyiM+bVK8I1pwW3e6FWvv2s2XB4\nW1zf1fYiI+jAO1vctNZblGEGlbaIvLVrCwaxggQ12GRdCitME89z4aPDJ9Ij\ngCfS1nCNua/Lak3p+2Eohhyh7ObViixk0D/AImOnynIjete7NRbDT7xiRz0X\nJ9mc\r\n=urgP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.16_1616582161066_0.7041664767102525","host":"s3://npm-registry-packages"}},"0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73":{"name":"@preply/video","version":"0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4a4543c66014469631ce58466f47115e6ba1533a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73.tgz","fileCount":810,"integrity":"sha512-mp7xQTvcgrwh2/w/H8q+EqTlZoxtnknO17ZH9iEkNBjD4ukqFGOC55QmFHfcKSV4yEoeC5tnh4gRDY5cct+2dg==","signatures":[{"sig":"MEYCIQC1/w9le/LUBIxvBxhxsyQ+DsiAJ7SsvU5QyTHAbCUA1AIhAPXDn6vpWMewaeVFJHdm8O6vYbmVmKJmPD4TxdXVR09I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWyW1CRA9TVsSAnZWagAA6csP/j7J/qDO+UF6DhfzYZpl\nlEZwcrKiQZqAzVJB3xtC/bdhz4BfI8uin2TkyIK3Xtzi6NktWfccrn61q7nB\nta8GvdWYdbuA6IATA9vjI783rIsnxqzQ8VdcJmYGZfJ7SeCiWBG/yILAMDQM\ngwE8KbvYbXWKWsa3gp9YTdJHWk7U0ypzDVjBzNH3pM6FjYO3LLZtt+KI5efZ\nYhHUdbglsQTjDnvqT0lVHJJWh1AJO76BSPywZ7vxWU+WjPD0eVILnSPK1qRv\nwDcDphOBx2XyLZPBynpufludiYGlx7R4IqxbYOvpucBA1f4JYIpaWOHsB+nY\nLlH8PgYq9or55UpDFxDbD7W160Ei+/sKYFH/yrjZE2CQFW4I9YNT4qV9LRy/\n1vtpXZlVAPXilMbUd9Zj1Fzoii6JIgZ7/vgfX1QPcEq+j0S5cf8e3P+7ks8k\nniwifE83pmnGT/6rYjzdWYP+n8s1daC/osJdKoRIWZUdjSyGVB+INwMwvIU3\nkgmIrpOdRCLzyE0xRK00EQNeyPrJUWILv8mgkJC3F5YFeib1fRaYphfWYOTF\ndoo98CaqoTUaKH5udFddTYZWX15kYqABswKWU3goN0EcN6V232w/67pnUe+A\niKLHW+pdgnfm39U6QSsgZtVuSQZqde/Pbu4hcrCvWzg3aajbTSiLMtbhv90U\nkgmj\r\n=vIPA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73_1616586164697_0.38420090324861933","host":"s3://npm-registry-packages"}},"16.9.17":{"name":"@preply/video","version":"16.9.17","author":"","license":"ISC","_id":"@preply/video@16.9.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"05f86166306afa2295795e81449cf6582a953ef6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.17.tgz","fileCount":810,"integrity":"sha512-oSrbhymVuM76h4UrsdLRFJSh/gJtFUASzfhKmfQBLY7Epl6vbKMHyKvnVD/lLA8HruHvRMja+jzKqXy9dtbo8A==","signatures":[{"sig":"MEYCIQC5l8U5V1Wtrva5m/5pQJLps7EILViFYlGz9i6o/q7gCAIhAOQTxe/bhtS9OKK4p9mxjlOARPJDngDQmFNyqqLJ54t0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19877409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWzkICRA9TVsSAnZWagAAANkP/2mpmpr5EMhZLMZSDcxK\noVQHm8yKO4v4zFG+1McD+IStPOADrUxrppI2JvLNCGEUotiekJYh/9fIyqHQ\n7GB3MTvIZ/FzfijMXmzamLivqWwSsWkB2TBlHraufYuZyiOG/KT7PhxX43so\neYm+XRTOdAHihp0ufRJSIHbgyVuLh5g5CdEsQOIQQAQmk253+hDj3qY6R67C\nkjyoqbc6T01Tj56BAznbzOALpG/g8U6e6hTZdRhwgirCv5+je7/q3ZBg7yoG\nAQ9PCK7+1/+sJHBV1jezplp3EZk9m6rEptPAIddFsSZkDLatRMHLAyNkxVfD\n8OX+muBZewmCyDAVgj7sLGAv2cFDoKSjoQ0ndtSIXhm3vHfSaJFGRXLHwHaL\nPraD4b5d6gp5y8IoSLO4Ujzvyf1ehFTtbzYtDM3b7rywdsM27e/tRWQ27F1T\nmf0KMPLw+hv6kx4F+5CN8ovN6n1SjMVjm8Lq9mkhHN2KtmgQClQFie9i8qyt\nwfwvbOM3LYrZcTNewvzlRp9tpZ6t+0wOAMJtrLPeFM2Td7S/UquzHP6Hd+aP\nMkX5pyNwxiF7JZD2NHW3LVVQa0p45Lc7gUvfN2zRdGDdOpYv4p9sPC1aqf/d\nMwVMW4YDYqcZseq2kiZIxwDwJ//3Q9axNNg8tnEMnO6saers3bTNV+dliWDe\n+6QU\r\n=pYnQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.17_1616591111642_0.1126156612540461","host":"s3://npm-registry-packages"}},"0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b":{"name":"@preply/video","version":"0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"032d96ae42c4f8775881163586f326a7cb089dff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b.tgz","fileCount":810,"integrity":"sha512-tlZP3d8gn/CMR6o4GFAqlMp794dZCUo38hZfmo9K1z/6IgnzRG82ZTnJAspQEYPzsGfnp7mNwhsevBJOtqEJgg==","signatures":[{"sig":"MEUCIQDfgcvKx3+nQ2BnNwzzmwfxymwKFhewon4hYjew7Zga6QIgKA1mBv4wYw7xgT4KJ/ISm2eOPX9/ow/pA4atnwZzS3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW0RECRA9TVsSAnZWagAAnSgP/jDldgUQ1s3i5oAAUiU4\nIp0F/G9yEmU1lEQeeWwZTXJ907L+g030bkXCNhrsqgqnwbrbHFZoiAIFRu/b\nDIIydXpVmbG1J1dA67lC7GloL4tLqW7E6IUxhs1/TUblAYKDiuUqtQGaKbee\nUXpca+ZVtaO9+bGsNfUD4lOL7T9+mB1UEUrRAd4zUlSM9BdPB5cZFmIkY2dm\nimKB3HhYtn1uLAZ1r0NH8/s9aDOn6lWE1LilCb/fYaP+iflGCtvg0q0Dzh9f\n50wi0igj98WCMiNM1a/cmhAy6Lv4OWldFV6ZbpNLXJo0twCMOTWc8/xmW1A8\nUqsmJwDoo/EPeLvaaCJkyP0k/BwAVH1xBjPpAoOos9Ws3VbiTofRGKj3VqXG\nG7wc5SVyFcFDk035JFDOAwayPCO+Qdqad97uvL0VbtLrTzT+IuYIhrzyQ2Os\nwv883YfylANOnfcGjbV/03qV09+XYGaEqF+cjIkiGQ5x9IDzAnT0o/ClaQT/\nH3waysrS7iUsy+lw6PiP0AHFs+VFqaVSk4L1sfJ9j/q6zLhY9MHu/xfuOBi7\nUJn8phR38xErgmnRJFkiPgRorDckOqxguHIMjjB8gI1EYfYxsORdUJhV/nPF\nJ8T5L6vhCLHymqsWAE743z6VlVtx2RsAXmHmG1izO0iQr7gT6Bu33XKdT4Ku\n8Gy0\r\n=wzXk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b_1616593988104_0.6214689489577285","host":"s3://npm-registry-packages"}},"0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b":{"name":"@preply/video","version":"0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6285d535278f0a02d3fd9c01cddfbd0695db6493","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b.tgz","fileCount":810,"integrity":"sha512-ZVYr6GUFFqHcB8wAYgYEn4uscyL4IvR/KZ/6q/uPAhdz605jNs2VwcWJ08rg9KeIeSKBEJveuRCmz8PlmTQJKA==","signatures":[{"sig":"MEUCIQDNn8Hq16O+F2iyjSAMcfN0TH7P5QjAN7iqCLAFBreAWwIgURacN5x4zerbFOWdtCGnuObCmZz467RTqZLkUm5Fsl8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW2hBCRA9TVsSAnZWagAA51IQAKG4uGt2pFggJJRmOSLF\n5iZeELdmtrNeI++BEWgi5onwrc6af61FzSGejEoAUtp50LFfIfb9URJaxlK5\nqy188poEZdlSWFGucGFf5gSImonGNik67fWhW4NU3FcEtpmChR3SFLVQC+kV\nwRzJ2zX5JbHSltwtoj3PrPkRqDrA34hP7kuZIIEOOTcnZ5PrAscOXqiYpBbc\no6+W/uk+hdF5j5zOhpt6NotxOo6BNJZmrs7fdidORVqsBc6uDJJbcl2CdlR3\nOR6MBg45iL33FurnipON/ECOmQeE0No/LWa7i9bYvn0lliIQRDQM5f4aDvnM\nugpO9Oy12lJO1XlEq3qpSBXVVO6snPz1g1UQkp+ScOiRqG9Ualtf0kuCAfxc\nCUtt9NMQWutsUkvTUVBc84OfiDHKJWE4wNGZ1Zxu93Z4iXHebhnPY6qUJ+cj\nJlnK4pdblwd5c7jHOwXST5qCp+TCnHL5Bss+srQOoDTgC0VFfcXUDl27RaY4\nEhqr/FwCw3dVT76ysNkdVS97bBVRj3e5uRqO34eCVUQxtpRsWy2zH+vN5W5F\nXI7jOizWw38XrR9kGIGj708jsAwiHwGVVMtdxafiZ2QpYf0o+LKLt1+ih5DK\nE96M45LkrUYJc0Ll0UdBQ2Ibx8tYkMhemJ2VlYVMLXXyYZwXH35OTETMyvZr\n0bfM\r\n=icsx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b_1616603200272_0.559398158892324","host":"s3://npm-registry-packages"}},"16.9.18":{"name":"@preply/video","version":"16.9.18","author":"","license":"ISC","_id":"@preply/video@16.9.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"52f2754a2d783d527f3bfad7a884dc6c6c7b5593","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.18.tgz","fileCount":810,"integrity":"sha512-3YgB2I73c4B+mW4+5JEIE6xTejXGTPZmFZ0i6d+6NHYwzaLfOLzz+/nC2Fj3PBfpXkNbsTXqkA4oNIpP5LT6+w==","signatures":[{"sig":"MEQCICpbfuHcWMaovb57Vfs+VLu4MXgjKUV/+euXBOxxa7r6AiAacXPzpbNsWtzgn19Tzc3faqCk330pEQ19U6Tx71jjVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19877409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW2p/CRA9TVsSAnZWagAADwQP/jrJuc9UnYPnwFxPruOT\nTDoDnnF+3EWsXnZo6U6kiciiTOSti5h5xYuKEnbxTn9XDbFDjpw6i/5XGqUM\n8/pZLU75Q6aDicQE9/p4wEu4YHZ2C4kecFgquYZTpAJXGTUsXsXiacZBmSEa\n87229ZPrWwlcrzeXsY24AjZnXAL+JKdG+BMq1mkLhVj9ajc4iOXtB7s58jVh\naDCE2OqfFQRIKRmwQClH8Py2Jl2RyRyJIMnSqDU+7y+j+jazflbhW8qdpl+L\nSucWLloRB77lnaRswvux1MITh8SUPc63iczam0sWMgfgQTz6TN/pSglQuSEE\nxig5XUgvZW3d5f+u+n6Qq0atPEus5cIQjE2hgEV1TovOCTWAOeajgLKcDd2A\nTGnMoir0UBapI2U7EcYrne556SXIFqvpsvn2JgxorunnDWo4EAPrck1oIfUT\n1+uHaDgcX3IAtGAZXGcICR1P1l8laMficlSfhzrC1UJUbfLD61YO3neMXEkl\njNNlDkRPWNE5URSg1cqBUMeRgAQOaZBX6Qjl5Lq2jfgjS0JGTPBtRlPeLhE0\n93Bnp3cCj0dWGGh/hLrYe23gPQ2bXvO3aF99ACXEOs7Owfks4oB80/4yCSxX\nUXeR7LincPGO0j3Uux87SKT4qxG/uDht2uCupXUAdLq5THMSFN8H11XPWwPA\n0Yhu\r\n=Pa7P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.18_1616603774930_0.8127757766506603","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4":{"name":"@preply/video","version":"0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a13c43ab8fe1c562eded18eb22cb64f34b8ba38c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4.tgz","fileCount":859,"integrity":"sha512-Qk2evxcw4WDFBN60UfBz5PANeCEPZRytv3soC06/wTl/mKrVlv5k+La/nUHNBZ0cc6ebE7syo8l6y5Zxeg53RA==","signatures":[{"sig":"MEUCIHYHoDtTmveFzBf7jxcvk0dyThS1bGcCzilKEdK503jgAiEAleJygoyfsGQTfguyXORuATHwfPZ2JEAIaZYB6Dy1lKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20444193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW23rCRA9TVsSAnZWagAAM2EP/3LXDOFgHUsUsLWsVC7+\nDDU8io1LgYZPtE45wiuUavcow+EcryC/VHazzaAd362Ipr3dvAg837YZefgS\nuU5rNKvzVEzTBb5Z18/j7A4l9sE3A1WdCTt1MMrwpab5ZfFckww7LqBDGior\nK50wbRvjz2xgRVOYnbMvMqKGroBExc+v9ZNEsAXSTAWizj1lFsW+yD/u1Z/9\nkBnYjpyBd5Qt58bleRI6VhnfhZv2ri6yuvh6zBTOFnxFlgvGg3fnNuLMldqh\nvIKeEFoV+KrRBfwgbVbB/YUwoLyQYamIcpgDIMQW7vJksxa35PwTuEAGEUqE\n8zPK+jLAMwYpBkpg5lLXTH822iqqnb+jWopXjAriZE2MVLx+co4oBWyXz578\n12rVnFavD/F6cu7qOad8qhWIHJJ++5XP6EOfB+upFVMG3k4M2zPGinusdLWT\nAqDRqTKxmiGA3QmLLcyJSYn7spBK1tQMPMHIy+uX+dV30LZUENVb/LMTeHoK\neHyd6ha+I84V/IA9lbxa2MIPmM2gWrTP21DUmmEyydcFS7jVQCTqqgmahnW/\nZda+JrYV9vy/Jywo6k8bRrPLzDJVNA9tkmV6WC+QxPRVa9jPF9Xypl4xPVEA\nfZL8+ZRdVwsQloOty/FG3Bx7AshH1+KLhgNqFnmW1ZMyy96PEME5MQD6QCvP\n+jPT\r\n=qr3g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.3.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4_1616604648919_0.45361983525482574","host":"s3://npm-registry-packages"}},"0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859":{"name":"@preply/video","version":"0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3ab07d5f54eefcacc74ff70851fab24239fe6c2e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859.tgz","fileCount":810,"integrity":"sha512-jMh9+e02myMMCwgH2CYlvn59OLheDX8FlmQZ24HVbo4D+LufcWMdKixsSNrWyz2PkB2Wsj4PdNDDijBXiJ3KgQ==","signatures":[{"sig":"MEQCIFZ/2JZBfvo+cdMD4fx+pVOuNz4MNYO/yokaqf16Ynh1AiA/gjCqbeKX3/ca0leL45GuwuZlGClZnoUb5NIKDULbMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW6OXCRA9TVsSAnZWagAAHRsP/0qMwei78n7gMoDDMYV6\n6Dpe5T6EOduF8qIBMSRHTdb2732DL6zXX7GDKoVpSsDin4T0xPsSyijdmkga\nZcqxysK409MLjHugdipfOjn8z7nWQEGg/bOK0R4A1y6fNmTjbmIFAM8izUHV\nYzjvy/w92YiEV2gwbq0lIZw0r5M7ZRrTdOQ2sl0XhZRi3aMgECqZ/bHsgyvy\nIqcerQjw+pMlPFdBjnfocKQsukWzVfwlR8r6kdaCL3R+xhXbWbWHapUtkQ/u\nRewiSGCqrbjiZVgFt+UV0BGs3B1hDWrOL28UZe7fE5lz+EaPk2padMbLvSF9\nZd38SAT7ZDvq+lGcRb+SPtj6zXmCh5A7Krl2yvo9c9I/JptJVMXDvqmiL2G3\ntDHPpG9wu2kC6YW+RUkXddoqKNxvS3cmFOOx+emmJ0ACuSzzZ+tgxpZjhe4m\nU0AUHhP7HLQU7Q4DEhiY9wzmrWgyFuHc+j3U6phD8Gf1ha/A0ea8Kk11j+4O\n+hLMWauJ2Y8Fnd6riwJQ3SlkAjheWDch/yIXrKgiAcVwmuZkqwds8Oeqfxff\nBYyZMJX8DXm2KYwp5rwPo/PB6JF3BiOGYDKowVuYK8syubqmr79w4hEOCBS7\nHUIK6qyGS15eSXBjm5NzASpl8Q2lgDZFe0mfLcHqY10PHXyVZf6CBZKQ9zo2\n0zVC\r\n=ILmO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859_1616618390729_0.8236483072903336","host":"s3://npm-registry-packages"}},"0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524":{"name":"@preply/video","version":"0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"73ece632a0eb616612e1aaba0bebdf43de3c814e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524.tgz","fileCount":810,"integrity":"sha512-Bhf3hn7kUn3kev3fNjTJ+OZQLE1+vtlTxb1ZJxTT+YgPJe33LUpSgakWu0IlWmcqoFj7gyqc3QFqCYyelNmalA==","signatures":[{"sig":"MEUCIQCncEoKptMfgG7HvXAtMpbT+8fE6KeKgpFueHQgPiQOowIgbU77pacy0YtH8XHHZ1GgSpYXopGQdGx3nxvIgq7BPXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW6vUCRA9TVsSAnZWagAAXnEP/1jl0Jm4WhDgvf37Nrjl\nG8M6bOTH0jBeqAgUFoO2U7AL+4m7KAQ7h56UEG+m5Z/ydofcvLCL/u5IYLol\n0GYFs9eIKgZpUbRu6oa96gE+Fo2yOXP9y2JApxAna1rJvGjdmMr8lSyGxEo5\nRRHJGzHXrGMyIfsstC/QW8llemjbS1nO8HZNO8X/3/lML31YbbSQzUVD6Cew\nt9HoiGRcpptZ1bjgd7IazLHEY7I4jy/cVTGUJFMzGoou9Yd2jB2WvzT4LTyL\nPPzHohqoDROeFoQHQwIMRt+im9QHEJxV5QutRhS3EbAAZAdOjKMivpfiaUMo\nbzu5ItwHM6U24Mss0yzFHvIzUf1Iwbns9rI9TmD9zrrLWITQDRPc+fnO09ma\nZp1zdQb5oM/wUvvhuaUgo0yH+jBGLpGWIr7+E2BOx0OeKhJR4L0tnDnTu1Qh\nkui5wXRiykUTxogOkm6HUYLw+fYisfMfLUnjkSKOwnSsVEfzW2l5ULqyfh2g\nTq727RhM/eGDDvkQtXAbzD35z0+1jRZjG0EAKf/68GgGzgXhq76aItxOfOeb\n2B8cu6XIU2s6/qEBkAi8bG8AGe50lLLE2ZP0Ad877hKUcTqRLU+7joHon0sX\n+YXlPBYgIGZRY8JDFdd0toVyDB4fCSitOUNn1RuDEr13kJeosPG9UWlLulI8\n2KzD\r\n=2Oqj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524_1616620499786_0.5564591831131271","host":"s3://npm-registry-packages"}},"0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd":{"name":"@preply/video","version":"0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"697901925ce63d18ab7267541455fe913f80882f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd.tgz","fileCount":810,"integrity":"sha512-pLI5Y3AL0XJzuxiXuDbq7QrXJMoSCsHwBvezRbdmHQJ6F4Lx0zEPISuzgSSHl9IidxQhzjXm1NlCUVhNY4iRdA==","signatures":[{"sig":"MEUCIQC0nZ6B5r3IXejxsSSa3SWSpkzbcPlhFYaOM9tnZh4oyQIgU3fNTrzYU0PsvhFo5mIEE7i3k+SIYhEbiII95n3VS8Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19878773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgW71pCRA9TVsSAnZWagAAXrIP/2UQ2MjAdYvMkM/VdAEs\nSLsKkJN7q9DQBTtimCXTLWjGozWvC0nnu0vF9z7k1jkCciS1RN1dSIRoX7Kd\nyaZKA9Nw8GoayLXc/JflI4Ei80lA2ap7KwHH7CiiC2NesC6hNpI6QIxn5kX+\nnSWT+BlMRa6r9aVMuA3n6S0G+Jl/400CX/xibkLeOehc8VrtQqO4qm+i4ptr\na97wPpnVruK6eBauWCVTTwe+M1zdboxNj1dLenQmRrFJ8+sP61xALYYm7LyW\neF+IugTr1WY4uHqowpwI2Yc5Vi1vRMKxsWwvsSxn812EeeI+7D2lXD7RnrlU\nXtoWCBUuGyJfNcDh9Doe1LQMp7E+nDlopE/YTlKotS6GwKjc2lTwWmlQY0SZ\nlnZnQdTZbJMHXkM1BY+4KiG03DQPrla5sp5boT5YjPy0zw06lR+rZ6fcLsuQ\nweuBFzV1bjayNnSb9TtaLPignfOLW5foEL993ETDq4eIgnmwhYtUx70vOdJU\n9chZCpXB3AAtPux/4lJgfQQg5OZrT62WSlpXDcHpb1vVvnhhoHctrEP7Lmlk\nvA7DXI95dgboI2eoY4ukfVk6jM63VlnQbv9g+UDL1Lr04dfBfy6W9NjGOvt2\nxIbFK5/7KnDzvHycy7mNfI74OUjE6znXCpsJ1kUKWIOMU31i4f+2W11Hf3Im\nk3m0\r\n=V8uF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd_1616625000136_0.2692106052332479","host":"s3://npm-registry-packages"}},"16.9.19":{"name":"@preply/video","version":"16.9.19","author":"","license":"ISC","_id":"@preply/video@16.9.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d928601bbdb6067445302e2d8d2a0c7bc0c4846b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.19.tgz","fileCount":810,"integrity":"sha512-X5UcBQ5evSQcRKnz2tgzYGc0YZ+J6dvFsdPYYTNqJNHzSUcjj2WIvg0wH0CnOPkOS1eKqtb+abJd/tvx4hXN1Q==","signatures":[{"sig":"MEUCIQCJPsUE3ntyNJRyeuAwbipiQq82ghc2KDX+Bf5UQJMHBgIgdO7sS2pEKmC4m2yfZLutAIfZAvlNnG5oxJ/55E5UcIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19883672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXC+VCRA9TVsSAnZWagAAwrsP/1y4o7wKQDdv8618QziI\nl8KzOinZr9M/IAq4nsrUi/XP5svV1+MzAcVw4BMdheDqjIicB5/90UTKIKVM\nKxRbrID5rDLk/mUXzDYyoFAqFY8YWrx4quxiy09n/NkcH/+0TZTWBacqsec8\nD7PPL9i7vNTqbLGRV2IpCQBtgSIuHtsBBWAeUgylcgJNgG3V19tMLBp+TErL\n4s9rmIhm47MsE46r99yTLhayQUh7ztGN31FUWL5iAsfXFQXa2cygipVcK7/j\nMB/Tf99YhG+QQREU6UIClvWN+F1iZAewDDtaYJ4pA6I1dfVoEvn8UY2aKnm2\nBpEnQ7k9n2spAEPva1hTQFC523yhgwLVCnX01RXHVgEPl3gbWjj5xv7hyOke\nfKJWSAgpMjA9NOXV5m7fxAcZkqn+KvbJC+3hSq2knWyxMe1qkbwMENGRbMZ+\nctphLxL7IzE7PhHKDJp4K4tbjvXtFcOVNbBoyuHOrAkfKwo6spG4rkSaMegy\nbDw5+nD74EWSF9BkyIcUWjVrSSO1BjT5N6/nndX55H6b+Te5fwdOArvy/oKN\nUpOI4zogH4+WeqVkuTg2qlWN5hJJJql1XK8ZBr5sedqJOP3u1zF55KOKVIVG\nAYU+UN4zBn/xQ98JVXWvbw05LsxcfcxiRf+0Yz/3VlvYK3r/PT73sFRAIZtq\nzasJ\r\n=uoOK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.19_1616654228737_0.444479031892949","host":"s3://npm-registry-packages"}},"0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f":{"name":"@preply/video","version":"0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8af638233cdd9e51aad0606ee8527ed362273b62","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f.tgz","fileCount":861,"integrity":"sha512-rJGn4xV6woVI2hqEKbY26RzkG+0vsJV/5s35NaI2ICPb9AQWhFsQvQdyOQv+PxE+y5eQVI+cNMuyadIFVSdmRQ==","signatures":[{"sig":"MEYCIQDcPCr9BiVt2Qrwz8h6ZYTI9OcEaoTlCPhNxRdNdu/yGQIhAIHbXnLm30505EWl6nSjd4M051jxOljuRhGUCA0XYewQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20471200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXESfCRA9TVsSAnZWagAASH0P/1ZkF0M9/4/1DUEEc0QX\nnER2b2LzDey9Zb2Z9FxB5Q3Cz3ftxtNa/vMseY73BKaqSESNyVAynJ4kqJlo\nS0u2x5MNrhUPt0T7ZaN/8xLYwY27Ljnl/v5YNtk8qimw/9vlBKFs83pjXpUz\n9dk5wR5rsFrDXD+Xxgeu47ESnnGyhDjlc+IWWnovHwb7A1Jh/aAsgp3HQjYC\n4m+WcE1FQbKlmhzSZsdWQ3dZIp+asvk/8nZIuAcw0cSLUlXhUAAEltT0d0Dj\n5kVXWhI54OSm5VNKiYizrnDxp+BQ9XIgG0U2h8SFfnRnEEppLr/ulDhcjsji\nYY2Wtt6yyqmvgU/OUUT2bgcrBXwZQi1FrD/1yxOih7AzZUZVH0uMP8qUvdcQ\nggZC6tX1FiCqHXSX84ewxLL9gzqcc/5uCZwXVdiNjiGDJHMriRuQEqrUjX6Q\nXzOFQeuQT+OlNvLouMpV53Rgy1LRU9LfKN7xaK/OlL0Mdo5ml4Lrlah6iR4c\nP+IlodUDewpZ3YFIXbGXd+cS8zmCknJHtGNOzlhzdIhNsaFAH5+leTSS93WZ\nbcolGg2bet6rq9eMCtbEkh6nYNAMbOK7s/+5nsAh9O71nBs8NuvHjgDRoN2J\n9wAKOWBDLCoz7HhTpxoFC0bq8vRIE/0/oIWyBbGM3OZoAY0lky9vC7wg+ubz\nv0zv\r\n=Di6m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.3.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f_1616659614876_0.7728900561371532","host":"s3://npm-registry-packages"}},"16.9.20":{"name":"@preply/video","version":"16.9.20","author":"","license":"ISC","_id":"@preply/video@16.9.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"56b34f79c065e82150a6cdd628243c44a8dda3ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.9.20.tgz","fileCount":810,"integrity":"sha512-nd848GwNYDwtd75Eu96OnC1eA9TuN/g/rWcnsv+qSMbN/CjIGx5F04Wk1xEWgzIDSWm4N/LG4Nu5lnsdF/+LAQ==","signatures":[{"sig":"MEYCIQCJAaC5eCt7RG3s9wu1oPCySIuq8B6oH9fBUMIpM1pxPQIhANyNSNF4AY/imm3dg4Qv4pdfe6gXLacYx7NZRt8MY7qq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19883778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXFJnCRA9TVsSAnZWagAA22cP/R7mxwY/QU2FS0mMNyVq\n0gDzNnlUjSAgmPT15HWqMyJ3zJDul/co+ocE75yUgA3o0bwK7M/o2p6qbcTc\nUqVvUcUfnr6jPNM9Cseov18WG0VFqV2H3xbM8xoYNPTM6Acq2XuvJsp7uJFu\naHV3g7Ne4PBLQNk35lnfluaJCndwP9rNBNc6M8ecbaUvxjkf7p5CLltxGjd6\n7JfuugMjXt0Gu+eJ75T374qiuJM5NcEkLM66n0SsIfNBH9wjMhmFjcrwPkgp\nBmDBh2DYWu3W+TeBG7HyTm4A2v4v8eTq2deQMbvpjIj7fykCiYi+9QFmsFAY\ntXeWgRe27Yp/5Xhcc0X8hWUIamsECNYTpiKL7TEBJjSojPTSiUR0/xWL4flw\nYzwzz1LKk7+APT3vtYtJVEjyikpQUBuzH/IMxvl2BQsXond3gtqCyDXfsRRq\n0lZeMT00y4DpBPfDyXA0zkfpCCJC2JHE+OzNRGjM/l5DGV9sWToRzyRMz4rp\n8YLuugRcwakACdboo/LpLskWfGreWP9w675rmG9L6LV7kZ33xymziR7mbAkH\nH9s36IQjH9X69i3ihha1ty3J39UTi7GvNS0JcoIyGTzkZyDTCAAR3WMbUA2c\n4yOQjjsZqKfj0vIwlfXWiSQcXCahlo0YBfVnZAQZW8d91+yABYCV1Eme6cY8\nxhh5\r\n=ojm9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.9.20_1616663142969_0.5605520905504116","host":"s3://npm-registry-packages"}},"0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae":{"name":"@preply/video","version":"0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"78dfaf0a4365af43b565f56ff250c943cd0fcabe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae.tgz","fileCount":861,"integrity":"sha512-Tl/XTzeHvAv4pWlJ2Or82XuC6QRWAjQtWEe+6IHLiYWcaKhQacusbCTiMXVSzv8kTTiYRYN7Q97sgOPXXYYMNg==","signatures":[{"sig":"MEUCICeM7+IlU7cAuJMjHZA/OJu60rjTMHqUkLgbQne6iQF1AiEA6ed9Ql2RN7/ilMSMJWCxgt//0cOKfnKjtZKcQ7utqOk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20473090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXF+NCRA9TVsSAnZWagAAecMP/0+OH3yQ1tbthAVQkWnr\nvyIjn5PIeG/ucaJIbee+dEe/G3nucTmI7oAVd6lADhQhqMObvlgwqUNBH/hL\nt7bup2Hr8iIqDeSseXCyP3YOMynsqDh4Y4l8A10VcTx43IMvFoPeTLaM4Bud\nrZ2z5MczmBL2KimB8SDtQrfucWGpuZyLLiCmEZ3kqJWljlNXsC9kBM3Jn84T\nOeGdxxMshuSjXuX18TiVknlJwPASwgKGFp1jmNoa8uUmTlb+BhH5vTVh6UMi\nU8ras8P4lUHLQXkIaZje58vLEA5+thA3//8tmHsO3t5MeB87ITNddv8UMhPb\nqSnOmOe/e8a7VAgIYJUuryFufV4SDRg7ljdHSutRxQdq5A92rA4GsY607mED\nFcfHfSk1W2OZ0mweKwEw0gdeB8rQ0hBAcdCqEEeVziELSMj9H9Ov1Eluyxub\n8JsUSUPn5JVF8C5p90Jgc93rNcLeuRg2Ll0jHbuhL1ovZfUI/uupuwtZRF1s\nClepCBZ1fR07PxVBNVZOZjuhn5LZSQKol4oU3LkRURaL7Mc81EX+U18fa9Y4\nhFwP8QCXAbO/1ErgMxMBAaB5Z0crWQgwrsm5NGU2fhDst8JvCRPlOs0Yls0d\n9pNYnRievN0/EeLDTK19+L/peBW5coStSzc2zHIIX/Kb8F7KVmTwQCX6Trgj\nfdWV\r\n=/Iy6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.3.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae_1616666508606_0.05214189965359051","host":"s3://npm-registry-packages"}},"0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea":{"name":"@preply/video","version":"0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9a69514547a25e95c43129d6c5a00062878e4a84","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea.tgz","fileCount":861,"integrity":"sha512-lBIDX4z9kOxye3mlPqDoTQluhbgohNLRzXBTrZ4kClQTZ/RyQqbA2+cDDZermDDUMbcGTJzOfxyjUQ9fg22fPg==","signatures":[{"sig":"MEQCIDm5axj8OyGJIPLldAe95ssEfSFz+tfKJyM0LYGszfd/AiAzkXtKTUrVOzogSs+/Q1XZcLNv+N2/BcJ2FMaSU1VA0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20487869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXIGDCRA9TVsSAnZWagAAFhYP/2PRZ6wrW4C1wj08YqI0\n+NOQmB8SyEQFdQ6iCtufC7rTIj0ZJ7FfedH90aHvjyRElbdsBWOWSSvMx6/5\nf54GaRg108YnP2uTK65MfOvYmws39xjiX+lymlm5lm3wsYntnUb44/VzuFt4\nwzKtaD8g0FzATMkwqQUx+1CrHY6hs9bHxnyq6ymen73NOJ4YTYDPkMAeSRHo\nGgr0yiecs8I2QpwjwGKC1ZvG7kvzsFuUybFNi+mzJFU8WvN4JzRi/7+zDFAB\nm+b03cyGM/08v/z71LQI/FvZDzbkTSbz9WamOZZxYllCOsqz43nECWOBND/J\neTOh/UqcgofYotJgsJPN7jeQSPfusaTIICsjtWnTTxWcxP7jfP3pQ/EnwYm6\ni3Yyhe5eS/BMjAqxD5inI+iaFBh3L5qCeWujOvqRrZLP/+wkIor4paCIoGnP\nhCAznsI2FHEVReP30moZTQKCyMI/M2VAG4U6VOQOdhN0e29DRaz72z2me3ED\n8i2aNUqb4+pZF7drrJ6V7MFy1P+gwxy4KODYc1RMjcW59OoYPg4NFCDqd1dF\nIFV+qYT4kzDiY3IlLn/1sy/m08ZsvUxPo1vyDeqkedlsl/2xbgO5cxz3MLCR\nLVcLBGZQlUwmD0nJN4Gwk+LSzY3/2jBB5yiI1fSsrjs0a7v8DkIP1aYTWnr4\no4bY\r\n=zDr7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.3.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea_1616675202977_0.9023216481889482","host":"s3://npm-registry-packages"}},"16.10.1":{"name":"@preply/video","version":"16.10.1","author":"","license":"ISC","_id":"@preply/video@16.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c19ec9fb40a29c63f9f65cbad04ae06112b9647e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.1.tgz","fileCount":810,"integrity":"sha512-RcHzA2hUhfH+LUTd3QeXATdP4/5Kzl6/2LQvnTeosYVZp+XF9PtPTLushxK7WqzJM+ob404T4Iwdwangyr389Q==","signatures":[{"sig":"MEUCIQDDwBXT0OAoYFlBfgmaXF04d9gu3RPn6VFT8ZwU0GN2YQIgOHewtm+PJ7ubqWQTQtmCjyiLdDRRIwQqe9A01K1kjxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19892338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXJjCCRA9TVsSAnZWagAAnqUQAJlek3M0xYQXH9TOy5NV\nXA5RSW96RFsm17LX/B2CMBX5jbmRZHHy+Pyt0SGYdBxBsKDofe6nw5AhiTxp\nNGb5gnmC9RQEeTI/rOVVIbkZMJGpQ82jstx1MKieYYZfC2Rs5+5s6eO+wDhw\n5wtb6We8yCLO91ZCo2nkKhvfF966vuwLm/275WsLQKAPVK5EhamFJZpACkqs\n9Wk3AUb3b4DlKRMXMGNE1ZAuX1WGzjLT01QZxOpvo9OE9AfWpezTEPiEYaf7\n+oEjZy8OrvSLbqGcTILUtSRTNJqn4WXD2gLyWKwHKS+KBI+L9ZfHg8AM9lLi\ncFcLJrg9TIgavU+1IHxIN1TBqoRp7Nlxj1vn5Rp6cfAtewwEg0b1G81P821g\n/Uf4PkimIM1Z1l7iB6u+2LEuyx2wAiaKq8EZjdkWcLgTd4LY5e9zP9tD3a1U\nuOrpg7qdpgbjTZlFNX7Ngl6b7gCPdjcvTFuBNKzejwEBghGeJ+84s23TZbYr\nyC/lFFwC0wfmPjYog/tUdfDFf38nYnV8UxnzzX1+b50Ml384/dyxKhYLd4Ra\nH7F5CdILqSje8/ksOz6GGqJHRBfzXdJpzObOT1BcmkWh2zxm/Ymt5QprsWhJ\nrOZO6dljJ4CssnhJaFJWuiu5TCPT/X8nSjaeYfQXKx/hHG3Q5CB2xVSTKyFr\ni5Cq\r\n=WHok\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.1_1616681153921_0.396272854245848","host":"s3://npm-registry-packages"}},"16.10.2":{"name":"@preply/video","version":"16.10.2","author":"","license":"ISC","_id":"@preply/video@16.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"84bba4c95f4e1efcbcd634cf07e7f8316915542d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.2.tgz","fileCount":810,"integrity":"sha512-q/WmwmikV3q702lWK919Pq9Au3GHGkPE698jw6LBmpKvSgSGuGPG0DDC/aT9HseS72jyEf/DNQrWXeYb7rwFRg==","signatures":[{"sig":"MEQCIDdsXKTHfOuLskK4P5B60jB+EqXI3/m3WMzMZ5QH11NKAiAldK5et6Wrp5rCNlntrvi9znRWwbGMYnqIR1L2LGBqgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19891843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXJ/TCRA9TVsSAnZWagAAegYP/3N56CHTMU8yHNj8yMFq\nD2/U3484SYcdfJBkysD4pRDp1+3GyzFFO9M7PdBL7woPOm73rj177gpR34BA\nfCzzYaKim8Wumx2EINNCcvCa/9qqq0SId1dWB3abQbh6xrRSiwVjrkEe4mIw\nRcAxMUdA9b4gMFzF8nXgj0jARmF1w+uzggekhIavl/fFiek8Q9c0tILdxqCj\nNjG0i3ZVU18Ea5YbkD52lTohMmMrj+ZQ1fX//GSNbL7EudfVPDvemz0iLRA9\nHBXxaDwn73stSnW04z8ASdO/Nnaw+J2exBqsEi/rL2wtZRWq9Z5k5ooRw7/p\n9uzkUziioum1f/viXmowG1yL1pVqMyNb0dqh7eCjlCfaa7rzUSiZjSQx/lA2\njVl80By5/wa+akN0fNDIB4M7X/tLZEe2wsaoFP4mjAvQMg1NboYX26jHoBb4\nyt0tWp88AVOI5MHbx8H72HLLCHPkAtXy0G0NNMThx1Hf5DrixfHZOIfcNJUg\nCO0zCqAw5LuQ/+zxa2D2HkT8DmYLbeQbt4pZnOO8m8OtQhVI9N7J6ytqVvlN\nIz0u90ebRU0YSfrx3acqviD8B6y6KyhDE2tfxbNwyOTLpjSeSaB5gC3yyZTs\nzDRf3E6cBXjz4pN0GeLwUEzWoE+f9W3BTIiuHgEPzp4knr/H2T+v1KV5ebZL\nzUVr\r\n=yRMg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.2_1616682963082_0.5710948532215072","host":"s3://npm-registry-packages"}},"0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba":{"name":"@preply/video","version":"0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7b6d284e4d9ce189532b4a08bb8cdc556c860e4b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba.tgz","fileCount":812,"integrity":"sha512-XubwhHSciVxxov6cLnwjQU4exGmaZo0wDenLyw1OhkBfnkeuOoheSiuznAk9F/SA+IQknrzbwjLxeyDU86WK9g==","signatures":[{"sig":"MEUCIH77VdINAZLLtNWbknF2PgFa7PsF8P7qW4EaUbQZeDqwAiEA0OgUZ+T59l8935cfHESDSPhp2NTV3dMQWUIQDjCD6ss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19819694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXKMGCRA9TVsSAnZWagAAOP4P/18z8hW7wQlPANWTxLzv\nxf+Q+vW+tWfRqL5zsHQTsw7yYINSYExZdaHHdHpCQB3Pl54bIdvngTgV1/kc\nup3ijBHy/KOJpUOl/cLrwgXlwoAlwjZiuX1z5A/dN7WK64ayqnPpJl9aoVG1\nlih86/FcOwN6IOfBAA2Hp+i26ZJlsqiZ/wDkdmZYKMnsYWsCJ30UnuSROELm\ndgoiJaK6SbMXC7YaOyvKwQ2diJu+UBpAPxiQpbe9PRNSuHnzjZ56Io1wIzpA\nPdhPCeFwLrf61PR3sqEyp3/k915rqO+IytFZy5R6MoDjvre4heY60parV6UE\n+hYrrWsqekvkrbqe1ZxToGwCuUgms67AKr32+Qplg8+5tcE0ahRqSejCgFQe\nC0eJUEHyrCtTkGj3Vqt3DFIKi7O4Whe4QKJiGlC/7hcvejlrOnUpS9qE3OBu\nP6tfxj9SVXRiDnvhayLVwfW5nEMLB7HipPD6vYm6sCBQ5JjgcW3nKlcZU3A2\nGiSsVLT/xWCofyjrbrb3EeI5rVihOlrOcEMU+2DvYFVpKSLOo94BjQka4vu0\nojYdm3Xj6N551OX6bnbBPIcUH+FQ0c9kY97H+J8xlGEZnYdkN6pS0UpCqykg\nNzXiqJDmFI9zByRRvlFz2LgwjqhDxFmdqB7mLC8/xljXrLjbV/GNelzAs2ci\noPr2\r\n=HGKB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba_1616683781420_0.47655825928218376","host":"s3://npm-registry-packages"}},"16.10.3":{"name":"@preply/video","version":"16.10.3","author":"","license":"ISC","_id":"@preply/video@16.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f7bce5b10135ff2a132f642acbef8459406bbb9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.3.tgz","fileCount":810,"integrity":"sha512-AV8FFgEJ0ZqpQMrHItp+WszLiNNb5NSAx6IZxC4KN2GUV8X8xD2Jrb00NtPo1Ul9Eo3YZCcjVSWnXtqyxZO9eA==","signatures":[{"sig":"MEYCIQDUcZZDsPicnLDoKc54rV7sA53eKc03dW6Fqx44XYz3FQIhAPfLqGS84tyr85oXSgtfFvjZjolPQJnRsqNmxqc+YV5k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19892383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXKbTCRA9TVsSAnZWagAAq4gP/iB9Du40RLsCFSDDWW/C\nNwmAp/YvjvA90hECdkS4wiCGPljQqkZ5kRcIOQ1PIcwEEfgQScgzb7LVTl3t\njncrKD70PuCGMfKKXXMj53G98GfUjGRWzVXKvgKrGHtrd4fdOX0rv1QBkCnm\n7XTw98C4WIdlQ9NClAqmZ4BRpTuh5FKOndWAHrCFbq3ilodYLGvoIT0GXzJZ\n2QTk49WUNfSj1rNCq9iRO3Mju6snErXj3H1IFDxfeHLcnJM+qrrRNmCmmN9m\n4IMJARngIB9ZiZ5p8Dr1sfwIPGs3KAMxq8hLw6FM6dbpaFNUhO92fsdyIoFL\ngjv7oVHAW+Px94CdNlhLB8zsTNI4IDtwEQ669lKFB8XD9LqEV8W/6oqpDRTC\nOEv0MzHDB6ZjaOR2U5VXHbbLqX1AdSHEKvq8RQ2zazTep0nSsS/D4zBy2GmQ\nN60atjBcdbJ6PL8wP8uMWnEqbV1AjAYoIJ5BtCgX7HXEnrSkHhZZqzr4dfKl\nnG/NicFFoODXyL1djKmNQXffBopzZJdblVl0dMB+hrH8mI7MIC3oaS3gSwsF\nk0z0fRIBqtILtKHOVbj4NGfsofmmVQu5PiJ1R7YeK/or3MOgojL6l86rh+CW\n2SdSF7D0f9KFsYGRpsoMYhjRDXzl7wjl7ErEww4o0SkSS1LWyrbU5DIo8ks6\nnrkQ\r\n=nBjN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.3_1616684754153_0.7619645427983586","host":"s3://npm-registry-packages"}},"0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7":{"name":"@preply/video","version":"0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"82d49b5c29ad3244e18596a053d0ddb3c2ce6f1a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7.tgz","fileCount":812,"integrity":"sha512-nsf9fDxB0ZMC+LIZkUbHKzVJJEuUbmng5SNnwi09E3i+VDZQ7OzVvhmgnYi5EELmiXOOepHjs43ubzAoZrqyMw==","signatures":[{"sig":"MEQCICCm3E2XIPbfU9TCSudRc5uz9gEEoJnqXrZ+8byna/uPAiBZ1RZS+z6KI2vLPB/XX0mDP+wW7h/dqeZNU79zlOYlsw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19819694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXKl6CRA9TVsSAnZWagAA9jsP+gL9plYlusMTKdV3tiIt\n9tJAJYHkkKhclamdkJeJwlGL+nHO4T3hrpRS52f5tTC1Sxo8KggiQlpNDYWC\nzQIQk+hWPLGjL7zxrc+S4sL8c1ZidFF9xiYL4WpNsQiiROdm5QNVQ9h0nxvS\nCCAQlMOnm4fiTHz96gcVsiBRfE0iaqVFeosjjvlEnvQDvMuz6/gPbFZxmNcm\nN8uqtDfD30XdqyJ1sjxVoEt8clK5oVT8j5qHXHt3UYFRRUVDv8pH+vJil1HR\n7q0HTn4hYyB8fSdKfaOe0bbcAnZYEPhWfZyfXgg/3L3MyspWFf0LzfqwQPNI\n4WKogoVLW0MuADaFVH5M2M+mrLFJ8T+No6zv5BEsoGDRnNGzSVZc18z3fIiK\nJTQgn3g54GCZdVPPd9f9NuiqI9sS/tStAtCpzmeWp2gF4TBp5kL13iYuXWEL\nRTjYUaZwlkL/WvBxjOcgGYi62k2JLbiEjWtDM3KvYZFEIHmGm8PndYusb7nG\nOFvRSQ3RT/MzvanS8jmnHqsxMYQuLW0mAMxBiBZyPNFqi2iB5pQBChAfAt4/\n13rYapR5NjdXIoFirSVlDbwCYeh7Fv5ZcS0u74A5sk+hX4VTDxAnkgsJnI/+\n4N8l3m7PJN83z8qkWzyGxfPZcAgDIXoI42Ckh39jUI/O4ynNgVbvgpRFGcz/\n8U9v\r\n=KPl0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7_1616685433745_0.12976258454339673","host":"s3://npm-registry-packages"}},"16.10.4":{"name":"@preply/video","version":"16.10.4","author":"","license":"ISC","_id":"@preply/video@16.10.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"baa48bd53fd0a73db8bb129d0aee7224fb237ffc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.4.tgz","fileCount":810,"integrity":"sha512-WZv6WXxt9KrfjPO3Rp0UnDuYf3DtMXHy8w5mDxjlLWpiY87m7nkebU/YQFfyx+O4v9j4hvh7zFghDBCNHzKNVw==","signatures":[{"sig":"MEUCICELkugxyF8WBtjKc+wSJzO0CpGj5apF/NSt+TU6nBM6AiEAg6cw4m8cZpeti+Cf5oKNK9YhHto0Q0TARiYYzl9GeuM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19892795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXYL7CRA9TVsSAnZWagAArg0P/jx0Q5bLOVVvqpqRDDjE\nNA0zkfNEh5rDyUSsdnhKoNcgGQ5vSFkgiYaV/DYjhggIl9cTqXPKk/P4U5U6\nZh7UZuPqgkO4dIVSWSKvgbAB3mYT44xpRfkxzMsEwdBYrsjCR2O8hE2+cHwN\nu1fAecR74TOp6cCPEuwmrRzrmtLbWN5SPXnOXuYJWcUGQzluCHVOZOW0DqC8\n7s81PqBezAVa3kxZbsFkRx0A2AN7wOpkKfCBEkg/A35jqoERoX2CslizabBQ\ngJPNla8E/3M2TuuxduDfJ0zez3CKleL06XYAQAE/WXKMip1TrEaJxnEDC4/e\nt+Y/roC8PCHaYrWvTIFzr+M6Jpq1uYi3bwzOR9oZ+cyYwV6TQ1RAljDAyOJK\nc2szcn5yHVY2fyLET1aGrP8F85avEAeqp6cZ20oFF/Wgz0dtAHJBdwISuKnk\n02llqwOsO9ty5095H6pD3FzpZs8XWHlMOJQIsDL3A6w+OK3uIIyAr79GRxqc\nKJS/cA0WLl4ic8R6iocdseR2IVkBSShkUVvXD3A98ZcuygfNiril+edYK4+U\neVXV0LP4Kk6GS9oEsp9InnHaS96nNA3m3Z0pP4uTCp+F92GoGFk6RN+6TXYX\nKJXNsfFt9MVeBYISNe+CnaVEQ657X4ytKeG3vUQzerfbZP8HGPvIP2eonoTd\nfYuZ\r\n=MD6w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.4_1616741115034_0.17341024433876395","host":"s3://npm-registry-packages"}},"0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7":{"name":"@preply/video","version":"0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1d7c04ba217557ac7a50d1258be0c5c1df93f678","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7.tgz","fileCount":816,"integrity":"sha512-n5zJ9z6/+MAVKJYzpZ+oyjmJoF6/B4ZYprAt9Gq+fRZXdxT8bMFKbznUg3NZW0Y9MRi4xloxzMNR4rHwsOOnOQ==","signatures":[{"sig":"MEUCIAe1AzApe9ucPcKfJDtK1mOe8Yb/JUBfUrmPor5XC6atAiEAwMJUNwv3b3Zdf3u6cr84u29VGWIfWm1Yqa6S1xs4tfU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20134847,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXYsQCRA9TVsSAnZWagAARc0P/jWo2HzHiTerWcyTGmuO\nFq2hrQBKZrmLGiRjjyVbMvMCZqYVNQ/KjYNtW1eHeZhjUkF+I8UKNdpdPAYz\nfB2Bv/34UnbH1zFrcYj4RUyz//hlNHHsIeAsLIdAXg87hCF90XZ6W8+NZZtk\nFDb2tsoZ5N3TO+zQCJdh5qkm6kYjdb7Tal3vtNZpHlz+eB7uHpt3xDmBsImV\npGu9NYFgrApGbLKpuNLV5QSTUGRURZ+3gkbNBsib6Z2ttDTR+qNiIyNRXL+/\njxkB+rJbTpqKlAYRM+AnRWlFn0aNSgxP/XjSUTtu1f7acfGLf0qxgIoe6BYC\nt0lI6m91N/9lm4BSdhQOUSNLKo5ELNyU5C14RGW32nl8l/CpwWQPpP1MVu3G\ng7poyhF2aM4W+7w2hmkJyukWIJS7vmleZpvYPtjm5yGWWKH9358jClb8RAH5\nSU4jsomac7Dvg91JO+BUsXpnN29Kx67PfXVOWVSPz/xlk6RqNj0KdsGosR2d\nDT944y4PuJRD396x6gIJUTyPvI+YagNRI/JH39VZjo0rMMLN4XBuy1l6PkNq\nq20YcZJGutDbsLG0RsAuqd6yH2Cd41ExxXqgb3zlrFGnTjGZwl9XbGpbzzmf\nzrA5xTiu+39qRVho6p3eH9aGomOs+PJrTXn0UeFn+QOsGvMMt0W6jDfMZWtO\nLYC2\r\n=PoRu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.3.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7_1616743183768_0.5566379010193969","host":"s3://npm-registry-packages"}},"0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd":{"name":"@preply/video","version":"0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8b43aa7e3dd04afd89b398b3110422e285a9817d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd.tgz","fileCount":810,"integrity":"sha512-2URxlRTgVhCMwHlikqb8WSEnN+9YcLAxIPxHzo+FdGQnfzGl9c82tH8xenTOIWpeYrAUVQmm7B4ERoZkpm9LPA==","signatures":[{"sig":"MEQCIGxIgCe838IlEqXIOmSWRMxFZV11Hb4+TeixUykuUBkOAiAD1dIhfk05EsYtm1u8jkf0iMjmpFASrrKCmKNS27Oakw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19894704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXc3PCRA9TVsSAnZWagAAvM8QAII8rLXw8L/n2frdEMKO\n9JNoMRk9JnVapDuDlXR0+qE0B0+w6vW5NrW53/pQVw6jZ6d6TCgwaad3peGs\n0nIHDcXJJyJx/Gml/CSzoIDU5c8Y5hHceVPWLnqS4LzkzV+Vm/PEoUYA7IBj\nWz0tyQPpil5ZOw9i7I6vofyRDFGTkHi/vxhZDoH5bW1mvZkeAG9zeb4/bQvi\n/JCQK1VCVgKS46/mhwyySzqGFeyeZirHNbSiGu+MYKQ2BYtN81vIATF1EW0c\nZi64dUD0fpDySuzq6VPcKBSPN1f4jQl2FRfWNRCUWB9pZxhDv0y9UQV4T4Um\nqG7N861O7McS7x0KnyTn9vYl/KadCjaSUwrKLNI3oTXQt03KPWoB7Vo4nF8v\nmdnsArHU+tktuoPHjmtcAO6l/qfQaeMicxZEdH1aGP8NqiMViIuY7fqtuYB8\nYSu7CjqGIbQ3RhB6uedXtHiMY8qjZ5TVsETInSdcTfwLY4S+tZsJLpnxfM6q\neKKTNLV1j3R5ZnQ1qEQfliIHLznWElxGUjitgpFzJA95HMDQkoJlO5D/jbij\nKXsoH8srusZ5tzyDEbJpAR4npOTGsGBTYrQR8ZIgDFYadgrjOUvsk6fgyRVL\nqMxYeCFNU9CnkcYPE2Vwnlo7/a8HqaHuISXZ+Z/NbYrSfRbbmr+vBq8BXzm1\nS3OU\r\n=FCa9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd_1616760270551_0.6691275867238431","host":"s3://npm-registry-packages"}},"0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726":{"name":"@preply/video","version":"0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0c8f8f7b4e175728f2bf81e8cfa490c021140b8f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726.tgz","fileCount":810,"integrity":"sha512-2DNXqICOE1HHkADpt7trxPBU1hUZMFhOkUxfEPRaE9gswhbRIhx/fkmYzg/OD1iVKSD+/CBNAUghkCG3w/LBMA==","signatures":[{"sig":"MEYCIQCWhuX6JdpFsSMYFN6SOok9SQLFr5Pthx822RtQtXqTjAIhAOc9W5InhnzeszMPP4cKREn4TWt9jHdf0vdtuIX9/uGW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYd2FCRA9TVsSAnZWagAAa7kQAITCIK+unPwv5LKvCv52\n7Eub8VOb4b358h3Nh8NMlguVfww8mfU5TsbNGFrsq3RxudcP+PkB+JKe0Rxy\n5LVYzgQUKun9MSTd06tMNQ2Qph12cKegP2URJ0UBtomVRue/I5Rv69PM7dx8\ndYMxszr1WN3cF6LpR7vBobWDHY1+yoDgGIcsRbQtZgFZw1JejzjalIHb6gBL\nqnaC1fKZemPrSyWThokdcyE40wPwTjFhXs8LuhDIZz3I5DDCqWLgOC2mz/H4\nKo1smxdh2ndPgCPs2oEh/XsMj0YCSoD1oLtfurHTTWOQZu0h8uf1XRy+XHsG\nK+hWeshoY40tMagiUkoLNq5nY3T+PVXLvg8NUAj7AXBFkt879Y4GIV0JoK7c\nU6lX7w0UGn4FqrI4q6F3QJmFWfHBuYEA7IKT1afsMxkhiZ3xx9WvyUW+jfx8\n/EpD7vIg5vpyBb+0BSOdvukM7pedftub8RxOMTMqeC9i30NFrlyYwHxY3hSR\natiErxHerEMaN7NfG5O9ZGLtag7lqd4vLauftbIB4EZyVNjJFQRYz52M0U9U\nHVBOJ+ZIE3rYsoI5OQqokBu25Rei/uj9Rq7TerhMpkONkxWCJhJgtgi2iyhx\nPnl3z0WnjpzyU1uj4kHxaeh/KLoJGKqBv7VMz7ywfHC6nSUWDEp5BpAe3ZH0\nEtEs\r\n=gcHu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726_1617026435391_0.8730086660780942","host":"s3://npm-registry-packages"}},"16.10.5":{"name":"@preply/video","version":"16.10.5","author":"","license":"ISC","_id":"@preply/video@16.10.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c3baf2efdf424da4ac9ac063d2a9a1e9ab36a110","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.5.tgz","fileCount":810,"integrity":"sha512-QEW/1TkdmZ/bRoJ74CNzMtb8zzyWv0Wd9IvcRbFi6cV/GbzZh94aqRDznHNun0TP1VcryLqlIXNCYmlpUI3kHw==","signatures":[{"sig":"MEQCICxgzi6s4KZjVjM7yq9IW9J0RLeShFv5pzaj6yQTpVEYAiASyXy9FgKKGY0Hs1iyjW7lml12Xwn2r6e1SgC8Z8p0+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19898458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYeaVCRA9TVsSAnZWagAAY2sP/1DmxGLssXsiMU/VymEb\n3yvW/G2c0hy+h/hz99Uw42v05+ldMK24X+oPFc9JFCV6CF9kXY1wJxcE8NCn\ntqr/uWAaL2WgP1ahWAp8h186LkbjsQXV8y8Qn4cgP+rQ+uuu0ZcHcuk+mkom\n/lLq+IYB4zX+kLQXRO/XbwquDiNp4zM5gCSUK5FTg+8YrDtZQ6asIooMJ8Qj\nbpHMfKyMSJLSod8oNH3QQZ9HaxxZXwwX+CF4aTUO6kJVpwtCyoWPjihhlzK9\nJ4btO6Ja6xpNTQqNChhS98cwGokNmdOADIqmIpNzx/neMy3aV6OFhK1wGUgR\nKF/+cebgLgP5/iGWV4s7jQwgJYcZKWTjBXFyw1ojzVquq1Zlp8gNkuR+ssVH\nkq1u0UmPFJadUIjU9FJN/RSPoBnJu9UtvOLE2LIplp1jQgnVhEYWSZc9l9TQ\nQasmqlgUVnVevncaWDdGquAdr2AGVQS6dY/+zV3AFQoe4Xef/mkHGRrE09OZ\n0zFEJh03rShJQDaAa/4Pmb4CL9lYOg7vYeXyddV3pk6QUzUtoke48GzjV2iF\nPQQRNvYi8mMOor1RjXYd+EdY631HgGBVMmw5mTtnPnHcTBiawWdwJGsT6WWu\newrA88RlyBI0tlF6KUeHAB7JaZ1JZNyHe5CRawXCh7kjm9FcQ9WOqcqem5JM\nfvPq\r\n=nXiq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.5_1617028757149_0.4696639032768717","host":"s3://npm-registry-packages"}},"0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4":{"name":"@preply/video","version":"0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3d680c74c66b91fa327a7db325b2a449986601a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4.tgz","fileCount":810,"integrity":"sha512-qeqYa026iHmjmOzFhpslECwiUuw7H3peEDly8CM/R7cZG31hiphjU8JogBWTNgGfzBDUdZZYf3OmzrUH3vMaSA==","signatures":[{"sig":"MEUCIQCmaCQdpESA9nwIAZvcOq5cQmHXKEhqK1IjYi67PhVyaQIgGnHrmmplpQkJhjhL0VLwFG+SF/MKQDo7dYFR6y9yRvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY0AxCRA9TVsSAnZWagAAAiQQAKNAmrr3aKr9667LEPXz\nBDIL7IEb/8uiy3psYh0V4hDklwemsBPFzpCh877e8IWZEy3KUaolNT2jvMKl\n/A73vk3mD4zk7gC3GXRnJh70dnA/aF7Svk0EEs2OTpuaS8PGyPuetEJ38Btq\nRYDrAs0f70nrrfDum2g0ngzQp+g96f8Waugslf7NkFcZX2oiBrWGnlgvndw3\nl4h6RCDkoln5TcPjl15BdANiKswLOtqW6BYTVXWKuKQ/dvZtkFsUxOWJvPBP\nL/NfKFEIgLBpVDVHhXbeAlR7MJEhv2Teq47ZWa8Os6kdlCd1kOa+otgG6n1h\newaFY/6uTLwyVVAsJK4taMp/kP0z3nblcERpFncUmMTIvkq8Ul6UPI6wuO6p\nnbLncdLRTNZmAT90jP+DaJhwVrhbCqB58s0hBlgHoMNLR7n6v09qhrGlcuPF\niuD6T/HS2QLjYUPJI5AtG2XODOpdP7TtofRuPvfAK7JxeA9Lo7SpacR/CiTj\nuBuMBsAMloGTK8bA46p8QLpDDOEcfmbUMoRFz+JNP58Yz63SnWjb+M1MJiEy\nmneXOz82qIZIdpMZNxVMt+W6w0NEnNkJZvayB8RrGDIbICZBkRPxKHdw6eDq\nDw7mXQDapFNWW0X00lK8XB6Z1sCZLHPTiLzrNGmE6+7UpKPFHqGVMx+FNnMV\nCM6c\r\n=jpLI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4_1617117232449_0.7946695405616169","host":"s3://npm-registry-packages"}},"0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c":{"name":"@preply/video","version":"0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a527d8e53b87d576960874bda1780591003bf9d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c.tgz","fileCount":810,"integrity":"sha512-EqPAIGQjzeiMaPimVRNRd0rJXePm/OpmUJPRo04OBZ2JRjeW7RcTNmNdYHCuTwSktS3J4EoWRtYlIO9t8jWXfA==","signatures":[{"sig":"MEQCIG0sMjUchiPAMIfiUrtnLfF+iM7ZciCBGRvwApgd5M7dAiBTfo1tlcveDKYqM4qslrhypwzUBkVqwakL1ucsn1j5Xw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgY0IGCRA9TVsSAnZWagAAFMsQAJ22BLpCEPCgUeDt5lwx\nEFvqJ43f4uPnA4mn5DtQC3GxRy7oNhvPB2vjHkrk8LNIGxuWSrtx7ja4nGiQ\nRPYLXO8Y0FFo4Yxdnj5gwmdbmVxPe2ddm0Ayy5Yj8FwSqZb/uSrPHIDCO2oD\nnm0/YY4T2zQ1/ZRFoGolbFmxT8qmp8pVA4FH0zp+ADuzMQQPKQy1A/VrWoq5\n0Hq0+8QE2wm0LdOgZwc3zOLssBxZ+81eY24mrfQRZB+g+iF8GvWRHZVvtAjQ\n6OcN4XEbpHLriJT+zb9UuC1y2OLX7X2Ji0i6Po7N+OxvkurbyZFAIBOWj3pD\nVOJ4DOQiEtj5f5iRrLabZ6B183vLzC2mAuk91rtsDYfeDtayNf2qygSsW13I\n+h1nbNgYrRcU2k+bcRk75pYW2qRuTLLlc586ZOp8f05tpq2SnxyZBrJkF0aw\nA9iiVDnPEKY6PRhcj3Qr9zpzaECZ8MAKjIYcfJxwVDUoS5tg0uxGxMmrgvvm\nKS35mRQU1O5CSg8h9yxVBwtpnong7/aexyf7MUANtgAD1/qhOOrrKeb0QWhV\nSlhDNAlaaAwQAXiYtZmheaN3DwCgyCBs6ErUfXEyoC2MK8HKpuMKoHSmtT/L\nAPg7O/giYOM2Nnevts/nSmguEZuOGTNquALd09HNPxJLddM+BbqiT4CFqwjr\nx1Wb\r\n=NwCj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c_1617117701336_0.35820832092047983","host":"s3://npm-registry-packages"}},"0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601":{"name":"@preply/video","version":"0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"408c89c352e5669f7c51a126995cba9dca9c7d81","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601.tgz","fileCount":810,"integrity":"sha512-H3PSuO8scK98gTTNP1J4iMfgF/wfI4FAK/WDHvzzL96S9l08PPnftbl4dhQvRbpZA7JkBA+uESU4KfwO4xps4g==","signatures":[{"sig":"MEQCIAKpfG5JK6kv1ZTw+8sjpQwt9lU/g53VVgY3Z1/xSEARAiA//lI6/CHGVXQtuvOnzOIrMTGq888r4X+Ta6sTcQPTeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZBFmCRA9TVsSAnZWagAAHhkQAIOdiecPwOhu2eI2GpAQ\njmbOc45vcTIAnt+JNsutwN5YoYq3TQzMyZ928bvhMHUJf7gY+eAmd5r2aeNS\nXjynia4MPLRYlqQv/LpHX4oJvCqxF0aqTrDZ39Dn6ad3DoAjxz+u5FXfWly+\nH4ulnAdg0NJCK4Nh6EtpOvovcpqkUWLILJZkFEfCS0JSSxtFZdczs9ODT6mX\niGfXua6N+jLCHAEli9WPKGQP2bT2ZSk/fVad65kOuXwPvbIlQRNnRdaGiaBf\nXZaS4b/cS4zN04J3fOnpZwvjkAq95fYoWzTiq0ePx40ySDy0cyzra/uwYJEP\nlJG49EkIHgbJ5Y3DO6j/BKt4yXG3A1VSJY3P0x/M5+OIc3CLlG4fKbYuawzO\nGO7XC91VAyg+fuTV42/22TO0X9djp1JLxkjpNPv+58i8Ep30d4qe0GoAkuZ3\nBDOrU9Xh6Mb7CxP0xhExD1+9U+DEMRhBQwGMqqmBZYnR541W2dVidO+BYoXA\n5nWpzVI+kcc2A26KLNiA4nJpf6760JkfMhxqa9tSjkXVq0omBlrhogZ1DIrl\nTCM5pNUS6k3JYQF8Suf0VyKr7JoFeKdb1hc6QiSr3k05YDgR0N5r6YYHYCaD\n125gngzRtkRgJG0s8rfCv+ceiq5MbtaGsOCt8MXIu9QpfUzFokIKfeG2M51K\nK/vF\r\n=N7np\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601_1617170789358_0.84613753752748","host":"s3://npm-registry-packages"}},"0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b":{"name":"@preply/video","version":"0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5992fd651af6b460f00cafccfe6356ff32dca7e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b.tgz","fileCount":810,"integrity":"sha512-JwcSK+E+Abc7EbPphA1M4ks/IHevyFzTDXi5S+sRkbvhQliM1Re2CFX1PyvObb80JMzqcxeoDR5bn8pSwU+ycw==","signatures":[{"sig":"MEQCIBb+ZebPp9bkD+yNH0yB6pcL+ydM/OGKhxPc/E1GI9gZAiBz3iBISK44F65//SdIJVxobpIWrC2+kVaqyIIYXlaNtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZB6uCRA9TVsSAnZWagAAtTUP/2RWAZDd5LfBsAAGHHYM\nel3vcJ7QlLS+wnM5mwvdx5PM2U4XwsenYTF2ZHJuNJZ04Hh4ZVOtVU3YXOXE\nvkzjNlu9Njpmki2C0RWztds8lJEaV6x/IJlj2c+qvKtYWf9FWDQ2oyUYZRnp\nFtqtN3htFHYT/YZDIOMICO8bjU0awJCYh34z0WpQxJfQQs0k0OzOdufEvrei\n5gpKFLpR1iPAM7Beis9cs4rc8dydoM29slQl+GG5uydu/5flRZjV3zART0N5\n2jOMjH4fGtlDvU17tV9Nl9OI7m9qDZrOJw3by+MkDw948SydHEOQPHCg//yX\nFIMBO5sFnOdXvv0ZO4z+84rQCWMv4Q8gjjH5p6VEd84ylMPJeJF7zbul6P52\npmL51bmd3T10XXtOvX/hSTgLGlYojuPCfLF2zcFNcacR42rdEM716bZBLY60\nNKE2TYf6wJxoDygrGXonsewjx5D05E1cqIela4p2xwojIgOuGH5MUit0s/0k\nP/Te4PcNWkLOR+8X5SfjkrKR7RpAtUBK7H1/oaOiXD/JTY2KI0mOXguLbv33\nh8Ln3UnPhVCUHjnGeNMh9ZIzuI6WdqPBDYlTwQ/Bc9dwaaaEUUfPOwWnMYD4\nG4AZvwpj/qTrr7vQV8ZY0QRq+SMHcI0APgYt5YQyMoG14jqTyCDU4Vxy9UCZ\n+BAN\r\n=Cmgi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b_1617174180902_0.4360051684848467","host":"s3://npm-registry-packages"}},"0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3":{"name":"@preply/video","version":"0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8b3d736a6cabd79de4af41693bd87a0ccaba0d22","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3.tgz","fileCount":810,"integrity":"sha512-kkkIM1LYNvOADi17kb90srm7SYJug9m2RKzg83ipZ4AQtG2GjQ6xNZhgP22J2XWpIHV39H/+iBa7Lhi5ogxnag==","signatures":[{"sig":"MEYCIQD7iFGT3+4PWnYD5Ul1JtbeCj27HNcxnrPxeV5A6iIhMwIhALsKCEBPpTdP2goIu0HwDdSUc9fOfiM/TE4q+9xggWao","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZD2zCRA9TVsSAnZWagAASh8P/3Kav332vvxPtKratmFa\nWRou9iSGeJNFJANQc8ZuUh0ua07m/9zOWDF0Qg3pP8k+NgGOWhEAZMjfUUO2\ngg+3z4mm1QD1YmxMCMOKiVYJw3qjMnJyFCgnf/pVP+yYhFMEErKDMMNLRxMi\nRnELvIzoOYlesN3Vvzb85Iq1V6tw1QdHzMwV1pGRVHL8pWV3+LtUAywEbA5m\nEZtE2iATpqFtd2CS4xBfS6bm28Gw/Z/E2UM7eP4kVXnNmsrGEGmDtqTB/++9\nXejAiR0J/7Zoyx52LwRhzcouLM5S73Ua4Abpx2ZzNSbeWj+GX3eC06HoE0D0\n4NR3gbH9LpyQZVuj61QfOot5qp35+eMK+wYhunQ7zHmiGny1byK4jtXKp6RZ\nF+l/JI3NxmIxMBS5lkTVvFvot5uWOanIYiEISqbQFTDrZSvEy6htdoCbbMFI\nm7E7GnC9Ws0c+IXXLoYbBAx4jMgVbnNw5PeIt6NeR2SFxIeNhePZFsC2JRZe\nJ5EBjWrrLv4WtNLC/o0ZbRjylbCPwbXlGXmKyYbMVOXOZ9zRqC6cy0rHdlqa\nUBsOa/DDoCNLZ8OUpjnA7mjiAfDmUtWmljQ3wrWWVlFCElQX9bdaghtn0VhQ\nJcIQMOR6VjcAIh+KYt8aqiOCDZkv1hc86AH6FzAiD3RVpa0lP44X+z8zP51d\nHbFl\r\n=0khK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3_1617182130776_0.40699008396010816","host":"s3://npm-registry-packages"}},"0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5":{"name":"@preply/video","version":"0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"361c1be9616e3862fafab2148a5f6502f5143dd3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5.tgz","fileCount":810,"integrity":"sha512-9DSZkiE9Bc316ZUKwwtpkfBAtCKmnpT+sfIwhPHBLuxx0NRWCcUrXjB7nOAHB7kbhjh6jCLVflr42mTNt8KTfA==","signatures":[{"sig":"MEQCIHlFFWvqYH2lOwykKB+Gockz01TSwykeBmufX5TkeDAwAiAW8Gip0eP20PtRv0bF+GOy7GbTonaJebkp/6xOnAY01g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZD/YCRA9TVsSAnZWagAAXc4P/0pYLtXreoT5Xw9I1eB2\nMrLL3xmMX2CkrlsOvdZHFlZBFjbcWh8MsDzVEsHX77qbikAUtq4gBgjpazC9\nrLY28IJDaeWxNrm0F5w4t6Qw3K0Hhs0MUvTmRqtgAQIYkQRTOaPlp2h/vy05\n56wCTkmJFGoHJW1HX91HhzDqmTq32TAnNVSfT7prXHt6RZrzmtjJHOqlnqXA\nVtbp0joHDmQ9Oe/O6WN+gY7V4wsyejmzitRLadMZKMRcvZLYVpMOeYkpCCfP\nh0m868mDhADre430fJyPTKGHOeUVwfID4eVY6F5rQPK02YPJ2I4ddXM2gjSh\npr1HbnqNe2O8U62YQ0+curIgFrvd2lPqiJju3tlCSMUhQcujWiZzwVT7ICNw\npkypTMUgb8VZFRePFT/JcW8PApRPv9/YR/pg6BaJZfHQ7me4wEKO97C90SCb\nr+7OBD3GIGxf870PdqWNZY3E5ofmda5tEfWYnCbeMqRhbp+eqpysK362CkHf\nrsLiAZI2oa6dQUHSBFMqGQJohN0iP4iHgkW2LCgMtUqnDUGrBJadM6L+eoDJ\nQfMBpxZrK6khMkJSFCWtPRCjR6mp/j9Q0zfMuoDqoRU5gAzg8UkoNGrMzIoX\nQmVVXPxBl0WyJR9n6rCJHKaM/exKplP+Vk2VwKvnlwfyu2yHJNVhCjuGrcR3\nvEHa\r\n=3unF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5_1617182679315_0.41197301576879397","host":"s3://npm-registry-packages"}},"0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a":{"name":"@preply/video","version":"0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"14559d5ae3e56e694b5ca60af70b665b70863a97","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a.tgz","fileCount":810,"integrity":"sha512-rd0OyjlhHzrNLVRcmSOLpm/rfbPhmGFeXlHqFmGF+ZIX21fugklXuRR8OtpufociNcUPMjTYFe5pY4LySpt/nw==","signatures":[{"sig":"MEUCIQDYo96hzcbdTGqB3QNZp/TmVq9j12qeZDplMnHrEYu+DQIgH/5tRwJOWbiejWIdHLh9QCxScduTXuE2bqBLq1H8Ng8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19900223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZEG6CRA9TVsSAnZWagAAZaUP/iyTX8qg525bEi70gj6e\nqiaSdCrCp5AWCpg7hwAhhCtbVDwGXNWkAnNdR0+l4HeEUeESNKGdXtdR5CHG\nZBZP1CUNbJ3ZUQfjYeNmpznOZ/x6QyW33MMqkSbCpa16zX/lm2XRl3GOt6T2\nssByX6MgBEmNopoX+ga8Ex03kdeTmcyXy2BvqmEGNsZBcIkoKIqj+FfmuVqa\nZmvcUFIqN23sW3P/n1uInVzOMOPM/kWUCzumNnUalBg9z1uZb+2mP+0eDhZy\nVov8zB+xWVEjbJvjwb15oOhMufoCgmygQtzOesjWlhvX+Fb9LiKyN/vPnXzb\nswBH2UVD7Zuvbl5GiM3e7ET7Dkz8L3oXyoRfwfhCpakK1lKUeHcYT3yIBa82\ng4bFf8R1dZcq7OYrQ6IXvwXivz4xdaufPkKTRjl5yQ1GBEtQ6SWkUD10pUNn\ntTzLSEyOKVcZIdielxmk7s2Cee4kWTWiYiLhoIN/BAPp6ujWGBftCptU7RxO\n5I0tOzbUwLUvz4ux2t7vIBXAWOnXpy1GGvOr+6GwP3qcxk3YDHoXYN6EEoca\n6Wb/WcjKgUHKoyhqlPHvyqXCtiLJfjljEsIU3ZeeapuQirJ/fXdYHhzaZloJ\n7t4coYc3WdkdvV9s8ci9adUB2vmWJyrK/SgC6DTn8g4bVpK4gBcDNkseaEMn\n1wk1\r\n=QRMo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a_1617183162212_0.601834453124116","host":"s3://npm-registry-packages"}},"0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641":{"name":"@preply/video","version":"0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"15f99f3f9667c0272925a6ef79756582220a3eda","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641.tgz","fileCount":810,"integrity":"sha512-EIieeVrDzAbnJqdtaB7Xq30Z9Ix3S/L1Jj2SvdTnGsb9Zf15aPBX8SFmOoTYEzdyB6hBa0dl9rIKTE9D/ZLvzA==","signatures":[{"sig":"MEUCIQDrRThY7oEJ0uw4x6wQs924l85vjDzFNgMh4nUGzxVXxgIgZeR1tPdmdkbqn9sopLOgVTvQh5N99YIUzJSeJIYtrdU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19899762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZEOrCRA9TVsSAnZWagAAnjwQAIhSvSap8gk9jBLrm3s2\noltqGJo8JoS1PZrF/rPjgHVuQQ+m2KL26rE93zG+K/AYoLJlLNjXOw4vdpQT\nJyNm07yHHXES58cWFV2acP4NEjV1QLbHU9BLJZ7/o/yHOZp14KRGlyAonM6m\niv9YbNzfdBlJUiJlXV242OYsGKDJu+98cED2p3Bx8jLGgfQug2B62PGMOtPw\n9s1q0QOcfnLtfnCUNebJ3vm6qmm0kbdbWIannMsr16+kCzgCdSekok4PDSu5\nhsUgFdkJRUjluR2BpxQzZpIEcPvLc7/aviTGOXFoHdF6fX92YCGDC0hFL4Qz\nj6S8hGoRM1lti+CgApK6pvYhp7l7XcBjPflzEW3QOGX8OcD8H6vfw38vbUNp\nVsnN8QtcHc3Iz+DA6sqkr9rSe97PLcAzjLPY57ZQQtfmZmn5LD+Kju44dvWe\nfck0+rt7InRJvlFRd+jWsybWlIhCuHAaepoprj7p+JvSkD8Dg1k92btpoLBt\nBoo5qf2lI53ChRvUJioM9IpFea84ePlKaASqAi2WdjdvIMDV0Ib6CFFuFMiS\nSYmfMQavFMRh4AvkHXWiHhJSBof4bQG5wNj40phtXWSgUd+Y/robVa8w6BLV\n9ujM6I4eyggsZ+O5sAgkuwdTe2s9WJx8WWyxqn0H40F+V9pbjFZnUlQ3Pgar\nNXgB\r\n=FihY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641_1617183658216_0.9169310159716486","host":"s3://npm-registry-packages"}},"16.10.6":{"name":"@preply/video","version":"16.10.6","author":"","license":"ISC","_id":"@preply/video@16.10.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0efae190fc8b0cc14bba2ebdbe0788d9c9431405","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.6.tgz","fileCount":810,"integrity":"sha512-sSrtxNl9hkwAjE2pbj7WifE4NiII7KabA8Vszb2CfezmLpiJVouaIZOpLQDzZhiRLGkESiiKSSdC4eGdN1mWHQ==","signatures":[{"sig":"MEUCIFTaz3uFutbl2hqJL0mgCk8tPWHPyhuLfIh1tBl6U9k/AiEA0hl2/0NIBLZ7ut3k1rttpKAsmUvmYut0tlmgoE1auIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19900944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZEWCCRA9TVsSAnZWagAA3k0P/2YfranLwuc6FrZLJ6RE\n7C0BisXn+aNa40WVr6ez2lhpvDi6jKpZYDH9QSZ2U2vlvaHMquIZXl5JmUPN\nX2OzbzJ7x1htlkTOLLjF3VgrkPAFC9tr1EMqYkGZTxauG0FrcXo2kvLbVoSw\nJNK0gH2vD1qOfi1MpTTuf0CiESrfgdIqIr45SkVUoJmzBGwb/zvzK4SJcKfb\nw0mLgZ3kLONRTAF6JNEiOEVYHflG7rXP5bKtXQgOfgTphCDAPVL2G6kPiRtX\nCuH6a4eXVZ5ZkoM/N4l8Q0mAD5uzlBVQ5N9yRncWAGOizSWAj/wVGaID/DDb\nN6AtfF8flvP2v2KsOiau3ZJrFKfgd59NJFrYTgyw+rlaF0lqh+OHIklrAT6l\nHRiszS2hNDXiisaK/XN9gYcgQd98uybxRwdD9yd4lz9giZpfsX2/vY0Ev303\nFglUnuLgjxqWih+f86fFT9lRMQWh27BdTfRaEdohBs0MrNJ4ljRVb04TgNqF\npAJ6egoBkh7w7fJQtj8VJJFNZ6rgIqWVsTbXaAExg6/U60tyOTryqzSH1+Qw\nUEPaCzaNhHX5bi/aIH3noPy5HhN5JKYbkeQHuc4JaTEAj967PBxZNW6GU20V\n1q+K9JwZNhj+9+ZiR+NsQCt6k4YrLwU3osujDgalYaeiLwHT5DDzm1/5Zpc/\nzPOz\r\n=VjCS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.6_1617184130105_0.3843099698152732","host":"s3://npm-registry-packages"}},"0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea":{"name":"@preply/video","version":"0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dbd7a495d33ad5b89cc04d76ce83b3f6f1c6a97b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea.tgz","fileCount":810,"integrity":"sha512-UatYPmhAW298Qtg7Y4EA/ZkoBSl+wQncawWMerwP3a5PplzWg/4Z0alPa2sLjF8L9x0mZTZ0Qii3IwPj/tp9fA==","signatures":[{"sig":"MEUCIQCUpQN9D/ZczwWXX7TW0QYXobF96TC8ewxIoUNDc11TwAIgZIvPnu1EdilR4UfJv6EttpwP5bw62vn79YnOW5+k/Ag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19896357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZGCMCRA9TVsSAnZWagAAQCgQAJeK4UiV9Yu8FdtU4sXn\njWr59G4J+hhCI/DA1aNkrDUjbp7SHfa4xFQKTrbZP6Q0Zh9Gz1e6xJMqjQFd\nsUwST1yq767m2cG3eKboAm7hUOIBIt9yV8v5rmz/6mA9N8iyZxAtJLNPbCI5\n6PKcdcNjDac3uxYIgrRkkCrKmfAQrooGvmJGSu3H5q2fDeoZD8Jv8ccVt2ah\nMwUIUQEr+xsDM0TVhhfimGw6K6R1bkVGLZCa4MVWwKj33kui78KgX8yb9OIR\nnqPlh3EXZEXM6Lq8Q0dji12fcVCaqpN7vYyeHpw64QV4JHDmIFplZCDemnfy\nmJ3xFE9wSW0VYbivcahwhl2VNGQFBGD9c3avck+nQjpHRvs3ffP7CCJXCvKw\nz7uIXPzrhVThLgm+nklidhXKxPLKOXOxdmogOd6w6wN9D2G0Lh1KnAn0vfF+\nGWoBp6T8IolmaRvlCEPbczOXQrS1bF86NVa6wa1Nus7d118JyphtUODiYxzC\nHxQzA4XC87JSswXMmXwarNGJXJwX4Qx9wFrI9wRlyLJKAR7FiNnNn1F1ZU+c\ndPLusN6y/Rnpyyh0Pswk4URzz5ohp83uAImi1qZ4tXo/T+azSzBMtRUaqW3R\nagsKGvlwSLiJrW9xAXUb9NuM8X1tm9seFWnxgVWxn5f6U6Wgi4laas/aHkUn\nry78\r\n=+WNM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.10","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea_1617191051526_0.7256085409502933","host":"s3://npm-registry-packages"}},"16.10.7":{"name":"@preply/video","version":"16.10.7","author":"","license":"ISC","_id":"@preply/video@16.10.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e62b7e8f2ed828a89fa24391f7cf265cdac1469e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.10.7.tgz","fileCount":810,"integrity":"sha512-ic7UL8RDASYadKe6QT/LERPgbz1Sy7OnRHu3WArtDfXM2a10nnpXPwyrFabt67O4NbOrN0E/AtHsoE0yn2/lTA==","signatures":[{"sig":"MEQCIFPPbrBp+PMLxUuEIT9UH+AqnRBIhw8TO1Pljob/7GkXAiBs2aecdJGj7fnVnemx/dUq5226sW3Wq5n63U+0FqJ//Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19897021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZI/jCRA9TVsSAnZWagAAPagP/inq8j3ZTPxwpMQYsIpS\nNrpOqZlectcq5HOi82b6EaYu2Xt5bL4lLfOIqOBWaMBuTZZAbXFuCrHu+yFz\nhtBszIrlnekAPuYtocDg3ZWTsyRpskGmnkEVQ0NyRhtt5DP+D1Vd+dj1EudC\nPYUWum6hUpB++Kk32ZJvoJTVsGG2Pcas0bC6M7VoS5itDEQQzAa4oxHdD0a+\nndwCJ9e2k9eSUa0Lkq8F78JRVAwdS8txyDnfnsvTz2fgzbzAdp3fE8JGZcd7\nKVm/6cY05ljEfdtOsrV36ZdOgfKDqDTBtJNmsmUipC94FgVAWeQKloYdVBqL\nAOPZg3q/IELX9js8CeyxomFvq2Rss04W8+LJf+rfWkctFyt7/Wu+izT+Xzkr\nh48nfC7AqEVbFrZThOqWkrOqNH5r+ZiEnu5+5Nlg1CAl54mCbu8kPOuKY9tV\nQH1IFqeckO1hhek+DoltVVfwJZRpucU8VdXovjGhmmVfg0e6dQc/1gx1d93Y\nOyMUjlW4CCqxCm7M0nIMET4ClPMg0r2UBcV2ujWsb4sMRngqKVs9Rbky1BB8\nptQyu87OLnZ6om6K5wE3ZA+YZyKT7pzTr+JIewqAci6OYFozOaLcZxFU0S34\nsYRjXydVzmY70DXKDwthuCgCKA0IRvaMH0HkHCnQe+62wghh1yAILLjm7qkW\nrOl8\r\n=sUrx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.10.7_1617203170302_0.04563502452136858","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5":{"name":"@preply/video","version":"0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d418be4543f333fd905ee64e1322ba3d20bf51f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5.tgz","fileCount":810,"integrity":"sha512-VvgZA2UtplChPFaJNnL+HXisi9HT+LwF0UA9FXRwX07zUKzX7DNvMT8VMmvIIQ0PJUuoK8j41JIgOlNQU0FVSg==","signatures":[{"sig":"MEUCIQCgf4Cc0pUmz3lbLMu5dxOXRWpGRGqp7PQJoCrwTphVhAIgJYrRi+e5/yAcO6Tf7cHmiFrcp64jQZCGFQh3NaY8DP4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19898925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZarpCRA9TVsSAnZWagAAq2YQAJfH1L4CWndJzGq3oMJz\n2lRKEjA5en/tAhb5JiFGRrJKKKqkf/T8/MzT+hI2fg+TQ7W5ENu0NhBx1m2z\nqFUJYsizmDNK3JHjkj/v2GXA9JYmvCkVUlozCArPEHqMYj3ThMXNtGCJaQFX\nTjbaDvwYq27Q3r/7Ic8x2qZIQaj6mclS6/bw0Y/99F06rkHS+iM90psjVgEH\n3qFXqRk/bCbsd7gliVl0ibPzFUoYcvRCMiT8pEo3leA+nIkz/t4Do8UOHgF3\n90UkMiY+NHVHEWP/bq6HBNl6lTszBLUqYp3QmZPg2mVMb4N1TOPToGrqouCL\nncmXIYrbqlCUEzQcCIie8jOuMNuDPZmCqzCfsNhKoCXNi9Y6IhRtYv2kGIvz\nmCIeW3eiP1LXtxBuZgmD0taBDpMgZFLdg9AwL/V4cIqC7a9nFZ1cbRQC7F/w\nBPVndhSl8Qyzhb5WyAScsycejsiyh+wkILTPfFr3qh/c+5n6iGYDzCgmFOu9\nCduztULO468jTAsTXqiYy+fUGSWDySqJu+xMImb9+mgYSh5/U2dv5V8/x/A5\nLMBR9omwFwyjWr0q07Nu7+aiPPcRQ6cCy3BJxhdSvtmu4+jQ9PQcfhXwWdHf\nvavRcYMdYox9X5m1vTupKYyUc+WQAXD2A2phN0vh3uf7b425sPQ0/scaedYz\ndnux\r\n=Jgbk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5_1617275624717_0.06884591531245521","host":"s3://npm-registry-packages"}},"0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787":{"name":"@preply/video","version":"0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6e5cb904f32bfcc81f950eb6d511890d1f5a1a2f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787.tgz","fileCount":812,"integrity":"sha512-/dO5TbBp3cnEF5oX6iTU9+3mtuoX8LcKbS5CA2mwl3hZZXstVFq/JBfwKOfICd8gD4TVlG31y5dOW9jVaImVaA==","signatures":[{"sig":"MEYCIQDhApd5XOjD0eNmBuE2PtZJF0Dhgqb/bU5MxBMiHr2BWQIhAIQarsKARUKDdvEJFM41XexGaQxr7wWLQ840OQWvQdHr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20016802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZsd+CRA9TVsSAnZWagAAH+YP/05DisDxZKfkIvCYf1hv\nlpGznKlC3/Lwgqh3j3Wr/yoU7auEpmm8sUTZYQk3my5mwMYpAHpda44GwXTz\ngkgIrUC0Qh5+9qgctCEjnfpVuAww90j/GhOPIXB8hIZlITfmGO1OBcgUCQnP\n6VntLl+FBewXGfpncaJSdmhvM9knztqytHNGQl3aeVyG67OTWs2S0hkf/D+8\n/rtAzgZstIYBFmFTjlG65e4qXR401MPrqH8/N9LmPffe2t1Lye4C5GNN4hI0\nLwbqNdCnMqhthoSWGhwpSicLuLS9vnezDd6ZbUMiwz1bEiWSl6599C4uXfRE\nV8RZH/tCALi7uJT7mqRBrZqLHaqHpay5MVvkHvKL4p08USNRbfUFmxeLY3ML\nDs5HUBeLFa6mnBN5KugXOxmqEtLG8B8aKuTVsq70fQ5oJ/HF/9J6JFtaTUJS\nZn8R9icFiAb4sLOK8AQaP+5NZMmhhc1wENtPDYTyxPblsJoiJ9Z/0e3WxSQV\nX4ixnoOI5Qp3FmzGvTbin+kEPZrMzXT7/KOuyifWEuSZIMHo9kFKyCg8VvwH\ns2ofceUXTMm5hCnEqkstq39HQf7M5eagKHCmzcwZsZUWfbXWkNvJMgAdChdK\nVtIZpc8JeII7379LvPA7eZ4QyV/017EEhigJhZsd30vMLN1KojXmbZNJLVq9\ndsh/\r\n=H+m/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787_1617348476982_0.23134615386017465","host":"s3://npm-registry-packages"}},"0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b":{"name":"@preply/video","version":"0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8f5739d1ff4b3d4049afe397addc6d22d9edc194","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b.tgz","fileCount":812,"integrity":"sha512-gApm37cqmkzsh2I72dehStK5kWDc3uIEvr3Ds8ciBjkEk/eK0ioeSvvyKkJuaI+UPyP66k1sMZo2SY0XYYUTvQ==","signatures":[{"sig":"MEUCIDExFa3EXBbYXYZjkZmC24Raq2ap7YxI29SNs0JfM4sHAiEAqAFGZQQKmHe6Rvlrl/HDAPloUrEREsrBvLLP4Rk4WOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20031056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgaqGtCRA9TVsSAnZWagAACKoP/1vl+S3TitHOsEmRzFwh\nA/MwedoHZNjmLfcrZCfgT+6tuMZwl/qubofKust0MQJxD73ax5LNil9i39pX\np75bf1N523MIfhJA1e6lz9XL5zmoCUzpxZdyOmABp2c8qLSZ5LBuJyXy97j2\nwHbcc43btVgB1DsrBlwonaGrbEsIojttfCm4hu6DxTwyWlA9KdEF0eFDG3GC\nqhds/b8jw0P9a0uD717bc47hddlGjj6tlu8kYzLkSqb4MjD7VppKXMHuAprc\nG9LRu6v5kuTruBvxwxvpiyFSMGv9swnEoCxGcMY0UzWbH1GNdP74U16s/ZCn\n2sY0Mwpnln2Rz/iX6N7aUes7L0kn00enhPKnWnnFJhuvlawYWdY51EhB9+yC\nZU9DY0OYMyBIcxlV8BEe1o9Uy1fNGH3SFhLC88mwv9tZJyS6uqJ4RCv8ZO12\nzc1Fa9rTZddiNUwmN2XV7ytE3YKajPf4RomX4sgIBEm3gn0aK5QbK3fyQ1VX\n4EWW/A+W9jXi35aG8oWqQoG66Pehbdqbhain5xdrYcLvLl0NTKriv8Rgdj/v\nzFWLb3gw/3eQIjjjR6U6cC2X+3V04iYkzuix3Ry/rFBXtTRNnR4R4n53iCON\n6ca4dBD49efMJBkzlVrO5pgflFuCYTClOiRHHnytmKRvmS9RWIwCSQ5g8IXK\nm7vT\r\n=+b5F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b_1617600940123_0.8514667403006708","host":"s3://npm-registry-packages"}},"0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858":{"name":"@preply/video","version":"0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"33fe1e4ff4f7924c668089912e7efa12fad9110f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858.tgz","fileCount":814,"integrity":"sha512-QB8g10b6/vlIRCPWL2cARGzw/65XGET6WU2vf9PMtDmr7WGDtTHtWQHaRBT+llcOUp14Na0F0SWKP08uD4rCgQ==","signatures":[{"sig":"MEUCIChVrmBNCdyUqyktjM2TfzIVDi0e7AioVcI3su7UcX+fAiEA4JSJdxqJd7+9F8fhiWtUK5XBtucKNOHgWVFQicrRrg8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20127843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgatfnCRA9TVsSAnZWagAA3+0P/0ZMUzogcyAvuRKfMHv4\nwxLynIJdHM2x51VasZvLWlZsLhVXHuTpSrj4kd5QHtRvXoxmODBfL9fXr6yd\n/YF3JwQO2HnOF9yix5ChWBSVyDrg7s4rzWV70DD0JOOFIhbOI9WpXOZSxpPd\nR4uduroV6S4ySyp7WwqNEv3MJCR7XJ8nR2Td12ut8TKcCdXdi+ntP2f0Tgcm\nObe7V26gfcg+8mxLIWE9WzK0MR5xOVD7t3trwoItXt/vU+Vi7Tr9j2YwR1iy\nAI+mEZO1IJkqkuaXwO1ndLaMDoMvdK80lmYsuNB7xP4ZHfJoIpxwC0KJOrXW\n04EA1EzC4CCbL0Pur8CalJ6P74vyoH8jJan/zCVPNzg3pvaGALByyL98Bab9\nZw0zmHhIckH9Bap4LXtmQBs9TNrjMzkBZvyg+HjYTyrazc4Pc0/HCg5VBeGb\nR9TjvkqnrOEXkxPeqE1Eaa+HAsXUliOAW7RXllrTolLV0fLzfSWWP3jGq0wl\n6Dx/6Fk3oRv9GGMn+XkteHQy+NmUSOLcJPuuuoHkxPGfnmuugKLMbINuakn1\nDO7zhxAiAAIiGnFVyy1qFFexboh9PK/P7DnN/LJaOxEsOS60IJm6mQrXwkAm\nGlLu4tTT5zwLs+uSR88iTGbLZQDAsZg0BcVfq5uqxjqc3TcR3JS1mEeUpMRv\ndgoU\r\n=uARi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858_1617614822518_0.5612009141373901","host":"s3://npm-registry-packages"}},"16.11.0":{"name":"@preply/video","version":"16.11.0","author":"","license":"ISC","_id":"@preply/video@16.11.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e9d0d630ed07a3587611ce8b8d651f51eee4d1db","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.0.tgz","fileCount":814,"integrity":"sha512-agobnY3ZbdOTE2PF2LpsjrlPhIqtUccXvRIdTYeTqSIM+0tccrPJATof/FSE9vg2z2V8+soc5CzEbyO7fg9gyg==","signatures":[{"sig":"MEUCIFbvHJ6V+HGvfIsv8iJr0OfNr++hfx/eutKJX4+k8BkwAiEAkERGD061bC/MaFlDaPGGBGSiBc+Dr+VW9OwC525Mgas=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20126479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgau8GCRA9TVsSAnZWagAAhcUP/1rUplnvgeEkke3pNtA+\ne475YbMs3wwdIkknu/4ODoUwB5NiBN2GY5BJ2YDz2vcGU6vg6+bE5hADWKgL\nCgl8EJtzCPl1jptuYvuUjKD2oPrkl4o1jABGOlACJlCp7+4Adk5yQ3gJag+M\nzD4FX3bc6H96gLUmTpypA396U9vuUGY73RKKtPsX/Bq+aC5M+Y5p7QtqWzb9\nw8OZFMB7bywJLuiThrHjdROQSaFBHYwsFyfX4IZXMmCBCU0VradIvTtRYdNW\n3VMrJ+0odamG7qltWlqlPyOENM5jthWpyo4E6C22Gz1DkyMIqzCjdRP7JJ3l\nQ7cb9n/TxcBaeMaosS8BzcsaR+8YyvQ4h7xxbM6uMms4HOtbdvvjJg/qghde\njasVFXualm2bbZA5ZjG3psZq8ydJEBsqzFV8wTZBoAHTAQ7/xRXg0jZbMPjV\n+xKrMxFrTgVxm3kJ2m7RJswLFMie7VgUQmGCAYriolDbFZdEJSQVeabNBHAu\ndqgj9g9UCCSw8CAesWZDlXgKyvVzqhxOxpqlG9cDrBsRuvWTfN0qCGvPkwal\nRmrjVIxa+QOmUI5HsmT87tfIZ+7N/GgAWh9I+cUb7CrV7PjvTIHAaIbkDLlL\nPFqeyrfBhBh5s7TPum5SOL8uWkkhDeGxVn8ljm/CMvr2n0GImFk3dstVSUTa\nKd+k\r\n=iZQt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.0_1617620741695_0.4186349102193443","host":"s3://npm-registry-packages"}},"0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb":{"name":"@preply/video","version":"0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2fdbd40c91feb03fd7d144c507a02107708c870b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb.tgz","fileCount":816,"integrity":"sha512-zjWqS0gpSO60y7zKIuWAL4yeUBIPk+Fe+bAStklJjtRJnmzP7Or7NAQ7IjinWijHvzzgAt2wz2U1fkEuN9rmXw==","signatures":[{"sig":"MEQCIDxpLuOXbe3cHHRqSIHUKRhMxQxpB/oOKgK+wq4w7ECmAiAHBqT1jukZoR3nRJVGTEnoSNHuu6Lf8/jV0lm7YdjsVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20248671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgavZ9CRA9TVsSAnZWagAAbiMP/A607+tjtAyq7HsEfwX/\njYkvA/bVEMrwXEvgC0j7NJG3jXTXzkdFxi5puJKQnELXEwXjwd30LPI677Sc\nQ/TCgGjrpav8FhSG/xgS6LZacPWUr/zB84A/c8muJS8kSB1lklExAPQ03y2c\nrIIiCBKXLp+UvWs3F6DsWuQwY9k64iT9DktkjbTmYLxehOgIGCAfX2m1iapF\nS1wKUvFAKbfe93NtrLQq0xvPh76oDP87s0AIrfSr4HaRt5oxiCH65oIDLbMF\n5V8MoOmrUJ2Wn2JFkrry0yxpFNFehv52vNdziS30q5PoeUbb7MtgYNF8o2nB\n61+WfPW7L8EKzGfbfDB6YBqtyhae5pxfeP5NdpKoPqd3I49MauZTDiBJgq+e\n+elEI27Ej27amUQLyWVAB1QcNlNdG6adHn8WRAclbPD3+jbRc4ZNqlGvzIqm\nAS4Q44QZwEu2+rBW41ix01XXXGn7Rs4jLjqmVT8QabWs6zgrolHZoZsLvSpn\njpHN8Ei3k5fzpjum8vs1IxYz9FCQYvbF2MOp41gkeV5n2ICzZdiQ/Gpdz41v\nPCNh+7H55UiOaLpPXbttEpkCujGDtaxcTaABaBL35XtkcqC4hU/kbJh2++4t\nAHnpCZKTg7us65Hf2R6m59ySuIC5T9EWN5JVLftSh52D8bZg42sARMSq0H1c\nU7Vr\r\n=JtG0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb_1617622652257_0.5018063771251395","host":"s3://npm-registry-packages"}},"16.11.1":{"name":"@preply/video","version":"16.11.1","author":"","license":"ISC","_id":"@preply/video@16.11.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"48fdaebf1de077113c2eb0d0b864fabf00ac2ce5","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.1.tgz","fileCount":816,"integrity":"sha512-oyGwvG8LSyaw14E6fjGZtOXIV3DNgqccO6U2YRSoVqWyfWpT1j6NRNJN2dKavJ+5YtbgInFaZCaD92shKt0UvQ==","signatures":[{"sig":"MEUCIFTAJbCwOONCvNj4t2Iiaf+24dkMIdwX76j3kjkyOYD7AiEAiV1FqQ7YgBJduji47J5kx+HJD58nyVpq3yBz2ZUCmbc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20247466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJga+z7CRA9TVsSAnZWagAArJAQAKDGLmIuDhJS6V02xGU2\nJOQqu/z7socriqUUea4ssg0ZK/CXScN6UrVx53g5fyB3lUvBnF+sJBw8InoC\nY04Bj5JFoytWDb6Ek06P5uNNy5t+EgaoyRBQuGLzEUNuheGVdOaIc+Y0DLHD\nG/RNwgAMiCaqjiLdKZU4vo3naStGVsQ1EPIMqygsIpXo6UubcVsLOXq4sY4P\nl9RlLMZ7k0eQ4gWmuv9XyNE/xg1E/1DCU0uR3HI9JveLZrnutnNV12DugQyw\nkrYdrzqi5d58p92eSZKg85ThhZzkt/BBLfc9jK9cFiZT+72tBzGMEUW4FG3T\niQFvg3Cz6Fli5X8enxisvowlxd7Mv0FmsMEZ/JRHqtxDU6TYbyJPspgEaxXn\nsa3CM1NkG3efmo4NavKAmDK19y484pSNhKsDsZZ5/oPU1517FndiMn0Qp/kF\nm+dKu/Unr0DelDzb7whTcHAHFx0vys9L65kKCQBH3OzfO2MpSjkrItmYlsEy\neWZPyqvUOb1DrUgqg2sciJZDFyhD85XJO8sMZJbC/S5e9oaLKSisHzh5m/Z4\n5OYanOXCmGAMKFA1JWa70V5WXpxABH85B+cy8tI2C/LyUO4O5fyDbkYZvgJJ\nvWeYnbsiICag22+ZZqoCHWL5B8cqy1efEZXhSt7vsV248Ym5x/q7UZtC+mnZ\nK2jD\r\n=3KiA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.1_1617685754136_0.6558095487848237","host":"s3://npm-registry-packages"}},"16.11.2":{"name":"@preply/video","version":"16.11.2","author":"","license":"ISC","_id":"@preply/video@16.11.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"469512e1036454a39a36ae4e3c20f23ad000012c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.2.tgz","fileCount":816,"integrity":"sha512-2fnWGrA+fPNJ7yvTYkZSPOgRkx8qxYsQi4tkI3MKWvXfl7ywZyKhS1h4WQm7r8lpIM0qZGaNRT/oWXBdK83HBA==","signatures":[{"sig":"MEUCIQDGVjnboLPhxzCZdlfEjLJXUKeM45b55JgaENl/6pQePQIgb8baiAQf0WvtPGqRfeI1egG7e7iU7e8vzN3a/wLpM0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20254504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbAhpCRA9TVsSAnZWagAA6JQQAJcMEBBQ8i3boNDjeVOx\nlCKKNcBuZRbWOCGNTr+UQvaj1f666mvaaj4annQy4Ju+mqeJDVbJSjoR4ZHF\nWS3bOV2ff3pSr7kchHGrZrpoiLVsYjJRjtow+PqXkbDuDqfLQeHGzLJ13QPg\nloLIpkFq8XthZJicC9VHfdLTPYicDWcxzgn953HZhq8v0jf2AOf2N1Lvz6JI\n3ptKbZsB0nNfj+gUuvYZsEIz1ygf8VXVLHMnR7b0c+/mjgynvNC5MW1ZWBKr\nqrL+yXphcU771MTXjGiIGI+F7ksFVg8ZN0FZTr306aeiux77/+CbPF9/L3mw\nIIZWp2cEVhm5WN8vV07csrzN59aJl00Ef0AeXhpAJbnmF431lrCGxfCfGr6f\nmJNI/AIgsWpxDiOLFf4vi6Y+KdkC4EJnOpvF43RBS8lAnin/zKZdtDmKoJ4F\n+HJ5rKW5sFh6acjnYbqak9XFCaGTfEbE5hhuOS3lrTVbmolL+gpttJACSD0w\nIgMD4s4vsQn0GdSrfCEn1yJ2oDkXc+DV5LFwr9gxhQkVtvVSR5zNjhWheIih\nPTkKuZPzpV4l30buLJsIQ01AaApICp/YCw4F03/6a3e8jxFE7ZvsWi32E67e\ng6gLGXgODzxyyeWG7Lp90q3MEpsVojqr2pDEq087DRsFZErSuksxIHq6JzcB\nU7IX\r\n=/lR6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.2_1617692776407_0.21478858051483662","host":"s3://npm-registry-packages"}},"16.11.3":{"name":"@preply/video","version":"16.11.3","author":"","license":"ISC","_id":"@preply/video@16.11.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9d458f300f38f865c553f929375ce6403cea84ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.3.tgz","fileCount":816,"integrity":"sha512-lG3uAvXHiSlYTJkm0vyKQ2u1MsOT/QoSzrYVfDr7LuAqp2DFVlipx/EeOo4otrFTEG0XDyeP2lv8+/9QHvjNMw==","signatures":[{"sig":"MEYCIQDB4D2NcUMaya3CrAd6Q7DJPkFju+uFkfAoXxszkX9fBQIhAO2IvCF98ekce5G20IPnBlwy+3n0s+PgC2szd/LVCxY+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20258275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbCS+CRA9TVsSAnZWagAAx54QAKGxXgo8t9O+cYOoWnHT\niZjC42NYhpDlOJM3aOz90jicIGwPy5xNXGkAfUfMNSiDI4QR/sYrfyZxbdSQ\nN/Whxu4VEzRuhqh3X9+0PmiDa+fpt+EZBGVMjgOqhZ0JmC2hhYhFzEW5PhkL\nZFXzM3V3XIFUWRlutmNhE1ytN3yMREbvKGG+gOp0z8oXo2ljVMJRiDkdVOhC\nvv04+IzMzt0XRx2v1BfpIJjf7ydO9UsFU1exA6oZBnp52ydOlM3uU1X9zS0o\n0YhQn0vhD2T9c8SYtrReHcDBIfZjIUHFkfYscYFcDTt26IjxBq/GtKjgnrd0\nN0CLLgLY/GFBM3hQ0pQOEuKK7zg+Jx0ylmSsV7fSc1vRYuUpyuRohA3AEwdR\nV07a5ZhiQOdZiu73mUEqyfCxZq5S6fZyltGSR9AQlj1T5pULx4Kg7KMkeWoF\nXr8NSzUeK8gghB+4YHhV/F1nNafG7rXIZtf9eNGnK/rfkoghS6NsaYRGWx7U\nYmVWmvSVmIU7IH0n26d6Zp5GNCDPyxG63Kg6h8raxkN08cdN8/N6cWT2TwqF\npbrynw6c2HEddgN3npDGQCU80TUEDiPa8E1L6GsDzW6hY9TKPMBQDkIhLxci\nuXvZ/9dtILWfW64Kk8KxvJ8CRWKZWsz6gxCb8oBihaC8K3v0qO/xZB+kDmco\ntUwO\r\n=36kk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.3_1617700029069_0.3443877621971436","host":"s3://npm-registry-packages"}},"0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451":{"name":"@preply/video","version":"0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4fec2851fb0cf938ea71c0c10d696669e57ec8ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451.tgz","fileCount":834,"integrity":"sha512-sVpT/1H3FOfEGFXMhWVquP6AHU9MCSWaQ5dqM1C07ZXl3jbd/2ZkfylUPxdW30Vt0IbkycACwkN/nYCyg05HIQ==","signatures":[{"sig":"MEUCIGHl3k52C8VPu+4dOjkv0rzExDM2bXpnwHI20P8bOH6PAiEAzPe2I9f1wDRT/e9dz2dsY4CkATV7JNPI5YXdCNRGPEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20282957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbCb3CRA9TVsSAnZWagAAcagP/ia+0VJBBLyVAYrBFlJj\nqf+rKWue5dR7evIxpYPdrsKuZqRi5QIbXf6KKupssJc2/spubBTLtIixc7JG\nIm5ZZDfbip4Iu4qwEmzCceZVyVtC1yGaUzrfaCUW1uXJXcQImYe1DUIb3IV/\n9n3vQP6Me2VEv1QnuDCUqFOuRThg+yxFErL/v+AWErni6ylpsjgYvYUblsGu\nBxcxGdVNjbcQdqs2e0n8mgpRDsdigqjSGrfKgRoBtUEkkxKnyDylOB0OpkV2\nz3nJYt0A6nZNr9FrZEFORNp9BIE9TgheGDsLICovRj3pISNOKkhBvfVqixnr\nCOTkPf4hk1eWXvrT+HkcWLrZD2GnV3UAkIT7cM9RHxYtNo/IsjY+6TboOto9\nYS8yj84nPebHMytxiFNTCs2vZhQnNzx1AL0JVEBZirPzSNTZ8y9aq+O+l+NS\n1NNOmTb5MU+CHsO2ivRkUDp1eHyUr6bbEFJLAgAqbtVT0utaC8hAXsFxTail\nhY1DhE3grv7kY+biqbuniaB/HrNB469vKyKV7LXZAs1HKyNLT8TbRiNrl+h8\n47Q7MdyMTkaftLResYObyzrcoKVonXbAnDTyPh6DjY9AgGY2ofipEImOfpqd\nKAPlJ3p1uf/3ktlvWrEBYQMMtxLosYL6NBsU/SkV0pP9dRXYPNXEG5K5cdGk\nGcFx\r\n=BDS1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451_1617700599123_0.164474046304123","host":"s3://npm-registry-packages"}},"0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674":{"name":"@preply/video","version":"0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"797506af0c1ca349d39196087ede304e6c8b22bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674.tgz","fileCount":810,"integrity":"sha512-8So9YO8rH7FUdQGG1osSdC6fD4De1xCzN3ZHL5nmUroBre6UC1y7vzRgxjXUbOQCirYEADYqai++Z7re0zGw9Q==","signatures":[{"sig":"MEQCIFngfcAJ3e5PUMf9fnUd+7WeaKM82rbvBvfiYYTC1o3CAiB2TEPgvRjhJk+5+BQVey3BULvbCbx8JS6jbze4yrBX2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19910367,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbC1TCRA9TVsSAnZWagAApJoQAIJS7Z/V81ifHjC7mOCE\nVH64fiTvddTSnW5spxN94zNc6gU3a4+zVfBKwoT8nQhG0+3lF1bU2mGXKMQn\nwxLCKmB0E+bzmuE8kf7Xaj8Jfs1Djrsiye2KYYPN9jmINAIgpXzVfT9Bv0C+\nWLAVg7IEedhiHY2fjHBw8CPRAmgBREdrlXMDfRbRUp7JkBoBYQs2UsIOPYOg\neHfewbazQ25RNHMGrI+lh+hgaYfADkKVfFkR17DeSd26nSWMlEVYfakPTbiW\n9VCEgm9pfya22fHrS0XbxMaoHd3wFPwrwkns78KYwYzoV7dEhwnpN1zEfMHk\ny1E1xCE4dEisTLdzkQiyZhv51FFDX/LTQCakN60JcHs0AQqffGr1DL5e84sr\nual6goAXchu1rd2bxxzh2nzvnBxrhAvDoNEyyhDujOXfHZFqL8k1lmzEbp41\nqx2gu9HocJCxtKaXza3AimRxqEmU40MaKIzJZcvmhHqGcDOWXFnek5zxqKYD\ncbdB2v+Mxv7JsgDh5Yerkn9edzfjYExx5tUzpstE3ZYAtCq32zkf9cXWecvN\n1kq11UpvXxvg6JZwHkeN7I76LB0VXZNBobK+v17RGmc8MRz6nb1jYQ9wv3QQ\n5MXa+pGaTAunS2lmtLY8xabUWfc4T4kVmQ5Z+3/KMmesmmx2gGIqXDifHPkV\nrEq3\r\n=/xOO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674_1617702226905_0.8116868170933118","host":"s3://npm-registry-packages"}},"16.11.4":{"name":"@preply/video","version":"16.11.4","author":"","license":"ISC","_id":"@preply/video@16.11.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c3c697ecc6d69497fa4cc6346a0fee9ad717e32c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.4.tgz","fileCount":834,"integrity":"sha512-b58bIfR3X915ml92ZQy3bRodQ1oLpGrKifSo5j8dof3VfO1lgR1OyxqvbwmAOuBNE4p8B9qL6h7QDLj5GJx0rw==","signatures":[{"sig":"MEUCIQDu1bKW8zsiXyew2oaZj6J91UgdKP7jUhGr3kNAsYZmmwIgXLAKVRuoSWBZLeM1zj20wKGhf4MuIc5s0WWr4FQWjbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20282313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbEBtCRA9TVsSAnZWagAAgEYP/3kvHD+gz5TdgRrMEafv\nkCoi9RRA9Ikdlwxe/WsNDDKfi1ZZUBGaBoLmCQyDS7i/BP4a8o7Utc1UfuIa\nibFTB8Vr66DADDWy4joxScx8gkbEIUz4BSeD+dmd1w+ny/MJkXcGk64EwyDG\nQqKXI2r7YSwqPWnzhP0N/wsbb2OHsQ/HgCVTIptuLFZ6v+8wNGk7Ac79uPC1\nF+VdBPyZOEEX6Cz52Ftsu1b+ZBvtN6Ku6nRBRQM+hHAoNG0zIB9O3UgDv/Sh\nJTPnAKlLVjrJCSqr+gSW6xTYqcjZmMvvYfSZa9di3xznjabXVh7uk/N+EoWB\nf1G8TzfQURzrvHaLckmQyFs7an9HU5aDK1mvNuOOxnudfn0jHzR7eb7Ij0xN\nh6L9ibjr75dkyRsjsWhdedVyzWIslPGaAnJOvEw5OB/Pe7L8hCJ02egC9/4y\np1WUipOVsWBh5St9SvA79otqhk5S2RyaFFSmW1vEGxv0WnbMGhIIY0X2Q2+r\nshHkn7IPswa6S954BrzgZv6KH07zzdd5r40Yyr3DP2EtGGnotnkCzu7RydkO\nMu9rxSp8h1ZbtgLBWg4JXdUlnc3Gn/6+B/aP6d3zDQOYZ1Vh33T0tgibAqY2\n3dkTo6kbs/UCy4IgwqBsKUO8CkWC37b5HjNYDU+m+90Qa1z3BF3Y7/wyVtIE\nnhsl\r\n=1Caj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.4_1617707117202_0.36453978410281085","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656":{"name":"@preply/video","version":"0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4e18a7d0b7fa41f4015196fb9bed34108311396e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656.tgz","fileCount":834,"integrity":"sha512-q7JEchj7BFpbB+c1hc7Jw2ozDFZRmymSyjGf5Dh7IcwT77UhEsUO8hBj7ygbHUt2+VW4vMmKwreWLWe5t4/jdA==","signatures":[{"sig":"MEQCIGQulWcM+dt8mIikvea0uM27NYqlFtv8VhPBw3hezXnDAiBFpoD0Qowdaqc8DgAFyG6mB7j4UQJSpPNVKgSurDRQxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20294484,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbE1MCRA9TVsSAnZWagAAxvAQAIHzlpAx+RVRMZ8Mb2mp\ni9WK7f7sMhsgXB8puoTLpyZGwHf30nEEaVKxSNYhg1wrhwUeXM3BWoH5MgdT\nS/glAd2vcxAbjQMjEXQ26mwUmMJ1r7AXQHwbyF+0ioL7bUbA5Ix1Q1kLox34\nMCCivMZeOB5i1lbMWuhOgceOkhijIYUp/xK6f0HA62XIP4GSLvj0aG976X6h\nLZd30VUXO3yUvj4XGpNMFxLvds4K+3JvRzCM9Ud4/DQ477Pl39DniNnjqnlZ\n2oloOmVkAucHGVYPADn0JscksXGw5BKXtGj/UQKginZpR5n/QzxbuVqDdNpG\nlmPsQj15XCOP9uiSvcIE+yuwoHVbMvs8eIFhlhaAMEYyDPVxp6g4eqJmiN/H\nEvgrz9hijgRb9TCWkvNHYl2b/Y9F1f3+4Qg+FJyqdWgRoGVfqHntcdCX2NA3\nPZ0HC6bUXRX+Rud/RgRM5speePZzhWBfnEVxiNjFobMrvcheOtCSWJGmVhRf\nUtGamQW7aV0pVGfgKxxWdITmh6sTxheqHTrgRdXX5sDh1cSypwSS6S4PmgxY\n+KrgmHOkUUL4rxN50U/qUrhjpRXuW6bvd/4OrWdtPQpj6nSJb9cIusY0hkWe\nzxuEhSQMOr34rOS+knBiRBwJbVJV2QjXlx0bCeUui7R2CgxS543gYGYNBVft\neueq\r\n=J6If\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656_1617710411600_0.9843983662832996","host":"s3://npm-registry-packages"}},"16.11.5":{"name":"@preply/video","version":"16.11.5","author":"","license":"ISC","_id":"@preply/video@16.11.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2bfcdfd467799032e1279af460c79c7f57aaea99","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.5.tgz","fileCount":834,"integrity":"sha512-8XCgl4UakJlXEiPKRuTRfV0Fu1vmD+XdHGHOt/UW5dacpWox9Dzq1KQbiCHY/kwdlHqNyIGgxp6sM7g7JwDSCw==","signatures":[{"sig":"MEUCIQD1ij1oSlP2zDNR11mB0U5rFipFgipobjwOOLIjfggX4gIgMX3ndUwWHeYfpkQA2QXsyLf+t6zVDRn8QRjWs6sPaFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20286278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbHl4CRA9TVsSAnZWagAAUt8P/0RZA29IxyvVNGUWY214\nMMiNZjXFKXGa+BiUkOPWnexTIKdTyv71BQGQr4zIeqoAFad454WmB9UA4+rb\nCG+wVXhdcqe0pCyQO4srSg56KRMt3/jpYpu6XzWwGZDqoB4w3arG73Ga4kVG\nAEqiO6UunKXyo93bbh/eWNKEp+RLhP6Qve4eiFsxFik/cPTCG5kGcDPVY4ma\nvvBjZLhkySekHEbslE5qDYp9oNXiT+tgByg0I496P0megRt3L3+n2Z1Qp+MP\n9tsiFS2VdVKQAfsH0fx4Y/lrXfVVemjl404YMv5mC6ho0fqsPk7BvbsX4r7O\nzz0ASh4Jh1CfjO8aBUSWemWeb4tH4UHHxoHbrQQifT7R+zTg3BtXQHQ2Lvvi\nyGI6G/JGpu6puY6fnaI314Amye4d3YST7e8AdaXpBivjQ5UVSJaT8/caYxKu\nj2kuTE5xPi0VOmq2pOSl0gL4cnoCCtUcUVsPfu9dSIafvrjd3Kcj/3kuRuAS\ndb5a6mQJKtD4ipkT6ZBOVbGgL+TAI06c8WEdJuw56oU180Ipo9nHBjDb/qJB\nHCMTteWBAymBxG94Vev8TmfktWdbydSdgoUtSVEqRDagvgbiuj0zUnV1Aq8s\n2yQarei174xgGfjXekZ8vaCV82v7fSkCyih8LlMHyeZqrDZVxgryhdUGEU7k\nUT9l\r\n=PcCv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.5_1617721719240_0.8815593804341035","host":"s3://npm-registry-packages"}},"0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38":{"name":"@preply/video","version":"0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"16fa28b56ba4f7683c4d0d9bf733ed173fd50f5f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38.tgz","fileCount":842,"integrity":"sha512-rFqK10moTlmqQgqPn0K5UX2mM9cOXfD6K/Su6RBEG7HUstH0SUMDTc7Oc0K1vsS7043l2zCDZJ0ScEWYHEtxLg==","signatures":[{"sig":"MEUCIC3fQJUYRlHKj/WsHXMQThcDVRYfgAyFZMsuK27WDfmXAiEA8z0cTu9il2F2WzFF2WLO3H+GCaarHUIDwnwIcwdTSRk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20352729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbVV6CRA9TVsSAnZWagAAlJIP/R9fNdgP51HbOcilrHOv\nn/ftwOesxnhTREEx0KTbWCMl8iqh5SnC7xop/uNQs6RR2O4p8oPP3DcPQ7pI\n9ozL7aqdD+JYOx/p3HHn9nyJQVVQuMWmVKnen5S8jDQoEdxB7ohdnApv4NAa\nRRNUOFh8Xeiz6/6/OHHh1hGfzYiBzpDOqWD+80q+QuFv6JRY1WitQ72r9iIe\nRpgM/ntwVZcw0ZEO+R8WcOLgyYaQofb9M2xBOhhpr+FXRMQBbPKABJ029ejZ\nZAuzxsa+zRn17Fh0NGeQqaaq3azfzTxhI6rQogSeRUYIXS3hu+M1kzoT57D5\n6qbj3fgNEvyqL+m1Yb1kmRosNbJrcG7+2Ig1kTyxKDizDwOuzSlrR8G1vrog\nVZkU0nmMyn7KTbM4qoiYkvOReihp03hr8yQ2RiOcjjPmi0HyL+Zn2iDpMJsE\nf6Iagwh/2eCzE93vVjneHMYGD/Y6mMxoF6ZN6WJPIVytgsacAD/IcZ5efu1c\neJ/sjFKe6vQnuIbYhawiumWtv7Ixal5hObrjO/zonwF0NO8bK2gLv1neGKE8\nnBmw8HwxEKXPMLAtnWBe9E/ou5QBUh+jD3wW3tWc6MYavJ8sQJUwy5FQNoFD\nthtZY29s0/Gd5ZGCSZumyTZri4YW80pr16io4bItWX2ziB0zQ33khps91Mzr\nwnyF\r\n=xpRr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38_1617778041133_0.3535226525724675","host":"s3://npm-registry-packages"}},"16.11.7":{"name":"@preply/video","version":"16.11.7","author":"","license":"ISC","_id":"@preply/video@16.11.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"335a8a7f51bf0fa8c3831e9cfbc9e16991fe985b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.7.tgz","fileCount":842,"integrity":"sha512-Z7tXBuKqGx81RcAuizR8YRt+LVD75QuNEzs3JkRtvLlT9JPnkOyNXHXklZMWpAWn3Bltg5Blp1EKVQVYZmrhKA==","signatures":[{"sig":"MEUCIQCcHET2Uvr6HcX6KJ9HrvTGqtOvx2QP5do2DkabyeuPYAIgCN4Oddm24FGlb4BQgQw86S415frKvQz62Riaw1nemK0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20356193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgba5WCRA9TVsSAnZWagAA2dUP/Ax32jHTIJFHu70skw17\n6BQys70sARRRAy8iFGBGWAPgqQXxlg3eSGR8Qjm1tWBV0qkebtW9kLsTXK3p\nd5r7Kbig9703odZOS41LbUTHLnrQeAu8ioL3/Xv2luIErcsYU9kd/AL4Pqre\nbxDL5tNC25Uw2V3ea4+7+TQIE+KN9j10GLo2jp8Sif9dwEUt5lZ83x/gU/0Q\ni+BysQAFgcI2svdlz/e82aJ2GD6QMgwf4BOKdGMembUsJi/hyKGHjtZEPh0N\ndGNljEzGp2n4Ngcws+FsFi3z3vyEOggNuZQVmcCxj/5aswq9muJAnCxAjp5D\nTkGcY1IkB6Gqn7UI0s9ExK3Kx+jG3Yh/2BVP1UAibCVOaRhi5R2hNTDc6tH+\n+Kk2+a8V1AhRE6b+ISnqwDaXLdlC89Bvn3oRM9UI3ZV/gh0E0GbUTG5chkn0\nsyPBshnB1Mh1AuwOmBw0fnxJMVJjzNdw7Mcx/T5O1j8zEgal92HA12HhwuvZ\nSjYvvhEPN0d6xmwf5VePIH4QMXsRFIjqlNiYi4ppOBjeQcSh+Q6Mwpp1T5al\n1ic8H9c1IvcqJTex2zwDzsZLEL97vGdz33S/FWtTcbPQp7tCWC9VhqZKayPb\ngpFAulk8C60E5iwxGKYedgSL81fTIsM8pGd4xlwIIax8xwqHSgC1qp3AZJrH\n49WI\r\n=IDJO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.7_1617800789703_0.6514604895227851","host":"s3://npm-registry-packages"}},"16.11.8":{"name":"@preply/video","version":"16.11.8","author":"","license":"ISC","_id":"@preply/video@16.11.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ec7eef02ec5478393c51486ad99fce9bcb912330","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.8.tgz","fileCount":842,"integrity":"sha512-ljho/TILPDL6sKuqvHaWiXiLWuhw8BOeQ6COE+He89okV5foR8uHhLctdcJFDPLi8FHR+XNrZSHmu15arR6s4A==","signatures":[{"sig":"MEQCICR2PHhEsnAJfe8XEpXUCYvHfn/1mexm2vDobeEDg3oLAiAywa8e8XE4PzQREScKlTtxVgActMfbvLfY3yZ1w+32MQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20357298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbd9HCRA9TVsSAnZWagAArAAP/izoXAzASpJDoCVANxWr\n+3QlfnNrtyguyUwMHLG4Hcu7OK+oBryWaKQCcZLFFyJs40KGU958YFf5xBCf\nTAt7vwrgPkcRgBgceTZD2v8a2gGfime9JgtMRyGh4CTwwZ9QC8S3fd0ereHQ\npvnHfANX0I1FHKTUpYvQYRMm81ToymxHCTehtX7C7r2xxr5FO2VHV/QWrcmN\ntju/PUPGqG4SLh1WYK9IqpGPPQ7jTKTwHo4AakuRyC06hBNAgtRviL0zgq7R\nNGBzgpD4RtyLEszReKsrJvb2bJVsS4oTrWcYkUQQuFCueF8zHbxu5OspLH3s\nx1pJWiZlek1DFJTbEjyDcToo/AtNEFcR0Imrv65mhej+zIp9HbRkvGAOV3Vm\nmiSchFvF8IUGVISEwx9WLQ/TQrDyE8grmDDRRys+jx9jXQB0nZTUiClpILLi\n2LU+xT8jiVsVq7ib5oFRT3KGw39yO8E5kZG+hwe0pqzK+2nmi/VYg1eX3XJP\nuH0cTtpMv9+RWKmqkN2A12j+ia6lu/lCfMs2m/xEUBbldFcwMnHSjPEQTutj\nkXpeOJXTzSkVwknFJnG2R4BUiKLUXrmY5662Lfld1/P38kcvq0VyfyqOX486\n7qm5SDu7iDaKuMsjJRVregSeY+uECgnU5+3OuBkGaua5qzfP/qBH2EYmmqy7\nCgS3\r\n=LGyw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.8_1617813318653_0.35604419686026856","host":"s3://npm-registry-packages"}},"0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5":{"name":"@preply/video","version":"0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d7a1127bd16bc03e6e76b887f8f62497218596a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5.tgz","fileCount":842,"integrity":"sha512-+/HqYKqJg7OgjgNQq81W41E0NzFF3PGOTQSOsqDQbPmh2wcdDxbNNUmD9zNKU3wtQaJD22bxB0KgHyfdtVGjpQ==","signatures":[{"sig":"MEQCIHyuiYiRp0s8zZ8iebiV67NkmjwipEZcOz7TcsC/TjMlAiBBiSec+rLhTLJCe2BCZ/UHXfyK+nfMPEKciOoXxrpTkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20364427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbpfGCRA9TVsSAnZWagAAyA4P/iyPJEb1vBDN98TfTbHp\ny167F0FWRxm/NP++Z1tzV3xZ4Pit/Lqrx4RZTEkuMbML+GkOQUaOQVSnkRX3\nTk4Z7P1AKsG8/eBVgM4ubABZ1MSufaUW+9df+UV4itACxgslUmAFEW9Vk+4L\na48KSQaac4iTlVOlLFaL+2BY3HiY1Rq+KAPdXOgCETKWbwZTtNrQ0GRblNZJ\nGjGSCo1Pmat+TAAi/1R93Ws1g5ty3EHZ9Gnn0yjvCZ/L6VHchGV/1SIqRPk9\nSg84GVggCsz+obE4aeaD3vT9y96TH/RKsJTz9ITu2J+6MogG1rXbttrL7WN7\nTP4QMUGUbwVDYGrm4BRpVDhfBsN1M9jE0f0LduDI9sXh8w/c390REw+wFYtB\nDF90DOJpJ0frI3xDWD1yBCerEd6sBvqReAGmH5xYNh+MbXnttvqy6s77A+Tu\nouv2U7xv1iPYkZ3lHpSrL/TmmvE2nkigUhjUKGa9iRX0Cs+hrQsDoVqq1AbL\nqxPrNO4B7Rk5RgDOOCEvspqw74zOB72ouYxkUPEx9CPGnpLv5mTTjUVik3Wj\nSklBq0dwsx364i0ixHQYDCRsIUb+KsJmXicktRoIlpe5TyA98tH7o7BdZxXN\n4Wupk+pebScUbgJ/k85V6ox5dbbNDERgvOHAkbXNOdBWRx6e0zSOlpkWqjUJ\neZhP\r\n=t3hA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/{COLLOCUTOR_ID}`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5_1617860550076_0.46616170626439724","host":"s3://npm-registry-packages"}},"16.11.9":{"name":"@preply/video","version":"16.11.9","author":"","license":"ISC","_id":"@preply/video@16.11.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"926c99cdc6f295202ef3ce65ab03cb88e216c816","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.9.tgz","fileCount":842,"integrity":"sha512-t5U0kiFZE8TzbIDorn/d9GsjJ9014jbVR7otragGOVoABO35BSfiXwAJrO1wND2BFZlKWtEsKWgtRxZU94Opcg==","signatures":[{"sig":"MEUCIBfZXFH8Kvf0E8572USZ3CCZiwVUcLuRDhDfBVUUGk2sAiEAvxvFLiPOoPQOt3aSdXFRN4mwpGfbfHf8FAnlNVnFzwA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20357342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbqQqCRA9TVsSAnZWagAA0/8P/jBq3smO6tPu7qlhZ26R\nLFxRKpiaDRGG6CuZWxkeAS032F+8ec/ZyIqnHpK6biCRYwmieTc2uECE11o5\nLy8/ocH0kGCzQZQjnIPxlLv2LYRbTvarFgCP3Do3qZBYwBfCxQa7Pi3L6Igi\nWmHr7ZEi0Wfxam1Px7rhh6pYhPCbcuLq/HQvSaEn4332I7OCRHrt3zlzf6yu\nZya4VblgVU8lWdyp7ImmwcFW4W4P1wPOBB+43EKf4Nb7umhKQLIjc3l2tT9c\ng5pZnZWXs8H9n7HxFhuVNfZFAmqUBtApuKzCLhfui/rfqgn+I3Oy17Funp3c\n7pP6+Obu9WL11riTNpODVke1r1pr4qJPfCJvSOJUASSVaXassLKBvw35wrIj\ne3JXJDWHw6eTCjILKBzMkQffbXfFV9r7YTliIB4ErTo9TrXvQSv2dbNRRC17\nk7MoNhzDtpAaIJ722A2YiDBCTXNZkgb0mRU7H994JfcGqirFC+BLNOqVXXR7\n0Lb74zHd/90VMTXytT+/yNC5wh+s48BZmK+peTCG+sBY1ejDkvQr3fglqTeH\nZhRg8Nplr6DjfEmK9mDC3RoQK+IvPtju2FZCSsA4dOzn8e56uJc8uzATs1Et\nM9oZz+dcAaOOrnx933ryjLvWhQusn/Ret1xd4dP5oKYgwbtlBrrUgAU43j9/\n23rR\r\n=hIK8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.9_1617863722007_0.6923123665381332","host":"s3://npm-registry-packages"}},"16.11.11":{"name":"@preply/video","version":"16.11.11","author":"","license":"ISC","_id":"@preply/video@16.11.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8f5f1202e58fa08ffee9897f36e7632b060a33d4","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.11.tgz","fileCount":842,"integrity":"sha512-3WI0ywwZjMrw5D0Y4PRpejWmruloqn3RwzuEfVNjFLsZaUj8Wb5PiGknxewesRo2ZmriahnjjJFyZ4jPaitUWg==","signatures":[{"sig":"MEYCIQCTne0hZ/Q45Ny5musQIE7dNjEgnDkupo5yeReFHj1USQIhALJp1//iqV0gS5MCblwTyGSxMccg+TSfDvdkbsF4fx1t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20363362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbtBVCRA9TVsSAnZWagAAij4P/2XFwqycas3zcZsUxoKa\nFgpOhNEa2JWVLErQV362Lqk6ZKcw0MY4mwMJAsIgJ46twXeoG2VnmJVtd51R\nKJ2KAcgfsOUTdDXYg7o5WiWMX1xpKi1GickB3Fc2uqQoazPm8kIi46rdq/gS\nTVtSY7uTaxqMjMLz2HO3dwLMbYQBsl5K5o1OrQI4psmiOJz3Y/WY8uCetCmf\nnss3t2U0xYY7BOFk/UgjkRghK5mexY4IVF0KVwTaG0xPCi+nFLVaQKR8bJX/\niDOsgj9WHhO6X4sdH1paK45bAIGjr5bgzQBbc46ofx183jqxJEhJ0TNA+O/J\nLjE5tWQ6stqs+/il1aE7oB98ZNdKA1xS+ueGv0tsPrbRNn7P6P2e56JXwSeN\nSqgLzdh61nxAr67BCeLumMp0Q7C9iTxdaiwXCjHlbWVJyOFKYyfx/OzTegz1\nqtigDsmf+gXQ0h5tC7zvXIEnwsBHRbC7JD4CExYHCHl4jkVaVKOxZnhVbeMd\nHo1CmvfDA6I1GHkVL6Nmg4V/km8uRiAKU9Ym/wfqV99r8ogezgXmEMhlJUMr\n0EXMW+4VOKN9eHeG1rSe2EJxGFMl3qKT9ZC+xjypc997QsrenQ7OTUIs35jS\n9+QZkUYyqWqtpk2oNFvj1juoD6D0+ifpk5MV9lt9ZSMvbjjCwQygjKtKh/ro\nDCfS\r\n=WllP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.11_1617875028613_0.9510939403260334","host":"s3://npm-registry-packages"}},"16.11.12":{"name":"@preply/video","version":"16.11.12","author":"","license":"ISC","_id":"@preply/video@16.11.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c1ecf53369083652dce1e3873d92e31825e6b20e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.11.12.tgz","fileCount":842,"integrity":"sha512-dexccXrDb85dii7KqeVzdO9AiJybJSr0/WLi3HWwvIx344lnE+dYCskQjLOqlW/bAzMW4gWM7afClqvhayANlw==","signatures":[{"sig":"MEUCIEVy0nQDkcu/4bkqRj3aIZr2mp7emhMZxwl2FMZduQZzAiEA3ooY6uh2E0hS+8KTs6Qq5L32CcetuynuozWYwukIohg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20363482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgburGCRA9TVsSAnZWagAAUZMP/0pZe3cMxaVrTfnbiGO7\nGgLkTo/HZ9foZWfbTbvT0m1pFKl6upE4OBaeoVwLEgBuWTInmUSn6p187+FD\nIcCNTw9foWAyHUtjgTFc+Coyrr3ZmgVocwT8MXTZHdvxzSUD8TqHLGHdHSdw\nN9KHI2fFXdkIIBxvPDZSZztPQw1jphI/OY1YQR2q8dDAYMOW98qfr8d9tBfg\nB7YrEH4trC0Zww6XqDr6+w6Ou06tbD0LOy25r7AnytQy2J9pSqsTcsdVyucx\nDFo9z0RP4P/RH+56xGVaUszfqJHf+tBO0y9O3TfjxXHZiTt3R3ryVvKEwSP5\nUkfj1/PJjhkbElnNzaaavU7DZsJONN8s0U8U6G7N7ekhUR89OLdw/Ikiosh5\nO58Ac3/FwtrWZFozqEJYDGkHzb+TpXnnlQBiQ84C/c7kge8FFRXi09gTcFAP\nT/Qxv4gvTaS/c1ttiL8PMMRzOR9yKTvgaWApC/JwNhqtya7eyw2RWiVZACth\n2cNg4OTeSNvW4sahxsaFBTx/v6XEzqChEt8vABHawSDY2QbFdsh1CAzsE57k\nlHgzHsEf7W+k5vcFYiLVGVfM0/WqK3vDT8djNeY5pz0RCNF0JfzxFDeY9cmY\nSc4IsuWUGFWte8d0XzyFoHA9xYCAiHOy/8LXJ1YigvD8pdwzFXWUWdo1PaKj\nBn5g\r\n=BwGu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.11.12_1617881797857_0.5594569227594082","host":"s3://npm-registry-packages"}},"16.12.0":{"name":"@preply/video","version":"16.12.0","author":"","license":"ISC","_id":"@preply/video@16.12.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cbf6a471b3354d6262de2eab9686027b0b986164","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.12.0.tgz","fileCount":848,"integrity":"sha512-LTEgHYsDwqBog1N879xF5kEVCpIScPAr1lFl5HWwtH9EZJSN19W5dXtt0QvzSC61B0UCI5JblJovg96Ai+NTbw==","signatures":[{"sig":"MEUCIQCSV83RLtH6ieiSvmqV14o/aIGWDh/cGALECgL2osoqnQIgGXptEpLdrv/CV9GLV0w6gdxgUK6K0TwQ71kahEAOC+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20471574,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbwbwCRA9TVsSAnZWagAA5NwP/j1tv5hM8dbYoY5JnqSb\nzxSzUfGDG792JBRd5qF8V6HN8Ay8PpjXqMrjQ8YA8KomEEVIoE9njIR+ucB6\nnRA5PviEJK01FYd34QhtjqBqYU0HfdzscYKuFF1A50AYc4Rv/cjRQ0bR4j9W\nKjdxY3Ht5aaeR01kwmeZv2E3eC1XqXVREtCc5Vt/IpKAk4frVQ02ObbbyCq6\nfAynmcpOq2Nxfv5CgNCF4nLmQu3dugHrnGkZpj/DdrRyQY+lM5T1Sx1NH7d1\nxfPSyyg28EUyBlzRUkbmC7lxTIQpm/wdin+I8PcLz+Tarule9cy0/aNGuv32\nLTuIEI3de7Duii2Hmyf3j8bgYltYXC015zM4/+GFEy/+Het2untPKo/wbuW7\nchi3F+4OaeDaqOsPGdPfn+Z9GkDoRcPw1+DAbXxU9vcVDM2B2SYgnQCHoqGU\nQxs2uWulbjoI9TnxSH1G/RFNMeu4cwqPhN+lbyTdeBFT3x3jIEUc0gDtcS5L\n4iIRn3FrGALqvhbIY5DqhpXuouou/gBcnu2ZSvcfA9mlYUHz9i1OyuBe4/OT\nbe8pde7G/WR3hK2PvJa1jyx9fTBIUWRC6K4K55Uuj92SerPflORBUF2W87d0\nCluTxmhBvQFAMo46cbZc0YukUpEBx50nyGaYST6WfU1n3js52VRYMYOm0K3E\nyz6h\r\n=kIWq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.12.0_1617889006745_0.026178275625610148","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65":{"name":"@preply/video","version":"0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bfc3dcc152c5096986458e04fadb9cbf40f174fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65.tgz","fileCount":848,"integrity":"sha512-RqvxPg5VicicTJlxkVE0rXwtQWtO23i42/zqdkzBMMx6oQp+uoMtXJN8uDhZtfud4R+sUrZ+r9cM5Uy1OwaliA==","signatures":[{"sig":"MEYCIQCNs4cZVTyOr6GK1/AwR2yG24LXXcpWRs2bMc3HhMTuhQIhAM9FjzUm0jQkDL4o2FUkhSw7Up45F0pb/pSMcDx0Zj24","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20475794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgbxJHCRA9TVsSAnZWagAAP0EQAJpPyos7N8oL6EOjXT6/\nNORMk4QFWqe6xdu/qxYN+IXAYDfqr6EoBfUmXgKu3yTAe3mOXcqhEf198Oo8\nZwZHKJplsCP5/5ZNHdGqaJzsAL+Bqn+tOpoe59YUabpzwtVHdZJDDs+jCu1N\n8M7sqm8GnhRm9KhqV9bp2jwN0j2XyPl6dV4aDPJuH9eEgdOZEz4TNYFgxCOU\nSnozyEtnlFN0o35pqFuKIw/BsGM1KXw6rqWAWvIX1Rb7qDeZzyyLIFHinRdw\nRJjE/USpWuU2eWDsSfRs6hdnnqatRewuk3ifUDVwc0AtycVyWThcpICmVox+\nr40SXVO/znXPtsykb+LEt0bwoBZtDWCjlM0JVK+SYB0MKkt19J+7J8fKKfmq\nCH75v8AGNqpFz7LbQOCnuqxWX9xnrgtgcchNwWJPeORo8rkQJh+Y3BIvMzZW\nxkCvTT+6SgSneYB6P2S2uJR6bdL643Jd1H+KeF9A0947m9ghhfA6sx2u5B7v\n4zvF3xgoWtyiPJt3Me5ymjZrq5Ky+H26G2zrub+k1De9pTzSAf96vbzLy2/p\nLgIg/n4ul9NY1+SBEMvh5kltrHIcmLOuHRhPQVYJStOzL6mu4WnsvzqITcZX\nYRKzbkg+cHFcevepK5VXYCnTK3vxlX2vfby1CcwS6shIKqd0aKimaEp36mmL\nplYV\r\n=GXEp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65_1617891910094_0.9205569600643582","host":"s3://npm-registry-packages"}},"16.12.2":{"name":"@preply/video","version":"16.12.2","author":"","license":"ISC","_id":"@preply/video@16.12.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f29ca7c4779ccf5256365415adf75485a0f2b632","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.12.2.tgz","fileCount":848,"integrity":"sha512-TYvUnsG9e69f7ctx598XuST3vVPZx0GtiGoTyYXQmDQ7MO/Y3vn3N70yJxM/o8Ypt+FuLPFYD3Q49Ojo1AVNKQ==","signatures":[{"sig":"MEQCIGw6ShI6qlVGRZP+qWlkHkyCyFZ1Ytw3YLtPccuMJmCfAiApkisDSX2lYjeThf0m3+Do7fGh7TYBNB5kegrsYkEkOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20472323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb+FaCRA9TVsSAnZWagAAl8MQAIDj8LMuH+K8ALdf5cDI\nDLteg1Eb06O6xteGyb3u3Jh8/kaR1IPm0SSXxWVubLcYmAygNO3knqETfCRm\nwepgNE53ITUONJTC/1l0rMYvEMePl6XROag03ll0qboyBFy+9xb2FSI3s3vi\nLw3bnmclSTt0UMlKOMdK+6kA2eHzluWLlAaUUlXeirSD1u5pPzbaTMgSO1lt\nkeG1ToVjEQFZXpg0y0Ou9F/rw/8pW0vjBzwQC2DXLg7/nrF3mEszvekxOQ/d\nephM3aOO8CaP71PTIhU1LeMPs7gmpVKGgkipLuj9mRerIHLLdqKSTfgJYLfx\nexsZGJxB4WMtL+M8HYFkxPZYflCMSBXBYUtjVHdQZhtV9ehPasBimkZGpbL/\nm3HYq1Zn/28GxWoA0cx7Kz15TO958M8zv6z7mYKtMuAuxpRGCuDcPklPbOjE\nyKMsUBj8vrbd89TqBcLdohNDaac2CxfW+6Z7YgHY+cMOzaRwChZ64Ls5C1zc\nfqBL3e3uss7XA/pfTeOySKWcuuDUFGcPJzfxSr4fw75S8Fc8gijpHrtlLwUA\neLk0hg2SKRq+J8dRYKa6RWe2+v81WObXUJj+ASPCeRJRTay+ntYBk8ugDD3z\nh1ko6KH1igzNxLf4v50psi3edW8yrjjTk52Itn9oZDk2zq5puiPzdCZ5P8Lq\n2tJf\r\n=v+mi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.12.2_1617944920355_0.042667165398581286","host":"s3://npm-registry-packages"}},"0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d":{"name":"@preply/video","version":"0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"63230bfec1f2c1d664f02c8f457e82328aa8cee8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d.tgz","fileCount":848,"integrity":"sha512-xtB62wY8SG48r3TXdrf+BCqG03SURtojKC7w7rAZeWcWsmMTC58yJUewO674zbOPETpn386jvSDqOa/m0BQpTQ==","signatures":[{"sig":"MEUCIQCjFHZtakanvn4L25n3O5FvlGEk+I3R/zUQ8VWVEr/lNAIgMgH2qNyJS7XuJW4EvQN8SmvBJ1HTxYpvP1TFtGYU4lc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20473595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcBbaCRA9TVsSAnZWagAAD+IP/i7jvRzdPGDdbuMmf0QA\nsV379nJgbHpW+n4kqZ910y8ZLwZ57DGy5D/mO+KwF+BU3zy8fOQrDE7pWZa7\nrvhbRRexbtiAagouq67MNznkPjb/VbCP4taDHCL2ZF8niO2PjYIpobh2OnEw\ncVx2MDfCUL7yjG3PaKtpkktmP/hYO5dp50rsloHafZQZWNAj3tSOIjm/WooO\nSmLoSRnmRTcTxQDTXkxMmRIMlXz4zTS4vbn3gqg59kvZ1qKfLSjWuRBLVucO\npKxBEbKaHBtqZXMq+C2UIVSfyb7ElpJAyR/uVRYJRt4NqyovlUbhDRJVcFvB\nUdf00xQodxYXCDC8w+ueVOgmZlN2meMIFVkSqWjQxGxr1gozEl4TTit8UePn\nuXh1m5pzjHBf2IL6givpxacq6EzQTOGvnxrK+S0fOtxLHkb0ZQvsxGBH+Hqy\n/e65qyjuwtWheVx1TaGQsjQSZ7DDLLgzRUc6ZI7MX6MnKw2tIZ4GvHngLUQY\nVljICJvhc02wBZ9NOMDnpGWvRrdAI4OMMfeDCAWFzlsEf73o+ea3cnjxxqXT\np2NhDlsTRLTmaiHcRzkL+HD2jMpdz/l4FYN5ebt6vdhtv6Dr/QjCcDuWc0Gb\nIPvB3v7EuvRrD3KWdcDFXKRg6d0E1yIv+OzRerc0CheWmRciY4OOGFoeC3SH\nqCNo\r\n=UtAw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d_1617958617684_0.1979106780404707","host":"s3://npm-registry-packages"}},"0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e":{"name":"@preply/video","version":"0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"50993631bfa8f97c9a7f1e8b1dc750467064917d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e.tgz","fileCount":848,"integrity":"sha512-ghqn5WSOP3qNkkOO34NTd98WuEK/cufq7VsM2+pOo5RC75KZEc+QfaFtFhJzh4R1YG1T3GC5fIqffNhrG1DkkQ==","signatures":[{"sig":"MEUCIQDlgy8pGat/4AF88SVTfh4xwzPlrAxl6QaaxZq5kpcQHwIgW/ig/Nv5Fuig5SXaIqwLfcsFUTTEJ1GzxPF4bwdwYrg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20475895,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcCaLCRA9TVsSAnZWagAAnR8P/RoJt7Swqb/hruA7uW+B\nPYLKtKHRG/jkoRb8cCrssixuTgn3sWfSHKxXWb9rrt6DAf8QlshJac+qbO6q\nUDNnNLSaJGmi0ra/xq82ZEo3kjTIlKLP8NIYhjOE125tvVopVgaFR+autsDj\nEI3HiB+t+BVxyI/fY6a3hUfYWIqTxuTV8NWkWdjMe/d9F9seyn05qINOtqfG\nlMUFa/KM3NgcCk3UDDmlh7w/dd3cogHYX1zHtXLMw/ES4UZKi11OxIIMPh2b\nNAzvJxkdXgXIsGd++KUDLt9r+AamMD/EMVgpkuQ9fCPlvezHJdNCryYLQhuy\nJleGC0JRC9KJcWVDVy8dJ68ozXW46nEue9qC0VdvXzJAREQx31FMm0VvQknk\nOieufpyMvPLrPRKm2NIuHwYrbFv1Bk71215t/vrEhledJGIx6nVu06vznPZK\n4SbJ6c+l1aTNkKlGjjnwSgvKqG2CTCHVi9u1eyZ/FauzwibI4szB0VssYsGq\nLBdOxAZhjCVj84D11upbVWtuRV3yI/J87AcBjSSF/Y6xpuGdj1C4Y1cNxhzS\nMI/PO6ywIBgfPCTrdyr2lsrzY35T+kViArbwuSLIWTV0EjZA7cjCb7k5Vhrc\n6MtqFY3Yo+/jxbsC/1ORQ3//wwnRejCBRiVeLZ3CuWyjdEE7nIZfEWDXZeoZ\n1Bwi\r\n=6YA5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e_1617962634537_0.5395740541108773","host":"s3://npm-registry-packages"}},"16.12.3":{"name":"@preply/video","version":"16.12.3","author":"","license":"ISC","_id":"@preply/video@16.12.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e7471d4881e7217ad689d03e23e9c6e7fc2ae8b8","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.12.3.tgz","fileCount":848,"integrity":"sha512-FN9GzmQeYOpWvhGrMcucikiNWHBoOyLQ8MRfeBPJsu+G61NcvFNXiQmC+u5jso8lF1Y92ZFdq9bo0P70ype61g==","signatures":[{"sig":"MEUCIB1olbLTzA40RjQAINCbt/sXkwkmCyR38VRmw07lwMhOAiEA+1lTDN0ZXJADcmes0BroePA2iRa8ZRa+02OSOzi/L7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20474531,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcDVECRA9TVsSAnZWagAAcU4P/0R0vYfJ2DGe8VQ0H6IT\nZ2dUMFOR+1q5vTsg848rx4UX92dbAZlF4zStkKl4NobuD25iaePYvmZxmdoj\nmaQcdU9YND01IaSDcJ3dzEpwRBod4Sim+YVOScRxWbOPmIltJH2huWibKJ8b\nvJKbU0TrnnLG5RRJIAQNdxd/hIWFG0qviL/pB7REvKZ15sO4ufrFnmAFA4jH\n1XdKj6+w2E6fg/RZ4AlyAn6vJRO5sdofyy1codrxdtJeOkTfEji6aqupRbiC\nHjDwVZI2DsK4qBuiwASGqPP0A4zhSOXAwPIu1GFmvV62u6n9ePMMa4Y5WnKq\ngWupZz1OuC8rSlf/lAE59RR9grycCwGpoLKt38o5+Q8QYmBrb4qT9F6IvEN9\nsUfPLsGhMQhwjB3OQmugXTgDIDR0svoPIf7sIrsAAzYAmeok+j1KW6+KiOb7\nOGw1WKlj2EQHmdIlY4TtORA336jDUE0LkEKFNvHtyZ8AYtsLc1m39LiHwhIw\nLxGFfckI/Ay43LNevh9AA0w+gQpJXU8d5+Ta2ECAFdGsvMCQzlPBdBBoz4rl\nZlxmwlg+4Rc3L26CTxgwKBQbipVZBLYCvsX1oniRzlBI3cZ+0vrdbKoWsLi6\nc26GYxKGEZnugHXxVGk4srh8DcS7Qlex69DXo2sll9DaGdz1ejIk9HllkfAU\n4i+W\r\n=3XQ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.12.3_1617966404072_0.6495610596759487","host":"s3://npm-registry-packages"}},"16.13.0":{"name":"@preply/video","version":"16.13.0","author":"","license":"ISC","_id":"@preply/video@16.13.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"588edf6591d80bd49e840e0891cbf968e15b6ef6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.13.0.tgz","fileCount":852,"integrity":"sha512-kSVU6U/sCCONZJx++0UwHmwfZsB247r+e9gBd9zhwtyHCuAyjRYWMBjDthRtyP1PgkUELeer7IPvLnHKk9lAqg==","signatures":[{"sig":"MEYCIQDVVd73mAo9I++wA4uBhD5LdOk/6hnqlfY0gBjQseGVQwIhAKBlBtwpQGilKeytSpdTNeijKpvGc/Iy/5kvO0QCTV1p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20496384,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcDynCRA9TVsSAnZWagAAlV8P/Rub2PujU1U+40gUhpIy\n9own+5Yb40O9RHx2ZJohAJ2Izuocrp7SHb78juFJnVOIYT0i+52n8S0/gww7\nqONlY01c5v8fDEXIzLVtcrPf+Mpa3dMg0+sG8PccKH7GSwOFWeT3hDoB1ba3\nQ94KI1zhSzFynOSpdVEeHUHEogldLng99yHzYMHTnFPO4w482/QSjwr8pG55\nMKkFVsglr+WlDtco+trCmJEMlBYF30+J5NkWlxMrDy8HuQKejCMXikdA2ixg\n94Had6NaBTjYJ8qaepdz4Ku1Ngg02dL2iB2oqA1MdcquHOhDwTiCRnbANWQV\nVwweW8fz/prdy1iji3lfpEXZevFHIUThg2QKTd6Xf6HG0qHAPZM1eADxfByE\n/2As7GS5PTrxrNqXiAdeOoGUf08hfEeXikHr2BdQRgYSJdm79s6jWMqFioMB\nnovb1IUhtiZaRf4P+4lwfAoEzTcbuvgFumzAh7b6UKybxLRH+4ETP6Cv4fwa\n3KVZcp+7oMDNFnexIdNtnfgzOWWaT9G+aY9m8simmlcOfYTtHL2D7bSQEQBJ\nZGr+9EbRsMaxHWA9hj/JfhCrwk1+l7pQwtdix9OB0ODNeCxaXQl3HvuyEGgK\nyad6Znh5VDT8WRRMqYCBIGd0eU9hXMt3f3gbv4O/T7sMK1Oi8byTLEPFMOFD\nju0C\r\n=dQQN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.13.0_1617968294877_0.7785215471153581","host":"s3://npm-registry-packages"}},"0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b":{"name":"@preply/video","version":"0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dbb77f934f9f9bed062ec2d2b6be384159baa740","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b.tgz","fileCount":860,"integrity":"sha512-7euXyLGtv6Rh9fjFyY0ScDS1UKNpnTDYpRgK9GfkhSNjCziH+em551VmKynM5Xi8FENVCOGfHbMhZzvFkVIZ8w==","signatures":[{"sig":"MEUCIHgKDl9uTs1hZw/m/KhHxHk/LzpKZmCjfHUM9KjnYVDaAiEAsfyizborSZ5PaoKnrX/CBIkwP2bQuRAbpZnQG7dG90k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20590170,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcFAkCRA9TVsSAnZWagAALW0P/A7mxe9mqT3wv29mS66+\nK9bQZFyP5nbTcnSxLMaWzMevOqA/o1+lScbZNEmTJtkrQ5ITeb4FZsdCAAH5\ngUH+Xv5fLCTMDRl7E4d8mFqWPpUO5Zi7l9xzl8UmW3s/ZLETdY2Vfo0N9ODJ\nEXzZaaITiGO5SBKEgR+bCGbLWrDQm54hrAqZElLIdXSmW4SLrAePXoevFifu\nxy9x5Y/vupB2Fef268+bi/hsMpuUEI0gFf3yu2KvZkaEro7tAMGKh+2CMnMe\nrUXy/KACheB09LENVuU/oDf8PXEvM3Fjg3FulcXQqrRXNAO3AhJqgDsaAbUm\npgPjTmrzYmffTmvAhI3jbk0JB44bv+xhmFrU2kP3wQM7+21a1vH3mQXlOv5X\nYqUvWRD/bzo2i0XuUW83JXJjA12xtf5qzZoqwGNZMdX5qlOs76MSSY47vO8r\nsEMSHS0UpPk69lhRqkyAbcw/U/R8AD0IcsmLhXCtmlOJuf0zsGJzBds9kQuU\nd5GAEuDZugXYAO9cB5XhMADUfV1HxVv/t9919v62MNkNpLBc2pXbItEZ35iL\n1Zz68qlWhQER9fgZUhuitorFsN1icenAqFrpefsJYM0pYVjUl3BTmwrGbSuy\naRgJhLLWXDENRh79uH0BxCEJsL+yq/VzFQ5rMxURC6gAfUDgAYrDoDbL1dXQ\nebpf\r\n=OZeL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b_1617973284134_0.12482972454479624","host":"s3://npm-registry-packages"}},"16.13.1":{"name":"@preply/video","version":"16.13.1","author":"","license":"ISC","_id":"@preply/video@16.13.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5d5b610ecf8f691e24036973ad5f5ed747c81167","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.13.1.tgz","fileCount":852,"integrity":"sha512-/S2kRt6sxSEYbfJ2JQBv9uGQDr+ZeygdmD0Q18Kr/w0Cdb/jXF0cR5XzRCEpp4L9vkp0wcRxyfmmHEPTM4udRQ==","signatures":[{"sig":"MEQCIBIBMfAc3EEpVCvpjlfdLi8pnH76Y1MFQ/87WHWDe2LJAiAUKNn6BH5ReSeo2JMX+zYdlhYpUxOhb0PownwCrFCMlg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20496774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcFJeCRA9TVsSAnZWagAAEv8P/2mgMKZUluD05pd+32na\nDODvKmGEP4LRK5S/rTLrbeR7EnovOd+qp3rVlTwUApyhkVJNcjZMogvsj7fi\n2kg8S5HbNbugkbxmqeEs6V/UZy16OMku63T9yA+GEBWCVtfQekGY3HZdhBuG\n1U2UVgLD7C0vhRseQZPFMu7pOVvk75x1BeAbP8fSUm7kmBYzwpLzNm/09H69\nsnDzQ5dN1nFCPhwLgZujpIDhcCCMJS3sr7wASOVxk0AbQPANphaOVMFB+9bA\n3+ldWndwhzjfmqn2Wjfh1Y/AhpHK8zw59Y8rTk+KVI6iidWBXowb7EFAUzry\nNN25QgnoV64g6Vk6aka2c9BHBjVYXDoyoXADMUj/mKN9TqOrhtAusZdjKa/H\niYIrhRztrFYYUlvBbEjXk13d4MBlyBh62fry0LPmOm9iVc+FFmu+x+SpOBbW\nJNRYFf1vLMg/ORk1+/ekan6bxONEphS4+g4dvFXC0n4fR1X0k+oMTQlq4MLG\n5z4RIqiC+w+8o3czhd7ZavYwGibvmF4XClPGQuMAXtLA6UQMTYfalzhb9lcJ\nWwfmHf7cVuFuGHUguF4jK+KCcMyipFhqScZVVcuOLgjVlnjur7/ik+35Ag0M\nfhbYOvAlZLUluUUzqyYmfwe+2hE6FlkWyvZig+54TpaXACnK4YtpGXMp2wfF\npuVl\r\n=07E0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.13.1_1617973852976_0.23448200766459926","host":"s3://npm-registry-packages"}},"16.14.1":{"name":"@preply/video","version":"16.14.1","author":"","license":"ISC","_id":"@preply/video@16.14.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f257968cd08f62b34d76b5208d7982b07b57ecbe","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.14.1.tgz","fileCount":860,"integrity":"sha512-DWaNto11meYqa04XYYvdLbDUxAzrcCXhy5/zlD8G6HnmO9R7r2zV2qVeMf1Bp3gWIBu8F7BwMNiyDnJ0FCjaQg==","signatures":[{"sig":"MEUCIGI84d+lQfGmfy6+zNx1RlBleSMnQBiinpoWqB0FLZVPAiEAphsL6mRgF6g10dD/dUZK18iCB4h5/eiC1X0AnbO/Dcw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20589616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcGDjCRA9TVsSAnZWagAAQZAQAJVqd6FJSlg7xM/NuzGE\neazlOTOTBou/cUm/jLPtVxUnCute9hVYB/j39jtyvT5ubEZuOFhNoKV7leEy\nIMwX90z5YF+h6repGzp6ZoymI6xlhSU2lKYBdS0nxA9fcOZmD4syFRrof71d\n7a+vFLCOyTxvWjmp9OK9TzFZidEcaKRwcAAzC/j9HxAE0oYa9eieHXUBBohg\neqLZML40fAFlMN+Tclu2+0RzfitPSUn+XxuZocO0hh59Tmqotir4As5WinPU\n9Xn4NxUj5Xe2i7zBwNPSar264s72BoU6/81qceVsTjjJNxLIgPA/YfaHGNsh\nu8CyFP/vrQnnaq6aft3ypSiuDiftjF3Q3Js8Yb5jG/Y/Cj02FyXT8YfPpBxD\nBEHoYzUMueOLAjRn5yldlOsFbydWcgAgW1FHCK4CtmNq7+/1WLSFIsnuBBOB\n/apqSFJITcqWMtJeRfSVospZIKhJef778DS7XbYFh9nvjmKdNsic/p324iwk\nmJlrQIx48L7zxSNqdeqWN93wC1m3IGduBCCiOAiFGfbDVSp6WsDgfW4Bqp0a\nH0YyuPjgeavCGZ4ke2KmEzWrs0PhTZhK0IMX4U7U8sPFcdEeeehM9e0i374U\n8QfHLVu4LVAclBdIIFnmyQgwTGecEWnT5FxHqgFCtu/q7VZhjzTiVO+kFLmq\ngFf3\r\n=s/O2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.14.1_1617977570900_0.7051395377150917","host":"s3://npm-registry-packages"}},"16.14.2":{"name":"@preply/video","version":"16.14.2","author":"","license":"ISC","_id":"@preply/video@16.14.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"628c1095c1d834b0804989019d42c11e13cc091f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.14.2.tgz","fileCount":860,"integrity":"sha512-baMtBbCdcYeFxCW0iGbnXe4VIt/N3qntUYmj7qACDoLhaovtekT8NTgFSF5ycaLAMY3BIyqJKc9LXb65ib3KgQ==","signatures":[{"sig":"MEYCIQCJsQFZXLAloLCxOWcliPjs/t/UacfxaoverZcsWo4c6wIhAIQJh12NwBMhkTxeo2RgSEnmVok+2jXXElgJ/FTICFAK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20590021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgc+MGCRA9TVsSAnZWagAAuRsQAINxq6EUpnU3g3DML/vv\nf5EEYInjJdKK4K44f4HOv/Ln5XVPPO38LMSi6CQDv18y77/VGx3d74S2fZ7T\nJrcrWXYirrJxEcbcqB4LABZzktYhkpcQJeFX+xK1Zzf5c4jus9iPOukXvQNS\nQ0AHqlT5rVU9A++aADVvBLX6hQAXv8L0+NkuAcAJhErNYDdyBZ+4gDNQriJl\nr7EzGh65QMXwYMRnwmh+wQZqjfP++ch4WHSO9tVRdgPqheqM3wpqO01cq5Mn\nCH9MNa++Q4LIudpvxDBaMwCtoJRpY5nRbx6vhvp3h9yYknOwVpNrTzep71iU\nDIRM0sBnScs2yfoVp31k6DItg+FikZAThhNqZewAlrlFuBrYDPr9ui679OEl\neubEg5nAEimNjLKmG0DDe7yF/GrxTWWqkrMwwivsFiAFoXgPCwahHHJ0nnLo\nAmFT0GkebqtuJbBLn/jlaZkB6YkiPOwoYAgexVbWJHpCV1rMJgSHZ2Q+mWl8\nn/GnVGaDfCt0CCbKQWVO4nTC5hB9V4Oqr5R+VLDXvy166nwkYsK+ZUOR9PP+\nRZ/4WPUhBPsB4aHKQntgWCh8P4Rp/ARrQfJvueYdtldoe2sSo6ma1rh+vzqv\n9BJQU3ejFD057wrdvWGZblXEnMhSS3tRj5KZlBOn5apHcmRCe80lkiCKS7Jq\no3jL\r\n=wmGv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.14.2_1618207493762_0.14001205628278712","host":"s3://npm-registry-packages"}},"16.14.3":{"name":"@preply/video","version":"16.14.3","author":"","license":"ISC","_id":"@preply/video@16.14.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"54598edcbb7a693c8b86712a13b33c1658efe30b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.14.3.tgz","fileCount":860,"integrity":"sha512-1KLB9oKpM9kbQwc0PXJh5ci2kkdsRlBBRrWM9A+Z1nLU/UscTRavgaVNlQAmgv5NnqhAMtPHvxsG4KQC2DtIGQ==","signatures":[{"sig":"MEUCIF6L+z+KZWlddhcwtthTUoUSC/90J06ex4kb2h1VmZvyAiEAgj/fxqyV9hnEIPO81BFRq+2s66qpy66U7w3jNDT7mxw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20590254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgc/87CRA9TVsSAnZWagAAeBUP/0aMB4bKTc7c16hdKzXf\n8p3P7KcGfKkaRYPVynPirWRlnjcH+7nv5eh1KkrkpLyaGmuQlVwooThDBWzx\nlyW4IYtBXHaNJkXwKuMBGN4jRrgzI6W/pS0cGw9jRQt0bI9t9WB4AdYCY8ig\nF8qDkQDXNCqpJCmYkpBdl7abQ++QA5WH0zFGsVbmbusZetI63XOctOJbvsGV\nyIpd2sRf7EbyKMk4cKvzxntrBkhwEml2WbRJH47kQjvMOihGsjkJf5EA8j4e\nyn1nTYhSpS96oSp+HM5ufZIcfwKFSs5L1OuktUZnZLkP6DlHkG6yhyzT+y5N\nAwAP2g+x/kbTZNbfzcrUevhAq8IfXCiJFeiAV0Th7QnJ+wvECDNvrtZGbrl6\noRyg7FU779f96uXd+dX/XPVcKTdNIt2MJUvXBOujc2HYEwBZl+jFNz2TOLqI\njJ4vYA3SWujkvXWj33JABKnggaB+pNDJp9EbhJ500NGNzkGKeupCI28W7jKy\n+8l0YdBeB0fRrMO1Q/KQUJ8Q4mp+C7CfwpEc90WKVfaLKgAIjWc4LwnMdk2D\n9AAFCLxByCwNlmxEFMXu6uWu4oJdN2Ko5s+30E1lSAYUAbjNPf9yFfToU2dD\nAjBDyrvsFwVZ1lU65aUbN0edtcVFnG0y8ygCF2UVz3FdWN7MaoqVEih8fD4h\n/rqZ\r\n=DkM9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.14.3_1618214714428_0.09435038743009105","host":"s3://npm-registry-packages"}},"16.14.4":{"name":"@preply/video","version":"16.14.4","author":"","license":"ISC","_id":"@preply/video@16.14.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"efb07a546a9bd1811635b977972ffec7c580b2fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.14.4.tgz","fileCount":860,"integrity":"sha512-+XekJEawr0TB354ows8rzU8tr8dpAJhjvwZJ7p2AHgcCDq8mVtApCF4+zRUhYaB3Px4zFGzPbe1yytcG61SpGw==","signatures":[{"sig":"MEUCIBjK2XLkdAG9nNu5Sub4cRTAgQFDoeFVry423edyDYOIAiEArx9Z+Shv7n5cGyIwv1sEpQefG3uuy+1NHAt3d1wKSL4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20591544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdA11CRA9TVsSAnZWagAAepkP/2LGqo8eRMHQqXSeLoXR\n60j7ePlYMUZQayJqfxCY+pjiXrEOQCeQm+ODdyS1HBCuoBSteMf3okrkm7aS\nSCkUiiSS2WaPDg0SLzcQpC4cB/o/+f/qzmbPXY1TaxevqQOv6tcPyp206XN4\nDSMelsZimS+hFuV+wajmyN+Wf7f5OUaetK1EXn2f3i5ulQwciaGVGZ62buzq\nHp58i4KPL3wvcmULEahKXCBbgKzef55WOV9hN+yMSzJsxC3vO4er723w8HfA\nFW1HsBCU9I9E87kmsZMxMwnfdpMUsagsrsMHJcZ2+smqVAwh+9j9W9DZ9SrZ\n6bguiPu6ZhyWfK41Hx/8K9VMAWNx/XUDGbxhOtWOt/A8GFcUmNpn1wBLhtzg\n8KWM2yu8DBNelcswHKvFk1Mp9IIwWPirNLUipKOyWHO/6HpZIeCMaxxaAkzV\n6C6fgrprM6qq31nrPUWVQSPsLesmWbomKx72pmridhI0b2Dy3EnaPBlYKwg8\nR/CPmYFRpCMMTdAKHrGQzr1Exesq8D5g+jMmH9erKrlSH67biYQu3OZGKSMx\ntJWbB3IDYtW4HVarKtglY4T4wLrnULz4tqiRZnKUpCaDShk2/5l6kHQUcMrQ\nOUSn30xqwZZw18EZ6+7A0sMJ+Ay0iPVkmRVKrtNyGoFkdI2nYWUKp9JL7KMn\nJ/it\r\n=82bo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.14.4_1618218356544_0.6076299739251634","host":"s3://npm-registry-packages"}},"16.14.5":{"name":"@preply/video","version":"16.14.5","author":"","license":"ISC","_id":"@preply/video@16.14.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2b4ba68949018cad14527466680f4cba59c4752e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.14.5.tgz","fileCount":860,"integrity":"sha512-k++90jaWtshXVmB3MGL3ko1rZb++81IZWvH2q+hiO+1XSPwMal939AkNDcvECrQeNvUnzzJF1qNbrcOAGCYohQ==","signatures":[{"sig":"MEUCIF1iDDLkoxv0NFSQUJS9OJdhbXKQmHPJr8yizTs7Fg/pAiEAseo33yXvPbAqx/WtbJ4gNnB9NsJRPTNGuacCaxfSzZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20594331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdUMDCRA9TVsSAnZWagAAvLsQAJtmqiecYN1LgvL2mou0\n9o+M4h1QdVkGfYc47Y6PFstyMBVEowJysR+Dt+6QQULeQ7A/YwSiXCuTTwpF\n0HekjT+LZHMOzIpZ/F2vkMRgtRI70d3hI6TP0zjggKzAMhnHtWaGlJ5Op3Wr\nvJDqm35Xw3M7luYPsSMjtL88S9xkE27y/GT1h66C42ZrRrWJ/FhtCfsljIxh\nHwLl54PBPFkr+FEwO5qac9dWolSVlQUpatCYHEtJ95rHZk1dTETJ7oCWoLzB\n97oqkH1F+3G1m0diIuSWFBdBsK9hNKlzUltng1f7zNZMjZAW7ZbUL/1oC3t/\niIaEx3geqQGO5AuJYNE+Nahk5lRznQpsVrYdsPqXgjY+dQItGTk3SOnLlbJV\nspxocF9ZSdA5y3j/m0nVoMHFLu6j4I3CQn7Uyb0Wtxnm3QBpxl/wBuMfW3gr\ncBP+/+0u9CblTJ5wDgLdflkkZLCW3K2dNwZ1IrXkLYSh2uFXKgn1hnuHXx+c\nJN1+7+Ld4flsNU1j792xrcFqcReapptQKjv9VCWdu37VKdbJgURyGHev1ZZ1\nX66bI0+uCOu4jktdc//WcQ7C+ahSy67DjBUrUOGOdx3vpkN0L/jF8JaewaM2\ndCjKW0RxCJfmwVoOPcy1iPOM3UiZyz9wj2VWgqLXQLzSs6vr0CAyKBwejoUi\n5t/7\r\n=2Eph\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.14.5_1618297602959_0.7295045430130878","host":"s3://npm-registry-packages"}},"16.15.0":{"name":"@preply/video","version":"16.15.0","author":"","license":"ISC","_id":"@preply/video@16.15.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a9d26e274d4b3db51b8c33aa3be892b8657f8c0e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.0.tgz","fileCount":862,"integrity":"sha512-fhz66GlhNsPSpsWa9lRpKsE+uIPZLftjuJdjYQ/MMNBLWg33QLvxu/YhYK6SarQJ7lTX4Ln6pnyEDBzkLx0Eiw==","signatures":[{"sig":"MEYCIQCivm7VkXHIOSuDx5WDG83d4HSFdwnQHI8LARdn0XG/pAIhAJ0YvxTN9LzfzUHTTfhfzwJupsmGgmYBlby0osKl7k8S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20942490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdXPsCRA9TVsSAnZWagAAZTsP/352tt4VvzVzRIFvJzXf\nAFaw8TzUMtd/echGjXsu/mBjUSEZ09AAcfGZshUjONo3HfUjBDcIzeKSlP+G\noTo3M2E3YDZxePuKP2CDp90X0a5CPnmT7ZkQIgP9fDaVn7byWUvqZq+x0mYt\nKetmTfHB1aE/7wNNnGYL/Vhhq4PIlWgZFm99BM+OwuQXgqjMZ9iDjC9WASs/\neKm6JjFd7QWzf4hsX6MT+pkBItL8eAhevBSLnjNQE3g52QGB14Yrwm1+3gtD\nWAJ8TliyclYztuyOhbMFsvjGkCHwSyNg7VVj/sEngwhAHMq7TaksUiP7WUKY\n942tOl47qieTEWLpXrE7LmZTCqdq/AYnO3eMIYhG9kHd0ECT5i2uyWfYNXcn\n66xxKQf2/dCULgdYo+saRSch63x5pRSAB7guki1sJcYKfFud1ZarNQT2ocrJ\nKVK9s8fGBc/zTXD5Dt6ex9y7KAxIxCIemz9HDKtjIeB09ai4DMGEkbthqlTo\n39cd5rm18nZpbewcxaqxKOvOpduzCHzFoQhlD//keQulsun747h0tKao37SZ\nzDGuFlbV29nWYutMIKnHoLphbc4CCZvN8tzf3BDQr4rPuIoXIG2TmeO8Li5F\nhyzupaAtR5p7RplNtDokgofcqYvAcnvN6XoE4O33FXnh9KB8lqRANaCr1eTt\nHdrF\r\n=FtWI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","@types/chrome":"0.0.91","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.0_1618310123281_0.6456819813903711","host":"s3://npm-registry-packages"}},"16.15.1":{"name":"@preply/video","version":"16.15.1","author":"","license":"ISC","_id":"@preply/video@16.15.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2e2100fd4a1df74e5c5474f7aa0df2ab76dbc141","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.1.tgz","fileCount":862,"integrity":"sha512-eXt7CIqGd1TUVvzJ+2au1/G6wIvwqOyj3DS0HAgVyz4HLOi/chNGu/W1lyI5p2ki2f53JP+IZ6BU4Sq/OZo6lQ==","signatures":[{"sig":"MEUCIHJZJSQcKwh5OLUs/UJsebWOawWuWc/pPBDTRyUQmj9QAiEAlMM9PJ6tNlPGi6hF+YfzlYOqn5O5GTtKfQWuEKfk1r4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20943239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdZdXCRA9TVsSAnZWagAA6akP/2kHxfQ7uMmiWfojKe97\nzv/ph1zwpb9ipCLZ9RN1dpNjQpSKc2aqovGaHT6vQHj62q7pdNxOp3TYM83E\nV+vDuSMgd/FPCi6lvnc4YsaHQlMSyVP0G5oQx+SkdtYGYwHQJF2LSm6owX9c\nLaP+r62nJtKIHYNSv+Df2tTqzRvTmcRPeCYL5BHpvxIm6C+7SDOxiN0X2WVQ\neMjp2ClldCbIRYll27andfJVEzZ3dAmK8WBBWRgImFltidR/upto1aVu68g4\ncc811LLieC5nivBzYEBqIqxVM43l+7DsBr4g4Vuieiz7vnavp3nvs3NamdO5\nqU9kk+8og/Ph+aeaGdC8DZADmQFZDxTwWsCSO0JMEtEffHjE9eHBYPG3d3LX\nzwyMtVD8gz8XHwi4i4pL6B6rEcMSoWGRsnhKAULhVJvCCUekm3pwx3u5Uhcg\nRDSY9tkLAv6hkoBB8lZllMeeljTUtpiNpuY4DeUZlukW8sgPwQPXVTyyFvl9\noaAYGz9gX5Tcv2XXjYSRTz6t9p6bpCxqstj8AcwIetENLxSiVzvx8FJbaqkq\nO3nSvAExSi68ZfUBV5E5mp3T3GIRQVziAJsXgdiuEwpaltdxcLwDWP+TcHcA\nzu61e5d5uowAuDwLlFnz5gc+O1kDpqvKX7uynQLmfc+gYTWTQG20yvUrhMVo\nRzvJ\r\n=uqmq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.1_1618319190138_0.842512296886913","host":"s3://npm-registry-packages"}},"16.15.2":{"name":"@preply/video","version":"16.15.2","author":"","license":"ISC","_id":"@preply/video@16.15.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f6a44d68fa0bb3325a2fd12424ab1ca35e7b90b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.2.tgz","fileCount":862,"integrity":"sha512-yo6zZ+ljxNPZNHNx2WEPtZoDN5Yrqj01UwqPjddkTH+6QDIfE/y+vZF56YxPwGUVwGmDidSk7cdnb8zVt+Nbcw==","signatures":[{"sig":"MEUCIDTr+xtGF8nZVsckn1+IZ1rcMy/HZqhwe7JainpEmL1NAiEA3j8eePl5sVN7CzedqXkoUYe9cEn4vTIgR1XWrUFrv00=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20953403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdbRBCRA9TVsSAnZWagAAkgQP/RIY8Vehm8u/Ov9J22mk\nBKmkDGG5fwNvaUVWoFUYUhr3f+tHFYqOdWFN8J/0YNxtfLYoLwiSHW32ait2\nWGXBK9ufiO5ok4ubmkHmM1bWzJ/vISZF3eRdwJT0SmyKiC2VzC3prYKcX/C0\nm6zjv7M5TRMG6c/iwdwiXOzs9WV1o0ucxxJ41HAmrZYI961FJhdJ8gVc5R7G\n2iuzfhjvzxO6efgetERaYmTwSSFT1YwhZ5Y8eNJnaNLnKrPeWFS0ZM+mQiSU\nP3RTw1//+O1oiK2GvXApQZlEimixl87W9yjdipLv3s3kkUsaLNrZ127/GHB5\nHgNKKDPx8gNlfvVjOdFqMq6EHh3ErSIuS+nSWA7sFuvhxukSaDaduYeSATpm\nqrWPe8OTDr3+yWww3yXT5RN042Cqf3E/tvSBXAXAHVqVlrk9tdF7FQprOv1h\nJp0c/K5o2oQIx6LDM6ZLT/BE2T7uEgwF0WetmHWzRJBQ6Nu+nTDFCZ3zt8W3\nH+nb3OS1tlmXPBGhaUCix9ikuigXptGkR1uWGns0SMki0Qx3EoZPbt4w+kD8\nhBTBIBP8W55wxdCrGSgpsL8pTAoGKyZxIQZEaA5yGGG9DAJvRpdZDLXK9Uy5\n0R+k/3SC6BPKx3iQxL7aUmTDYnBpIsGdwHF2kolgKqYcIvJReEvogwyMob0/\nC5L0\r\n=a0kI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.2_1618326592544_0.8490078480177485","host":"s3://npm-registry-packages"}},"16.15.3":{"name":"@preply/video","version":"16.15.3","author":"","license":"ISC","_id":"@preply/video@16.15.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"db032ddd8d3eed7bb0d39c03063d028926be9b3b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.3.tgz","fileCount":862,"integrity":"sha512-7nMD5zrK7olzTzN2K3AtWx6KRR9w/7FEzGSRtLyZ7yf+IDDIwopFKmoHhq1O3/qrccQ4cRtzRm1wKsLB6V63Xw==","signatures":[{"sig":"MEYCIQDap34AhsbxmRfm7cGh5j8xdYSD0MpD28aNM7xsvRh9ZwIhAK6zG2p2GcniSsXePwaLqNqpottpIcfb7zgtZSiRBetD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20953582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdoZJCRA9TVsSAnZWagAAnOsP/Rafg3xB6Jts/NkE69Ih\nW2+m9GaYmYk5AG2tylYX0ugYWVD6jlcLb0L0kEhrUGuTk7JmxeRkRA3tiaDd\nYQb6cOQuNao1BshLXv8D3TjA2jpYmDfmz4s1CHu5fg0i/p9ENe7mEasqmLR5\no4K9UdQD6HjDh5LdiL3iFEFj2q1gecUf17mSRwtpuRy0R8aLlsfl7SZfgJoW\nVdJWpf14919Ktrt2DojeArlvP0EHE6O4zW9z5UFqaPzWkw2nUcwntwCoGpVs\n3xDVkaZm8B+KM+7yAAUu/HuqPNTna+uJ8Hi9ezO9c32cU7NG9UnyGxpYNSGL\nO+1daxMVRcpSxhepAvprXWrLNPjAQjIkk4/WOh6f7pGlEavZVFnUPyNIbKoc\nilMEDAv4517y+YKNFqgoRqp2/Z8qA3MxKTGg0wle3Wr3aJ3pRb4oVejLsOZB\n+g86n6yG/Nn0Qy4Vv9MBpMF4uqtGqsllVc7IpMi64NwJQaiZxQyf1Bb8WZ74\noQr42YQMQk3ecdXLMLgqAJiGhVQuQzHf1feEZCxaFiYq3TmKikacdoQ9Dj2M\nGO4WKpt0i/1FSVl8Y9mh3Xyjit2PzIrWeLs5h73tKu0SPQfgInioUT/lgXy1\n+8t3BeahPvUkp2k65QKua2hwfGqt/pvCt9sf0nL213Az2uDyfMvVIl87G3M4\nLc8/\r\n=XaeM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.3_1618380360699_0.41953816307114966","host":"s3://npm-registry-packages"}},"16.15.4":{"name":"@preply/video","version":"16.15.4","author":"","license":"ISC","_id":"@preply/video@16.15.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7d090b6e453440894f4ceadb06298ffe15d467e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.4.tgz","fileCount":862,"integrity":"sha512-4aTYBgTTSgTT2aca9uLxkPt5t/p8hHIFi4lCshpJtlIZ0bIn/FsxWTt0kqvZSbigxqboQzp3buD33NoJRgELpA==","signatures":[{"sig":"MEQCICctJnv5+fU2jMNDROl+N57nN4Zre9b/iLT9UmPAdFWQAiAzUz2uXaA83dg2f6oBT1q40Dc9FebhrbvkCLVqbOo8ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20949052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdrBhCRA9TVsSAnZWagAAQJcP/2NLgaYx96RY8AVAbGwT\nhDmNXA4Srpsj1QQXqGCzWbiUiC5qwiiO9E4F76QprHgJZc+yTcDbx1n6Zjj3\nRb3SmE6D2p9iaD5hNr0atJZ4kX5YP8E4U2dWmCI5KuCREBnTpnYf2M5//VbU\naLHNZxqLybzO7aURn6P4k/v5sVZXerwjzIvsseHZwoJiVxaxgVT8EMfSkcXV\nyWhTTMuC32Y6O9IjMGbK0/k1AsmBLhf3NB4AKXezgDuwrQgg5fG1FqbTLmjT\nm5GRH3j7b6jgbZ578+hWLGm5ehBPnQn8UAF5uVMR2E43E+Cv9YVuVbrH0V8l\n98X2B/8AAxnHNAE0XqdTjfCpxkMd1poeBX9DF3mRmIGbFAK4djjbqkY3hy45\nFwndcrU6QoMAgOPKXF4B8p8n3hM86WBRMkFLy/YPW50sQ604wfqbugGR7VYT\nr7fk2D2DDXF/20iWTHI1EDAgADpk9Lur6gp8Gpn6IDZkXM3c6p7t/3kSC3aJ\nNFnnP9Yx/LYYsuWv1GEkPxwtUtk9Ocr6GkWTsit/npSmqqCB2w3lXHW2z1Ab\nX7ZoWzoYm9bJT97kESlPvrat5F7hWZRcxqjq1f6kaiyAPazssI7xMLGF1W7f\nP9AIkAf2OpSTF7wb2DNFjsAD3ckLecnnMxoONKW7aQHKV3WI2JFPX9ZlYI55\n/FuP\r\n=jZRD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.4_1618391136425_0.6538657516221722","host":"s3://npm-registry-packages"}},"0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748":{"name":"@preply/video","version":"0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b78a1101935df0146e629a152c15d1424b209acc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748.tgz","fileCount":868,"integrity":"sha512-VsaL3e019wQ9yo+fY3MQzdsZnBIvFvSAE8uiBBwOD6+k+YeUW/6LO3sCdSE1bhJ4Wa0h6nGpmLGFmUuPBTu5aA==","signatures":[{"sig":"MEYCIQCDFVrsISkVLCTFdwefOF6oqs5hVjWWa7vArCg38V6QYgIhAJCEeUslGNezep8QSAF91/D5YfmPMVRzUx1jzamW6toW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21060485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgduHnCRA9TVsSAnZWagAAnA4QAJBGWY8R7jSpYSfqyWOa\njA4aV3ITisLgPsuSX8nbG5VWp33RQ9v+m46kiGi6FyE/X+zq5jsHlrSvUwp8\nzdryKVHyB+DU9fIKDwWCT0VCSE2aWmbsuyh5FpE1TRnH8S4ufeOEUwFOWf+5\nhL2wmdu99iafUH/ITXeY2oXi/eaR4eobpWL9hOL5BXbuBRD61UnQLh+yR4es\nFl+rYqtUfwSLrBmsiKPLqk2DcheFdZvmlyB7L+W76rmrXGNqEgovFFRzEYY/\nxUUmSqjdcS/73crZRoAKFl7g4ukJArzlt1USqmKpTXjZ8pQYlLnsHP34J8CP\nWBtQagKpGN6TEO0By6UDMZM/GN7RXmSBskA8s94hnlBkjdoV5Pl4zPh+rWQr\nynM9AuAk7o3/q7ezItkjclllkpqMTytdvcVU0A+vAga2l5mmv9CmEu3tjqB3\nhAZzxwzSp/ZRyQY4IMzWYFiKfiGribGAu+KyTynYtcNGDE9h6QRQoj61UkoK\nadow3+d9jKPk/yfOmY5B303UizD4UI1ZKnGSg9YL+AdXMOrN7wSGxQ8sop0v\ntGcSOedOjtv91eigHuy/A0qQ8Qt3B6quZHsIBgkMlw8dtnL3JLqqxx2tS+x2\n1OegJ6bDlw7RWpKKbN7FuACGFrMme7vZaYc+47h+9SqU4zUmKO8KUIakWCGL\nsuVB\r\n=Qw7f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"^6.0.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748_1618403814834_0.060984874300541","host":"s3://npm-registry-packages"}},"16.15.5":{"name":"@preply/video","version":"16.15.5","author":"","license":"ISC","_id":"@preply/video@16.15.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2823adf3e62ce5df92115b2f3186f8e6bd7d1b0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.5.tgz","fileCount":862,"integrity":"sha512-xFTQe26+RHq78bm79g9gdV2f+LgcORTyLkclVGqS5qsTqtzqD1kanhl7krk/a0RZmRvEqRaN2lK6DBRFE8NaoQ==","signatures":[{"sig":"MEYCIQD6t2luzZ4/PHBsYTjQEjWWuW8jW4sndiW8tIsF6pKi9QIhANwMhtg2E0blO5IhcSV0miTYYQayEzcrhTnGQ1M2X/nl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20949892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdwS9CRA9TVsSAnZWagAAnvsP/Rzj7F0woVHbnKUrTMnp\nOIFO2eitFb9f76+F9uB/JWqv6/BLWr1Bv2sWEWOZ72a5UDMRvcuy0t3LxWex\nEmIxXZLyPijCtdI7U32IbFotkMlmslRZXEmy7QrZwa2u7MLu4b9ABWeNc/ix\nfbkJ4hf6yaKiwi/u/JlQlDn0ltBhbXfpzE58lrCkytuNbVN9fFSpIZ51zMd9\n3EU61O3LEgkkAR7ppM/1JxFz3PFeKJyWSTvW43zJgShuRJ3am+2jFVsvCliE\nOXzS5ZE49KyUNRF+slk1GSIfCBznGbfZKRnChR+JflxGa4w5FdPiXsN8anCH\ncQf05EToT32T6xJmMEiIvRzT9XGw2Rgmj8IwmIRi41DsXukXxq14cWArVNI3\nbIXtO3MZrWxkkMG3ercAMEJVLEyBavP8lKy6UjsNhrE76CzFd1zCtK4S8XGh\n5gMFzfiVWMx91uDYV3sRuCGZ4ZVjGYcmgBbn4LjITQFW8PLufm7fyNwrY4+c\ndhGPLyobO7BBvQYe6SGm/gf3oM9wQ+jPimwlerCwhG+ZI2GYjLIoZDKuqIph\nGSJgnVL66eSp5KolfhczvisxpBQXbzKUa7OP4NNURa+g4tpf79oI3H+xO484\n2R96VWVNKmX0NKDsh5NULFA3kKJoQwtvtn11pcEynB8KB28yc5nb91h78JK4\nHLth\r\n=E3Sk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.5_1618412732800_0.10085057881372994","host":"s3://npm-registry-packages"}},"0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4":{"name":"@preply/video","version":"0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d683fccee3ee747059e102a60bcfe8359e7529d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4.tgz","fileCount":868,"integrity":"sha512-qXU2u6J7kNj408YeRu86lNvXhUZaQreXR5r9sN6zfHbJRtuDDid07PeRJ1oomwuJg0j3uP5kMv09OPcBkKa2Aw==","signatures":[{"sig":"MEUCIG7Uuqz8naBGkNvTPsRdLArsOzzt0wP0ZNMzTTmuzM+mAiEAyS0hKgcYmM0j+2RFwM9MUgF8zHbWF8pd773tCICd4X4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21053744,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgd+DNCRA9TVsSAnZWagAAWVYP/Ag53HuF5KQce43lKzSl\n2kgwjsomlsPx4Z4N4xgvKur67tlFhUOWyEqiXTuX/MilBufB5nVgdlPssJ6a\nStgQidWgyLmtZ8ji3mtdEAvdLSiHbcRIexlnFL+xbVEcVGCptRadmTDPImXg\nIUKaTutPbeJF7EvawWoVGMtBqj6jXBaRTfAY/OhGNa5NMP5T8tR0fd7kwYxQ\n9oZwWrAcLGdEzBfhx98OWXF9NuntiTFgOodDVz57sgV8OwSRfdR65Zfis4q6\nnXkU5BNog1lmdG9esAjxI088mefJavR7J2JE/KSvZIDsHOJ4S0IgcleVO/Oz\nAiELebWGjksNKasjP2jhSHHIQVIs2eHmkhp1gFc1JROv9IeNmQRVYqFSmJSb\nbMJr4y6ihTEL54Fexyc5wNqCfvN3L/aZtN+loEpPss2DHZn/PIvtsjaVluez\nfQUaVEJMp1fX1l7s43/khKL2QrzZsOicdW5tCHJz5qd8Harp+AKrgQbnfTCD\non8qIbEQWhK1AwIbnh2AtrU9I2B9v4kgLeCXnFyL2vRuW8BiarXawyxMOF81\nn1TM7Hi1pg1Ju3EfS35qSkAMytkb0MzDURxMwZEnwdee1QpzN0xFNs18d8Nc\nehRfKR4ayHCcVtAX/Sw9dSB1sy1SS07UzA5XZrhWUyanXSXNvDTWl0ey8Wog\n/hZW\r\n=tW+g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"^6.0.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4_1618469067604_0.7249260059471812","host":"s3://npm-registry-packages"}},"0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d":{"name":"@preply/video","version":"0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7c6fcd671690c49bd2ce72beac7ba756f85a0cb4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d.tgz","fileCount":862,"integrity":"sha512-jUGAH4DeNJVFh30slbkzwgiiZHGb7d4SW02o4v1FMkd/za7gykwFBj6EU6e1al8T82m6OF58E7agzUHAslwxiQ==","signatures":[{"sig":"MEUCIQCGR1gbnsYzLP4XEtEfLdd0c+khSn3C6g3Vpk9JMcDlBAIgPGto6BpYX/AmhO1iin4ihWFwbGhz+WKK1/ojPHKwpi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20948271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeBWhCRA9TVsSAnZWagAAtqoP/jBK8hgWulbeFXhAjFWJ\nr7fYmNOrVE/GFt2UUCwXyA4eF4kBCmqA9/dgVfy3gHpz6SW9nZ46E4Gjn2m4\nPk1oJAmjpYm6iiIn0F6rkqyvXL5bGNVTm6dTivuguBKclNzRq40Ks4sv9YNf\nUa86fVCnueOspH/UGR/roIJVE8AzySwj//zAWoqndl7UpcmDTmjOKHxVk8cn\nyFSjdsWTMp4pJS9LT2Hhfo4KANQH/5tEW5NodOAdCNDImjv5VMuqqpjTyz04\n3VD5IMAGNih/Pzja+cPm8c5Hmh3EGSqQxRAhDFYVZQxkDzUllRZnpAuB88dj\ncal4kL7iGCwTjF6/t6uzI4v2B45jojH7BKGWS+gc5+Egf3gd7OLs/vw8jp3U\nicT2YNYiqkmOR4iI3+qZ5zsBDNc6EbZXI+9g4CgXn1qFAckYTiftuIk0HSo1\noE/BPkd4F1r0mvrKnCs9qL625RbjpnZj37TIfN/e5xeifLCVsgJTudOuPeHP\nSB1Bz8CkFl6RkqvR1BrEfL/tW7QKYzfy7z8B4I9AUOO3OqGj8KV796vFgLtd\nCbt6aO916JHeZnbUL6KWte5EttPrDPUAfbXaNXYUKi03W7z6CAF0zem18nnu\n7UBHHIpdMczYKCRfed8QoDUrtgPM6wR5hbQlLAH86iwC9S86g+4VqwlB9BPl\nc7E4\r\n=HyUF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d_1618482592606_0.283097168937118","host":"s3://npm-registry-packages"}},"0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04":{"name":"@preply/video","version":"0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d57f559c7d02574265b2282a1e8607da3829e6be","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04.tgz","fileCount":868,"integrity":"sha512-HQijOPrjycWRhaLMRh3NpwGMH6pmcnJyfsl9Pd5X/VUrJ6nBdDf/mZL6k2x7WY4DLaMzPMv+xkmQEoH6mD48/Q==","signatures":[{"sig":"MEUCIQCG+f5RthC+l9Egqlt9h1ryjAONnNXhSiWd9YGURHhEagIgQ3nCx/+GFq1RA96X+vj2p7W7mOjKjXa2y3SBCDZFqmg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21062869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeDcICRA9TVsSAnZWagAAQrcQAJmQVjWh3fWzaphJImM3\nUeQL08uGTLvpKvrIkIU8IVyRFIFSPXsjyIYahu5YsByZoa7yzo9BW6zf+FBW\nScxwB5kH4V5iqa6+shAWx87rioZxDCSiwIB5SgY39JWqDc8YWfVai5Q2Zzn2\nZ8CCzI6MWbNauOL+4DU1cT9VdDaGVSP13I1FafO7lixvaLDA09BN+nOOJwYZ\nncY2zTO8t7+W1L9SCemftOkp7mdg+4bmT2MYSLJSIMLp9OaPiNEtKyU6tsLW\nUbkKJU2eocNHG+c25nj467plkfwsd6tqDMOlLD07AZuhihRwappUu+zo1tlp\ncNsqX8+Meq1JCyd7lm6rzm3JM4WAiQtRDlLzxohosU49ZZ+Oak3BP0G/yDNR\nj67Q7jf8ffBzvqthHwE1o0e+iRnz8iMBu2/mGA1WV6q9/+ZwW8uePnRCGUwN\nuNySIaBaQy9IIf0HHVcbbzAiWVhUDN8w4NOZkVpLs0gIFY4At7+24rHB8JV3\n9GQnEWny4eqG086FmYG/3xYHWzZZp/+7mKbMGNR+LSW9/aRSGYHW0i2+qlUK\no4Mrz2YXGRHEeAiS5bi2e9Rpl17WDMiB/JqtB5mP33p0Wv+4MBL3weTWTQ+e\nbWWPp5IpYZV7X1V/A3pagv5/ciq8jCWnnWaDcyX0zXE/e+uoLD6Eb2ST5/c+\nfF1v\r\n=XZ0l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"^6.0.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04_1618491143124_0.11491942091341012","host":"s3://npm-registry-packages"}},"16.15.7":{"name":"@preply/video","version":"16.15.7","author":"","license":"ISC","_id":"@preply/video@16.15.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"55c01d53340aac2aacb7645b20a88e8955779d11","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.7.tgz","fileCount":862,"integrity":"sha512-GPR2Uel8P+KLyAs0yoh8w7oYOSiCuMuXeS6kYRkzXTZNNXBUn5OGPiBeXVjI8GKk745nr92TGlNbupqR2yXnOA==","signatures":[{"sig":"MEUCIHnwtHW+3Y7rcK9RUVCP9LpIn/xhV9jGSe1w0FGbWnvbAiEAxOILI40C2OWjNptuNuNEB7H07lsOamSHANXn7m7WV5E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20955426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeDu5CRA9TVsSAnZWagAAaB4QAJNZOgpSB+mIYRQMPnWn\n1tjIXtBfWsn7C2unwslG4Yhlfr4xV/F80IFmMAS2XRj83Zgg4ap8NBHgY/jq\nbOSoL0J/6P1n/MwTlZ53EzfivKUPZR0Ap22fIicT7r6FJUWbmClykxHAubA6\njgEaOl/BpysK86m0VK1XOSBLhitutScKKMALR3OPp0/93Wh171WpI3dkxTlL\nwsksPpid0X6O5Ka0uqQlG7KLdLO2RJ5DKwr+u4whmXAEkYiOa3GS13+B4QRV\nwOICrUyHYtLeeZTKnLlgLNiAWFP3pMbEYY3oOlX0PKVraHbMOKgz+uFBTXes\n/qYX/C2xM5FISp0otvGv6uCtP0bdnXwhN0yK15DHJtFeoz7vF0wFegSo15TI\n2bRF/D3Hw9sD7icftUf7vm8eFBIr92kMTGfhm1g/S7SHDHV8I+P5DZ6Um7aY\nJDTgzO9logRaw4hEjIUGV8C1yVzjPBYtA8upPKktGowHs33t+TzWjD0nwhAR\nTHRyKuV3RCdSJ1sW0TNoVLIDHlyeho97uzMN7HFIS8dehaG8hrN3R6WZw/BV\nnGq/4NUnBup/lJ68tpXaOMepGoRGejQuH0bRsn15FnomTTLriLA2zLAi/Xcj\nUXGRa9x58WOYLX7YqLMG5PIyEvp6EkDf1b9yZ9nWJRPL4tZONDixN7tnoaPj\nZwUS\r\n=Gw3Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.7_1618492344548_0.8293665917761774","host":"s3://npm-registry-packages"}},"0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f":{"name":"@preply/video","version":"0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ed044d68eb587ab5f020b00914b63102620b30c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f.tgz","fileCount":868,"integrity":"sha512-JdxD761yFgcxJOWvTN5LRxazjoeXxFL7bxposBwzwB3/SCOuxJcm1nzzoKdUw9UBNMsmAbDwr/FmNjUSvFXeoQ==","signatures":[{"sig":"MEUCIQCmud1/M5iA/Q/AyGngeJY40//DBtj846sWwbU9TN92ZAIgIc353sOW3y4rk6rH5x2CKNDwtOiZGhvWuE1AuTHVvmk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21062869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeD5hCRA9TVsSAnZWagAA9cEP/0kMyI6CaEGUhVtEMoa5\nymXCuJMJCai2xiVuuTl5syNcOJJafO98pcP9zFiNkHlKSUbrwsxp3HsCudwb\nCh45vZZnuzQIq2awOyoEBuEVpH5zGY42eFZfv0chkCw1S7UyjboKRIZIXM6t\no27UZ3A0nUxEvC2tYNfVUmkEOVC97Z3Of5ritgxqNnKaOkUraVSFxEiJRv8t\njdkZ8SBlT13iaO/d5LwFRzsK+r01+2hhYkKtfYzZ8n8A1pY6zOa9pMYpu/zu\niAJMv/Ppwh+4LftAMioq4coLkAyO4q5/Ivou4PJtkS4Kz04LVrP22KjyyOKJ\nzdv3b15iiltMWOc1iMo8d0ZgFgsy5MeOfAgoCTxVke/5yfy6cHXaWNPs8zHz\n8ofPnZxza5hxNnnJEV+/FPhl64XrVjJROnOKM4hG6UTmCRRlB0FV5chqr2ny\nYmTZDNabdasIClQVMuPJZ/ztb3OVG3s5ALHYOaIMlYYk3YpOrM9kAm1EtbUu\nAXRRDDsFc3QaDfrDkk9sjRG5AOYdgmlej/xlvy8gX8V+wbfu2ivym41EQCCC\ncjXDMmAf6xO/aiX3o9O/iJZc9wZyOK+K77ZR6AjSn5rtWfFIY7t9i3N98CfP\nTjguWuuraGJ6Bi28jdbghdjFrLmAAwaKUht+GwynkQ5AhJpewUq7FUCWwQ5G\nN34Y\r\n=ZO4w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"^6.0.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f_1618493024517_0.8778645734710502","host":"s3://npm-registry-packages"}},"16.15.8":{"name":"@preply/video","version":"16.15.8","author":"","license":"ISC","_id":"@preply/video@16.15.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"19772cb7153c65f556bcc9a6a5690161b779dd6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.8.tgz","fileCount":862,"integrity":"sha512-puN1RTtsBy68ifw/csbUYE7mmkPtItlS8zNXKelYB52Z+LFJahtPqqyqUVEskCxM3+ZITHs72oFwFdymii9tmw==","signatures":[{"sig":"MEYCIQC5E+tP2ZG2Vb3IL6+9zv+9N98/Pqqh+11adThbG5EAwAIhANnag3eaFz9J7txBl66f1ZRnMfzEyBRd1ywyW2YFsd7T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20956276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeEGWCRA9TVsSAnZWagAAzWoQAJ+SfCkqgVQtISpvFhtA\nK4SL6Ogtr31/xwSj/wYaFsNbL9oy3xd2cDP1avJRKNHcVneZBt8otO+ydGGi\n+Nvv58aJ18jNeEDR2fKPfXGpms6aIeMDQRUyfTP1fnS3f8r6rGqhd/8e1eCs\nBnvOoT+p9NvI2YTl8t4zzx5AnrpUZdav9o78eStFETlopZa83LI0x7ItDI/2\nYylmUmi8PaDWw0dfnLGDk99ssUZNgtLBwWaqZ20skdUW54RptYIMk/M3x4G0\nD8MZ+NSD7w1B7nRqglcjuGwSyrxqw4/OjvRjDi4HXNJ62zIwHt4jdfakKL/b\n8z2ojs+k+0k9prr51+RMhQaMKafimK4JaoKGqnxdH89of24hLqxaC8+P2p/b\nazIo9dUG9gz704grvxAu8EmYlrbXrfTNuBLtwUUCxfHj73i7zjGdYg9FOVXL\nYjBYfrIOHAt++60MCZfH8rYguRGk8voPOJtCE0/Gv19uD+bb6N3ZlrPNhrx8\nYr38uEJBf6gMSlyZ1YzyXER+5WN1bkQDNUC8T+xhm3iJrbRoAD15I2KXNaw5\njx9R1L68CqhvnlUashSgF3zaO8i0wuFDFfTYeWfDyMNAUddc5CJSw0AftcO0\nHej8nzQtWcFH7LrDzM+tp2alN20COU3T94M0J9yC40o+xYLPt8hc+42oSct7\nfUsx\r\n=+sZj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.8_1618493845352_0.41565113117405206","host":"s3://npm-registry-packages"}},"16.15.9":{"name":"@preply/video","version":"16.15.9","author":"","license":"ISC","_id":"@preply/video@16.15.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"20364f0de810136125a865b2bd5531d305baae47","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.9.tgz","fileCount":862,"integrity":"sha512-/DEAzGYzgRrPh9OnoHxdrlUt+3B5pQvgH9weecIqk/XEiYBk5yTP3xXNCq77xjRsAL1I3bfpQaYS/wUZYcBpJQ==","signatures":[{"sig":"MEYCIQC+tHvDJAmM9+ks96LhGo5rthN7BTWVi1JIWkyePlHz9gIhAPV+5hJEyxEE9VlB3189PXbjDOVU2vUsVbGUxrPGujeE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20961903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeWGcCRA9TVsSAnZWagAAMo0P/jDTBdshSMF9kE9O3q4G\nPtKxgY/J/icL+ylRbqhss2QGEHDgnpu7FRDZtn7pEJuU0JLSa3BdLn2b8Cw8\ndFL+n0+VRFMDnspJh34o8mQOw+/vuvnrM3SF/8ZG0WheIfdCVVN9gmH1wBbE\natxrVb8UXGJo5gVwpf43SAllu1sg3RWzHNKwf6djoCBTECTD1J3Eg5G3FKTP\nciO1fnu4c8jaYUsu9dIkBowSE7/wyTilXQlTtfOWMk0Gz4lGNl+RBvhP1X/T\nc7K9+9FZTjwZo+oe8cJuoTAJrazqKzagKwyh0HENAWc3SGVSZDAw2Obur80q\ntEmqXcVzloVxLRXfVGD2SfrwGee1FpNNjVZGrqwHgCMnO4hae0jsmYW8yO1e\nT7xJcUMtG9ECj58faRIYX/zIl9odxivm8IZjXQUpjiJDTXc0zrH3gI2K8mPh\nFu8CfQ1mQGFkqZmM+Y5lYBtv6kXp1g+VTdwOIEcVECZ3svcruwp5T7+tsRIm\n3UBFfdYg3CkcVkduBrJD3ofAfX7QCzDRqaNQuoZUYUyZYFyXBfSEKO3fLIiU\nOUX14bJNKVZ57tJPZXVYSes81GCWq/uhbuG7rkVSx2xjwowQZA6N5V1EVnid\nQuedrbu/gSPnzvYeoko1UTlCOv4I0SYUd5RYlp5CmUmo+0GMI57XUuSWwp2Y\njWOD\r\n=HG8A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.9_1618567580014_0.39650612950907616","host":"s3://npm-registry-packages"}},"16.15.10":{"name":"@preply/video","version":"16.15.10","author":"","license":"ISC","_id":"@preply/video@16.15.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a42a78351fb33b6aaa3e70e2090cc83ad1b48d8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.10.tgz","fileCount":858,"integrity":"sha512-KVN6+6xbWfSqxsRDs8jDwzha8XZ/BINjCIicHKxEQfft6/AySDMYMIvFKWkPnLLbGx6LrSaDv85Ue7eLX6Y3iA==","signatures":[{"sig":"MEQCICBeqyWAGCwjl4HHEsT5IkCznJKeczT91qicLUMJaL14AiBGmSKcozvrWFAU7QCFiHIPXXqDq9utVQxUoYpe8KYhrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20912209,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeX2hCRA9TVsSAnZWagAA4UEQAJJ3MHQ9pHjB9H6Mzgzf\ncvFaHg8IzF5hQvhPwAR23QWWh4B9ldt+xi48yTIlnuSJmP3kjoNFCRLRRMDz\nE2ErB2L2pdIUBwOBI3+hIHdDCkLIJIyzmE5o41V1lsaHpnk6h3kBZS0tdts3\nHk9ts/y42kUrubXgNZ570dxBVLgmYpSZGg7wyNxQLDxe27pa8q5snpWBCgX7\nG84uWgJujWXTagwpcpu2LYuyDoqB5d9jS1M5UJrDfwI3WeMxSjPpHK34uni6\npOF/kcI+3OOiu5IziAng6OMqsePeQUhHb6CZjgxG5Z4td4yNCbxZTm66T/Dw\nSjOLkuV6dmx5/9y5bvChmNnI5E2wbns2Ea5MYG0JCdlqbqCIFUmRYBKMO/bk\nDyK4WPDS2NnpzElEcMP+lkAV9uGt5wMhUHJOomd8bX8bT3p8ktGvgZZs/OsL\nDZzkx/nB9wemwug6C4L+Y8p46uRaoGB/PsX3qxMrdqmPQuAJu58xbEwXDRjt\n+Bn6Odt1SZNGhQIWCYAKpPeuZ0xi0wsk9HYjRzEfMgMV/YQoyy0e6rUNPI4P\nS/5dQiDmujneNSwgwBbKBkdVsMe2ygkNnQW4aqJ5njjJKgUCcinVJG2xN6/l\ny+cUgG5XpnTpWAtHwAP8JlONpccB/dbO29LCFmGBLbPPd2J9iBB+yHQJgqwY\nKEgj\r\n=dwmp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.10_1618574751847_0.21337123187742923","host":"s3://npm-registry-packages"}},"0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141":{"name":"@preply/video","version":"0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3a6de866257a3bc1e33744f9a44bdbad7a1e2fde","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141.tgz","fileCount":868,"integrity":"sha512-bnjKrfkBhoG2FVZQQTJR4JyemJJppMDgAXzQR0x0iK6AY7hV15NMvDoWqV7foCido7+lZJTv7eRu6xsU9JPbfg==","signatures":[{"sig":"MEUCIQCA5Y9dtOAjtVmHoRZ1KrFtRGcOoIje2qz8vV5u6iecjQIgAcORGYLmjctr1txNfCdNgnCFAtK9dp4SS5jK+cB/2Ms=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21016277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeZa3CRA9TVsSAnZWagAA4/UP/2e327ivIP6lkQj2tQS7\niQp3wzGdoPrZfjwSnYwzuTXjVpRLXX4knYsfGFpHrDjkmrQqdkKmSVafN8fj\npr8JWeMLjayn4JXwGJJzlQOPIIARkjz4P0LYu8dhB6w5KN2Vr1ygjFmOrlCx\nqqs4iEG5sqnvYHGY6Nxyb5BLS+XYPUVwVtl9b6iIyOouq0jFtF4acI506tLY\n0xnqUZuwSGD1mT2PclWB3q8itum75SVrSmO3Q5XvXyuDBZxl+FcONKkNhqes\ntCNW24FRVjfkTBqmztcwjOpjS8VTAsOuE6rZkFyaFyk0FDyEjFGPwZNWY0Rj\nHnJvNooOrPpwJ9TWepkHTF3YJuRWwyCNldf9DfVP/5HvfBlH2DnwtrVlyLS7\nIj2tTtA9+gH5RipbgavzNAFLp2CU931Flc3L0RWkgP0QSsZyCD5lb3Qh5+0i\n4kIk+vpH9ZrYfn5s/H37rE0NQ7nTKofxOc304y0vawV1Y82uBIxwMwugZQ9r\npLl+hTdxA5KHZ+4agFp1PiWr7QkSq1UuWpzHgLTgFhyh2FtGsU8znY+GbN3b\noSOKPcR7HnPUftGgoHoS5aIQINT3dpD4Le3Vu0oTtsmd0zHsSxyNsFjrnB6z\nwPfItmxV+Opy1EzX8CIhGUH7d7WJUh0HQw/O+bagTzgFcB2N4ZNVvnsKtdqE\npR3a\r\n=APqB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","confetti-react":"^2.5.0","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141_1618581174750_0.8944412659509984","host":"s3://npm-registry-packages"}},"0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9":{"name":"@preply/video","version":"0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a4c2ec938cf3520a1051798680dbe4dfd6005310","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9.tgz","fileCount":864,"integrity":"sha512-qbCp9y3OQlSEkxSULJlOtloGFbVZ0I/tPxHqlg/IdJu2KsUAz73d6r7TVWNmJwU6ORFfi9m+3sFWat+Wz9gFJA==","signatures":[{"sig":"MEUCIQC7A7uBdOcE/UA107ULttUvLsxUx/oSdc4YU3ZA3FsqCAIgdTQj6vu+HhvpGfX8F21qP5gQe2ra8QWXhPTGqWUB5jk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21009364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfRPWCRA9TVsSAnZWagAAGWoP/2BVwDuJyWrpHnwE9zAU\nvnErb/fqx6YQqqF3ZaZJ9jAc4tp2vvPATlwRKt2GMH2O2ukwmd2P+RQ+zsn8\nDzUO3w/zfLs0GiX55EYykyGi47r0+6YfOmE28o7JPNyr/F9U+O0GbGrOLeUF\ntsjOxKL5p/3yjxgmZtaT6aI52yBjH/Wf515WhVuZg/taOgB0C4Pn0PNFi8wX\nU8RvVtauhS7WIlAC+oM0zuKnRiQHC8gWBWCDV5EU+WRbAtedVzZXl1rq8bUX\nNfcvjCXawAHUB2Oena1G0HbskSR+/Mb4Zuc6D5JdDE452Lh4gx9mqzvyqbMI\n6lFxhYz4U/azfQWnv1Y/Aja4LdXfqHOqHk2//NmmBjrBsKr7ow03UdchR+Ce\nMU1hhfjt7kisjQ17CwhZ64rL4ieVZeDwp+cFFqerGqF/quIpgp2K6ViPF8JP\nckiweVQNyFfpjhrEBrsi3Yy+lKu7OI86HefWk+nXuL46TQEqnICJKByihDhi\ncDhFouBJuuQVT1CnH04EG+2UvNksB/VNmmsxW7BkHsuL1eX4BFY2vV9NV1D6\njjKCda2KCbXsybpB7cOw0SbFBaxARLr0V+KR8Qgf/Ia7GPHra5cUAZrKURZh\nNSQtMcmyFDNt8JVs2SXJfIeawqKbKiGqq/Fs1ryaMX9Jk7zPZFt/pQOpfOmz\nm7uY\r\n=SRoW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","confetti-react":"^2.5.0","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9_1618809813832_0.2257843401581563","host":"s3://npm-registry-packages"}},"0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28":{"name":"@preply/video","version":"0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0f00c277808ceee8dd1ae6d036bdb4428b69ace5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28.tgz","fileCount":870,"integrity":"sha512-bEsce8KpM9bdYtmy2pWoYni0oorNctU4tTN6L+DZ2SBRRl1FMNiqtYOUkRmX2aC6mcfesaCuG/IxAFbEkav32g==","signatures":[{"sig":"MEUCIQD+vjFgCUjyEAUC+pKGStpQ/cd0xKe+xHud6hstYa4olgIgALb2GWbgiqniWYKY6iER6hLLQvgW0oWVML6TCn6x6FQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21135149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfWNyCRA9TVsSAnZWagAAi4cP/jlRaPgXVR79MaP/0M2f\nhtpnWwOwk7pTftpgE9kKL3FAVfIoNG6TjGfap//GUV7QQkR8A8LGJWZuovLi\nan4eREkImWbswnbeaJuB0BxAbeKRL29lqza2MQ5ku15oQHU2zKtWu/UQYeaJ\nLHzFrrRH9uyXR+SDOGvqB5u8G1CB/40ZV9iQ1MkbI33iZEdzk+NTWVo8TKsh\nEM4szHWcKWH59fD7sORhiIPTM7UDaurARx+tMT98jugBXOGKorcYZqKLWYvb\nIqNIWGkqNeet6xuDH0GF9et6xWVl1RAbglf0UcGXUcImJSifS/R2fCpDDILC\nFm4z3D20HVacl++gCNVJ/+xBcTacvOvOfD3Z7sIvqj08zNbUbmKpYQL2UUrl\n3tmegx/RPMXDBnUGrSXXIqdaFANDJMb7v+6CiKdv/vlfYIPXzWerBflJr/3n\nkdmgxCOkMo9WpqofTmkZxsJQrFse3ASmoomC0SR2IO8EqUBFLPDY4ZSp3jtN\n7XcJuH3jryaaMMj41LX2hcVAj/GKGCOa0/jz6U3S43Dv5hfzktzxbUEJfoyq\n+cl/WIoSlGfhdLMwa8G/4oaBMjWBY47G0qOlIYfQ01jqztnr4o21b6IMfSNM\nQznFV3Tdh77n2K68VC5oDs4+l4VIViGR2BGkVNLY3PWTX0XgETNkwKg+fXUQ\nrfa0\r\n=QGNh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28_1618830194092_0.7960678489441555","host":"s3://npm-registry-packages"}},"16.15.12":{"name":"@preply/video","version":"16.15.12","author":"","license":"ISC","_id":"@preply/video@16.15.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2ea9e76d31003d5e59d599e6b5c9d43752b7bb19","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.12.tgz","fileCount":864,"integrity":"sha512-sSV1YVujp9C0qGttgBpFhJ7rhEdnm0pdzJikQY6BldUUHDs3EDu0nm6pJlKCx9CvEMb4uZ0uUdq/io67UrjW7Q==","signatures":[{"sig":"MEUCIQClACIhQqdKtYEA1WMFYit/vXYmahEZEtxc/8clkK7B8gIgZpO8k52z/kxftQ8/FebXoko43d9Wrupc6JD3jkIOWJU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21064711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfbLfCRA9TVsSAnZWagAAc/YP/1eVZluPAUKEgRxoJGE+\nBmNfh5FFogfIVCfi1ASufftCRia44ybLaKkvHO2TIHpKD/kXf3YVi3jxuUCf\nsykb39yJXdxeVAzALpwSpQMcT8PWixKc7WMOk+SXIZlGthy3dBbWeqpm6WsY\nIrjc2rqMTduxumkMXOe4+dtLvVMMgvfqhSTfU9pDUMqpnoe0CIxM92X+XqGW\n6T4N/RptyWSYnesya4USlIXpQBD3zv28Y4Grb1RFADFKYiWGRQCOjDnzu0hK\nMLL/WAYsFvW2n31tAQg+JdLLkT0fnbCXRr6sZ/UHGsy6vMSLZ07Y6LvTGew4\nH9/2ZAkRq/tQL2K3fJMtx0K7tGl9zjCBDN/xJ/WSqliVKcdHDBmK92ABy4ti\nHiz7GdEJdVhQuXP38ntmH/I3om3314ZKkBU5PLAh6JzgyLO3ob9QuF4CTKkf\n4BsfTVa0YB+Gjzn5A42kEIATv8yW3XeClkcQwUgI4mdALIYQ8JunJSHZHuap\n9fQecEu+Y0eAMJcTxNGkNq9lLALD/PEH1JJwjp90sgh2RJvdRAAfRiqjs/1S\n4fJ+7GwtO1/N0qtrpCrNE0amm0Z5vUJoVqVnIWSr44tC0xi5JbVlXbBIIuaP\nc/AhnMNeilbK87UJbAfkmP8OFxH4aumgoQsPPnGIbLgoA0Cx8mDGffEKy5Qu\nY3Rd\r\n=x4gl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.12_1618850524735_0.23379256007954718","host":"s3://npm-registry-packages"}},"0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3":{"name":"@preply/video","version":"0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"47c3f909afdc01ecc5ead30fe9e0bb12cc828c67","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3.tgz","fileCount":870,"integrity":"sha512-HgmtXrWXGA9KCiLCmY2UV9UvFE6cIZGAlaV4YVfvQj6CtvNlB4PtOFSmzPG4Rg/BmBPEd7kZ1MB0+5LtJWvlzQ==","signatures":[{"sig":"MEYCIQDrHjX8cgtgj4h/cca+GGFLS46Gj4/n2FJeEkbeclyF5QIhAJcVm/fEonSr+iPdfe+46/QVWTzuUHlGqbwIkJ+4y0nP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21134114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfmtMCRA9TVsSAnZWagAA1tUP+gI6c1kzA7p/Gnu1OqmG\nAVrKh3ykWtWPJ2/sl8yXYbB1MpQO8/NlA1KFj4/HZL7fqVaGii4bqRyQrC3B\nVi3hKIgx7pkxXnl/h9/PLpAOHD/Rl0IB/dSLKu+g7lEIQ8YHUBoPbQf4DBMF\nr1uCzXPz5Hw8P4Y0DVMLtUFT5O63l7iV/w9VpCSl8Ze5NCK+i8EHq29Y63XB\nBg3EeNW7hgcgNmtdEDbk30906Mmz5pIGDqOV/RXsMiUhmv6CEC9m+XoyODB/\nBUMPNEIT+Nmmx2CLaMHuvvtlyeBQU48cmzcu08WI6OMh2Ylj+ubPuvrcPDVC\nbK20hyJgWz6erohPVRKQcj667e1GRJeFc96xlOxZ/k3kPbWP6HwDEdBtFO0U\nkhoNBvWxT9xG3Rr8R4Xxyp3yqdCRlxw7tbmCHgC0v8ZtmxNyCa+4RKvSjBWT\naTeliFcegiMDvlZqkfpyM/fCHKahU7h17vlnmzp/8t1G26jVPB63afDU735M\nBZmNy3nji2vLoHm4LkOp0M77b5b/aff/FTXYTdYES+BM5iDJLALfP555RN/p\nvUY5RknmnPGn0Nv8TcdftzcfDsMi+AKP8q8YC/Jgrt3qV8v6EOqTMMHLhwX+\nJOXO3aoyxYkPxuIaNVup9J/dyF176VmT4wNBUqrjStTbxizVPoWJCYSOQL1e\nWhSF\r\n=LA0B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3_1618897739108_0.857712574771573","host":"s3://npm-registry-packages"}},"16.15.13":{"name":"@preply/video","version":"16.15.13","author":"","license":"ISC","_id":"@preply/video@16.15.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"eb0abedc8d4bf0a71b7ccf2b70dbff0f863001a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.13.tgz","fileCount":864,"integrity":"sha512-RdszjCIx+Ftgs0JJslnGJv3WdApod2hsTbpNZ4MmFzBOvN2i+MJRAoM5WHA29v9F1Fi/0uta3AjWFvpsffBWyQ==","signatures":[{"sig":"MEQCIA9rrb5eWG+HM+TP/bDcuRnE57D5dix+OopBR0c+irFDAiA71hQ0futrjkIRAsISGAPvATw5E/gBHrbO542FMESrVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21075929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfoRsCRA9TVsSAnZWagAAn8oQAIvuY1QuYaIr5Y1KFANb\n9BBnXLVxiXZtaoNttL7K4YEbVYMKkhTeuptfjZBPpVxJPRiyRNR6PRRREMzj\nC0rpS7kVYPm6J9e24Rme4HLcKrStOHIE458OD3qsRJcfIqQ4wXdpetwjjqn2\nsh39oeiNAE5LAWepkFFkbbczHt7GUoLiUuZlZ56rddMoLrbnbe4g4zDEJnBV\nLXof9AIRvhqGNQFljR3cpFo50XE7czFytf8+Mt4fzDqVkcM7ocsLcUwHJKP0\nHXnk2g3AvdIfIkvzUiz6O/COWazlz0DiH3rTVFpjZsAnRDAFSn4bZXaxuFJ4\nYvTQK4LLYYf9e5Uhm/mT6kgux8kCni1RXdA5to7kVFPXE0M01Yf32fC62o8P\nHpM5VLe6ajrTYEkmKyZ72K/RYbYPLa2df8BpMEWSbZQW7k1+/XtVgHZGCluu\npt+MGlx02NprMW6snMqa5lF0y2lw/s0TAIEfLWEASrZ16B3LbtYwMbLfCSd8\n2kZ5G/DxdX/olrn5DmPG5SxbTF4cpwY9WlWvdveiYLahvQTzbSqRFY1ajXpv\nnPKVEPFuRPKven0t64mdiiezs7wIyHxBnYRh5tjsY9Mm8meXery76nLkBDv7\nGal1jZjngG7n41wUXYDQBDk5LBSVtbE5jE941SSyhWyC27gnGiPlFfo1UWCF\nlA62\r\n=d8G0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.13_1618904172035_0.38290917527302315","host":"s3://npm-registry-packages"}},"0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b":{"name":"@preply/video","version":"0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"85123e20274bc97f3fd82e0663b8fdc0283da7c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b.tgz","fileCount":870,"integrity":"sha512-DaGU6pAbZQxaDT66HZmxODprUkp+J30ytrW9G4fERBPDurDiV4qBXYZa54iIp+JQdnAiKTK/cRWxNlznvfu4Ug==","signatures":[{"sig":"MEUCIChJk5XvQS0MxLT5sHAQ2SMOhUf/tLSG2fwGZvWmARhgAiEAgovzYl3Hqo5ZVO8sitETHrIX49TVADmTAEf4Y0Eax7E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21161440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfpsACRA9TVsSAnZWagAANXQP/39i2CboVqqkPsbER/GS\nQZsb2B0aHvYmCAh2k2qj1rOdJJAVmibstwUNxtvUBC5yDROCjROdBKMzxYLU\nd2M08wc1MzFlvnHt+X9xUf40i6lv3jvlwAeZ3qhnAROewDXsaQyc8qH+1eEH\nPbnd6sXl17xculcwwlvSAPVDzPLj4tykFP64EGrthAxqUj75O0H/XJXq3N9Z\nkUF29DB+iHGxLpw4sV3rwk6ftjsW2UJ3ifUATd6cbW7yOHJ9X1cpzK2tOJ5q\nuApIAITX3QERDeLuavjms5i4oSvsp1ecclkvrOGX49DukxnlcdsQLC9dOJON\nevk9AKtNY+P3XXpcS8pz5auyR7hknlx9uCApZpz0YNqPdpeZmxgf5PfEBmor\nDP1EUDuVveJ4gf9v6ap/pP7nSUi/BDr2443NHlD+vXhVnooBwgfQPqDm0lWV\ns6B9jcAiTQfofL3h7dgWjsYrmO0hKTjksHAPcbbWABZSUYf1jrhZR/490YfR\nBkIZl+fAVWyDONr2NpisENAJ3eqDPz16EoGfOi9bq/r0M8wVNsxhKfB9JQwP\n4DhIBrPJzAU8Jb6d2bM4AVAmUwUmxTL30uDlxMp7YGxPhBdjbcud9cGDSXd/\nvnL3aD4STb0/unSEjzOZ7fVy+VWn3GlSW7NpuJotPi18bo0XedMRto9iQnn0\nGCUY\r\n=goXm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b_1618909951807_0.7799904371571638","host":"s3://npm-registry-packages"}},"0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62":{"name":"@preply/video","version":"0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"31465ff3ddd216ef3c989d1b673d9de0d704fcfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62.tgz","fileCount":870,"integrity":"sha512-A4ko2EmG+N9MWrVzCwqMUaH+dFFukkHo8bpL510idPyqgXRXT3W+9sayDT3DtjVNFjWCpwPnZdluoqsyNHWREQ==","signatures":[{"sig":"MEYCIQCOkNhHcpyBJC+hTTodK4uUWVaumsMQJ6kO2cpcoTQ5kAIhAJ9ynKOOBV7N4xEo1LFtEXOfcvYsgEElmc6ZDIGt5AEe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21167321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfuARCRA9TVsSAnZWagAAu54P/AudeepL7F0+C8cv+mnw\nKmOe3aCMBnooPq2HvjHRPQAjB7mPGl393dO8iXnd/ivBMYrsmn5ob+VDFyrb\n5umU0ZwhptgoYf16eUKfhxXUlSjeAPWjekwoHlTCTnQpZSN2bXzdBlbsBeWV\nildQrvl4iYV//p3dXEhskZtB1AsKKu2SeQ9IuB+/cH630tW/IrxCwj3RvGDo\nr9AhvS6KpsXV0pIAEXIahkYJ6gTr9g6NHEZ2fFMdexNj5T3DK3RSMS56SA9y\n/Xns5o5rYpqb9X3c+ThFQRJlsEpmJPiS81XHmjz3wbljbE00rL+3Tr1Pweed\nfZ0EJpvuuUn/v8jvtwkk1G7bJT+6llsvQgffkRliGph/+Pa1ReNOdj4RJ3kz\n21Djt2G/hhs/uncGGOyjAIJwQsBl3r4eHVU07DBiyjj78zNkP2UDMXaIeCLh\nYTVfxH2/snvy0fIeG9MJ/rAfI5fOCsOSdWyWVg4JEzLEio9ZdwY6qOhToRUJ\nRHvRNh9db0RSDuy1UPU945QtfibVtpp2bi/xQKHIyE3q0JpJ//qjxfWBbn9S\nO35lexH9NDSTTQzisRSCFukxLTeRvFRXkpcUtfiniRSUMCn5IYVEgCsIn7m8\nNHFablf0ECgiKLlQnwmkKUVaDFeKlrPvAhDxopqChs6nh6/ggMJbzo5OuFd0\n8Mpx\r\n=JqXL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62_1618927631294_0.5628053107159838","host":"s3://npm-registry-packages"}},"0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115":{"name":"@preply/video","version":"0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"eba1ec880e4c243203049585b35fc649badd0bb8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115.tgz","fileCount":864,"integrity":"sha512-XUNpCOu+k4WJ3Fs/jHCLa6ao9/zqj8fRCr5UFNGU2yBOX4ODroEz8ITpzWVM8IvDnrVOD5LruZ2q7Yr9pOhRuA==","signatures":[{"sig":"MEUCIQCtGIE9lhlqkZ/TP/mbXayH56C/6akpwxYP3P7l+NBmsAIgNm2lJnXzdXlke6hKrh1+WiCtV7hSoKTjIE4VJ87dN+M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21093571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfuJECRA9TVsSAnZWagAAP0oP/jGTWzUZqpIXB0jR5Igl\nfavE3taKlBLVOAVKl1goewPhau01VDXehu3ymzNLj/4ZS3PWMbbLavQj+f5e\n1LDyPI1AXQuHzbzkL6T/MzplV/tPPjjuLKY4V5k+HxBLYGrUVCPQTjGzn0QP\nVZMKS+FtrWXX9Myxx6//vcN9dJOzYMFfcTDJ7qUyPHMA1FtQC/2N1NhYhG/e\ndmEpjTIANg+4RUwE3eCk63+hQZx73nhzy7ONkku7aVY6sB6nP3YhnZlq+C33\n8+dM/u0mI0rcZhEH7KS5+I0DnWzOM4W8j44/6YQ8ueXoyTgb5bQ87ucdikNo\nuEJ1/vDvfBuFoaM0+zufzV+nMHSl4DhpKY/U+soL7prGZhe6n87kztQxhS4G\nHlgAWQuv+eIq4t5jV5lLuq2HfQkgYw7KM7enQS4l3KW0x+XdWuyUFgiecjAr\nC8x4TPAT/HgLbdJOQaGCeZ1JsAS2pD8eIGXWGTUXlbSbQbzoL3oFUDMes3XR\n/HIl+/dws5eXUspQcefbqCnzqSB/S2AXcHRdEp9XsWMvnHqmcX0j9sy1bLDD\n3wcn04toLAIPwYbQEE3h0H3KZ7x0oa3ySkK7eTzFhN/Lrs40R5boABDoaJnG\n323hMW/gouF4NTPFtCYPnANKKLqzpTJSOkA6B6zBTTggOXNBTNCVq/EG/QSd\nKCR/\r\n=4va7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115_1618928196093_0.702519499572674","host":"s3://npm-registry-packages"}},"16.15.14":{"name":"@preply/video","version":"16.15.14","author":"","license":"ISC","_id":"@preply/video@16.15.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"05869a599d4efa47ca90f915090bbc1b1dec2f48","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.14.tgz","fileCount":864,"integrity":"sha512-/F9DaVlDO5M4HfzwNJ6JHcXgwdfBNzLe9yg312TPt6jUWdjAZp0YlJg+rX/15I/jxjtRainclM2ZnRSy3cDNRg==","signatures":[{"sig":"MEUCICIZ/1In9Xxah+75oHkQ4k2dNAnd+X8/B3xW1vhGO0BSAiEA8SS7FSa5m5tjNWy8T77M3DjvbUy1AQz6Rzn451j/n/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21078241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgfu08CRA9TVsSAnZWagAA82kQAJOzUYaGBvMIUIDpYiu5\n0jKYhILG4f/a/FUewOMHHQWEMAfO9nXv0Qeg0U556wt59Qf6/JHGP/x0qpwl\n98kZCAiHLErBCYXyrFU7UuHb8oZIHsMTlRQ/f5VccTVNcJ27R8MEEBBv260D\n1OkNxF59OMP+QRYE2yqlU2MM3M7IJ7ETieXhd1Yr13I4qzEYz5aGTct0muX8\nyX6jIdiYTDGZ1ObRApJtFzJxrnOHUmynRwGT7bcgA5DWwSPfms+t25N/N40z\n3ap/Y4kdxWMsYeo4VESMzOdaW2QQJMB8Kj+aHipDC9CzfsfZj3ho/A3/1n3e\nbGiof9HPROqMeRQKiK289ih9IlGdEFKJISob1RtKLgipm8DuDlHHMMEYELBB\nB99+F2zMRxUyMv/y5LY5ZegBhLY+IWt1ebdpj4eLHrJ3nBGRkF+Yz8GuJmCk\nDD1/0jH753Yoo8EKo0TaW2TRTdCZNYcF/wC829zS7e5nbc/y7zBJtgiSuAaD\nDSRPXEcO51O14JYQxw4aKsyhXGcxAaeILJXJgNWVd88u8bXH2cmOS1UTVcC1\ntytvkzOvCP7Gw9ktcx5zoRO1EACviHL/lyf+HpoZVn0aVVR3ixkfNbRSLEin\n4yZQCsXU65Y+KvLAsqZRoKVSnMWe52iqojv1R0XM6hu2Ga2/RaXIw5J6gCl/\nTidH\r\n=iJUe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.14_1618931003275_0.33518841520196174","host":"s3://npm-registry-packages"}},"0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91":{"name":"@preply/video","version":"0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"31a5a88901867fb85431138e543605649cb94765","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91.tgz","fileCount":864,"integrity":"sha512-XpldtTCCSzzgt4dAS53JDzjMSK5os7uTFYZUEtSYNG6UC3TmlkDnnFRN0IEx9T16ZkJxCyqi/iP1OTNVU5W6Nw==","signatures":[{"sig":"MEUCIQDM2/q8/9BUttAVLH4PSIpL8lscQKmM9o8w2vYLZlXowQIgf2U3AOOYadMBNhn7pRmdFZ1wwgq79o+ennGkJWu7/3w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21107150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf7QlCRA9TVsSAnZWagAA/g4P/3F8irfhBPPl9WX8fJyA\nGzSP+G4zLQ0CSYlZXNxubLViAfqte8ScXMmDL4wjaa4OvW26/AsTDpT1J9HZ\nvXfjQiNCwSRtm6y56sOS1cFtUzxBqyA5NBhpRGOBGEY9FqBKwBH9ukf9lcs0\ncy1zeIaFC6neyufxIMfbV75ZV8+lNgnOnsGqJyAatxUIgJ4m2u9AFcWSoCfd\nJ99RxtZefpDp0fwHN/eycqig0DKZEpf6hsACIfuw079Rn1JLKKmT/xIy4RPy\n1FFsugOFZvUAfPZzl2KDzFrzla5EZze2MUgVgCc7nSMr/85DwnfhznFjhyzz\nU+eZQju6d4PI5OFuxWssfOgZBscrZ/nH5XYG4/auNDjiZFf1GO+P8+FPAztG\nDCgBRR0XpJKr5oD4QRDB4Dy1ZAUlvHc94xPpyeuSfeMjRVPV6tZciF6Kn4VO\n2ZEtcgOlBgurRRJXfI/sQVrTKZ/YfbqDkuSEA8oS/sBjdpCQ/VRc4t8iwkaO\nEDFC72mxS7I0S9z274A8j4YXKGI6H/UiuEFrnQk05TNUF1pWpjFRzG2+tWiQ\nuWoRTaEdNdNxPK0BE039jjJOdLRE7nQ0Eft6sABmND6zpoylhLGocbBEUyAB\nSxM5DhnCEo6z/ZsUrlmzV0bNEbU4CfevYgAC0lQnLexpZc1qcxkUxVfPs/6s\n/zqG\r\n=kCTC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91_1618981924570_0.8681734298276353","host":"s3://npm-registry-packages"}},"0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d":{"name":"@preply/video","version":"0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f899f3b9c4eb86b0b1cef3b64cf1387ba7d46b5f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d.tgz","fileCount":870,"integrity":"sha512-YwP56WsNeH1192Npv+lBwcwpdm/BwxTAU/HEpPTAI+7pTNK9wFqX8MaoDMpRAJcW7eQ5OeF10ln+AfBC4oIT4w==","signatures":[{"sig":"MEQCIHL4DQhIPV94HxIJP3RySC+Usodbd/LLC5u3CXEktDW9AiAxYxhlwpoOFVi1OD28Zn15fnu1mDZSoCRaZtdbIqBGmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21170625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf8SZCRA9TVsSAnZWagAAQWAP/ioaN3c+QP8aUZwzckpF\nsuZYy44YKjlWy1wTysy7eVRXe6xxqTVZxxdzrssKNSaTrobdDG+oyPfZ1ple\nfvnxuq1yPt/V88ChGQyzRbDGtk4m0XDTi16mAGJnHN233PqNxzznaOWvQ48I\nYSradtw/BP37gBapZKMcX8Crvz8iAEV2RXOj7QNdavct1na9muEib8GVLu5g\nSzmyP7E33PAoQYzGdGU4fTHKv60Qmq/e4lPySV3ycFCiIIvgR48Xw7w0ZzOa\nNqggYu0uzoIZizhD8mQ/SFvqlrmbARL3dZ5BZTc2687uZBrfPp4whE9Ev4BI\n+Ik3TUp/yph553CiNHXFDwp2eb8oFODY/QpGbtXF0X684ljQfReuFTBFA5Va\nRWPddMrNMLM6kBZjm59xeUnHesZD1vvY5fTKpUxsKXTdK3/nQ6kc/JdUm7SO\nlcqVAfK7Ip0t+Coc+8vS3k8TAE6mZ5bEhPMm+R6Pq5wgGaga0KmUVa4Jrb3F\nzOVIGI54VXzdTqV3g/p1K1TRoMiLoKinCl7EZbApDRLpg0MMrTopH19dC0tL\nEeNhC27RgYAC/CoJehAJnQH9+OtCkDOmSSU3RYIAbReTU7nidvsylTg+nht3\nhp7lGSasE0kJz/euZCSZJZgFhPjCWzImfjrIIbjd4cxyieVYxW0YqJ39Gvvz\nL75U\r\n=2TuV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d_1618986136767_0.5448921118696104","host":"s3://npm-registry-packages"}},"16.15.15":{"name":"@preply/video","version":"16.15.15","author":"","license":"ISC","_id":"@preply/video@16.15.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f218a16494ff68bc26978f58ac0fb9f51df98aed","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.15.tgz","fileCount":864,"integrity":"sha512-X4FvWLcDf++m6J+iRXT8nudl+/gJBLl7WFsJqOKKiluE6EoFf1enGKJrAb1STxsxGl0D4Pyzl/B6iPtCxuyJTg==","signatures":[{"sig":"MEYCIQD10N7AyOiWbxR9rB0RV5Oa7qkeYxB2PQTkBBFBf+zFRAIhALRMffiZJykB0u5+Gy07b3kh6fQ8jUYTXDQs0sTjF3NK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21079395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgf8aUCRA9TVsSAnZWagAArnEP/0mMHgpqVvGPRS29n2dg\nvtyhnTY43ps63kYzprvfAIYtYSPcGAK9fpS1/h28WNcevfwg9BkXEdysDkrr\nbcADuYz3K2DsiNAJ9CwyUJCw2cUicYrdF1sr6o0OsHJoeoil4IdeQA6WO7lp\nn9z6Hn3yLptWb8rpS1P8p3d+8dEVZiLtY9gMF3LTOinVOelATODR+mS1h8w7\nSPTRp/AQjD1Dud9YXSeu70BV86s7vy+unfxIWqu4VBIy752mQrwbSBbqluZ+\nort7c3JUtJUSPhC1KYT67OFjDvCnMsf+HyE+k5+GCouXDEWdqe0HfhKczEnc\nzYN7EyXEXANHBK0lVJHOiH25+Mhem92hpTyUOTkPI3f1pqbt2olLh3a8DGlf\n9z08wu7JtxOGIAaJpjOykfmwbK+hKrd2NGAR10UyQRLqBf0wVUpXMNNcFsHo\neQZbijpTjblsjWpDhprmG1mUFDKXrK4sNoydiudJEoWbOO7rCAr1/jHXu1f1\nEPE+Fi4fRr8F9MRI4TQ1+LJp4x+u4Z12kIHC1NHOJ5NnWze8u3y0eGgI7yVu\nsvP4bOgqLdCzCxS6G1E8mLb1ol/6FvLV3a/s40+StGTKtpKnG5vDy0bUyJ2c\n8Hcw5+/nfKx6P2pBRtj8zWCHrk81GO/TneRG8h8mDJe+5ThMzjBj7LcNV2Ii\n+9z6\r\n=XC+E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.15_1618986643883_0.6806035592095261","host":"s3://npm-registry-packages"}},"0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848":{"name":"@preply/video","version":"0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d72d62e5a1263bc4d96ea6ebf9f6566a4e908d08","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848.tgz","fileCount":864,"integrity":"sha512-m1k6ZmJ5WZvL2jlBDhFOzDEjk+8Leya2wF9dCmqaZTpb6Hm/gbyO6ao6bt4tl9qEQlyjpMq+DzhA9QrFwCMcag==","signatures":[{"sig":"MEQCIH74W4pedmW662/XiclZn3QEru4meOLYFhawVzgT6vkfAiAmtShEfaMYKOZdfsIWVOUEA2EkI3DIK1i9BlnH3559PA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21128807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggSiYCRA9TVsSAnZWagAA3McQAJSJIVVVMY9gGzYl0BcU\na1OKM5nVQWsvKYl/RN+9WdDtPEYXp5kDzpi680ly2CnQXZH6NZubMoUW0QEB\ntXD5NsmzjckNxMOnBVqbgsWKbdYDjuZfPoeC+6WO481b20lZn5iqcQ4pAH2l\nogcmN68oHXytfN+vPJ4sGxSUD3nM6mgM5E/5MLPn/LFYhYJ+v4bvVI5mkpm7\n9myGNoFcw+4eCsF8ZWTCHyAQ6hTKK27BQizvKl3EMK0V7eOYanl9XVQrMQxG\nPx+zLlJ/jznkP0R64Cva38uKRMsHxSPPSryWbTfUeQPjgIFC8eBB6C33AkNV\nwXGA3siY+K37I+0BPDX4N1wrA9L9i2xv8YuF8X6xSpDsA2VjI7pV42uydwrJ\nn5fdfcPgtqQtGbvUlqDcW0Jrgv3noHd8oXCf+rkaM3OqYx0Idx4ngSSgc9Do\nsp18m4oVSUrVZqXvYUd7VB76wdyPhhH7C4dNYyAhgoOm+9nv9/G7y3B2vfJ1\n1GvgA9FTlyGV/sCdv4VqMv7gPQIPfKbPW//KYxU0CnTernxJp3Qa9q+g21N7\nh5vWbgiVcVKx4I9lM6OeQpXBmcHlIz92QB8e8g09X0RfxNxXl5/+HqJdjAg3\nhB75CD83zmE9Lyms77mY+xhn6fYufDB6V4hyEzaxqPwo0bYww+s4r4fyb5Gu\nUPTS\r\n=+kBI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848_1619077271520_0.7183731426617661","host":"s3://npm-registry-packages"}},"16.15.16":{"name":"@preply/video","version":"16.15.16","author":"","license":"ISC","_id":"@preply/video@16.15.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"88038aad5124c1fb50736219fffe03baaf5a296f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.16.tgz","fileCount":870,"integrity":"sha512-9F6CXfoKGOs3mc3NdkEg5dSqwvW96xJRsJmp9VbgoTF+HpUQUMmCsUwuHaBpQTj3/RQYbiw0qjLN/aR34Ah6qQ==","signatures":[{"sig":"MEQCIGTLRXaNjKmQ2jASdytubqMmMr6WPGpJQIzSd7JomTAiAiBAuDUbpDR0Aguigm7vOnyMV06DDSvl0NUyWoTHZw8VvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21169684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggTJICRA9TVsSAnZWagAA+hMP/0MmoXDF17Fv+hzkd+l+\nzrBZcW9HuRKn4ARGIZ+ub7MMH3TUqbav3HQIjmE55oGIB/lkQh1Zd2MtQ71U\nSFufSfT4y/qzOVRU9qpHWUGKPjmaUXxyP9ULwMsgBzWawg6SHrHFPWObFdEG\nKBw+7Wu20I3seEeiKJgxpWC512WxvIc1wBXxfbK5CUZtkCY46EQTi/zrhTE9\nPb3I6LFvz3tlwtc6mf55Mf2T/mpZZGG7Z58QMEflrgQcRaoHWc8qEuT2a8nK\nSfRZDQxYraSovPqFY/drNvdJfnNs1GzOrqm+fUTGCMY8vOb244LwLo8TdcI1\n1qcCVUJ2epERd/CnL4Hz+nLA6AFJ911saCbmW9p0tFTZxCNgbTbtGOsp0r5z\nkm0kYtO+WkLoHm2IHK72Gqox0eDVaSbW7jV9EZVgGXmTv6hYGIN4z2bcgSdQ\nzKM+WtKDydaD+0n6N9H45ICXv9VCW7DGPVqiwvM9RUfFS2vkc6NUKvDABiIC\nK10En0QIZDffVxH6bY/9IaHB8ei2DRuPP8vkgYBV61b2dF7QQp1mjtmB0Lu7\nJaFvvn1EhKPZmp/ZbU8ZR1ar0GiQl11IMFTbSzDrkauLF4mOiMx20PQiRmpX\nKXisE2EL+sTuGCB1bhvx2mheWqSKcba4Og7szuvGQ3C2Ci8waTwb8u4cqnp9\nVfRy\r\n=xcw0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.16_1619079751075_0.9384072511190349","host":"s3://npm-registry-packages"}},"16.15.17":{"name":"@preply/video","version":"16.15.17","author":"","license":"ISC","_id":"@preply/video@16.15.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"17afd2b901f70ee2fb0d46d9d06a72ea5004d2fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.17.tgz","fileCount":870,"integrity":"sha512-28yP3vDToBMjm64AaOYJ8MZwGJJQs9lRJP58LpLSJAnFr05daWGVENN/OMtKfagl7xyELfPQ0CQpkEMrJUCcbQ==","signatures":[{"sig":"MEQCIFo0hywj6eFfAmdNKcL9pYSU+PelDidwht0bPQQTCC5RAiBBDW3GkR6mskhEcMetzGPzF/8JRqaa5xtR2wThe95w+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21176488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggToLCRA9TVsSAnZWagAAQ4sQAIpSLhmzSIfFiP1JhYvP\noJLE4cdCBFpTnMOkKQ4Ma8uLWxJVVryGZyulAmqmQhaXZAORZNWkIyZ96ouE\nYSW3v6tjZ2n8mWBC6Yza2gAFLUB93TN9waRm0cwou+Ab63Moa5aNB/2e3egc\neqbRW/eDk3JOPhJg6f3tfu8GndAEJppvIyvkIof4+eDXrP/N5SgSuMTG1rkm\nPcrbhnv0t96PiffWCvSAx14a02/+6IKwSQdrTgCtCalynd79707fLukFB1xv\nQVcnbdtuFoU8RPuNbq+ci7Jx1qalngoFGiTeKm5L58djDEflPhdmTmhQ/mjR\noSuj5pd54bEXUzHRB8g5ydhIgAvVVetiwWbM1TtlXhc3G4JZ5ZOzykO++wBv\ncYcLJlPl+/PfPW3dMM3RjEQ3ntU4LDjj/Fm0IM7i6ApWeNWssl8m7y//eg8A\nr8djgpWZChgFjx0mkejaXIIjFn28Oo/bk3hbcUu49sUILYQjUNcChjgKFIzN\nHlzyy+0T3KKC3EHzmGwDmeEs4tJ8rVGdrOfOzWzhbRcUXrwYMGoa+DwCn1/1\ntrGxl69aTWfpmQngavpb6r+nz7FXHm5d0O0/GxGp2kurcdCwNEa9cTbmpYmG\nrbJZCFjGr9qZ0t64bMDc5Bo4M96vd2QtYLm+bYXo/eGMNdDTiQxH7jYwpavj\nTNT3\r\n=Tuoq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.17_1619081738470_0.46456611954743376","host":"s3://npm-registry-packages"}},"16.15.18":{"name":"@preply/video","version":"16.15.18","author":"","license":"ISC","_id":"@preply/video@16.15.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"21b797903ee94b5be7797dd7fde0f1ef27590d74","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.18.tgz","fileCount":870,"integrity":"sha512-W8I5xdI/ZAyg/WGgn0KhJRmCtJrVkwbfKL8YP3gDvO/lwo9IaHhBbRyyNRSbxKfC3UmiPz0OIBUhlOM5MpxShA==","signatures":[{"sig":"MEUCIDAefAzcqfBMfjzBZ3IjpKHqdgRLMKqWUsN0gUC/ICiTAiEAy2zTDiLruPy2GGDqKhjExo+PmrvbhHVOf5+NwkgytVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21176488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggT2pCRA9TVsSAnZWagAAarsP/ii3d3F1KGkAH+QcgL/D\nFy4nuQPjqEHIv1gsEZSWx824cTthq8auy9zZ/46ds3dIvwLEXlj9DyuEFIg4\n8r6kIUqF4z/nFIUjQJyTizjFEyuiLWcgWCIiHhQAf8W2uklCAWA8YB8TTWe7\nCUHfsVNneXKw0I1TIU1YicAzfmUZ3K4PIeH8WTJAqYvAPhfxmhcG3RBGYlBy\nPPpQFkyRDFNXpQtP4tJCB/+gaZX3oUS+t+yQYSz6tXciMJuli1v0TV+lwvWl\nbX/gopcAMuYMC7P+MoxOxZaie78cvbwPJGfFWmo1aFWQIJdYE9p6UD44ReD3\nI4/L5lJ8mObsoqWdnxR3TjIeIKy5M8V6otS11UV+fSyOSKx+RXNbHrMuFbH4\nVESP4XAFQmW7HRh/OuRSX7hDsG3RxWazD8VSlrNd7PM4GwhYHSkd0Mm76H5U\nl7s/I6fQoftYou/XKcAnQ4e0Z51q+VMyD9DXcRZGtQCwkfrYos9XEmQqsIkA\nrPApGjlcVvuFcZPRwkeK8oN2po4xL9C5UUAARhS6De7b1BP17g+/EnlG1qKp\nmQkUzuob7091TJC4RUYn8GJb/JCKFB0+WETuknz8Ina9XnX6X8VGQQXvb0on\nHduNHu0CXhQLTk7SGAfbtjOedNT1xcFbQbYIWEten2hLAXVciQL6eoYcu47q\nZ8W7\r\n=g1Zl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.18_1619082664202_0.7657878941192511","host":"s3://npm-registry-packages"}},"16.15.19":{"name":"@preply/video","version":"16.15.19","author":"","license":"ISC","_id":"@preply/video@16.15.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fe335e4f91c694f34724fde1c74a78237957f782","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.19.tgz","fileCount":870,"integrity":"sha512-n4c6ngQ7cKFEf7sRtNLMkiWSR11HlBXfZHERWGp7s/tfkuLqaf4Se9eMlYqtMIH0rjr5JbbYxjK4lX7Axc1o/A==","signatures":[{"sig":"MEUCIQChSurGagedSTK30FXduY+GAy3YKffjqqQO0Ll1VJH9gwIgHccD5PZLIoAg3O0oDnzXHx+bOs7e92P0lymb/XwoWwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21219899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggV5eCRA9TVsSAnZWagAA8T0QAJ6clX/b8Gp9BFTJ9tL/\nCZBJM9zcsey+HKtqWvA1NLXbjYJ7mPWiP8c20BDCBBK+CzGn5L+1H2QsRBZN\nKxYZcrPemYm5lxLO7zzXsT8AHSX+lGusQ5FcwCD/GQZhro4zZBaZf69wgiKL\nA8LI5xUyOzUA8M33f5b7nTEfEl4WCTSWu7NgvTgWkQ5fZS3w4jnXDz6rFtI9\nT5vd/40PJElVWvpTpFxmQUD4gCCx+PwlITuXnwDAKqFw5lYc+5C1yInvSRVG\nbtdJUg/tsvr54FYb8wfu5NSPZRLhKBnuqeTbpF/LHYlYLiXarsl+2JMrP5Cb\nSExFoCyxihz4nYRN9GTwkXkUAX8yjUZwE3u8WYdDKCXg+pUiFmYkLpDcVbsL\nMTsEPpDqTSoeeUbemqhTgGlsOnCty5n3lcIZRxEOo+tR4aLRaI8O0+DZa0Jg\nMRJ7FqNaFyRPglH+wS5oJnb5UOcPRZHi6oK8E6sMy2X4EL9MKbXh/ydg6QyZ\nTz8XIPs4TP4CNFVUzi2Hab5vgRhlfTyBDY21KzH42XkxX8dtBvvwDUkcenHm\nBRktw57uwWPAeUU4PLl6rm1suwrx+KOZBxoczioFwoLUQEDTsDxOYIajb8gV\n5Novizwr1Fmbp7ceGV6XeOrBpGHoX6JVzt9Jq6F3Q/Cny0txJimBALkZxdXS\n5bj9\r\n=h9lo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.19_1619091037132_0.1557683196314179","host":"s3://npm-registry-packages"}},"16.15.20":{"name":"@preply/video","version":"16.15.20","author":"","license":"ISC","_id":"@preply/video@16.15.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d82f0d2d040da8c90124b1aeef29d6d8c01c9f0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.20.tgz","fileCount":870,"integrity":"sha512-ANzAmLW+XPPqXUlAxVPL0irPREpj0Q3Dpl4qzUshW/QcUyNwURoGpI1FMoPXNrRLj0lv5Zgvt9F+IQMoES78+Q==","signatures":[{"sig":"MEUCIBR1TDdXESbzOErtfLoXhWrt1SwpfjJEi1zMR/0mGU1fAiEAvEK5nLMQUM/sSISY5J3GiKFjlPYhVhiYRFMyx9yCrYQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21224131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggW7wCRA9TVsSAnZWagAAz/YQAJCDKNh5dKKxo+uHCkxK\nZb4bokVXVtKD62pzrARNmyjQ3hadHCLXhFRi97oSu5QqJI8TBfATY/Dh6wxi\n78h4JBO/hcVNurXlmKzwfXWvWXKBOgrtnaZJc1zaIGKUsfBqWZb0z7iH5AUU\ngzaKrkQusRbtWpMy01wYzuupHngvSahIos4sUmYlFH2iZhFjd+Hupxg6Gg8L\nqqtSMAUxYWV+RRcenMbRnSfVRgw0oxgaNRMR8bxFuM8nl3gRLo1ituvjdCsJ\npjyk6vonkrW2qUTAmNqKsBDZo/V1twV8fUPT7AxDL9sQ7tHtkYAMG6+WcQy/\n1n42APAb7+6n0W/Dj90RRMpaqvBtMGcWSOmo6KU/3dsAyTBhS+MDEtrK2/m+\nXJKIPs3zJrj14NYggStAr1WA/8QMZ4rQETI4r2vckIsleMocp9+c18Lhs51B\nXNAILXFw7OWoXCGpL5ceJXfxpNGDLLAHimGj2886ygx5rMdw/UGzA6OYZ4BC\nHKzDBhltXy3BhectQyYQKGQb6cqLNZ52JcUqVropMD60WDznkNpN7vv8j3fK\nfqYuLH6c3xENxZLVL0jKnWgnAXOktIyRATra2lI76BVVMqYdv02LE8WO7sDr\nTrsh3O3nYBN96qKTnV+8H2/1fqmt/OeMOD6IZC/Lu9AY9yLlZPx1vTO+MBbn\nWQ5t\r\n=r5yT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.20_1619095279585_0.546931252493573","host":"s3://npm-registry-packages"}},"16.15.21":{"name":"@preply/video","version":"16.15.21","author":"","license":"ISC","_id":"@preply/video@16.15.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f19b936337c014e5130288a028dd10b028a18e9c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.21.tgz","fileCount":870,"integrity":"sha512-R/3jCfZClaUK4FhI/seXIVdi87pipfcaGrZgTdTURn6ksh6lRVGEQsWtb7b8Kjh4DoTceNFbJwiip0ojie8iMA==","signatures":[{"sig":"MEQCIGGKqZMHFUFGJO1WOLyd8OuHj0B4KH5qtiGZG29abPvkAiB3n2bHsFCDiG69EOqQKF5hAt7hDM2wHPfjyUZIo+OSqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21224140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggry0CRA9TVsSAnZWagAASicQAIuvLQpSwGSamcMYQwDG\nW8GN+euVekjhj2RRr+uEj9RqSiGpidqtFAwAAAWG42KAURfvWpduBd+WX34S\n7kSTEw8fVgkdfMzFyqbYMAQaqvafzsc023uyWc4P58bCmWcDUrLeyqAIeBD1\no9I91fHxs8GhdsPelp4M+vX23GE2EOoDSFydKb3hT8VhNDS106n4yJ6tg+GV\n69LWdXbWmfNLJEQo+Z3d4pTOZjiPH84zVhcfguUJ46keeE0VQoopwWladA9K\nQpoVVQB2ysij7M14seP8Y40NsVq5ii6exOxakchE0eJyO20867gh1XiwAzGd\nCflSqnVLpfPTFVxgAp50xmCsdhkb0lDqkGPCougl+XkYSrrWp5ywdMLBZDYr\nLpS9IrtDssKzO4QPJXnzZth8XUsnCYbw+p0Xx5rRmn9Ny0Gm35cKGKDQfMdj\nNhrYxbF366zDTm//uJoct7w21mVdZw2retNVEr19ZVlZBtnINRMyj/vcT8cL\namBWwz2gQqdJMWS5GUyHE/ZOfOcynLAXmqZRavBhsnuhhJFT6n4beXiho/JS\naZFTsk9n1MaigFNrw04PXGy9NQN1rZpL58MhbZUdW6E5Bi3umKmHar/EmLL3\nnFPAE/TlIA9irfFQ2svw4DU1e60KI0c2UalEyq/ENYkhbRVXG7tsPmhCC4EN\nmOgl\r\n=Tfbg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.21_1619180723607_0.9280000691071908","host":"s3://npm-registry-packages"}},"16.15.22":{"name":"@preply/video","version":"16.15.22","author":"","license":"ISC","_id":"@preply/video@16.15.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5fb2c5041bfdbad10ff2223b241addad3d87934a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.22.tgz","fileCount":870,"integrity":"sha512-67EhQcncSiz8NTtvkD1lGePcPwJPP2PGdq7iUiGfdFfQY5vZCKeZg8knFGEBea7liKZijIdHZBttB/V3Hx+bVA==","signatures":[{"sig":"MEYCIQD1j+yysADfKoNJplKHkQcL44rAKBp9vS/KYoq33bbIRQIhANraV4ChR6QlSV+vEFL98V0PSgVJUizWP1y2TJ89bWDu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21224141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggsWVCRA9TVsSAnZWagAAaaoQAKNkiOVH68Dlejau+EWG\n/635SuHK4iVbLFDgUc26RReeJD/FBQdpQia2xPe4bWNnbJSW62agiJSMDvMf\nHkCuWHSs16VbIRAdck4ajB1uFnRpjCFzWEyekoJukR9Ez+owBY5LRc2+1Kl0\nptP5Qt4zGoQZMqBwHJCmdqlrkVQiljAEm8N6ZMOOS8rYFAsE0TgnXvaf+v3R\nkR+V3YepyhwfRTcunezdt8ZDitWM+KAA83+MCiyvM+89xJDMo/eztbsjlg3+\n3Lhf8f9SUup/STP7sRz4rSDC+mh5kduvdzNvSI5AtzQzXYyo8kuwopGh94EF\nTSVwDu+8Gq1gfptsANoytjBa6K+Rdc1KQSd0+9TbvL0cU8zjIkEKCVoe14I8\nnZ66oFw+BfsfKB4hk47f/4thlnNnDAH3Xrb3x9QwJscZU/KDt/jeX7CfDe16\n2W/GEAHhKPWSXix8xU1q5zESF6I7MNoaF0EjKX3/zSCjDFcQHmsPkEPmNGRR\nf+L1Ic1WuiRRM01ibqD3RS3V4UOTAJfoFrsn6gewzPPkU+dz36KAwLol7Yb6\nnj54SJiwKsuazD5aGmEgwN1DEJb3cKTHgnvAPn26n0cCrrJe6yM6SCqsDrua\nsOlDGMtZWKEzfi0ytVBI+k2WqFy78O4rHBkq76vnq3uyzzlyF7eZlK1wcYWw\nwbZS\r\n=5byj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.22_1619182997145_0.2067576933713242","host":"s3://npm-registry-packages"}},"16.15.23":{"name":"@preply/video","version":"16.15.23","author":"","license":"ISC","_id":"@preply/video@16.15.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2db5fb83d352763177d030e2ea56d6f16d3045e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.23.tgz","fileCount":870,"integrity":"sha512-OshUc9HX0RqYF/7HotHDpB4NLkokrKDhIYb0sUhbXsRLUsJZOD6cm3xGYVy2QI/DvjfLTdCmTYvF+bvfTej9Ag==","signatures":[{"sig":"MEUCIA4wwUvLxy80uREiFbLGhu2GZ0rjKFiJPbkhmpbNcY71AiEAvHiEjODp4zHA36jylQGPZjXmAYfcZJcnxac6R2kw+JY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21226511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJggt1QCRA9TVsSAnZWagAAtpIP/jnEz62x/wiNwE4N5oo8\nZlqnLM/XyHq9Zwa+sJZc7xDLMNOCJCLvO0ftPOFUYXuqiWCJXK9LZ5YdKNby\nyTp8mebgciytF7J7GV2HOVlh16ZonUCp+MAWmqS7CedulWeRDth7Za5U0JNy\nq0yP4mTGDr69c4vI6d6Nnuh+PDuCUE0MmEzaHxRh9a4MbOhy/P+P+iypCJ7n\nQMEUM+DFnBpsQjmKTi46cQEBVzyCHmuHlrVSxgRLNYSnI8kydeXKNIkdSA13\nSAYzs3H/gT+1P6qrCOwN/3Yzcdt+q5RTvco3xT86vs+z3/y/qdYw91GxTKDA\nkxK3Hj98SRb9ZfCBgHmHVznnu67Gl9MYZkj8nYjePLhe+t8Up314L0XK+gqm\n1Q3ZekQqxPgvKlJLs2llje8ukk9PWgQj0BmwaaJ+Vtv6sby2i0f3+VPF/TU2\nrXvmOhdGYvmfSFo6KH9+ZcFiwVtvSIhpd3WHrmi45JVY9xHJdbn1L5uARyk4\nBtfA/rOl+t6HNz77uy8cyCkmLwvc0geiXQLs3RTsuN5FepAG6oiTs5dZl9LL\n+3u0d1N7KAAwCCICE/VnsxSC/unxgMCRU+qThKPCAKQGpzXttWlUMQsReXwV\nG+N1n9r1jIy8/hJNPle/3sqwrV3V34PqtZAbrTPPrgOeBMx/2CTA8Q54ZOVS\nvpa1\r\n=wv+k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.23_1619189072170_0.5196513510598171","host":"s3://npm-registry-packages"}},"16.15.24":{"name":"@preply/video","version":"16.15.24","author":"","license":"ISC","_id":"@preply/video@16.15.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"afd1bf46ccbd56dbd7c810198233e56ecbe3d151","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.24.tgz","fileCount":870,"integrity":"sha512-Z80qYxtiz/mO7xH+phNEFKiAZLx+8UKIP0+wLRWOnxthjHXW9MacjpzHRwZljnaHgAhRAjRoc6rhPbP2ZSITYw==","signatures":[{"sig":"MEQCIFLLBX+t50J6wdonAvx4s5xZjrV+FFn6fG2k6sMEapYlAiBNsq9iiqnGxNRS04m0uTBdszSbmPQW5HbPd82VDRhMUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21244734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghoL5CRA9TVsSAnZWagAAtosP/jqNCyfuUv6glYqlZLiW\n76/0N9Izej/sOWwWdmqh3UqHNHuW7jsUl/tFBicmoDshy7iYixNLwQqE4HJO\ni/sPTt56uDllN2hQxDFSiw/JiU0htuVMv62/HyMihXVokU/uzJKL2HkPWDMr\nCsrUxqZjYRuNX+I7kwJGTVA64lTiJpbFRj2ubmU5iGkrTUN6lqMWv+evh7JQ\nGTb+SbpdrNX4RtRccpSsbMJch+/WQJCs4s1lCMmuVFKWJIKHpKd5L5aFMAsI\n8spoeS+TceuSm+gO+7GccWdaCe3p0ioCwCPRF4Sj0iLKWMbEEx1oMBLPrAJ+\n7bdDau8JXq2Z5mR4k6Zrr4Ml1/yq2tFEoBEnOh/IpBvoD0BPzr+pv15tEQBh\nQbIeEvERI0+GJSY17P84Ih4kQZLe5hhdj3vfx0bpCUXOJVbw+UP84nRLGVHb\n0tDgNT4KgFW96kfz1R93+30eIZkSnLs4rn3Lki7JRTy55ndeYvRxRLpxuFZ/\nLBUY0xKLlcPpUVcIiyzmfeDbIwbUY0pv5vZdYOEdzgwmPmgMEZlC7wTxSNoq\nxdomjdNc861qMPywfP1rrlcfqLM24r8z33v4qCDlM9kpbiqzqzt1iMkpYrAe\n0KpFvs4QEl5CE5JXMIiNn2fLyaU9LqgYJhAYDGk1OSnDHqZS2cuhuYTxEGM3\nuqsO\r\n=cfnI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.24_1619428088986_0.37592793933309854","host":"s3://npm-registry-packages"}},"16.15.25":{"name":"@preply/video","version":"16.15.25","author":"","license":"ISC","_id":"@preply/video@16.15.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4cf3d2e154d519cd984e73920dd669cb5c435c44","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.25.tgz","fileCount":870,"integrity":"sha512-+StZ/xRZVdqdRr55umdTAH3z+VkiEOJ2tojI7xU6PLVbtFH6OHwXje+/l7neyIEkImaCjqygEtKqVSZSEg274A==","signatures":[{"sig":"MEUCICudwszuTrRAwiip3lMJxbA60flQicieOh46klp+8VEsAiEAmPBWS6Fd2issjcopYy+DSgf91SagjHo3o8vRxfN2GLk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21244734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghovACRA9TVsSAnZWagAAjyUP/AvGQR5QBtTBWb3Z/Rp0\nUV69n0bKXMbfUlfMt0SJfKxXTDiIh81ocjj5AYZz6zvXlmsUcorPm+ZHiVFq\naBUPMQWo7633Od4G5zP/t5ReEUyjWusVutfvXRp4LqCtBi0TcxUEBGZq7gey\n/+BnDJJEU4as4aTAQNW1PNReL15kWlnWTQHR0x46CC4nTmxlPBpW5RWdgsP+\n11QedByx0cw7jKMHvaR/HCooQ7NcdnuWYb1QSetCG22z5hilIRTktrGMZrGs\nTk+B4bRHv5DsXR7i6fuOj2CjYAQgiRarK4Lp2G81CniAk5IRS1zdgLBjFA4k\noQnGJmFgUUVrf4ZhJfjC2fjp7JtAaGRvSaAUaf9qnhvVatOrUAS7QRqmHIdF\niEtm1hdRnafbiyWRA4pLxnDAbZMLjhPvRuARLPC2zIrnRWgaTZS8bM9C05Ws\noLoMYD9locavUAjsBQ2KUyAEhffEMQT93PK90HH0Z+/cuUM3rw5P7BruzxxH\n1ab5LwMgYoV60zPxLPjUkAjTk3m2ge3wuXR1Mbbaw1n1gQOa/82i9aV8Kl4r\nMOV7mctXvAXIR2ztidCP97Jyn3PhPiFjUBQGD/3oN/wkFbCKWRdUS8GyYRu0\niPfvFVQe8RjcVrx6KKWhwWdlgSFUZCVXBytpu6vTRDIumBR0seRFYnquBIIO\nv28p\r\n=Y06P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.25_1619430335747_0.20482600351566393","host":"s3://npm-registry-packages"}},"16.15.26":{"name":"@preply/video","version":"16.15.26","author":"","license":"ISC","_id":"@preply/video@16.15.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cf8b97cca8bc6d69e2d077cc38452131f76d087e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.26.tgz","fileCount":870,"integrity":"sha512-YtEA+OtgY0L6kQp/ePu4Y7gh26wp0f/m7Tor+Yk3TuEadehH7Kjh8QM+TPOE+scqViyXvd/I+56kUsu/3MbaVA==","signatures":[{"sig":"MEUCIQDXgIMEGVDZpE59VT9uebotE7Gk8ImgRaZjsk7haHVkHgIgFZr9md7Il0fl7kdL9Pd8hxlDLAWrh/XNIoYHWqp3xPI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21251029,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgikzlCRA9TVsSAnZWagAAqigQAIou912ZHyQwzLK+eEbX\ntxxeFslhFZtWoKFeR4QOc4dEZSUt1Ih8RVtBttVg51J+GyCXN9o+kvs31x8K\nke+cOzDmiq4p1LK8/hUMTkULkc63cjnWrQ1CBOsk2BS/X47ZFsr2CEsK7Gnv\nXuzdrGsMzpg5rqTJbNasvCtguDVMhy0bmaZ8CHMRsN96Ybdj/JZ+QqeAT/Xy\nu0OcnqSnRIp3CgznCcK6O4WKXII3sQvTM1vl9vcRH/0IuZpyxX3SIEOvZSfb\nb9RHFsNv0wa2ditPg3dcMqjbffV67G2ggS8Gi72oMJhlS3FCBqEryQpFHiOD\nAqB2+RuiNTogT90l47hegMbzSHnibX7IFWyJ2soTixMjydJwJFHBkdwe/sya\nBW1qu9bnfl+jBDp0JDE1WvKc63VN4Oe/ETsmVwMkV1GSIpDWnwt2oX+JdQKI\nmUME7i4KC2TrbtJCUxElJwqF7KsPPyWFmOy8U8WH183aAxwqWzppEsxmf8bP\nW4axVi10zSaKIqEu1u2QQNx5ip+61PJj+dtteiTzwUdOD4haEyfxTZyhijnp\nC5XcgXNb2Vc4xYKuNhzCclweAPwAAKM+ob4lDlozEgrT8ddo1+02Be5T/8nh\nKCzid7SMI5uHm+Lxsp75TCvnbx+gSecpcXRd40kFt4s5XbZ5Y9QNNa6EQEIP\nzkMh\r\n=UbPI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.26_1619676389023_0.08004936270826613","host":"s3://npm-registry-packages"}},"0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17":{"name":"@preply/video","version":"0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2c345a62381e3c3eddc5b5ccb20ae7cac586562c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17.tgz","fileCount":870,"integrity":"sha512-GoCRUCX9maxpEAi+Jl8M+S8iJoHmkfsBoBbf4JorhxYzmyDH42C4GbZPmgXY5RvafDxxB7Nxd/1JGdbgBq6kxQ==","signatures":[{"sig":"MEYCIQDVXIiQWW8gK3QEtwYi4SV/5Zpfnrp1S2xicXCc7adtsQIhAOUIOzSKqomDykFv7S2lzLdZGrdShv4Jwi3Ea94LMYex","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21246878,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgio48CRA9TVsSAnZWagAAaRsP/jrr0sI8pXztHeeksxA5\nBUJkiqiIsrSFjypKMitVWLyD/Gdab7BJjmwoM7/ytp1tYWTvvxZNN56cIXuX\nzOO0uMbMnRZvBQ40nOWT12L0rbP3Z8OgrWP60zjfKZN1sIPnEC7SMRbJNXNm\n7yS76NHptlL3PARCwC9tgp7qbAkIDZNCgP/+1SW9Q+eEjNcM+2G4kV6+zkSw\ng15UQFOksw0aJrythlgTyxFJigXjoVTWQHmSDXYywAMzalKeXP9qkhBkUKed\nyIvkRqpnI5MPfQ6xIR5T5/4W2vH6b4gMITjKRowsk75DWF100ai7AtdeQnlT\nMSf9IuyeCuRNDFag+R+t7f4szekvJknhJyzlhhvUcpStYfMprFdj3puKhRpd\n08kDKrzeDXRe+dMo3bJrIoEuvJqRyLncKDbsJgIp67twuMHpYgPcL4kndy5b\nU44bSWEf1LVYjoU/jNe+Cu+Z+EzdWXlZSzBAFmRCa3SK+G2t6OsWgFBd0Rgu\n5RNMu+YujGpObMIGdlVIJ01r0GNEQzlWziv+WeOEkPCkyzdLZ9oH8sccQDxY\nqJ0g1wcffTQu3aLn56X4CiENi1PYLXiG14QkOuqJ+3NvdJZy9G1AiRM2VAj9\nTjzriKtDcP82Zoz6LHldP+AcoU2NRoDOJ7gFTPErLqnGgD4/6XZzLh/+vMcB\nvyAB\r\n=ZDla\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17_1619693115578_0.8368152844581296","host":"s3://npm-registry-packages"}},"16.16.0-alfa.0":{"name":"@preply/video","version":"16.16.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@16.16.0-alfa.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"de0cb88907bcc0ecdc4f3e49c927f9ec3bfd0fe4","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.0-alfa.0.tgz","fileCount":870,"integrity":"sha512-LGiXp8lMNa+g23DuCHl4FSnFy4vQ9Bv00m3AIR5BRvUjwX8zZn0G8SckpIaEaAvh0EBoQkMfLE/oMjnopQ0HKg==","signatures":[{"sig":"MEUCIA2UA16UiPqgFp5l6rFsaX50b0xyagtuJuyZVMCyIdasAiEA2PkeEjBQ6G+fe9zzPOxDzcOrmhtHmm9k7ALcp6DadFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21254778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgirfkCRA9TVsSAnZWagAAsjIP/RPe7oBXqdbBkdyn410U\nUhqLCwhNlC2I95UjMTFpnQRzTLy8cqvrZQxehnLl5U4APzcy9eg0YiHoF6Tz\nPc2PksLTmHIqDuGeGsdDvpuU0vttIsi6T1EhALwEO1sDxioO6Fm5fXtXzbaR\nkWE2NQQOxEJIEEr7bN0Ppst/4oTlfBZWtcMuoiwbH3xqsgHALKPDIrpWg4oV\nbZ6meEIKDSy88H9T1Z2PUKnYThvy9k0f+rICYuSWOUlvEF2q0W+rn/FwCrGV\n4Xm1KuN5i8sNPh37bdFAhYokGgRquUtE9c0HOziybYeMSXx95SInM6vaKIVg\nbM7vbpSL8IpxW3ViszvRp1dX3i0RABRIUeB4fdPktGkhVZab37h+NIG9fGHZ\n+x877z+jRdcECTkZ3wnr0VZt6TuG09jjTt+SI+zk222Lz5IvFdQNUFsJDXcZ\nAKUgeLqusGabytBzb3wHcUnnjJcvGb2M1vRIKsqRqcv4r4xVO+3MmodcpZ2A\nPHhtsIMz6EUEjpd9B76tES18J9Mz637uAEbCiR+bYIAB21+H45EzSin8lczy\neMLdoSXKax2r2aMEwtU2IpE56xv3SOnuOdGn1U1M0ZcXXnvo85BK0GFE9SEl\nnT5ulGL219In23yLiANeEG5my+FN0POhDTG5e60vgk5MOOptxcEWdCELKoue\nIBL+\r\n=e+Ht\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.0-alfa.0_1619703779723_0.4549797046683266","host":"s3://npm-registry-packages"}},"16.16.0-alfa.1":{"name":"@preply/video","version":"16.16.0-alfa.1","author":"","license":"ISC","_id":"@preply/video@16.16.0-alfa.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"68034f556324ccf4e04847ade4aba745905d6b00","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.0-alfa.1.tgz","fileCount":870,"integrity":"sha512-7MmYVeAOH2PEKCCH0Zo3WhPg1wSWspNCwLjBzQNPU8VclwQqkaf9Wqyc2apJlBlzJoVMTCEcM6KJQCL1Q73CZQ==","signatures":[{"sig":"MEUCICGSpzTyGyrKJgq4E+qjyYmvvenLFlGOhWheieyvXpaUAiEA7gKx11tHLg/VhaSKsNiWPIZN0H60cK0huAOqOd7LPqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21232182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgisVUCRA9TVsSAnZWagAATpsP/RDUEcljXxpSbIMFK+en\nynXwV1tD3dSgu/Tc1JFULRj6q3O0mlYfV5ge/xgR7NHADLOwqHzaflRiiZwp\ntDPBx3977wRZB2y5fKd5SOL43Zs/nCJ11uq4Nl8efSWh77n3gPY1QlDUHUsN\nsOyquz5iqN0ahk8AZaVs+mUknnv2//1DtXtrwaAyt7DUnApXN4l0pM1yuLEU\ntA2ISIOutoHZzHkesyptG2SBwT8TouIfyc8h110UIavYWXQHQqn/taGQr8E/\nsc3O3lRn7pBRqdASKVOH6BggXK7TY+MFd858AiRcGBOtkvZeU2dB6XKYq7Ux\noMd+gdzyK+jizL0H+NOvJW9yjFxKmVc5gogq1J3H4/IJbo1+PEntVfLC/WTB\navFZieLxKugPNmSn0FXewIbSPEE+NRTGZyfIHQidGwDBDWGXFnoTE7w9OMZ7\nE0pTl2IoZVYc6qp9C/Dn+HED5a/iZnOGu/gz2UjbHySYvhJX/PNjJioyrp7m\n243CfosOFJ8nLOGA5Caz8pe6iYHu8O+rR0S892uptj+1Hgjr2hDVWIRFwWdv\nLOGqSLHszJRNFVSXInzg8u++uz3RoyVUnU3ttkkZ3zqBLwNeQKotINJAvvgd\nxpWz+Pbt9egEwei6+llwnA+UraU9DZkc0v96zUXB9XlvR2YxHRNfblu6BEYc\nROC2\r\n=krwg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.0-alfa.1_1619707217638_0.2106708415009586","host":"s3://npm-registry-packages"}},"16.15.27":{"name":"@preply/video","version":"16.15.27","author":"","license":"ISC","_id":"@preply/video@16.15.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"86a041e54c59aadca3e68b33133dcbc99e2bcf31","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.27.tgz","fileCount":870,"integrity":"sha512-v4IenUdwXjDRqBWTtq62yp3i60v5k6AAP23JWcTMgQ/GNeOSMP5Yr1/fmjz9mty483prVlDQNZFl6hGf5xZ69A==","signatures":[{"sig":"MEUCIQCOuzvvIFSW++WLRBUyWgYUDL+93GaG9yhCODmhCXCcYAIgFRWx1SaF5sxq9AFn0yASy6kwwQmQOncIbQAjJcoEKKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21253523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi7xrCRA9TVsSAnZWagAA3icQAIJiVbztXZpQSDGICk5y\n+NbP1fxwK8t0lDIpHlY67vItCGiu8l3ilM5Bp6qwyhwPb/z18G3SgEqoVQJF\n9ki7PudYB3VHuXEjaztzPOVG5a5flnBvMd6mOS1r741wQxXA0fy3UO4TTYPB\nLirW0x7C56cwPUY7vb9asmqQOpZay8z9FTCtJNB3H4Kc5ddhIUGyBgMnt5fu\nUzzVOJz/hLawIPUok3tMNLTgh22QyyBt7SY+sqm1EpxuCOyx61GgQvjdnxY4\nOPu5n1eEeVJ6D2dfjPrkRYKqmxSgm5RhL9Z96HjMRAcIhjwfqiB+VQ+Si2E/\nES7c/Fjj7HdFfnzLocI0qjJrrkCo2uAlNc7yUlAbKLQsU3KWUg2TvspzWWdI\n8sXf0he4dnNf+oA4DYuSiybJchILaDGFJNhC+h2cK9mZo2JQVLkoscbsVAiM\nayqyvbNzQQJTBjaOwx8LxYDLyGuWXCE96dNFW/Y5EJO1dqh+w7jrmJ6jYRVy\ngWnrNDwJpDU0fsY33sZ4L0E8YULR3EonGkx2iIbjHe446mg7VxHm4pebtGUw\nPoFhA20cicOMin2REPXsYNO9GgGd6aaNaocahoaWVP3KGwtt747aNysJNak3\nue71F/yBRwQzFW4C9g0oi00P4TAXO6t+juKtu4GpRPtuu4Op0NEisY5RC9Oh\nbG1+\r\n=7FOV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.27_1619770473311_0.41706091262298006","host":"s3://npm-registry-packages"}},"16.15.28":{"name":"@preply/video","version":"16.15.28","author":"","license":"ISC","_id":"@preply/video@16.15.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"845e163ad0f7cf133b30b111f8ef58131964832b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.28.tgz","fileCount":870,"integrity":"sha512-f7eWaOW4eT3mqv3KT2ut54UOBBjPtRTJV+UmUnIL2VzvInmXBw+VfS0xXDWL+vQ1D8NtDUk3z87HRQZSb7yKsA==","signatures":[{"sig":"MEUCIQCxlrPzfQvKrx9s+eAuZGTQi2pfS6AbayF7hPmhFRJybwIgayff1Dte7BQJM/V6LkArqXM7lGQBIJbW257poTE1puc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21259348,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi+tyCRA9TVsSAnZWagAAYUEQAIa50eCXhn9rWumMJjha\ngcvwGKHT2UWXJrgngAWWQ60+eOkHpopSMbMAFcwrIkQWzqS7h2VS/76fSUEQ\nxCJJQyTCDQncmWJAWenkIv2sfxfKSCWVifVNxHvJMIkA7B8AMfOB+7k0aXkn\nsuEmJfGceGqw7NAHSg5tHItaE7qfZ/Ug/axId8ixBX/qMldvqQBwRaJer9VZ\nzVuGNkSVgh2bVCrxwxx+GKO+DRs5PrLkMOghMnwTEfg77+OUQdgrGKzg3Zwl\nLJw3bPhmjdOyQ+1h11KrFkMP/ZVvpKpU2ipZFh3KXKU915Bonw5/RrITelv0\nA5BAAcS3Xmt+I7UksFNIBnuNHB2Clr/eGKAZmvrdp78l9VmopSl+UGKa0Rn4\nnSCkS91Djw7FNiWTzNVhxbz3ceciipVQjuXLN9aP0t/wZHE5M+CiExpo+FpM\nltBNgq8LDajlMu35CMYc4lVwWiErbQZnkVMc4JuYSi4DWmM/WA1hG685XwjH\nBYz2WXRVCJI/GGB1d/stuSdPPRBYh9gKkpUrhRksS+ZfAIOWpU2TwM0c+KCv\nvHtf+eTglWFIa9omu7rEsANihn71oTE5Qg0t9iv+GhSoBWDs5NZoU9TGdlnE\n0WAzu/5e9so7ZMhxU8Yj9i4YJvdzlTaxPJjWHnSApOGIHaLHJFVdGFqYoyUH\nwOkC\r\n=CVxv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.28_1619782513319_0.5570764200238385","host":"s3://npm-registry-packages"}},"16.15.29":{"name":"@preply/video","version":"16.15.29","author":"","license":"ISC","_id":"@preply/video@16.15.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"23307519ce944becc78153911400fbe4ba1a423d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.29.tgz","fileCount":870,"integrity":"sha512-vl68QRa1Mw5X3yCVBigZ5rGNFkJ9zvKMou8s3bdLAYiKYHUE2yq+qm3n95Mv0wsYjwK7gHrY32MFWTRZBy11/w==","signatures":[{"sig":"MEUCIBomguOtiYBzD5e+yp1QxGevaU6MJxr1L06kidEvCVobAiEAiqjc3UBvIFK/A3pWfboK5R5x1JEMIXWHA42fb4Zd6Xs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21254622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi/HJCRA9TVsSAnZWagAAM20P/3Ho1Ps5Bhk50C882PUC\nhhdlqk/LALW0gE4G6Qq+wIrA5aveyhSubuYHC0b2RbSb50NguCnbty5y/iab\nvpZa445td7Yj99ll+3EECmyHovTw0K3qDleCtWnfoubt2r5Gt4b2BOaDUlEL\n5AuG+/NDkersyoz9jLm8c9b+Idnuj1Ve2yrQb9kPBwFs8o8EoHBAireJH8qy\nRBAB5N5xMndOzlOMULfgubjGufui7SdR2+Hf5dJU1UXIpOpPRiiveRRY4RFw\nu/tWWshA9a+25Dm1sw4xH03w/w+SGcwOGv0XLFLz69960oEto+XUfFt0HSPW\nkZeKE7ZIdLaoveeuwEq+kSQUR4YI/rP6lOkU+pI3FCDklPsS+jdHfgTfn/ej\nwfFHmhuocqZTS04lxdmkLUkKqowgSDsR3fDOciMo0wD81r8VYZKs9wxPb3yi\nhkaCPFn3xIvWlvv6p/WidSDUHz1zk31A2lKE7SQFrKyj5Qeu1SB0jnaSYf24\n83uYtYkAVQ/TZVAV22SAHBKCr5b1cKIVX+P6HbVvM1inC6R4WcFqSwmSkLGZ\npshWLl76aeV0rdacCRj4P48SPi7Tx+bz/CX/koKBK31DitLmJ9psKlqi7qMm\nMfNH9j8sw4cC6yYmY71+3aJnYSWIFd2KALW83QZX87gNoGmKGDoOhXwQFL+K\n87Nh\r\n=9+pG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.29_1619784137010_0.33522533790654063","host":"s3://npm-registry-packages"}},"16.15.30":{"name":"@preply/video","version":"16.15.30","author":"","license":"ISC","_id":"@preply/video@16.15.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"174e074cefa48b321e050c3e9b38ff4ff6ce4864","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.30.tgz","fileCount":870,"integrity":"sha512-8yc7JlRupn8o+wpO7galDjlIWTttBA9OFfuT46SUscnuqeEmqrpa780kZ6OHBMm00LsP42rwvzXSt0yQMb2z5A==","signatures":[{"sig":"MEUCIDBn5Ce7QO8MOZM9MwBe+3Uesm0K0VcMtGcwfMAmnxcbAiEAuTgdRH0mXCn2fh3qLbh6vxFiWlt+nUwC/8PJZcmjYH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21255063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkYDzCRA9TVsSAnZWagAA9QEP/jjTJfHq0Tem8WtZT8KY\n4ASYW8n+gzTU3BPfw6pZ0FeppZ/VAH52JF7HzX89HH230OeQNpqoaDUJk9jh\ntvReb4Ry7kw7OfHx1wUYb70ljhHlHgtrVSSjbeAacf0ibIlDkL1+uUcuaZi+\nsqmVwPwjJtut7z+d/5nzZQZXLexYb7YarlAipzZagDz4oT8QvlRs1g5vuhc0\nRZdUjpnKG4UCEiF/WfhU3tm/mlnMm2HJiS79srw0VsUpLf0rfWwtWGvy4OsZ\nObebZHT9cPEhnPmntbWte46hxQ/LVR53bxK38FDGpw9QSMvQ/Bs7p50dmY3b\nV52yMX5FherpRXfZhvfrfCuVG/QKtpgw9+P8CC6iaAQIeNV04X+N3mMUwcx0\nEyKhfAi19G7QxFyTth+/MBvhLQxF91fmmhUKg+681m5e+30mm9HMcCruHf9i\n/ImfBGZwy9stSR+zPqcnfNBN9jjCJlx0dITAxyklRihI4vvf1jfHvVcCPVEI\nrbV3dgHGYYV/3/I60CWOyAGHVUmIsPBTqUhClMnxov2QDwFHa4giRJjuG4qY\nlGRA6QSejo3RBXB26WvNlpdsFHl1dtOOCl8VJy5yBCtkUymqCFdCVB4+7tAL\nLIyHDMg40O7vzp3U+VdQnPdjs3k+VqLF3w/W95rpFV3FphGhKSeNSAIhGBtZ\nhH18\r\n=7yXi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.30_1620148466300_0.07993123566806948","host":"s3://npm-registry-packages"}},"16.15.31":{"name":"@preply/video","version":"16.15.31","author":"","license":"ISC","_id":"@preply/video@16.15.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"22e91f36bd811af8c6a1534ded0653f781195255","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.31.tgz","fileCount":870,"integrity":"sha512-Tgx2tuCaRkKRIkhZR0YQwAZfK5Fnvx2g4I1Nelo9KVmeW1ixr+tSJVNJf7ng4cJpRhoboKq9LrRTIDA6PKJeMA==","signatures":[{"sig":"MEUCIGyp2ec5G0A8ERSHs98jA7/fuk3t1/opykh/6nyyin/MAiEAsyR8P5VA9T1a9sbZqFR482B3s9nCpCJuOP11kaZOF/g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21255058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkjrbCRA9TVsSAnZWagAARUEP/j/gTfxyAQwl9kA2nAD9\ndTs0BNQAGC/cHtgUHOuU6UD3ThK/zaXBFUFFRnXU9Z7U+5gWeztEz7E/6tlR\nMc2M/96fUYEphzbhLcae3N+GJOG8i+dD4ZwzA37B5M0nQLglg/NgfvY+m5Pm\nmzXr3YfA4vBsAPH/35Q/EWiaxt/h2AzTAov/el6bdR1ozdA9X40Xpkibb+JQ\n9wcWIb8QSEEMUUdtdt7wO3/Uhq63zz2TFhhytBIPFACqzyiY/c5nygwZxhqR\n+YnxeGROV9G/2yunZCmMNRZZR/0AQTJIc9qfB0nillBazF/VZG7m3iv3XwJY\nVnTEVc0CSV2OWC45AdTvsercniRxmQQWvoZd5oJ56UpdM84QiTRwKF84bfe4\ny4texbkypG57JaLQRFtRXFf7JJEdBkY9JJhYxgitOzo4/jAmMcwHEkvrJcK4\nd8L7rwEsPG/CxtxsL5YtwXKsEbJFrIz4b5AbID2bR2111q7yNPC2JwMKc8nz\netrXKHW/wn5T5H4CbFat+nK16KmTHe8sPs6oEeo2Gy4X6eZRN35FqEJW16kN\niTqHjrtElWn3jog5k8oeuubJCfKkXy/mSRpai8aoPhg5YACoXNt/9VEbczpP\nFh3dndCWfGKAbych6diXsw5AFkNE2rk+WfxsgChMwmNoxLV6aaZhKEW2pikX\nreg1\r\n=eha2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.31_1620196058575_0.748721771062048","host":"s3://npm-registry-packages"}},"0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0":{"name":"@preply/video","version":"0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ab034c441bc748604cb910f18074f20871f38ebf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0.tgz","fileCount":870,"integrity":"sha512-SEWbDlCHfwQWXpM5roepT85L7jMP9b19TAiwNtAApxU86Wsl3y9il4ln6WSgv3bL/Pgt6oZts7hRuChxsL7LjA==","signatures":[{"sig":"MEYCIQDpIxRdjP4k9OJhKcaM0VsyOyWwlleEHn65J0ONw7V+HgIhAPi589KXJFZ4q99eT6TznWwy+OVBgoLGeoGMc0vMe1Na","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21256421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkkyFCRA9TVsSAnZWagAAthYQAIr6DC0XKEdH6dfa64B7\nDmPtCM4E2M3LnkzayZ4rRFmN0apTDcwovai33REMjr5MAsuUAy7uJRKfFKS4\nog37CxMLQ/FnMXE7DPxijjrcBUgfqEMpyaSoB+SOECuUiwCBeA6dKmxgUQpE\nS2Iih0hOIJk5QmSs1WluqmJ5y0ZTnjuRjFIppicmxBlk+AdyUdn9wtwW7+4P\n29nJJuDyX1bkO4czjmrguKrpkpTyKEOsdIpA+x4bNsqH3hOlKE1s68q+km0Y\ncG6J2LD19VdHaXmDYiP9XNQtmJ/BQ4MsihmfvLcEBkpAGNcu+EbQDB/ZEgKL\nUcToxlawBoz/9vN0SDaInhhqEZlqQBNp3ShuWNxlHxOTCi/Q3VbxmQqCFXHi\nOms5EbBKcL77rO4TtcDurgRTZcyZZznI31f58R3mVVQTzjsoOK9W2NA/nD/m\nMEqa2iQwWL2IatfTZqZVEyLVIE4W6tpSxtZrADIrczgaR3akC5DYWxARlUND\nv740ZovyB2VTc4BlVR9kkoK/V2RUEDsM01q+5apDZhRQCDDdWDOE5kkQTgQk\nL/WS3uKPlunJcUkqTL7+CQIPcoOjGMj3/hD6n6yoHrevAi6860Httz6QpGa8\nCTpfhyO0SiIo4fDwHH8YQZ9CPWtBEFKQsaXY0koQEVMh3saVH0deQ+NBBWkz\nM5L+\r\n=BJvO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0_1620200580650_0.189993073289753","host":"s3://npm-registry-packages"}},"16.15.32":{"name":"@preply/video","version":"16.15.32","author":"","license":"ISC","_id":"@preply/video@16.15.32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"40faed3b153623b8f217e297956509eb7014f51c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.32.tgz","fileCount":870,"integrity":"sha512-ucuXEljerjoxHV8Rl6jNhE/j0RGo4gU51cdCk8L1Wod4SNBIZk4cC0hL3dXLV9Je+/Qwf1gbpMwW1Dp/xwXhsg==","signatures":[{"sig":"MEQCIEKr/jwGhTB/wPn/VP48i//jB+zL/WjfKp0F+HFBKxRLAiB05ECorakB967DvC7Cvd1jYOjM+oKewQYP+/vNRVdiZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21255812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk7OWCRA9TVsSAnZWagAAzbMP/jYMbjlPiegiruK5Ct0Q\nMLLpqZL0O03mh9maiGv1gS06i89X/zkpxw607pAFvVKEQQc22wrGdVUQVYiD\nTrh6YuLt5a7MI/1chwHQKSBptt9Hga7AQ5z8qZsCl2PFatgY6jHOUEb0h27+\nEXUOLqL21Let77A4s5l+tbifUcYMNGTTFeHgoJilNwEM68nDRcozmyuEARxm\nbDPoapaqArAi++oIrtzqCsZyFKrIHW+ghelEzMravnuF0y35VrKhswktc9YS\naR0woTIyfbqhdTED0Up2puGYb41lyMx1VuxKrv7fiMeG7NRhLMY6FlkeYxVW\nsxUxA93dJSzD+nvLOq0hnYJdNfjD0V8FNdddWQcfp9AuiPpU7t3BvxDsEG/H\n63cpcN+jHo4bkka4IBAb8banI7DMnfY+M4lfmbZuHNW30MUN3a7/WHrq+OY8\nqMPY6yjE8qspaNDv5AXd5ke4b6gzwVOiB2Nzt6Pfdk9epWlofXYiXvVNHd55\nI6VDj+KrCuDxzP/I38VPSsSjANPR47qpdT3IbSuuldq/XE5G6SYnRaiMAOip\naeEduXh0NBCT5DNrA85Y3ERfN7dRxT0VXyZ6F0RFxGpX2bPa0/GY4pL62Mdi\nyWEm1IUFB1H2qZwRLYoe09bLMgVQL+eMAmlv1B9nEaviIZL+nR28w6ZYq72g\n7jqv\r\n=roIs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.32_1620292497523_0.22648060997042796","host":"s3://npm-registry-packages"}},"16.15.33":{"name":"@preply/video","version":"16.15.33","author":"","license":"ISC","_id":"@preply/video@16.15.33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fcdd3e7111ce1694a3cb8be9490af8678c69513b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.33.tgz","fileCount":870,"integrity":"sha512-YOe7fwL4sOAaDi0BfQeoCBhUAY+o+SSWxiNuOqohRrFBaJwk2n9zMKxCm/J+mXwJHKIJImXweePJusTm+VROmQ==","signatures":[{"sig":"MEUCIQC1gcOrDm364v3v2sekjLBDwgQfVD8oj1AbhnfKOiiAMwIgOE4ppSFyXVXgmbT09S/TQALO83UJEtolH0h3NkwlP7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21256229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk8vPCRA9TVsSAnZWagAAg5cP/iRr9Ca1yX6E5tPkhndj\nY3nV5fn6e7TnHLLy43gNkX+MQeLpKNEGskRJHwWt1Gf4QaiLlGau4P6oP5U2\n4wGhVv31jQGXMfocq53Omrz01LQ6GKxIYLh5oKeQnhwHP2JBiYsQkRY5CS0+\nfV8N/aOc4ig0+0XO4TB6PsFIX4OsmbWwOqdcY6Rm6gqP0oduTxPDzUkfdD7H\n2MbauxsMXEsOmydWR+cqCmtnlzi1EmfI4gIii375eJLjVKLi+gZzWp009FQN\n9hLIKzvlJGT1A9nBAhqzM6t/Diw5k+LG4ZLi1dXtY2Ahdw+DwgaOFBfLqvMM\nkJaw7hx9gpBbzoygHxtkAAVEJz07295cA/pvyuR4BxQnjO8ObDxvhgwo9luI\nIovRxGv6n2iudCzIdPiCUvueTAT5oHpk/b9WvKvTuAB3tO6y9XWusY0gD0js\ntD/YEwByE5+ZM36yFLfBzgediokZGWJ+AXTQ8/3RvNjzL261xzSQLMzL2AOI\nABIx/+kERIRMR7fvrld+mN72nqcuBByKmURde3Hvwk9Vsh3pUAvnO+Wgh7IE\nbD/pLdSrix2vQIfRGy/vBO6QZwawetqoYlEyZrSvTuzH/MBZwF0GTGpA/opf\n4hs1zQ9SP0I+TTz4q5ijPeDt160K6nLVZTAHa9yy4UxtqDCrqXpDCh1vM19w\nfq2B\r\n=B18C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.33_1620298703019_0.02971007649482038","host":"s3://npm-registry-packages"}},"16.15.34":{"name":"@preply/video","version":"16.15.34","author":"","license":"ISC","_id":"@preply/video@16.15.34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e207753a228188b98d03814a654e9d54a9b3c62b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.34.tgz","fileCount":870,"integrity":"sha512-fgOXWJK7NTq2n4SBZylbqb+OELPCVWkSzf7CH4A4QnZhhRykQ2CGUsQx+AJFuJDJGAaT8JX4U8tAhAygvhF7pw==","signatures":[{"sig":"MEUCIQCIGkiJiZjIC/lPyAkiGWJgsdBDmpb5uTMvAben+K+bDAIgepOWW94jH6tNMSMcDAlU/OVr4zsIz3Yhi83GzE8oDm8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21256229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmNbFCRA9TVsSAnZWagAA/lkP/2+UuNEjavu3YVMGpDOH\n9Qn49at7xi2qyXJWqQpdh4In7efMKqIpd8VVaPF2bZpcDSjZFNFF2jircTuo\njN53dzHx0kS5zjNdG9E3G8rv7/8S9YrxXWV25jU+CDbeg574WbeZm4O6i6sw\ntNX0gBHLrNVXEZCexlt5ZJcpN4TebBQX1ow5ysO/eK+cdZdU0+wqKsrNd+OW\nFcFOY6jv9HqYJ8QL1pw3mYUAkXaWXRkAhFABwKSnb0m8Qbhymxpy+6kAf1Ve\nBkWtXx1UmoaGvCRBJIFto1EWE0/5tMxLsqFQH8r9G0oMBg1iJCEXuT6in/H1\nlMR0bzeGdbnwXnQ5Zw3Iubl0rBj2pOuySRJOpPAKZ7IQ7DwHu9mF+uyt13E2\nZ3ly7SUT40YTmnvTGCP6L7UBbqMgQzBgNmEknHro9km/B44OuQo0Pq3G7sKW\nPgfQWSnEHzbdlxsuHCLbZVADGlPfbUefA4yxXifImdX/e/gOJtU+IqtDuYEd\nWf8ofJR9n9k88fL7Iyh1+5wirpWf8N6xDuslV87dHWT9O4eg4wwf2mfhyc4P\nU1hCKAXrcsXOwIpjFOsCN4VSwzQTH18NwgxV9DevOpawy2OxWl7Z9Pkz4og4\nG9qWdnTLa1gKw+5vaN/sQFAa8Ykba6vHm761gPYA5RZiOCKe2ELmSmeL+MBc\nxgI6\r\n=dD/n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.34_1620629188752_0.7008167769386102","host":"s3://npm-registry-packages"}},"16.15.35":{"name":"@preply/video","version":"16.15.35","author":"","license":"ISC","_id":"@preply/video@16.15.35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"70ad08f29709574c18601350b993d3264abf8411","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.35.tgz","fileCount":870,"integrity":"sha512-rejrPHpgc3mRH7Duuant2hl2iTsiqA7KkG/0NPVsIMnTBdTh2rRnALD8onJP4Ct5q3MUw0YF7Ax0HeQwFi478Q==","signatures":[{"sig":"MEUCIEyPOKAk5k7u3ClWib+yRa2yffcZRPhlnRQ5tOsYekXdAiEA9FNH6jho2/KiJCLDBvMTuMpi/L8yzH4L5cwVoEKrm1Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21258089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmm8JCRA9TVsSAnZWagAAsaUP/2DZoYyp6NJQ0m+UZY3C\n95IswjhBxCuE6XfYAorxwX9lZjw4DWAx3wnliabf0VQZdJ3D6cP4j0E5+kEG\n7eCYLiWQWOvrLoNSkNMFdYA/E9lC1ok6MIDiuuDtNUOz59A1dW5PpVTpzcnY\nwc0ZHNvfwT12P3eZ35DGFfkI+G/l5Hs9ePYs8wudJpQFxEwZlWMYDI+G2IMy\nENq5QDm2W0f04xSqpODlV5cocfSXkTnhI7ofXKytTqEvLzG3Bgz2ctZzQXVZ\niEXpeVcEIkzHDAdycdS8knkfz88Xas1FEr/pi8S9mm3AZXy1xh+VYbCDCJuf\nmtuupt3tdtch5bbSHAzdjZ4UsxBbDbygfzsjYAYUDMmGzLgHGgRJFgWFG4tB\nYvHhhJ3CIt4wPzVbj8/soBnCLNTdSiP5K0Y0YZ1nOV365bGl6elw7w0H1WH5\nNXHuEd/Nxy4o4qlIbv8YI1SsW4BwSd16ehrOoynMJEIXDylwLRbRo/NqoFUQ\nhvRwrMs5hn9RInKKHNt+WEFp/eZdekibJPT+jJcu90LGJ6zEApvaBRXdmro0\nH7sfiLKA+1XcCqoVo/PqOQef/L0ZUzgm3WcRW7nKVXnEgxAyv6FfOFXOxekw\nVhJ7sBmUuYRNpSdFzxoY5zsN1OWWuP2PmvvH2KDBSaANXp2SbnACkewoxiIt\nobkE\r\n=S0iE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.35_1620733705152_0.8225539328286515","host":"s3://npm-registry-packages"}},"16.15.36":{"name":"@preply/video","version":"16.15.36","author":"","license":"ISC","_id":"@preply/video@16.15.36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8fe85a5032e582777d420452e5670960eb92c640","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.36.tgz","fileCount":817,"integrity":"sha512-1j7TSkBLgyCJEh9KnsjQDdxjO7237AwqAgEERpaAu4VkuKDCKxwh+taqpUbjiZnydYo3BYp8gjR00CVaZSvq8Q==","signatures":[{"sig":"MEYCIQCKVCyV9daxh4oxck8QxIEnM/rHkPqyZ0WcEWy+16EiNwIhAMpfd/Abj0foSIZ8l/jQsWyTxk48ZBeKVj223Yr8RDsc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21129693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm44CCRA9TVsSAnZWagAAR9sP+wVbcSyePwHKAth16DE5\nZgvJVfhmHT8ITV2QTlJIv3c4zLgP45ktfzOY7OXJapB+Qh13IHQFKCA3gt7Q\noLT3bt9jGNb7AkpDe0v+o5xyvR4yu8/UhRDoMq/am46Wfcl3+hCpYT3BxFkb\nlFZ/kkFR59Ecs5WY7w3/wrFU5MVyt4+7vCf/nt2PlvCE/385wLbJBTQ92+6W\n0iy71Ir9mVub88r/xU6w/d1ks6D5RlPLaieLLUztnQ4vDPUeAXzgLCrlwrnk\nOxKCa08jC99/KdKObOeRCxprMeVxV+w6dTRx1eNxrzyNfNII4KySDcl1EB4x\nWaT+vpiWgJ6XEfmQyDqpaI0zSrQnQBKdQN0gJ5pQthB+wge7kdTZSxFBwvg3\nEH30zXh7brLFif/RCii7KjUBocC+hHbalVEFf2Bm0qe1uv31tgNlXvnt9zsa\nhjL2WNIAHF9BRWpOhwV/X2JsABnN6xBxDGOVITkTuGMRTNUjTopzg6TRdp7+\nlfN0GKj7JRGvOEuyeTQEKxugfOwu9DotTZvl94vxLkRlQGLFF1Y4UUVuQaOY\ntbsq/j7nm/GevkJBJquG3c3ZAP0TQ3Pv6Nc9xg8xBzjccasNOVT1BtD6kRRk\nD04CBMk0veY+R46SLmALMjEJ7t0V9/HC0HxG7Emu0QhguLtUDlbenMmB1AM2\nfEke\r\n=32Dl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.36_1620807169864_0.9502032808233631","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e":{"name":"@preply/video","version":"0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e62609a6c41a461f9d44e6f1dfdb933dffacf0d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e.tgz","fileCount":827,"integrity":"sha512-3UgdjzFwWW7P8Z31oA47S9s4Ys0n9Nfcf3MX68Rp1jiGcb0PP++ldtLxudRZqLKBPVfay+sZwK/28R9UFd82TA==","signatures":[{"sig":"MEQCIEx7SUiSoOUSwt4TLdNArJ/puASUaQbOro/SdOfkV+GBAiAnfVDZrQpEyW0FC3ttxiQYkhhkv6e6WgPA6maS9b+jqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29104650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnONNCRA9TVsSAnZWagAA03gP/R7psmAoW+qevnJx87fu\nOkjf6RWHNkBnJWUtEapRgoHW15vDTNe9OsB4ViuoeaUs+gB8yoMCEIXWplIt\nA6yb0NXkZK2BpOwCuRm73oR3XV/OfRVWL0aqEz00Q1WPMW3mbMYl2+ND57dE\ncgLzFIIztYimAuKI6/3IHENkwJ90Jf2yrKQnAm1c6AHzXWKacbqeJXCW3ZwT\nvgrZOEQWMaWFxqOe+QIfQ4waq0PP3uxwM7RuXwv87C2GJtx4DYjB3bBXyIzG\nn2gFWV/5FAD+U6rvBuMVmpvBgbOgVFR5H67yR6/stkV1njsz11r+Fid8r2vQ\n4dl2gGR4jbu3CI4CqJFGRVH4encqqW5LFTg9dXnCJSedANImJrVXNcC3mLGr\nN0S2FKaekptl8hJ2HVtTZHDnZh1K/whwTnfEwxbYyiQLMGtrV4vR0iRqR4E8\ndbLfheOAWNl33crmr72D6Nd/gURH6ZnUKmtLx8eVDhMkiYi7i6gVtD/GIySB\nRHaIBSqVd9Yi68nNTh7NihARLk6fEw0wrnO1MwHwi6PTzDyD+lGhUkCB/a0F\nQQDR0Lx0VfyZDNjgUh/O1o8Z2+axGXPDv+qxel8DM+PBM/EcLVwjC5/AMDBx\nbDW/LyFKuYXJVCfRh/AR/cvy57ZOnPkPsR4BOthpcAUcR9dahqCpVuBdPDjj\nonv8\r\n=K8i7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e_1620894539211_0.3598772930238212","host":"s3://npm-registry-packages"}},"0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630":{"name":"@preply/video","version":"0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a847549fb2567e2eaf8d4fe93a0bb6e43ffd466e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630.tgz","fileCount":827,"integrity":"sha512-PJPpTNzhdBlaUBrHo989pVTPbxn2SiZdYfEYOL2GmMeCRRjtrGRGVuF4Y0RJsZVuWJGFdZmzm2uEm3VI1j78Yg==","signatures":[{"sig":"MEUCIQC7+uFGsn4xsz7fQXtHh0DGHGJIec3unmQl8XOQ5IO0LwIgXBJ2/W05o9rizCkSt3m1iRSyN7ehAohX9n9le/v/Lss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29102175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnSjVCRA9TVsSAnZWagAAme8P/0pYYskapkqT+QnzQs5W\nd1v8VxBlY4WEYU+uxMTdDSpbgCXMz5+BxTdb4PBUDHMbnrcXyHl07Fa55dme\nSp7SL+KBYkHlAYh5TLCYtImy1uQXG+RfZKh5zHM+uRDtp0dCr1iBOyU2ipU8\n02/TK4HVCo1znclV1/Uv2yn60y+l2JELtCemYziH5B1rWKHeRS4RvUKrc8Ic\n7IN0/QezTNPk6gYkvwNwQHLqRoR0Y8iztYw5EqAy1cIr5w7ubWUsWJgnZTea\nprO1fUkncV+T/jYIpsaY85lXXIKDtuVKMzlokVtpZGWgItFr2a9GdYyErWcB\nx+FUf7p9B4PDJVL+pNJmqSYjV572E0HNcpFqqmALX/sDi2IIpyX58H94firo\ni17EbypDUzQeMhNvXipo5u4IE++TInFiyAK/M/3B2jPVfSqFEYeP6Rm+TeTt\n1MTTSwPs5++i7Fk+sKtEBgQvhAOtR2OfA63xqt3amppfI36fVg0ZW5xHs60+\nd43n2P0g2NMkhiOomdQZCTh54DOARR96ZBtkvHMpun8KOB+bR1GAhMyMpCY5\neZjwqWWXoH80VGxwpCop5p29+iILcOlsPBpt/4B3ODM8p8ya5uyXUOoR/wll\ncZBJShvftz6Tq8Aym/2d1f3EO/LgEoyKNP+NhmPQk7JWF+JrYifAexZ6BIYg\n2RHV\r\n=hHtx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630_1620912340174_0.3104567737814452","host":"s3://npm-registry-packages"}},"0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5":{"name":"@preply/video","version":"0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f8f46a72c6f2714342632dfc396a313e79c458e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5.tgz","fileCount":827,"integrity":"sha512-/nRZh31UqV4m8V49j4PXoJrHEDek9Sj9qFP4iAqjuHkWRqQIohOBOomQBRPzj5FvFLdeoeq7+cL0TgiuxAV65A==","signatures":[{"sig":"MEUCIBjM0JCglfCm7PmUDH2ACI9b1opBMRk3dvdQin4+fS5+AiEA6rHiOj44y28IsaA5oWyPCcLtK6BibroWhgH3lFw1C88=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29102280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnXDlCRA9TVsSAnZWagAAdtIP/2wmJjNtVER+yWk5TIxt\nJPSezqlpMu2VV21KI8Fo1Pr+O/oqKDHaic6dZoUppJ0FLEUYhF3NUdNkl80K\nuBq0ymFYMVJC6qwrx8AS2JNHW9MryoWiQM76J11EcPyoq8qwDgIzge6Xns39\nC9sCJ53ww7XZ/u/X6O8WsTus9WNWPypTeMY2Q+34MU5Ux8OgAGhDNa/aZ8fH\npr13aftYjKuq7nVja1cjv6TYFh8G8iF+T9NaqAJPqPm6yMO3T35/eN6eyNry\nVRZQQCdpDcIzuELvmc6SXgsIjgc00BgbXMcYDFBjCZR4S6bkBvTXAd/BKLa0\n2pJ1wr5/RW3ChoAQufanbivFprO26aKbTOKoohFbMoKls0Um1X+iLISwQGJS\nILerCo4LCCuvwDj8SLkU3euBMOLrfAmu0cyDpsl12Ir+6IOaRmxGCBWi8YlV\ns5xn0pTbGIw6OeJRSq/kXoilG/aAKj4I0JyUOzVgVn1rKZr1G8pBKm+PKgsx\nmWHt7MoeTXzo2mzjj6W603ePx9fdLTUqROZN706yo3bmwYu7oTUdfQKlwSl7\nzECSrSZjiFpwnu2hyslBBAJekHbOJ1WEDjjJEr7rWfy9NW6Yh7LLIa/I1Zwb\nu+LfZeE9P795UMeH+7Kpf9h0dBtolSEZUScMvxsQsJeXqNdhKZTh9s9UceCl\ngpQJ\r\n=thkv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5_1620930789013_0.9961481968250818","host":"s3://npm-registry-packages"}},"16.15.37":{"name":"@preply/video","version":"16.15.37","author":"","license":"ISC","_id":"@preply/video@16.15.37","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b1393e1b2790c45e5af32fb4d55281ed969d098e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.37.tgz","fileCount":817,"integrity":"sha512-jekkIRJVwKx9JemDNDQiwu3hCsnNYxdJYt/2HrvgWdIKPJZa6AFunqElS8yY1ajY/zqRlhcPMaVJ4lGrC/5sKA==","signatures":[{"sig":"MEUCIQCXA1JjED98Zh3j0LX/2hmf7RB0eMrNzRHNNPenYUAxZgIgNdnphWrNAKdDkUT6xdrmCqF3R2/jRuLutrO1OBpxe7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21110712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnhvcCRA9TVsSAnZWagAAr2YP/iDBBCtRDVvKsOnkVzFH\nHBh5W2eodoJJLT2seDZUekV1GPxIpkH86gG7KiQDKL4FYGvG1EIIV4nnHUkw\nswF34Z1eSNjpsU2X8xEg4pzmG7+PgsTO5UcRaesuUqi2yJyY0RgEnwUgwDGY\nbXm4FmlkWIkZvrnlAFNiK335pzAT/mrBtt72ucTgA/E12ZsZaBpnOiXLwJxM\nMtYr9ue+dmM4s6ln+HIj49HbGQCidBlI2rOfq3l7Vo6+H8FOTI1aJ7L3Fpdo\n6Rp454kmqLroU+KM8N79y37wbIjugrXLi/k2eEmNaxzA+y1rF7liJQ/u00r0\n1MYu7nLS5GtsQQCHd20yWcT5ROcB1bdb+0mLQpuiEKNTT/LckgNZRn1+YFXb\ntVnj0OSNQH0ATk0y+w+hY/njnCTm85cm+2Aqnu9UtkTQ5KXDH8slyfcHz3FD\nCcF0bw84ZcXUCR0Dh+31lO40SjDr8eJKsVwY0TV+4yrBa4EIrrE3nBSlNlWX\nnewijgfbcXeGkA0+rGbiOBUWFhM0SuabdCxn6sJhgZiaoPaso2T68OZ+9UhZ\nilIchv2RWc7AVMElx3UkEC2yvxMCRVJYckDNuyrxl7yMDJuH/l0JeD6DxpP6\nN8oLqH1wpuX9LaQtvIekN/u0QzBgEF++r1lDbEMEom+aQ4bXsLadtQFtxmiB\nek9Q\r\n=wNdU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.37_1620974555745_0.6085502765350959","host":"s3://npm-registry-packages"}},"0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1":{"name":"@preply/video","version":"0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e4c8cde34b3c20041c80d18d85324a9fde6e1b5a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1.tgz","fileCount":827,"integrity":"sha512-V+uBUIFVM+gMM1xypdYDr2NgrjDAA2a89aLIZzapilA3HlGagQ/kjrDQaFIJ8uwhy9x7y2SJDbEGElFp5dmmFQ==","signatures":[{"sig":"MEQCIHPPp9vbvtgqfn8AZapExnJr3MTA83pqr7060FC7z4xeAiApS3xQPf21rxMbRRQ4k93RE4HdCy6wSaGlowzTbK51lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29084212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnnaRCRA9TVsSAnZWagAAxOwQAI3opPoAEyNTKRe3i9pg\niCYjFGyUDMPwtyhoqXcFfCyZ4nEI2RFzmq/5WZ0NC+r6LIkbI8a/YVjVOA8U\nN17+gYo85YbO1yKjwFOf2SPGybiUfZbgMnKizEbYIz4IFCz7clVWaxpZque3\ng0Wz4CvPT1GNAta/BMDl9cBO0pBMWvdqWDCjCr+uxwP6kgrYPjfhxHz4PYu8\nKun8R0u8+behGt66xjqdgd7SRwg0KVcQvx+p7nSQzDnSaturb9pyaRdbn/23\nTN3KsCy//NjGF3AZTEPds4k+NVN31nPrIKtSaSYNY4Ok9XjxkmLhesNnbiz6\nU0mFfQRHrJBHUOcGIc3YCcORN0fgBtbvrogPmCU6L+2bsFKPHH9xhLV025Dz\nnx0Rh4tCqwEWGTe3gmSVIyHbcx/q6LxdtkXTzaZEw12+CENV7siEF23fJLVp\nLd+jjJjEe8nm8R1yWD3j9LhSK6xPskrAvH3v5dqEV4xJTplzFroPC5sFG1ah\nhRVNo4VH3+/+dcaTCei3A/fpdpJKiE3DJcHgg8yZF1s/mPyKps/pq9yKisaz\nBV6K/SiNxmsJdfazX9IRYOiVeSSPDuLkc2KF3P9ze6KQ4WTWfJeeJRuR2g2L\nqEDACxx4fjKMga/mASHYWgb2nE398UuwG37rKoxSDZXlZEVuFmynqM//f+u+\nkwhP\r\n=eRdC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1_1620997776736_0.19493595161610555","host":"s3://npm-registry-packages"}},"0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53":{"name":"@preply/video","version":"0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7f9f45a6b70a97af9a44080cd0925be7a3661bdc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53.tgz","fileCount":817,"integrity":"sha512-/BBXh4iVyx4ctgkEYF8CkkdfohM8pBk0068OxubFSxEYxBbJVSja3/YfJXVfA+mX/TG9nGExjpRBUatzRFK2hA==","signatures":[{"sig":"MEUCIEM7woLx0bbiSUCZ7zFYrC18ZKtkKFRgZn3Mq0gWuzqEAiEArhy2a5Ek6T9+VUT4LCqlCdVHj0+N5Hdo2GU0ytm3qyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21112844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgohzTCRA9TVsSAnZWagAAbHQQAIni909auI7sALutcnt7\nOnPHhKLF8DOAeBFJUlzP2Yz4IwAcxGtssDmhKSm3/VqggBOdQTd0E97Bl711\noBNF+cgm/RYy6STpKvbpAvQZXfX/yHJwsV2+KucWnvA2x8FaJ4OfQkeSrMol\nMbQHdCD2GuafWR16TB4UpulHZ+UK8VMMi5coPctgtzYGqAigTPwRIl2tnYEa\n/8x2dysM7cYif0/o8ybteaXBj35MZMx0qqQDFdLXheGlm7RSpewrsY4CrpmF\n/l+G7C6UDslQ15uO8yr0Qb0HiH5tORpVcWRT3Kxvhm7RavzlI+hpIpDU8tx8\n08gGNP7nybE+4dXBJAokbXOS9UNNe/W/v1so8BFJD7seKs/Ep01m6Q1lXDgz\nXUXwxnfl/uXuXPHnqxzyh/BzIZKceWVjxM9UzqPCG53+xqMwR9+V2MU/brDB\nUg4eKx8HZcc4DuF2VG76gUkyxDeD9bt3w/f8E4+Pgo27CUuvyHoOWriPYDXf\nYNTRMX/+xn1VDlQmp6bQu3FF7HCrkCEggQOM8frb2LBqBLCxsjP9ZsgAcVj4\nDYWfJoml9THFZIlitSJKXo9JO6cq/l+YmXJKX7BWYhkX+/wKM0EorVq3/Ft6\nl1EL2IMN/6++3SVPvHlB1huQ3K7qqTKDWjUOrS8cn3EIBr3sHGR2NAu2kzZF\nibsN\r\n=aAj/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53_1621236946327_0.2842625432492112","host":"s3://npm-registry-packages"}},"0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937":{"name":"@preply/video","version":"0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dcdaafda7cd46e1919c0f98687dca03a6ba552fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937.tgz","fileCount":827,"integrity":"sha512-fk0cUJClQx1DfE90VPk8mSbT8jRWg94i7wdGjdJMxgt7vLf2UrTX8i9YhjPKfUIDRQjR1UbHYuy/MHVZvfrj/Q==","signatures":[{"sig":"MEUCIE5iQbGlYPXG4iCo2jbeZU6djXZBbRyAbktvaaUktDe/AiEAmsv5ZHiYaSkwwcxH2j///CFY7qLjGgSMoJA2cveoOU8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29085733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgojlUCRA9TVsSAnZWagAACT8QAJId/Qa5eDIueihyBN7T\nvvUqYRYyC+1rE6JStkzQQukThZpVPc4RcHI6mgCrKME+3d42dbFYnszCroyE\n1ACagNO/Vje8z89ap6cEvSjjS+0DoDa0S8wo/wycjYFK791+qutNvhELeiGi\nwk1g9fazSMh355UWt6sqzhNnymNkORe2D7TKa7PNgi0iw9GpR21uCnq5eqj3\n6ssTQ0HpJW2YhEfRqEMNuHsoHaFfQrKG+bkpBvapcGvJURcr/jeQJJw9f++z\nhoFEnfJ1+hLRRO8/LQf/gI257omXJxDrQoefmTJfQOfTXzlNULfqQ8FXkSbE\nKOtw8mODkpTpJbdO/i2rw8RjPgxKYawJJqQ7Q/sDppQRDoWwL8WhSO7QLGva\nvcQmvuRPgnXNngYX6N4VrsNVQ1cSaqAZEj/ygSojIyrE4CQxMjNzGt3JSLBo\n2wuvfzMmgcldgrNSHSn39rKLut9ItM1CX52PXk0Olz+d4+BGH7FMaepsvPTK\n6zW0uStp5k+JXnmc/ticeUqbB/0Xbsehyxbu98mKTXuQMBawe4iVyv2IhGRO\n6AxHpP0Baf2OBWhAY1AQilQE5iJXWyZF7l49YFPEGIhQKB7Z7pYZNc3uJ4+K\nqERRhrTXRZLDAlVFF0+kDsqkKM0+A+4+DtkvH9Is6590ZEUeWQ3NJ2b0w2VP\naieM\r\n=aQDT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937_1621244243547_0.9927255333139435","host":"s3://npm-registry-packages"}},"16.15.38":{"name":"@preply/video","version":"16.15.38","author":"","license":"ISC","_id":"@preply/video@16.15.38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2f70e1b55f9f928102ed55184a51cf9526e02a6a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.15.38.tgz","fileCount":817,"integrity":"sha512-HVpD/wxS/Vstwt+wXj5TaX8r5YV3kroEEkhDhJcDrIGft6Z27gmGja1fH1o7mkdLZREeyEPntBVJ68fuGA70aA==","signatures":[{"sig":"MEUCIC9z4fhJ4VcayOieiqC+Egz/HfGphNIuh5LjEr8OnIOBAiEAjtTq5Ptm1Uf3HZp4ovPC/L3C5wOP9PTwS4tjs8zv6RQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21112373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgojtKCRA9TVsSAnZWagAArPIP/A3S6y0EwoPQJTppMdtx\n7+aY9e5LIuDZT9fA3lFq9ahSsqaIlsIDElE8vTSE4ArvIoX6srwv9Do81J7y\np4fu3iFRVLViCMQAyXZIjLPuwzmd/mibxOyh6EQWYd2BvKjHTTDnzfQD2asY\nucMypSdPBsccaPqO0Xo4VtIOwlPTe3aVs7jdZroIvN1gL1In27aY/O4o180p\nCXXdBDJhH6ILBggTZQOeifpeotrCo5pATQPWFL5M4Dhw9W5d7sxxZoWZEVtN\nTyJqdQFdQxEXULvMVZXTqHSBHcdHSBqyP0sql1J3TT+x8laFrso4kTiAxJ3T\nMHheVoJyUQNAHubAEFWh0n+MWSUTCpjTAh8ZWPiMcf5ocOBXViXRlXfiUsJy\nZVXj+ec83Xc+ZIQ+1sZioDnBLhOqS2tFSjLs1pzYvgh7SnZ8B30V21wXBfM+\noAYrBE+ukujHNQDWd6LtC/5JBAC6Cb/LfRvLqqQTRYkbuSQNPbcdrQB0nxfP\nNphU/1NUke6Q7niN5RKjVN+pmAj9tRGoh3Ud8U9LQe4B0gwafPcFfnMIyVDg\nzuQdcI5qml6foQMEYP4YDdp7TgTABGJGtMm7uNBrWWEXYFmapPGJ7lz8RSPX\nsAUerP03/qNRth0Wn9OKH7cUS0qpUQn0ahX9FJIxy4ufXZ9jIIXW1kzs3/Zc\nEoBb\r\n=/tN2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.15.38_1621244745534_0.20945248160856433","host":"s3://npm-registry-packages"}},"0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315":{"name":"@preply/video","version":"0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7c4cc621e2dd32ef736444575c7dcca9545a6820","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315.tgz","fileCount":827,"integrity":"sha512-HAsccM6pfjsx2URH2pPyTzrpgCF0Syon6MDS5pbLMR/rO+ay/7/f5XN93lw4G0WBllJYzuevn8Hsb9aRmLjtSw==","signatures":[{"sig":"MEUCIHDfnnZFyETnjzoCtyC+gCXdqFQ1IP8Wn58bs1obDUb5AiEAzulv2DjUutVDVqYEUEd4Rqejr6Umron3IZOPH7WT8J8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29086978,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgonjsCRA9TVsSAnZWagAAqbsP/1KlNkW1yvgyKJ3ZGHNO\nF6iIMrLCbIp5YUP5LoZ3xkVEBfGDZzCOZ0Qp92mzRKc3ptaLbriNBZ/rL4bZ\n/9ZWu54epMsptncXzUC5BZczULmhOAGOnEN655v1v2qGxLkoj2GX6em9m1PL\nBf5Lui4IeUTiQ4ciHgZ1QkG6eJAnQQ3mzVwH5HbbMGFcyuWrgb8biyXWrr1t\nLb2vEMuo0xH4x9x3ZQ+JSmY0R3BXI3gifxP1PTtMfF9t/BL0T8YtINaOH7aV\nLjpHY7WxA/B7aFf1cFjJIw20niRR0+aQcFI19sD9FnbgcKwRqNQDp9bQtC2j\n+d2J09u+hBGua41rmCNTtUn00sLxaJ0nXuldg26hK+bgYVU9nP9NDq4a+6Y1\nArU4QYgmqz0vt7YC/uuiU83wUErt9fRpqEc+uy/fFsfho1UBwsXZAZct3eOf\ngJbhTo3/lGCYcEPq3Obtto8qELtS/64pp0B6mAdCGY8xEHe+2M1tC2IOWqT+\n1a0o3PePNwmyZNtqJhQ6z/bhr5kALJTrpjHU4/7XNpr2+tMrpHNDUd6Ej2RB\njZHZub3yMvU7Dm/huFDNiwLrLEjubhmfR2IcxV9qX81DvapWoy5CyEUmbyP8\nHpERXNt0fWtR3RogkC54+9ndVIt/69f3yJtzjdgKX2w89CckamAcQlHhxxr2\nGPoL\r\n=QLv7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315_1621260523387_0.3959194779594335","host":"s3://npm-registry-packages"}},"16.16.0":{"name":"@preply/video","version":"16.16.0","author":"","license":"ISC","_id":"@preply/video@16.16.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3d96cacebb6664d9483e60bf9a8231504978fef7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.0.tgz","fileCount":827,"integrity":"sha512-lOa/YwBgR5WE43QtBDC5fVS0fAsMOLA/fhizRit2xcM3IMSGlfgQm4AkZzp8Ymf3TDZAI1XeFPvM7aHdLd+UJA==","signatures":[{"sig":"MEUCIEgRGOVRIgt2QOWbDQoFQHl/9BKgXUxmdSKauTSu5y44AiEAtOpEm4wIZhOyvcXTsBS/0PEddg8NEvO2St3uOiRIVz8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29087014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgopQ2CRA9TVsSAnZWagAA2iIP/3OCf8tGs913yqmvlGlT\nXn5GLnA07k4fglyyBXvTRKaLgAGvmwsifQG8AOc5SbF5ZlpzQi9PYg3Oh7vI\nLFlXBuNsGoCtexon8/yUiAzpMbySlagewMWPVElG/27VPXj1WQlJS18CmI5+\neDEJ5xEL1eFDZuGlICg7fVz9Mk/6WWwC1XbIxjUuix5jrvpeTW6W5zJQtcsI\n7IW6Wleqk2t2d1eJNMCX0e/y804xQbAmwkLyxFDpe9JiGzJz8CJr7B/D9z4+\n9woINDO38BqIC6SEboKO8IfqtB18QNIw3NwQsCO2tIz13Ff1X6H796ebdGwV\n0zHaWkcGkH4b0CW3+O8mGgTzUdpEQKcN+/D3o9k7jwh7ryIuf7ketMcSRSr4\nNDZK4cWNa/d7dvlndXAJ7c9QDvdp2AiMz5t6nrAIdGoA8DSozADU9XtcZ/3L\nLvzVE11+hJj4BLTDxkmhG+u5arWHOmBofeYlquM19vRAnhaFv+VeOIh3zzKi\nVZr0ZBJS//RPt+8RUYQgm3I6rYF9EJtxmvEqEWDg1AV3TUBtN0u35mWbrpiv\nB6AzNnT2aXVSOxTzD8OfUfK3gbaOehjkR7nsixi+bK9PjneZGtz4kp3FxOmz\nEv2idvp3kRT3q9XGdW2C73FG7xBM3hlHwgaFxNFAeJf6QTCfiTLuvriLt1gW\nl9DI\r\n=i14n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.0_1621267509000_0.9011162009833182","host":"s3://npm-registry-packages"}},"16.16.1":{"name":"@preply/video","version":"16.16.1","author":"","license":"ISC","_id":"@preply/video@16.16.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"45fdfe53104d2e844c74d28250d41c1cbeaaa166","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.1.tgz","fileCount":827,"integrity":"sha512-+y9xcMCF8hs2pgJUMHPWwEkelGFHgAfXfXlysN5HD0WPfg4VifRHtipS63Wb/r7NuHQwumM8Z/gccl1EzJkr8w==","signatures":[{"sig":"MEUCIA5Y3h1Av8hQlz0y/xZyugIXJhzcLyo//Inu6FVLpbc5AiEA5KXpcM6ryofDM+q7EwyfpgNcsAWMX6BgaSIISeq/OhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29110280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgo3imCRA9TVsSAnZWagAA5rgP/3Oa2uVJzEcWPxkrUmYn\nWvKw+djYnLWfCtxg7URxWGzr/aZ9qXxdKSamZHirBiQgZwta9BArSeDxZQK/\nfIRucKDmKJ86xQrm4QTvNy2IunBov3g8/f8txzkZ1k5iHp2Pn5a48Pf1IKYn\nCunL/KHhwdjbOttvNc2iyVGYG3V5IDEPzPQVtKp4BHQMzFcnnbUnBepnVHuC\nRG5P9E5RioUoBGakCQtYhCCH4yDsbs+rpV+L7A0rtUdPPdt5AjRBSByDRP+B\nBqgt6pdkyMb02XudUap7ZfquU3CVLuOQLS5GI7oJlJZuP8b/86J5j62EZul+\nrDYwYYi93IYJ+1bDY9XByTWcD2QCdmmmSf0pPT/Atp9aKFdwO9oGhjOQfFfl\nI+HPop+WQfJ6mkgyJOR9iMh9te5O1Cemllb/m9Y9MZSxb/fclLw+HX16ipvb\n1kwzSWFeXCjdqtd9GcE1QIwyIOQHwZvrPsG5mRkOZwKDRwVVMY4VfprzteAZ\nSYpJhudcgzPMY28PSYRjoY5l6l1DNzrEapDep1SqZ1ZCNEcWfUvD1eim/fGF\n1wiHxkvADHsF0fQZH/kOP0m5kKaX/O0zVmPxwBgJTa20aZvLfV9Xh2R1mivs\nafGjn7Dx6zQAnvO03Q4MtE2Lzx4kARWQREJsFXW2PoXMoN47hB6sy/wb2lay\nU2Sm\r\n=+0Cg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.1_1621325989575_0.6893614380359776","host":"s3://npm-registry-packages"}},"0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58":{"name":"@preply/video","version":"0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"453b55a3cb27d3807c7c10388fe387db995c4858","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58.tgz","fileCount":843,"integrity":"sha512-kYaPfchGzrOcMahpuXcfIiXMwqZrY+K/8Z07NVkvoWXnHP97Cns0dZ2V5V85K1iHr4bPtUYrxSBgphd87S42mA==","signatures":[{"sig":"MEYCIQD+JWAxnXC3NiLIwoCp4UXGPkfUyEoXgZNOjughnQXo2AIhAM+5Gz2Oj/3xmw0t3ByQWqqqXyhWirXSN3WNQZhFyxDi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29301059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgo8lzCRA9TVsSAnZWagAANIIP/1Pi4gu7uYIe2qGxHJf9\ndWpdL8BkkVjnq6d9k4UtKOuHAENAOxCVgNxqteZ15rS3FvNI0o8UOHv29378\nkNO6DWqAa1dqcsKEjedS8aDjRoBQjP+o3yv0nev2XcEu3DjK4dWNO/mo/XuV\njVG+N3ViYI3cgUKPxxYgsS91UaqL5KMeWBSUSjhcM5OW69BqqiTPZln1ZM3+\nuIb5pRfzBnCTv/RJKBkGEOT6OFxnnsuENjP8zFWPY3KRy8MIas1KZ9zrTkzf\nwXpWPTTqLAVNqikYI8Yk1o9QCrBNmK/tFvmgsdb27LzmMQSRLK2um/BuXKAv\nr4ZLSHZJSl6SV5B5ZAcLRHP4vGZjPiE/JIJtJeg/Ppcq4Dh/sIWvyKNA/7+Z\nHWD8ulpSd1RKDOxaScNX2uKUBeKnTXRefLtqiEMaOvXnytNV6dimcGWE5VHP\nzj3R66CavdJ1lKm3XF+D35kJ685YwgNErova8oLqILfeHk9yDZ0UvQ5E29Dg\n+JscSXAKAXnfv7efUitR8vd6r1RYyppEbKlwUAGxN4l+0AC6K3rQa7w+r1Vd\nOxgNsst83BMFDZXqSKFVO6TkbPPfc5sn/bX13g7satwVr7xNSud0EStpHbNj\nefx63betWK++hS6vCwimma6boKTQEJAWgLkIwsg9HGTOxxs7DxyfA1GAXGkO\nli4U\r\n=gFHQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58_1621346674321_0.3539573221514596","host":"s3://npm-registry-packages"}},"0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8":{"name":"@preply/video","version":"0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0baa7c349d8b9492b7bdb327279ef8841841bd01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8.tgz","fileCount":829,"integrity":"sha512-7+uevgIlNXZaK+CidVDpJ7Kow4JdS48SSz4F/4L0Yaz7G9AfFe0yn4igHWbWbSNmOQKswMLKsh25Xmwg+y5NRA==","signatures":[{"sig":"MEUCIQDpYMo1fxhQXKI6SS+1oxnC12kfKwyflp2rYoCJu4ZJ+QIgRGZElDwzKusRGuywanba8y6+b+wL3+a9//LgTW2U8yQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29104158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpLAxCRA9TVsSAnZWagAAP3IQAIrRHpDh+HNuCRKwDtsF\nVNXbudHYzqkdlMfEzbrKoA8D46PSNbK0PbDnLX1V6bdRyoqK2dvQ3HhynHiW\nxNCNXxiUrFQZpe8Ok/3CT9r4mwxEsev5W6s/xbfYsW+gnGd2rcjX7jxPgK9r\nKN9DFU/oAf3NWorkowSIl6+7YSldAonJ45NbwFITHeKhHOLlqCyCdM0TTUAx\n/kPketEKH5OeN14n2CxSNqWeHWyn6DzTYmIfwhZiAHtOqaGJn+NAOWrdru6W\nrqVUHqTVS5u4rRXzMP09ddi4eCMAXNNY/CYTF0/lrO6BOFk4HwwYUX5YPuTs\nsVTw/xQ6910lZ8VhubCdCv0iRFS4Z1y7x3KS9WcBGTtdjzBoeDnoZrECBh/M\ngVzFVu2zXYHLOr4fpwfcYyZY3dXDAzp44kmS0+ZhIfYQczIH1T9x6YRQ+put\nwwADvb68fD39ZKA+otD8ofW7RhP56pEenWXcXN04p43/YRg5GHAyF0CE6ZoD\n+SNxZpKlanF2zB4HVsHS7TIr1jIgN0ZUbhj3/smrrg/Y6Zi1qCk2AyaLmX5s\nIq/ArUHNcXJ0kSItgnVr/RRie8+1xtNP2HK8ZhjUu2aua26fPqgDgmixefy2\nyVDM179UrI/KlD71+tObf+3b8Jhff2hY80ICgvxqV2a1LAXJMzI2DUZUFll5\nBGjZ\r\n=Jjq6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8_1621405742740_0.3548821932119046","host":"s3://npm-registry-packages"}},"0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531":{"name":"@preply/video","version":"0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"79878c0bbc2dd32c81ae7e0ad1a6bead82679121","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531.tgz","fileCount":829,"integrity":"sha512-AH4GbgW4x5M1woAaFtNcIqUV6aHVOVuWfZZF2ItfAPsCLDHH7/vPOSu57KCfQL2UGl/KQyKmQVpXCpLVYWcPgA==","signatures":[{"sig":"MEYCIQD9Uqko99kFx/dDV6NCjHtFLsRL1ymr4iPVEp839ccsfAIhAKpzLetXGOFvG0PE/dfEoxrGrPUGYJWZQtG/I3J6jomG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29105373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpMOLCRA9TVsSAnZWagAAzbcQAJTs4o4ynSaK0gFogtwB\nflhDymglkd9YZTduU/CSh+gyZ/iX0WRK7dnH/SqENc8NFh2N9wL8g1LU4szl\nwW1LDJnfzgRVVusDJSXRLB+mRLTxEOWh6XUT7yzEJ0GM2bwqK6dJRzvGk5ex\nUFsLIcg0uGrM/tqhoXnVpltFD/dczG4YxN4hY/DdVwvxm0x7qcn/wjOcfDO7\nSYEMIkECgv0u8g5AYmNgYnLG2nlMdEj4Ny7L4APg3HFGivxEEZp9v6XrK6+c\nr4oyO5et5YVQEdxc/b/ETGpqMFHdQky3+r9g3gvrz8Xptrh2zNoKT708su5x\nMyGCRz+B8RSsYPTUvL9Ipnv9wKtSIyNPsIlEo+5SdjpNV6GvII8KjKGGQQsb\nv0aZxSiWHdncs4PftxUD9gFa8ywU8WA3GPchDCYyQqz902bKkkU1vdjrJkZR\nI0M8JMmGKtAKbtTqDuVPYJ+1cd6QVeGtAhNJT0DZAm7/JBdMcUg6ilWIVZQv\nAPSoFT5/F3Lb/KnmqID03a+K6RnbEhjW3j+UoXB+IurnVJt7hkrpcU8MQ4KR\nUUPTNJII9+3Gv5bWVNvxqLRc1x5297Vucql8iYRVBM4DJmdU/qyH4CmQXdnn\n3GGTz8z/ibd7yQ4HLW+z4FkZrkxlZWNiO1SMncYIK0V521/V1cvMsDP4/pae\n97GJ\r\n=jNeq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531_1621410698418_0.8567289259012936","host":"s3://npm-registry-packages"}},"16.16.2":{"name":"@preply/video","version":"16.16.2","author":"","license":"ISC","_id":"@preply/video@16.16.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"adc257c3e6f885f87074cb11a62a97f7314ca410","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.2.tgz","fileCount":827,"integrity":"sha512-LcWcgpdy+HY9yizp1/b0UmJWwWUj7oWOH0psLxl57+57COBPvqPYraw2dZBVxVzYY9bmco++vtyvzjCxoi4+Mw==","signatures":[{"sig":"MEYCIQDndjopRUxuyyTjC50zxBM+Lnk0jkJrOr312xAGjDI/UAIhAK80ngCb9FK2cPGeqgmk4aTJsYjeXNom8OneZJqq0c10","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29111562,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpM4sCRA9TVsSAnZWagAA+6IP/0DFGFEEpkDWuAMYPVk5\nJO6Adr5AVXasMxMyUvZFbqW4WlaXidBy9XKdZPeXVhG4rmv4GzH/sf56oLgO\n6WtY1hc9nP1IFkXhDF/yrEBocbj/lqDQFfjyIu/Tfb/hKB+z264giiuqbp3Z\n7elcWzm7XAV6FgAOg1F94cdu0J8ZF85H3Gjzc7Q1pfnbx08QpSMdXHeRhaWh\nqnEIa9mXVBll6JcCByC/xGxxgZtuPqnApE4lF0xJ1IiM74nr3b0jZaGgW7/y\npUqSiy5+IQuzkjOQjICi1M5U/5QSN7bkomJtTdp5FdzAv3+BesQ3XM6KimU8\nZdmcei3AUXL3IomLYcLJs/3rFOKMAH9fh1Q2K4CKMk1FH5LbFkBkXOmxiOu0\n6HuOVK2A7HRzq4ldsi5Jli270wFFrnXsYqWEuHqeG4M4nyK4275iI1e0+Fli\n3diGxVlu664MhrXpBArjXN3gAj7pHRtlSu8QuVHOrylFOauBAXWZNWq+CS63\n2Hpcof3Zlm7Yqd/7KrrtdWf96hv1z09KWCNt+2+nDavHfGQfOAgVOFO4uAlF\ntfxyvvSDHLXVObYi+AUp7pyCU+6ceXptz99OFOLun0LYybcnshRkpAzAJBft\nG7wWavSuYyl5zTn/TUvjyeXn1jjO8/Fkb5yiu4uC5Fzzp/+NvAAhp9ZWKZ2t\n7aLU\r\n=VI/l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.2_1621413419443_0.8395366221067755","host":"s3://npm-registry-packages"}},"0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40":{"name":"@preply/video","version":"0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ac12f2ee28d914efc9b1388e3081c5df53cf3b3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40.tgz","fileCount":843,"integrity":"sha512-4K0VZDK0bkTzLbs2ScsReqYLoA4OBHZh77NAmxqmh6txGFY4iSzx8GQIbS8sG5k10PxqpoT5gD+fhCqPwjcM4g==","signatures":[{"sig":"MEUCIGmwDovGOe9yZcUHxesFQ8Ri5Ptn32egRN+x8se07R97AiEA31L2SRQXLQxzrODUOkTGxj5I25BAJSj+GnhyyoDkf+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29308236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpN04CRA9TVsSAnZWagAAWwoQAJX+GVsbroxdd+tXq270\nZgNVjVaqVKVwbUKxj6d2ZKoF88DBz0tcq0tKKY40Yx9qRc7CakcD7sHRAwOb\n2Q+vEG4NBiG0mDGXf8N2CDP7a5Pmb0PzDsVrSNZ1UQlh0n9jEQV915aeLUFF\ntyCcsQOlBpRLFEKPE7YdQBEGTt2Ex1sTK6VUk5MkP52lAW4qGI6x4eRv88wK\nZadEW0qJqS++3PsQmdaRZrXca5AZUzv1r/JvYJLFJfRIAoD81DarRxXDuaHk\n84/2821W1gJ5pHvTwcdiJHJMhQUAaHb3mKQo7YalTB/yOAmV9IcXCW0Y72+B\n7b3goA1L0dYMu1QoM5QqezxwPuQq9o4DysDMIxpDKoZVJaoozarsEx6p58z8\n8uu5MzH+F8Nchd2GWB8ESqX1nLMje0vAJZXhFfA/HsldBccXy2lqR9BFPMz0\noggOaFK4jCgX5m3RqHjL/fdFQvFgs5gxPP13L8Fqvhx7q6OmJq9g6WpxnU8N\nsoz2hYvUTnv99ckQWahvgRerpnK+VpDZafTx3V0LS9ECGn3FNygknr44idFZ\n47zlZIIw5q3eaIWtx2uBLGUKyOnb+sVepNJSxT0S/rSgVsHxEsmlGFuWllcs\naEEvayIyhdPXm1zByzCIrBYOY7yh9KjBWAg3gUwgSMJzHIP2No/j8PFAMMkR\nn/xp\r\n=//NM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40_1621417271348_0.7659151316982735","host":"s3://npm-registry-packages"}},"0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f":{"name":"@preply/video","version":"0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3d7efa3515c7b3b3181c1b5632af85bdbdce7a30","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f.tgz","fileCount":843,"integrity":"sha512-4Yc5Slo1yKsY3dLVvYthkCJ6zj9RVvBqDyz6PQVSuP7b/WsBbvbvWj4CI99V2IFoIWBKmZjvyfY88yvNEATiQQ==","signatures":[{"sig":"MEQCIEoyfr33YNlkuTmyg8jwzsoSZCF49YdJUHlwaj9q90a3AiAOghhCqXAl7k0xOjaS4ttxwJhk3n0i5EOrqsw1p+aFog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29308065,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpOAyCRA9TVsSAnZWagAApNEQAIvI9Xgtbs1xgcKa1xk/\n91NUCijzQUZKyEz1ab/DPECRsRJPa5r/Q8Jawv8GYxuDktspv3jq4+K0oXHb\ngexMAyMDT3eW+Yqf39QenYdgFI3TnunxbGBNYK1TbaD6lUfGLYlvWo+3SxHE\nBbLaViJQpMQPXWQuCob8J0JN7L3cFwdkBMxspNN7bgM/2Qz2KigC61Dh38lu\n1JfY1UJQZXHDPsYeYyv446/450WXZjkCvE0Nd7CuFYxsfsP+RGJLvSyDSZmM\nAqip/BuGrLgYGJCul+gGhKD4B1fJdqrmQylKIoz4SWRb7M2TVMHhls3IjBcb\nsRBg9g83FfjDMhhlH1a9n2wfNGRFD+smyK1dp++OJEnwIVOm/iGYNG7l3U1y\nZVOiHzQc1oolTMrfABDu1NqbuZ6pJgngv1I4pmkNesFdMjQBYqeBPmGtbI1y\nY8b2aXp4ldu5lCwQrEnj45Oox+Dvp12q1zRCDDjf6wVtPU1moLbjDpax2+El\nfLvLwuS+DFrEJqZoKSNk0RKkIBgHcGr3DDOiI41rAI2R4cQfoKGHNwk8cLCm\nJHzJ4OyFpfxYhLlg8jZVEFu/8yBGPBpwlV6quDAvBvd4y5pB/Nd/Kduwr/EL\nhZnk44GRmALtrS/3RK8edu+oI687WYu49BZ4OEzVAGZroICDkLVnHjRWmCog\nmWBF\r\n=uwMn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f_1621418033898_0.03388032720054612","host":"s3://npm-registry-packages"}},"0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132":{"name":"@preply/video","version":"0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"095f99bdb35d6be785f4a9a6db6fac4037b182e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132.tgz","fileCount":833,"integrity":"sha512-skHJ0hoUKktvsZ3/Ih51AqKGqgw56omTu2TPKlCBbAp7e16qrpA0Bv/aRHHdTrxEeE+QGIrJCzhZM0i7XFVMnw==","signatures":[{"sig":"MEYCIQCWGjbdddogCASve505SVl3OpiclIa7gYzovbZs4QI9ngIhAJ1tQ0A2EK3qBQhd1Z6X6JRDEXZiklTPPo+Q6XyINvEr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29233281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpQrMCRA9TVsSAnZWagAAY7AP/AtAGEfyNnUBlRyYb/JX\nHk+8eO54oZ0cX9m2aiuSTjEgU74su6j93cDtzp6SYDlwNxV24ZKW1x+Hw4rD\nxz1WMhb3rZn+rl8dcr1g3DWTKxWBf4QP9wICkw2Sy2LJqsqwc7EZ1ErgI8fR\n3okmKSfse2wIQnr0G9fI7vZ2Kg33JrXcr4tNZ67GT+N+SAsyblzdc4epJHl3\nwUM9UJcJeuQ82E12YrrfqerOIXdyRDq8AXA2TEubRy0l6q8LsVugKYB1w/Pr\nsMTpTHU/STooQkPhPU7DeYErsSsY/yvvSAzV/3MWBlWX8cQZ7Ao1lFDWia69\n5iGW4UUVYTmi3ME7efm/LT/k6SxzutwyL+sE4OzSyz+b3ZkhK7z75kVGJiRm\nvxg/dCvNBrUmRsFdlyVLlXGdYvVR/yG8+GMzSXEAdZcABwenR59/fdZAWiMM\nPmPwG8OuJ6ONv2qo9wysI8vG3qPuVyRZH/uv+nXVKuO4CQWDYKZBmdM+NDwS\npBPJEW3Dv1EJxvg0vXCCd7mG8JQsRpDrAewwCNYjTy+C0PZPYmM0k2vsd9W2\nejOHk2iGSrdx/Y5W/31U2ISHNXnxR+JDBRTKMzTLrTPBH6LYIG57pjImSFim\nr3Hmelf1xSuCBiHmMgFleD1dzRPyaTejEOVkIJpDBMf0twHwUGCogfK12qqd\n8y/1\r\n=Dk0G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132_1621428938990_0.028227851271686255","host":"s3://npm-registry-packages"}},"0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c":{"name":"@preply/video","version":"0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ad8bfc98b1f7be47ee3e181b95a19c52c6a97eda","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c.tgz","fileCount":833,"integrity":"sha512-dRElo4cG2HNiWZgUwYRLCuMi+pjeZt+fxoWrFI45MBYAIsJyY7yCKXQJozzvmv5Vmnp+OyAW27Hp0btJuJ6P7A==","signatures":[{"sig":"MEYCIQDsfC4gZYy+mnQVMMue5+SoQ6cCiYmEU80pdH2X+n1Q5wIhANUsgIydHnoPlVuQGdIBovN+/fWtnJ/sOQZdLQjkPlya","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29233281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpQyVCRA9TVsSAnZWagAA0mMP/2c4M7tFghNgjf7yefFh\nzkwapxiIAi6k8jlO0fKPIhZrygDlXrQ2ql0IxZXcK4EYi0l6lMrLlHpMAVfq\nRKdM2tcYdINv/YKyn2VjzoPZYu7jqVU7g4iesw9yi5qnYvd9gEdrzVH8ceWR\nXdnYBSHN0+VJCHWkoXPjiDXME8gF/MynxTCJ9jkwt4ChpIjg/FlwUcOhs9bA\nn6noqgLAe6r/WG/cZg5inN9MkvZ4LmkisvHwQ+OZnTcJZ5uBusI8sXR5a+rs\nyt6DXH7OnIU9ODwciS9RKMFoetsRLgWuj+cXNk2fyQPUozKBv850QUb2AgZk\n/I1NNG8njdmEsBu9AvqNma4JbqdA13cPlVTwirXVVR51PgjJ2eUy/+8xi8Nv\n8GpmiaNHPPGKEfCRW7hd3bNg3oK8SbRKsIFlCGFjooUNgL3h8WLWX0uVkw4p\nMiEf6nROSG9Yyy9pDkKUt6RP86GUI828Piwuj/G36be9nFyWEQUUtm4wFMwo\nljjxE26KwcvoX0fa5vNLsA+JOByUjv1OH9/ivrks8BWy3KSfy6f4tMZhDTlX\nHE0xMZcbA7HO5l2eqWCIiV3Gz8sK5fxsiQ5KOYLf1hRtzyPjMjaG3Fp0rzgG\n6ynhgSWW6uKKeePOofA4k+h8fiV9TQAaGvoNERm0jJly5454GroGgDZFnbes\n+27v\r\n=c7BM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c_1621429397046_0.2928212396538328","host":"s3://npm-registry-packages"}},"0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c":{"name":"@preply/video","version":"0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"07b6169787a23c5b48c2c8b34fe072da796fb0ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c.tgz","fileCount":827,"integrity":"sha512-3GTun+IS6zT0wSAq7d//cKqPWqiSu0HuFjJA1EpXkWrM/2DMhScSf7AD064q/TK0MeGIq+VaqKu3nZDDhtW55w==","signatures":[{"sig":"MEUCIQC8W9ztPWlVuHMq0+cvVKLzdXOZO2wqFzUt9uUq4ulVeQIgXnRzrYQn4lEjLWHqFBoy9T8IUcfpQZ+IE3KZB3V/Blk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29092458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpRZ5CRA9TVsSAnZWagAA+AMP+gOz02XLhBDoH6o2IPgK\nxCkiQxpjO9FK8zBl9QRg5CTGdKthGPYth1vkt6/1ZRBkCMz9m0LkO5auMS+D\nPLkACBBUN4xao0V2yCQN68MKaX+mtsORhWgqCQZdOaHSChjtkipEoVxnro+1\nA2q6+f86+4krs8lRF/Wdz6wtuKG2fKX1JTLslaTVgsoa4ZVd1JoKMS50UWeF\ndA8RtisopTqYogRmdGx5qV1O5YvyLRI/pPPZaEQ94YYIX7INWpvhrxEHGaAe\ndm0s9wQIrJwtXcrmF8jOgneUVqrTcmhrc4v5eOVvVjRNS6mLheNkUsLEANmx\nTypl3W24cvwF+oefDMwx3p0fhZdPEitDkXJarDAQnzRmqKC2Nm30+rAt/dV5\nDef0JaCEOPlQYi1+ttLAnBsOFR52T2zOt5dZKSAKVwJJathGNfYmJ4FxNkv5\nx6+XcLK6QM9JzzK7nYV97P0xwxst+Bc8RnwUXn19C3UEl4LpNzafPMVIIPfw\nh9r3ukl4r+a68eJDaGm4wRK+Ppo3J0asDckZxrNhs2eUWI0gs/UFj5ziPTR/\nIujUvnliWv8N1+m45mKcnfwTDwv00ncJDRvPOQwuujxlVskWri0mDIUN1C9/\n5sjUHb288zrnsz9J4oYF8OAc/REePsnbgZ9R6VVpBFefIwShq+NMSbcpaVMX\nWXRD\r\n=tHKb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c_1621431929027_0.22921337519886054","host":"s3://npm-registry-packages"}},"16.16.3":{"name":"@preply/video","version":"16.16.3","author":"","license":"ISC","_id":"@preply/video@16.16.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dfd5861aba6436456a62e83037033a1ac4d3b20c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.3.tgz","fileCount":827,"integrity":"sha512-GTdBeRl5WVqzrCBeK3lyZm2N/ZxyyZX3Znp7Pe7QNauABAQdilFm1G0tip0k6HxSy6OSTJ0u4dK0eIV1dTBxmg==","signatures":[{"sig":"MEYCIQD/yC/OE3gF8CSgKyhc4gY1UBDxgUTNSVmNToCuzWcCxAIhAJJ68pEnbYM07cZq1VgTlYKec1YnYwYBs1R9F8OlLl04","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29091208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpflHCRA9TVsSAnZWagAAK+oP/2IdcjC7HtuN2QbK0n4Z\nCuAzeLCjzxcvh8cilhqFQ+xBrrCbaSN4FXokwGznd1uYugGDhGP2G6MBoSEi\n41tlj8uUt2YHQPGKnDUPhWOhvVV8SjxrMxuPp7uLsnwPbcBAA5JExLG1xhSq\neeUpu5es5VWdGXwHMU1xgFi0atDOyM0hzrTpUc1hdu7S6XOe1tSbqoI4bv6F\n3qyZapiQej3yzTQrDUC3jjkjVnroKcmjc9NMq7z5suKXgaUXMWZY6lwOlh2Y\nZMkC6oxVxUErkJYY0dd6BMbtzIPucSpCBmJI30AZMwtgmx30NGK8jIEsx32u\nlzg1O8dp+vIgZYxIcOW6U9GkXhS6Ry/p/I1KoUqi4avJ0CJ0jtElPAol6emA\nqEux2bxbTHk+1XwlA6Tg/wUOjAFVRhcwQ7/ufRUZeiFRieAHsMUmv7izT3CQ\n6Hxj16hbBdT90sHsBm0uxbGsFiDbpHBQCXMlquqQYGYmXiXA1D3A2otYJM6E\nsX88oOZHSmVKGBrQNXK5+BrOWojev0gzo8hBl3Dn5hg8Q8BtOrI08QKcT2Hw\nxjw4kWhRQyp/Lu+YAwfYPpZ+cHBsVmopaaHZfeyATmg8BlwkpDS6Y48ZJFOr\ng9bbzA8QOh5Uze3hfi26VtWu1BzxV5jIWAvzm0kO7iJHP+zl5UB2buMTRXo4\nt6C1\r\n=woTq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.3_1621489989493_0.0845587156514993","host":"s3://npm-registry-packages"}},"0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716":{"name":"@preply/video","version":"0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"199ac9da75e2a656a79e73a942e520ce1e64d228","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716.tgz","fileCount":827,"integrity":"sha512-DfxDKsHNPr3eBZAs5ctvP6mQMgmPfmbs9dOQur9xuIVuFCUpAhAGXEK1GVB61CwSnm5waGCa4MtwinSGytetAw==","signatures":[{"sig":"MEQCIF3VpsS7bDVJ0ejoXW85Xq1CzhVCi3ad54eKHXGN3NTqAiB3k60QXI4yZXNR4DRVRGP5aV+71Gz3sjmV4vLABdQLwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29119142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpjGKCRA9TVsSAnZWagAAK0kP/0XsrJ0eTy2umtzNNRh5\n8a0AK0nCjGf93Gs4n/z3lxdBU1jzf4Q2atQcE4ruou1gMs24iyFBK72w2Sz4\nfxpn1Tu2c9bh0UCMk3DxfcEGs3caAQntoexvCuKPgTGWKGesD/0Xpg9MFxAZ\nAPTSqrHGabAxuUu1jMEnP8QnWXxPafN8wyyTK3bDlhYJCl0MQCyIReFGe0Ww\n3YNNTba0eEbeetjPUWoZmfgIhcm8Yikh18wrm/o5jqgpJk9ttF9t+Ip94lEl\nO954wGei1NIcxLtSusltehk0hp8nR9dzkhwFFo5iVMSwsiw2kyvAa5LpVx6k\n/jZOdBdze73aeIbZOqwQo0E0xpbo3/LT77OcK24zQhHSE/z/onNlnVPs85b9\nmaeCHHZNJQJrhuu1H7+7MnXR2rOW4wuBFaQWEoqQVL4JbC7IUzKOhUIgOdTR\nIXxFJVNDqkODmi9e11pGm4I6UN9pWnYL3zKDqQIHQs3cTTPblnuuhjuCWMur\nR5wsURqGYB//CCc13BBWEYehlk9OW34c4g1IVieMFNwpuXWOA62o/N9xlo6j\nVZwWkNdi1OGj8vU3IEnBhAkSx4F3ee4h/qUMly2ePlEnkYJPf5tKNaiSPPH1\nlImmDuqBdmdpn67M1dOLge9YKp06y6kOZxC0RggOxeFiqrn/NRkwrplDiw1r\nU07w\r\n=Tor6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716_1621504393960_0.05179741512874436","host":"s3://npm-registry-packages"}},"16.16.4":{"name":"@preply/video","version":"16.16.4","author":"","license":"ISC","_id":"@preply/video@16.16.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5466ef1f9dc52584fb3e07109abdd175bf148ae4","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.4.tgz","fileCount":827,"integrity":"sha512-RUxkbwLwXGQxadIS+zeC50ad2A7vZYmpHr+xoggBBHUAIvmCoPIaWUSn+a+UMrXa6swoc4Xxebo6fqHYFLM3QA==","signatures":[{"sig":"MEUCIQDl3Zh6Vl60+AdD9K7DfhVafodZAzYG15qdRVO6DMHIeAIgXteZT8qyBwRduPS8t5mUxWBoC0Xq7lV+OwY7j36++D8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29117778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpj/uCRA9TVsSAnZWagAArasP/icZncUodChCm5ZUUv0y\nxgUb0qMfHpZlNwf4pVFSYKwdfz4fGxSqkuuNge6zb7dpwcW4305yo6ISc65C\ni73ZZJs6dYpoR4NM/4uOxZqv3JxpKmj7qUpdYg54vgxRRfBHHfiVwT4UFsha\nLf8HHvtTYNCt6MhxpfbYRZtkYDuVhA9d4+ae0GBAoZyK+Xo4xjXDG1Z0me/g\nr9I3bVACTwUMcj6A1sZ8eo1Byl46H68zq87isLhRtF6Qb1/3dgSI9CD/lqlD\nAisQUU++vdM91FG8GLs6O7V0UlurMdp5EgocceAyQOP750P3QcTN9Ub79G7U\nEwVkoY1ri5jxYFFPtEhI4HS0mcKcmaKgr4+qpwdK99FlsHjB/unWMUtiomWh\nFLwwo5waYgd5im4epbD2y/+ltQhohxzjuOmH9lJmSx2KUXQkfMXT7fmLi37A\nMGeclaWPveu5NzEVH2GybjODWjuO981SYw7OtNq/QLnxVscYwDeM/Bu3QmDs\n4gva72TajRSAyNwNBZASddEYd4FHbxAOzZSgjw1D/Flcka1N0i0odMXlympv\n/CbmJD9MIRS8bhrc2wCMW/98g0lNYoG70d1Mu33vrE7XjQuI69BvlookVekL\nbt+rBVVIbwOUpD1bIoQ/EOOmFujA7xLCm7uIOiS8ir8dhlIQYKPzl4gWtAi9\nJuQ7\r\n=hPmM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.4_1621508074456_0.547424019115033","host":"s3://npm-registry-packages"}},"0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552":{"name":"@preply/video","version":"0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3656d63d7c694237408c8951329dd8eccb3ee424","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552.tgz","fileCount":833,"integrity":"sha512-QrTlfzrHeYJZY7XDX5AkQyB5Fh52FS/cuWFT1FSi3bxgw0sL/zBtifArDgl9Iveoe/SDudgS333jpGIWx1H98w==","signatures":[{"sig":"MEUCIQCqIRddW7jz7kefgLomyL2+r7lpS3O/zxr6Q33wYQaYDwIgUSeyFB2vG82lJBbb9wRK2N3DtdPsYymA0nK8pUJmSvU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29265204,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpk/OCRA9TVsSAnZWagAAoUcP/1FtCi3ISQgRHri3/vEf\nCHr4PFWGev2W/V4QmLmJ88QFDqvkqeU9rew2LIFQPAPvmoEm/DAoOovUwZrf\n+Q5MUpuMqd+rkt10oBgi8iphVbzriOfgjNguT1tYkWJwYR7HuSRJZe9QzmNa\nyuqBpkCmAN8h6mrALN5YKbiIwlvLlfltOiHjF6d6Jb1KgHE7Vmi7CYQdOwsG\nyNM3mmtM0gRjwfr2twU/H7Z2aBGOOnEd24cV+anSbuv1J003gpbJxTwftPe1\nO4uhxjAnWQJc2RdvI1oY6swaOUb4Zovly3JQjTK+2uBRGvciAV4tv6PkUZh6\nMjJckOmVh+v3EUUgAsXNVLW3gFLG/6NvEKbuFEYYox6Yruk4P3j3NryCbJvo\n9nq5dcZVRoLiyeQl9FlgCsjgn5TwN+hSZHEu7b3HRBdAPprof1b2NbjVEVpE\nXfwJydeAV4OLVrWMYSm9+edhUG0C6issRI/ABIQpWz8zYRZ3zN4XQ6KpplD0\nBVtiKtY4WIWc/bqm9zM5eQtzkhkYqQeUXh4FL4utwtloG/rw5lLoihzqKpxe\nzekMYZ+CPduatP5bP7IqBv2DkxrGT1ZHahRWZPblD6t7zksSM1NAWQ8tCl5t\nVY9t5CZYtyi0PAg39HEMWyiE/CUcGD2iykJJs1l0Hzpa/HMVATl6vSnc30AV\nizDr\r\n=g3+h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552_1621512141933_0.653323436774621","host":"s3://npm-registry-packages"}},"0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06":{"name":"@preply/video","version":"0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"65c0773fea7c1ce9baec8737ecfb55e0527152d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06.tgz","fileCount":833,"integrity":"sha512-1QcASZrjTbCP8BXWh5kgBAQ9UKgFF8EOSh0tD/7EdVXrq5HqQ9xx8Mqmtl7UNyi2pNMki0/mU37WKliWFvz+Vw==","signatures":[{"sig":"MEQCIAo6yPiyBalOAS+opBgFamAKOI2zAS/kF1zNbY5UUifvAiAOMx7F08xFNNzMl7D3BtlXBMVhNDQLRjysk72+QH8Klg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29266254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgplIgCRA9TVsSAnZWagAApOAP/RkR9qGTt4642+bfKEy+\n7EPWzvqBy/qbQJp10BEtLQM7BCIufEOyu0KANmsjgkt9DN2ORaIHut/r28O/\nnotmK3mLTYlOL0TfNBp5e+kckM4UDDr7o4z/R+fIU81Ydh2s2E2Ek2P//8rm\nv0bLx+cjK7o1isZz12mgDQwofjyBYIPXh1YAvLr2hnG3HndedcPeP88jCaNm\nB7ACrq0+/dOz/ogcmJFJ80MCfqsn6VJ6fvYINQJtDDYQEde7AMfncBTpWEke\nY4eaM0wvnd1UDxdDZR35wYBb5A9b8+gAFJO0OWurZADjU5xeRNvCFaHx//y0\nm6za14lEx4upEYFNIe0IYAdqizMsj3Z2X/V2bBA8OiTdj9pTMY6m3LEnd+5M\niOVj8YxYMrcuHQKZig8rb/VXkuSEL4acPRxN9thezcvKEkKzKSIQsFbXnu/O\ntLYkPdgqucoqOFDNtDxGWW2/LlNvJGG4VnSSvS5wBdIjIYl9O+x+Fr1r8EEz\nChgkXUtcnpi2rMXv8nrjrmGhR5yhDh3voXutE0MRaatGDHWe2zDz2gZTfopF\nXbDhlGZWtsUzNuCcBtI7TO6hOTczAnpreOevNs6JYxmKykcmE8hKaQzCBl0F\njXZK2TIgaomKM9yOOx3QnDkkoYlSQyJp5pd0ULt1lh2oR8LJW12QdPss1HKy\nYF4G\r\n=SqMO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06_1621512735320_0.31699784700951206","host":"s3://npm-registry-packages"}},"0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3":{"name":"@preply/video","version":"0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dca8d6c380a60976fde76b0fe48abc02a42cb586","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3.tgz","fileCount":827,"integrity":"sha512-yVIxPfi/Cu6KA65NxeUWwlqbCgYUWd9aNxW9Z9W8G/lvNKEtDWIh9cbF/NpeJnQ2p/bQXiQn+O6LY8C18+HHMA==","signatures":[{"sig":"MEUCIQDMF7bQTmwrO8W7FwKWoFXfG2MEl2AU7tDIFmg5STDhKwIgWnHNUwSJ75O0nuDxT6lQ05jx7il4oeaRNxFZTjSwCbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29120072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpoxSCRA9TVsSAnZWagAAWvcP/AjeRPfvjE6mM1NWcDsz\nj7fFa0bu82HDpjMEqKgAgOddUbBoXXziqtERfriJVA8INBRbhsEQkYZwG7Iy\nO3RJ0lZ+mYsnAkEXb0PmXwYmf2H+8EKdYpbwy32+8nDnaIUdYetKTUasqfgG\n2k39EtjeVZM0AJglMF4qK93Kou/dTcZTMz56pjRitS3UuI4XLvYWYGTVuxx9\ndFTLi4CpE3rQd5UL3iqRbBKsSfqEzTP7anw2CLqnxiSTlHH9slvTXApv8bhc\niXCPQHN2eIzs1V+9me/uSWVQIqQjjHHdQTpuZ7mftPRCNSe8fNPTstsimOO4\n1KKUZep6cJ3GE8HwPwkymmDNN/SyzMVv/71ps6RCxQeDnMj+e5ralDeKudb6\nUgK+ny7Jchz1tkdgNAYDIWA5ax9vhH3fMWA0U/4I2oXZQ8unEHsFyH4lmYD1\nfuMaMZH8zP3VyGEdE4EF4mM+i631mL+JMJQq6mLhIsr0GADDR7Kk2IunLmRW\n3RnAyI4THlG7BGhgBMEOWZBfDTVxHdvIui6eiLO3+h3bh/QmMS41fqFHZJZ1\nlrLYwn7VzCVGNyo2xkBnb3QBCholntgJ7JqNCBSCsRr7OJzEF7aIogQVyU+V\nxp9BFchG0ueB7eLRcQ27Rp7GBUKeYvs9Mh+FuYU5xJKho4lQImnbD8O3K6Ka\nYorI\r\n=gwzz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3_1621527633800_0.6660770881065572","host":"s3://npm-registry-packages"}},"0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9":{"name":"@preply/video","version":"0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9d6d7785a0af2dab452dfea253435410ba4c46c3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9.tgz","fileCount":827,"integrity":"sha512-9qqUyLlZT5ct/idiGdpkqg52KUrlYn3bMEKl6yR96dAlqs/k5HR40LWiMwcDDivgYZn7pwohhrRQgB+a415jgg==","signatures":[{"sig":"MEQCIGBQhp/9lhPL9orveRS5RDqtSgM0LrA6rDgaGKSMu6KxAiAesTdLjlXmE2UpsnHgNV3u1rUJkr5m21dWEUhSFAs9wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29120072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpr16CRA9TVsSAnZWagAA7ZsQAJ9HrJAdKEbpg5Xuejd3\n1PgZ46f2EAMqOuJ0Hs3xVeimxQQeZKyuQ+U+wS7p7gUcEiin4U267r/KHehU\nTJBo6/4i3Jepe8OpFPUzDkGLUn6GpU1s+WFszGJph4tDgGkQ8XJkdiwgpOrf\nVocMYkhzMOwWTaAPtkctEiQ+8oFu3KEz+87WZYdcskQ4d7fkphVe/oQv741m\nxwpjHTDXnuJvYufASsNiFVrmnG5/zBGVOmV/f83WJyrsHy/fXQzL7jYuNLp/\n9R+7X0xxwPJO6uFOtEkkZ/ePG4nip7/zeVYxAidOErUgbKOgy8QGVYcMvad3\n9n27iibGSaBneM1c4ypDUwNtgxn7T4zhM9tXB10sd2tJziGAorRK8sEpK3WD\nt2k2KFaBkJHjexouF8JU38+j4WYZ7/2lWwa6EkeZ+ETog/62RgtAtxp7WstV\nZmxx7twhRQ+1jH+ECeXYUMUGLtIm81+114ItDq8ylQ7nxlSn/R0NJ/WiRiFK\ngyhvUB9E0gkv9H2NCejO7fXgYxl8T/uYte+UKqAf0GXQ3Jr3StVhEZsgoF/+\nqJlCvPjTkQ7MjinEvYG+9oVY4iNfq17u2u+HiAiLg/oqZxPcmuVpPHQ6OLWT\nXDS+tqBUNrIAi92MSu9fy2opDWKoApzguQEkPlozrYjzVzuzDZqPjLCR66jq\njsX2\r\n=2wDd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9_1621540217173_0.017700097259080172","host":"s3://npm-registry-packages"}},"0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668":{"name":"@preply/video","version":"0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"37cb411c580892b890c4326957209ce06aa43ad5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668.tgz","fileCount":827,"integrity":"sha512-RjZl5T49vSJJVV1W42YrqYhzUy5NTooMHUjGazRrb82n8zpdyejpLAQ2V0DX+RiDpMYOeYdwbWhKkzZnw8YgqQ==","signatures":[{"sig":"MEQCIEl6SaUeRgRRHSZaf+9tLUUGiXhQnnt613k98HIjKR5YAiBckxDOztvt88JiGv8GnIAFzPMBXKCQhhj6CjAmG7m5wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29120072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpsoCCRA9TVsSAnZWagAAi/0P/R8mn1vJG9lzG8yvc/W3\nEP1+auQNXrJ8pSTFR31qLjt6oZEV0AYUgHvTmW8460fLeYiychFmddv40eQ6\nBYP9a4p4Ow+EngizRxm2gDkT6KUhn9mPcfQX5pjfF+VSitNmlrXwrp50bWsK\nW8G+wX0ffBGrq0NBZKafxcTW6tvwgP6Vw4OMECNCYfe4TWRMuix+WqXQ+Kfs\nZhNiszJVTuv3y9VKR8+VC+PelUw9R7x6cuyUqW0CFtb6Z4HFVCfoOR4DeZxL\nYyH0xv9IjpU2UMasApkgMp5NCnp3dDZeTDNuUGdzzKhLtXZxD8CBrakW332l\nHrYdETwB9iP5kVPn8/M7RxxUK5aKhaIu/FXwP6JQCHLboncujmWbVuOkuws1\naE0kLYd67Heerch+p7XK/TmM2msdjc3ZQc8mHa4ecJ6kSl8uwRXg0vNYLotW\n6trnqvXWGOsn/oG6kIJH3Kp3bWLWSYVph0CxG/1VfZwcu9m8qEkZRct6u3QL\nEUaCCr0AS5N8hZJejNxrIXyg5he5wK+gIr/vnODDBCMUcjiFc2YNn6sCjHaQ\nAGeZA9+uf2eCxUKvgGG4p32K7/BEg0ZKXGhFcBrfvyTF5VkvciwQ/qpbBipa\nx+b8nbCpMBAhL+d+Nq4kh23gs7o8LcsVyO2st79B6AtiDy2drU3IdsfF3Eip\nkWof\r\n=tODV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668_1621543424663_0.5458892120486101","host":"s3://npm-registry-packages"}},"0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae":{"name":"@preply/video","version":"0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0afeb43f9ff26abf538521b1b2aade0383c8c2e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae.tgz","fileCount":827,"integrity":"sha512-ceI/c+zCY2DKBKqinE+LCgrqvFr/SYqfMfK5kTzHOWWx1/CsB49CAIozZvSPIFD3cTMm2cRqRFsKFAtUUDjFHA==","signatures":[{"sig":"MEUCICKCY0ltC5SH/O5VpZNB95n+EpREjlSPOr94TCjCcnlrAiEAqC/cHl5JhKSH+VecVV/tUYPCRpzivInGyAA6DQATa9Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29121040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp1/2CRA9TVsSAnZWagAA7KEP/1kN0jiPtq45NFONS32y\nS9kxuh3KFGrWhGbuXxlrqY9//ChsdNj8vsq7xA4DnUKAKgLfL/56UuydOGTC\neCq+mUjl1j/rQz4EcAX+bVzSMv4FlKMuoow8BdeyD3abg21AnlOScYFiZsFJ\nq1jBfg6doGiDP08xtiLNTZWIXetISuIRzTD16zi4uPHLOwaD0cqAyWFhF/qd\nNL5g25h+MyVGL6mSB79Xxhjtt7kzr2xC0eV6uLP0QPVXLkgGuXCJJih/6CFN\n9Y9D7WgXPrsOJuJcjU+VHNOcjLZsTINYginG/ZHesg8T6QGW/mrkDffoY4Pu\nME6rL3PAUxfM3c4A+oLBy7QHxQ3ZUOojgD7EAy62hWE0jG2WAuN4qJfbKvR0\nOlDmAb/FdgaM3EiSoxt/6Ubi49DFJSzJ3o+Fof4NML3zuyAFzHtKFrAGbBhl\nOAHUY6KOA8IsNAh7m3Isu7Zs4UfXR3VX1du2t3JioQU5D5qbQf0qg4tzNSnj\nuqH0xGMFiptURRa58Gw7W6sqgMOZqYJ0QrU8ztD1SXHWUsgPS8BAxMYTYOM4\nP6G5GxmPKlpq/QT4tk2HfoONSsIKmiIbQLMMQG45rdOgMZEo1xJn2s03P+o4\nq/qEvjy8wt1lmYrfPQ3naLOrloqz1UnLJmwvvZu4+YRsomFJNCHkQUJ/M8Bh\nMxIT\r\n=f0xQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae_1621581814107_0.9145847192025003","host":"s3://npm-registry-packages"}},"16.16.5":{"name":"@preply/video","version":"16.16.5","author":"","license":"ISC","_id":"@preply/video@16.16.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6ff037e027e120fa88a17308a194000428f93d90","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.5.tgz","fileCount":845,"integrity":"sha512-jExpXrbobg8usSXH1+zCmBDW/lOTm1CPGjprE+Izz9NxlOzQ24L8SawHHDIg3pM8sPLefnTdiZGvkmI7jOvHug==","signatures":[{"sig":"MEUCIQDH+p0cvLY+t1zU0gtrb+xzDw+2GmS/BxJWmXDLvhtQAwIgOeBcAnR1TrcPsroiQ5KnDsZsf1YLbavirtBxc/7DVyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29328094,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp2bVCRA9TVsSAnZWagAA6VcP/3P19erRcuLeui5F6niC\nowMiEYDeROcWgXZVvPFktxrNqb93IjodevVNib0tEG0TSfutKRiOupZVrhYb\nEhhn1a6X2PXeg0GTPO+5MH1Oixwf0MVqA4Y0f7Mn+LBC/FuI91BEEwvw78BL\nuCMB3IYZpAizqa5+hmeNE7l3eP6K0zUqomrp3/XTV7yOZ45d9YBhB8pxa3xK\n9hNUEqZMdOdM7l87xxzo5yJrLg+iIqaXick6kSndhU/rrA4tUk1+2Yf664vv\n2oTunbDRMPondLAS+GpQkEjOiy0RjxZVmlwZe1d5WR3mvymDTkl/lNXWbTDQ\nrLOiJGdnRUQeqcULb6kkxzJnku9ZAL5rBWKk7s6B+QpqMBmOQl+R36ao4dj7\nu8uB3eKqO+sgnbBI90ulWkzeSlpjefCf0UpLp7HYLQlEeDnZvrOA5KnPePKt\nyp7uCAsaWA40+isnpuyLUoO2RPcwKcX6zGQ5bJf63gMjhsPpkHCz9MzvKE+m\nPAhvsUGRndvX4pDNBB/1heo6J4SQSLDjW2cyl09M245UjKqqCf6FdcsghtTQ\ni+haXwObJKTNOjx+zykq9kkvSINbmKjB6s8ssY0VYkAjbInprnVwnESaT95p\n6jlvs7g6FBf/8EHKukZ+vyzOWD4Vi/Iv9PIEALa3QwH6kIvF5YOs3ILkLyLF\natse\r\n=sn/p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.5_1621583572579_0.33523919384922873","host":"s3://npm-registry-packages"}},"0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5":{"name":"@preply/video","version":"0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ac6e1a89492fab06288326d56cf956cfd006d071","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5.tgz","fileCount":853,"integrity":"sha512-i9H44MKVeae42jGFgNvQM/A5Cw/+n3lQzcqLwG596jFpOiLFbrBMVm4v6N7452bBLJBJEBX1HcNf6QiV1MgW0w==","signatures":[{"sig":"MEQCIDysJ4QyHHNdjASIDG7VMqkFnJ59J/ya9d5AqqXiQCUrAiA9HzVigAE1QpFF8fcVkxFIwZUoWHW43EPPbyuwjlMn3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29491479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp2jiCRA9TVsSAnZWagAAwocP/346hvlnebpsuWJpy/H0\n+WeDR60HQENI1OcqhGnXWon86Y3JNWY8fXHbyQtq6LMsv1yzTpQkkgx2Aq5g\n2A/aVYSkFWTLbE/gt9XXTurbM1p2eSwpUGzMp9yQX7UP7wMH2WAmEjToTIDN\nN3KN61Z3NVNZfi6E/lxXEPCCtsVHE4hc8FSFQtE4xjBI0xR0dDvGR4mzGuAI\nf31d2kk2ni//9LBC6p4LnRAL3hx/+uS4QnjsER/JLGwbAF93fHL/ZBBEGufF\nKMhE64A6mzTLm/FmZRSlkL/aKL6NmI1RFFRGnM5hc9xGfJw/HYV0PzZqCrYB\nVfpSXJIZ1VxJvQoYJXoAhpGbQNwrYxHR6/d+O//FxgPEwqhUxn1j/D/DAXnr\nB4/yOB8pHw66YB1jcjonQEAyhNuJBbSDyVHsrQqpopVQDCPmB9yX7TPsWk9L\nZw/RrEVax+Q2PkWomltD8LjhyHP1eNMQIYeQYSOl6wKE9bPEDUIAbNdzAJCF\nA/y7ZNBmeQ2Ur9+eQDoxKFtMwfQKEeoZ55VC/bBAtCiT+O8Gxkl85jVyb7m6\ns3RM+N78nijgkElUEX6mHCzLbQvh6njzLuOK1hDLkHWuS5E+YtV1GyMgSwL8\ndBLt/xLBYLW9tYqkW7vzxrBn8vzxMuclhMBNqeZtxNnYFOmjviHMSPQWbvp+\nQcNL\r\n=pBYL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5_1621584097475_0.11851179212359209","host":"s3://npm-registry-packages"}},"16.16.6":{"name":"@preply/video","version":"16.16.6","author":"","license":"ISC","_id":"@preply/video@16.16.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"58708a7f050372cad532a272d140537effaf4747","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.6.tgz","fileCount":845,"integrity":"sha512-z55ZEE9Sv6DvHGOT4zW3hhJc0RW1qvjDT9s/904ynspMnkjMEwEsIVAXvRSDsXJ2RbkWEH+Q/3YfO10niA0cNw==","signatures":[{"sig":"MEUCIFeR+5hJpC5YIzTTRw+j8IbTLx1YUZDZwICS8E9d1UM2AiEAzIOZkV/jOibCXF+NJC2+Ytp2A+eSrNGexTqMALeOsiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29348017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp3P2CRA9TVsSAnZWagAAKE0QAIM8JeTZNpP+pvaLkrl/\nHOtxE+a/LjKhH9CGPCnhFGx5U4dp18ckCZObkBir6DtLPFOLXch87bgegfP3\ngY4Xe+jBUWvKm2rcqCE8FsJQBmKJFD3rDWoGfMKqCKiP4JICg0CkaTwrB+kS\nbbcxY6wT7Z5lk/+E0gnJvtTwMaAzAMwrEdfr6IqSTnaPs2Kc5uzSM2iPywVr\nWHOSYk3DIVPzrESH6uxtFwGMtrD/l23S0J+RR4wyz1TFFpUPz9oMV13CUWjJ\nef+PwlhZW8gZfKkixKepx7kR5jxUAb2wGh101GZEgsDxQmn15y2yUAPAiW+/\nnD7vOttSHsNv5I8feoEqGho/NlZ/KXu09vnYrJ3owdHjTaoOpaQU/+ftFnCv\nm9fag7S27H1C5EQ0JLONZxZUepRJw456P5VqZb3T7X1A8sdTIJLzzk2/+yt1\nsAfcfPZ+A8PE567glNuQf+UIXCdsasZoQOAHvb6k/zfhzjCmqky2i2f+VJVW\nOUuzIKokRRrkXzI0XTECz1BBRdCv9yVXBTZg6028JpCPzQxhCe8jl/GuR6k+\n1xtg/A3F2XakAGA9j6figvfbZ8uYdY1jgB4N7FpNJhClOciUTDIL4D9aN+Vh\nsB/+WBRkmBwTq/UXItA4UjRPSiCcxMINnUHqiVCLXReSOj489eYK4YS0zX4M\noeiL\r\n=zFJH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.6_1621586933439_0.9267008743087495","host":"s3://npm-registry-packages"}},"0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519":{"name":"@preply/video","version":"0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b9fcd61d9e94a29787d4be4d8c7a3bc11c5f91bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519.tgz","fileCount":845,"integrity":"sha512-T5AmAEdr4FwSAqI9XApOiioAUz1x//f0scqNUKdcXcPkgCjsmg4pYOr7j37QKqPHm4NDSS8QwqbCGqBld1JlYg==","signatures":[{"sig":"MEQCIGaEsm35d4xdEXK7xHhYRlR3YlhqJkUEf7gdU1YNEg4rAiAFvWKfoLmcbKRzgGMBzoj1K+MkcK8DuzK/l79eMZqfPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29350294,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp3YGCRA9TVsSAnZWagAAxE0QAKHRs45gqtjNtJwCCcbQ\nC1q2YUdJIz9sV/fh3bvZPfZUfecw4oKYtd0Bw0pSQD1bfU7wQ0hVfIxUsdHV\nw8xGxtzwWPydPUpVn1cKP3KYn1e9c925583AQPMMFgroJTbPquFmWYhs7H1V\nvnPP5w+8ZQ7zAWbRt7Je/Ubo2PF+yU30HDQIRyoeKuFgm3GtrVXLxPB/H1xk\nDQNp7k6GP7EqbTtJmKYNrwGr81gXDxaQXeF2bQ9BSnGEVrINp0xl/UZkWuQi\nAVOhsrsHNQ6fZ761hBGjAyzqrNIZplI4qVn0zka9lWmppFaWS88UuRAeV9IL\n143G1rLO78c+Hs0v/y8SFNA9T/lI07ldXPPz17cdBJGTwSOuWv4Q7rfL0ZWk\nrfB0E94aQn0AkAQ4Ya3DZgZ0HzR5wxw4wddN0NXmYc738cXqNrflL4/wDYUO\ndnLgSXaK+tZ3Znn9xs+AnSEe6JJ6IL5S1oqmug7XD81LujPyxXAPs36yaH66\nKPTXEeGU2K1xCWJfnvhBVQCVQYcTUXPn5/Sc1lAJldrrJk9zO8zFFFAIezap\nyc+c1woFseOovtSLN/5OpbDj0ASuMF9HzV7iCdNSQTSQCpzm4a/wVjLchTua\nnpuz0CtyJ4geNblCwCfM8GzeL5zQXpStVwxiwBnPSUM/r6l6BOWos/sOMjTH\njObr\r\n=YELr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519_1621587462013_0.7143108063684711","host":"s3://npm-registry-packages"}},"0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d":{"name":"@preply/video","version":"0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7260714be6bcb0468f7bc491d596ba7622f8ecc2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d.tgz","fileCount":853,"integrity":"sha512-zGhOKORuUAMssIlw/chYo4h5uL7IVGjphF1kaK45cYXpumHsgq1GvHKPTx18slm1NX7LcrERqrMWEQBwkn29DA==","signatures":[{"sig":"MEQCIHs54LSiyEROAJYeD76HJawnQU5pLaVy+7OU9D64FzsYAiBLJl2ML8FpIjCfm/hkGRGkxto5RZjDFcPTNFKYBCH30w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29516944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp4JzCRA9TVsSAnZWagAA/PMP/R37iFzfnt3k+Zyb8QEc\nIqdqcV2ukF1AGPj9e31G9PPXfRO+THX9jEGbX8pWymA1udJrPGDRoHZb6eNW\n76ADe61ANDB6+MhjTGEWQzc2zhxh2FHAnUAAcWn4e1XdolX0aCA6HYe8WGg6\nu/J7PZ46bT4Jn6uTJi7Wrn7VreoTWTFL4+omxXee3ul6w8Af6UHXTjHgj5x3\nFcmK3P0uq5QY5vNQnc0MuIPlSl99WRsEBqthqOW6QcPuoKiuhNSOs0ul6dff\nHq87CMmG7GSq2ol/Ic+ItorWXuI05ciDVlgQBty+9LOep0XnWbM13Umes67f\nhvsiWlDjRoJC8i0SGII2Fiw/gpMWPBRwzww2ujuXptZgcHXZ8+Ztcif/ML0K\n+Rx53e1xHR5gXIPuNrgkNnqr8RcnbsmqOnu/xyXBlht0xMeGdoNDfkvx8F2d\nph35jcbI3hnBpHjKTe4G5rZauMiQFFjwbGr3HNEnk+zPvbaVXIIHtUzoWC5d\n80gU0poxJ6NA8fEt2QtFl44/6YOScPgnVx37fEzqQ51drKLZeDblnCUxUo58\nSsjVR6sgm3hzaiYsM21SeJY4VW5Ab63Y9BqnTzVIgHd01nGE12A+yZAo94tL\n+zdFxx44OdTcOCs8BX0ZZ5oeXsFk+ocAC/VbdNrz6ddoY5ssE84cZNniyxp2\nakT0\r\n=B9pE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d_1621590642318_0.6354949670982886","host":"s3://npm-registry-packages"}},"16.16.7":{"name":"@preply/video","version":"16.16.7","author":"","license":"ISC","_id":"@preply/video@16.16.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a164c3f4968af8c53fc0a7f9343e21c7dcaf325e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.7.tgz","fileCount":845,"integrity":"sha512-yUZVC4YcdL8SgVPQDg8MbAGErgOdCeLL76GHl0Vd7B9JTcveRL9PfqhbgQGvgkk4grarxW18Pb808YoCeqjriQ==","signatures":[{"sig":"MEYCIQC3rvmCv44rvnfHEA9YQwP7IqPBDKsiAfrsoA0JJsrPrQIhAJz806KDxjvxkg/+wECW3uzIor9IDwIqzwQBA5fupl8t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29348984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp5SbCRA9TVsSAnZWagAA53gP/R0GLG1LNGWmVZkV0D42\nNs6Xb6cb+4nxYmwQWtzb86HuLcYu/UystYeaJI66SVmGProZMBeDiCMKTTrr\nW4FmobgGFgONBio0RhluARGTBLiv0ohgLzzLXjozz6nvP1D7zWtiUkTy0781\nLhKpEtS4WYt8xLBKVU5WcnWkqq5EQHMuCb+yUUBad+2KZpKuwEt4lD9AlRnz\nTWRvNWIKj4xUg8EP22hDgtI9fpyFUrX4MOgGBoSpyjk7NsMFcuXKh4aNIqnX\nOH51J60CrO3t4x5tzkM9grNcVVv6thOcLWRI7wapiDayUxYr9atBt0HUKpJD\nn9kcfJEvzS81/zyptl7c4fhgozPF/CS+bkDep04g4E61C5VRaGG8vMDBmjyy\naAaDJ7lmX8xYp8xlkQYPsn8W/Qk+icoZDuVb/nWfYtnm8lsX07Sa4Z6QXK6B\nsGqYGyJP5wfYm7zKgQkNF3SwwHrmBbTmhg5OhskG2Ess+mG9kbHtopGYQXDq\nezEfx3V1GFK/ybCmhYZFqr39kpSwx+6lkVhmB8Ne7lO7yetquW6Dcnm3Ix0i\nj7wfViowHFx0QiXEWUgnGhNhX4hv4iHLBQEEPTwUVwMBD/YIesYW1poobvtO\n6+bRpM12FtEeoGZftC5Gm0qg4vaEAAe2htnQoPX+to/YWTdJ/kxb0WMSdfym\nDlfL\r\n=ze70\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.7_1621595290891_0.4735218175183493","host":"s3://npm-registry-packages"}},"0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11":{"name":"@preply/video","version":"0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a305ef914c3ab16fa6159fb03624f7da68d27d9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11.tgz","fileCount":853,"integrity":"sha512-EhKApcwEZveLsN0vqc1Zzyjwt2H7wrF9pN7w1aBBGdq4f+tC+eScfOrVVSVRELfj77JTTPem7zxlWKZbpBIWQA==","signatures":[{"sig":"MEYCIQC3HjPv6hkKDYj5Rlc+hMNrC0CyKXeuRkAj/u+dz0jS6wIhAIWlfwh0RgJZMRLfZU7P0E4EAV/60xUa7OLVu3/lWRIb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29521991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp8RvCRA9TVsSAnZWagAAnZ0P/RLMLAXDdPDscNCqWgBj\n/+OL0p65okSvrgnJRjPweW1DMVIP1HFwnurYJNH8S0U7wgmecMI5xspISYdw\nrOwVKVuqXIIIsrnxMHhhFLd0MEN5A7QjBOd+jGlkpHP7CHBkGWqeKzfKA/jR\ngXuLgcmUcbpUhJORh1oYlJ4F56npFgv9lmVypSjRaodvpo9LTC505tuiIsAH\nXEIEoz2lsx7N5sJ65lJMM+lT7K4/k0fboOdBG5ZhZx7w9OZVbT72l1RdV2sE\nqSaG7W9At7g3f+CvKxU8HdmzEZVdDtkYkNBDsKyTSC7mDncrJ/yE6BJmsRlo\nMNykzAkrcnX65VMMVl1OUG/NEGLO2hAECb0iPDTTLpADxKQ0I2MYK8Zm4WmD\nvm/MJ8T9Va/f8/9mxG3eVrA+9TGXTiLTMl3N/tKIauE7dC6zkaCpREHg2Yl0\nO5yjloiK8x/SxB5tIHn/s0fDekmfiiWA21gftgSFdhtldFZatLgm0buAGmeF\nyyOYzmq/Yvmj8OYnM0a5Wvxmca5kSBLksNZkAAQFVJBa6UcA6hR9uSBIsVXk\nB+MRxp0DTuCL0KC9VJoBTa9X55nayfE6FGKZjUm6xcoN+mk9VpRHRhJLZ4d5\n2Wd8Ha/I577/Wkwqr4UMlqWoAsia/nagU1GrktoKMteims3ePw9tc6pw3XJ4\n7UTB\r\n=Obyi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11_1621607532779_0.31349985917216006","host":"s3://npm-registry-packages"}},"16.16.8":{"name":"@preply/video","version":"16.16.8","author":"","license":"ISC","_id":"@preply/video@16.16.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3120e2a18038c3838789ab271325ff51c22b832b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.16.8.tgz","fileCount":845,"integrity":"sha512-eINOWUakq+mQGuG1jfFBSozH+Fhp4v9hzAb6LaHjnsn5m0NcPvjAUtUQbEo4G4mBXJYdeOOZj1IrEfh7L5O3mg==","signatures":[{"sig":"MEQCIF5PrqAQxqFuVFL1RIXegaO+6KeCHWHTe9O2gCCeKi/4AiAR2p+JuKmq19OnJT0Ap3bOIUVcvMy0GlUEVZf/6yFyOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29350016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqz6gCRA9TVsSAnZWagAADWQP/RF8El4WaXxROE5BIlDo\nJjLchxPBBr6xupseRjTUlSEsaSLoWdZoQix4SwkdPEQtEmYT2nu4wPznYiOQ\nXVJvmxj9ebV7KaUXr18GbycvaS3WMcQzzfshqT7TrXcxufx7Yx0ifPGanAAb\nNojLSeDBJGqZL/Qq5A/soQMAKfnPxhX4BNQ7J8Km+35FuFoi8ed5VElG1HvZ\nRrFIYntxRz1JQLTH0Zft/RKH4FTo2LMfyobvuDTKjL2EQR6Ng45zR0PBeRzT\niN3akwX7qO/+84tOwn4a9LoDhmW55dGCv+AJxrJ1LS9ch1AVe3Jukj+3gHI6\nwyuUPEe0GiesRkKjh8BCyJSnMrLkryu0X3Zko9SrVLpAh4GqRHtekp1tDPRl\nDl5ZPePbGWUe1YzcSthdSRbHUGqoH/O8tRxubYB06hJ2GxZg5Uw4KuZITUOF\nYa3DsYZAE986UHVQvGeApQsQ58LxOTjkbbdkmggXvAmemscxH+5h9EG3BPv6\n3V8GPAL8+khwiDGKoHd9x1ovi1bcN+BlKI03aqIu70pAGt/3qGnk1D+LpuIx\n1djtKvVet9zye1A6mCbYWLC1xqaga/NY7zUMolQmAkCaqg3kYgEZn5DlfV3v\nAvT8foO8ywEz1DWVjFwjqCZ20ZdfwIPIihlLd6khnfYwtJn4iR+jqJIjL8g8\nsSqd\r\n=scoi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.16.8_1621835423323_0.4929222035005201","host":"s3://npm-registry-packages"}},"0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b":{"name":"@preply/video","version":"0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"55011575091004710d3e86ab42ebe9c68a9e27ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b.tgz","fileCount":853,"integrity":"sha512-AdsDcwi3T4AsaJj7NvgBHxUrVSFttefdy40E19Ksyh62kWz+yvdAZXRMY7dbA7rvr/61Wlq2H4TgNMQ8M9kYYw==","signatures":[{"sig":"MEUCIBClCZGFOhqVcp61UW6BR2Aa1fnQpSBh1I6YuYFrblYlAiEAmNAaxVGY82Qb14UYHbnRgKqIrMFjIHBrpOSye3jjXd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29523023,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq1LsCRA9TVsSAnZWagAAFlgP/j1NoEMGfZwutkoy4BZA\neTZQ6HDKC4RUr4+xkJzunV7qWeq5HWoisFxiOuR1juDmnSnYiGVUpQnQeQT5\n55e2MWJaNGvSq3w+2R5rXTWhiJ9rt9F8YLMtBbv2PFATNsN/GgOkk6JlZ8xa\nQ/cAR/dR3OJjcv5wsLm4w2oPnyb/x5fywatoJryqnSnfXG9Va5lokiy+cGcO\n7qP0USVxhVW0TxipwKE4KyxBIVNecwirBS+LN8JqjZF5SuyiwDe1eIMp6oGN\np3mQNm2vu6FARzbIc4VQyFUz5QrtNgWVLACKZop8bedX6ZOAhykpU0Ka5igO\ndDpkAhH4nSDYRrkKS8CC2aFASElz/ItVdX6MqdUV1bBksRp5ib0uNzMUT4kM\nRy3CErlR7zNYcUAD+FQsiayLxBHUa3BjDybCaKDXjfH7V8TJjzH8ljwZGIfo\n9iyQnHSqkSPvR24Q0ei5wTzF9JhhOmY5gNl1+01Co6IkGQhtplHdKNnw48ES\nGSxdYWHea0tRKvRTD+Wyqavy67WQO1WVVrZ4L7yx5MNTemkNTjB5nFkXHFAB\nlODqEJYz8IzJ1OD2qQr51ZKtfuPze+aYcxUhMknMeTYJyLsv9OHuDMgTcUvI\n77hxYtDZjpSzSkSDgwlQcTMZt7v1O33SgntN5aKOd6n8Au1DrXVO0qzG/QZC\nQvxp\r\n=5WCy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b_1621840619768_0.30595470106942924","host":"s3://npm-registry-packages"}},"0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a":{"name":"@preply/video","version":"0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"4dd862a264b577940099806dfd9b58e478752f40","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a.tgz","fileCount":853,"integrity":"sha512-p/7VVJDL1fzKPpjWXP0NIy9yS3rcaE7ZKDGWS8O1e5ejS2qw4orIqpWpqVQHszFOjPyRWLTGFO7+LeiOOm04CQ==","signatures":[{"sig":"MEQCIHa5N+6fRxmm8Kqlzdkzx8N1xDOf6soVI8s+a8PJbgM2AiAZe9I2Vn7TpTJn/TmwkVmU8/eQX9RXdcQsmNpAphNBLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29522963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq3FjCRA9TVsSAnZWagAAY44P/i3Z9D+wqJLyEamBtS1N\nGZ7aLBb7rqiC5mfolcJ2VTqj1VN5KAUuZWSsTgDQiEZhRxQHml0/iD11FE5B\nYme7I651CHp6unDE+yR9sIdfhEaa7u9EQJNMmc2cPFAA/xeWCbQLutaIaF8l\navLjHJ5+vFw8NLBcmQ83AZYISiKwB3fbjj15Ihp6Uz85kiXUABJhP/5UsYoq\nLn3IgP9BQTID5sQY3bgn1tJEvXLcsUakADsLcXY1abRHnPMs2Z4JNT2sP864\nt9W8cW3QdxtWUuXpah5PCn7wngPj3xwnTkftrSu+WhrXzu6MSHrQOvpgjLG7\nC0pP75uYAEwlEfoEaQ5PuwEr5HqTrKqefkL+N1qF7UggZ2GKvkMD2/uPWWbr\nARHP3nYdjk5A/LLmA+zmUMwZ1h44f+ncTFyiuip322gHjKE8pwsjRX/nEFco\neuRbLk91U78T0tvQrZ6H5OLowJYMXWcBE1n8Bi45al2PpTsvOku9Wtrs9FQW\nx+WBC2x+saQqoXcaSbDXLJUEPwo+uFW9k/8eX8HGwe9YhfcESOev0CaQ95eS\ndvkcUgtqkEUxAox7UHoL38Sr3DirzthQ86nLk8nQWMg5pi/8lZwHhw3SFiGp\nh/VIhq5FzBUlHSWRVTTcwj6r8D5wniF0KVwRBsBRDHfanExxIyzLwqp35h6N\nCtcd\r\n=u88V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a_1621848418204_0.7367493278015538","host":"s3://npm-registry-packages"}},"16.17.1":{"name":"@preply/video","version":"16.17.1","author":"","license":"ISC","_id":"@preply/video@16.17.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"53432396ce62e0aa9a66fd7771fadb89550fe8c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.1.tgz","fileCount":853,"integrity":"sha512-Cg3OjktRdSKPR/JWms6mKvEC6bgqnbZxor7ugEaHRqhUrE/5MwYkQmQHLqrRKoqpursFUCuN55cPCu0cTzGaBw==","signatures":[{"sig":"MEUCIQD0De94mDlglnxAdJqkzfx7eXg0s024FwYpGTu6VMhWbAIgIn3soU77WIb+a9GaED/R9Dtc9xHg8YxLiaKReJBhLOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29547996,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq4p4CRA9TVsSAnZWagAAWn4P/Rs67InUWUiPgFS1+Vbw\nrenUhf1VZLYqbADlaSXuTHA2/1BLAOifZlVkmOxt8hsdGBQV3LKwXuNR5ZGV\n6oLVOUU0wQP9LVyKHY5IgiAYUvUy+QVK8oP7RtJBsJPU8hpONMVq84q7SSVE\nB/wgFXYofKYi1Tbo4iZylswP22zaDq9BVTEMBUO2GKVHgvdQG5pSEzb02ARs\ni3U2Ptzxi1pFbRAuBa4QYyO32OA3oTw22Zj6C49POsLxdR+6RezJrYHM6blU\n9eYg3s/5Ug9uCOjGbD+TasDEuL++JczR44zTLFPM2FRW9tszKW2HqPMoA5Ns\njTJLRUU8Lx0ajRBA1IYs7S7XbRmYy2MIrRwAcYFPkJoHlSAxL32HEYI1mrq8\nl9Ncjykc6Wr960FaDrxpKsQdTBKZ4J1hr40YJXlI/pe9KAaWZ8SI5Iu6L+WF\nQQyRcmijR1qHLptLMmSN1AMggZWa2/aJZ1gbg3NFIYIjAyy/+3XbT0FhMlpq\n8UqhllFCG4hBLZRY+levZHmamZP2sE/prdHEnscVSLIg8jAtJEA2iSAd9iXJ\nTojYrsd3QxhFaEbvPO4kRXdEwjbFn/TbaNhEjd0BlLaOVRi/p0XXG9S7e5sn\nEk+cb62kVmbvHZo3y1ZgtY1upLipDsK9EIh6KpePotS/uhTtnVu6+YgJOhH4\nezH7\r\n=4nbW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.1_1621854839689_0.8409308746030209","host":"s3://npm-registry-packages"}},"16.17.2":{"name":"@preply/video","version":"16.17.2","author":"","license":"ISC","_id":"@preply/video@16.17.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"648ad091bb76d85e75161d19fa0eaeafd5c704e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.2.tgz","fileCount":853,"integrity":"sha512-ibxu3Tpoo2lfqcFPfGJizJtWYcIcwAp8OuwoOyzo/MjnDFq6jtMYZdV2l8aj9jTxu2TMqTVf7+qQKw1VRZsj3Q==","signatures":[{"sig":"MEQCIF5Uieryl2MUMHVSTpNdg/7mJ/TkF+19p2WLGVHEwAJmAiA9MgLDBifAJfKO1tovxlqdSXARQe2OjaE9Og2n3xwa6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29547678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrMODCRA9TVsSAnZWagAAXAIP/ijq6PdsyQdmreoanKkj\n4IMDbUJHkG+McOUJW2CaVA0vI5o8SzpGux3UocuouXf1uK/ck4f7w9V2JEla\nWAcrl9jNoQFOPgYWKb2BymuS2USzPGocDG62U5ooUoQeoEFzrADPcDkM3oqW\nlGle9hVRjT2TznPKDTFhc0c/qWCz1+CaHJODwzXmLqz9KSLxqHdF0fuVmQvq\nCIqbUYMKpKefOQTMgERxjdrCocZvYlJrG91sGksj6TPrXHQet8Enk9icJbjF\nVti2UcGfAm3K27BVIZw4WNFZ2F6ZMd3RAwqVAgEaW4CE1Alqtfs/yDN3VIxC\njyJIBL7OwwG7DIwAbITpXSq1ert2dMVAQVMirtQrx8NEiNQe++4EMgoIJQy+\nPmcaEcaDblKF07ilAKwv0iFdZRumaiYiPFJU1MnJ3isgQf36CW+MgHL6fQ4B\nRebYOD/ptQF0b7jyrkzezzuCLc0zQq8mfiNJGwCS2uHpHPRug1alwdR0AUlD\nyH4B9a9kbZ5XeHnuPmanKvlEK9hsuWE8i19GYzvRWWgUDeOajkVU4mF9iVCl\nTDXyCXx3rx252DYlLKj5dCrWrD6g5IffF46xWSJNXelaanO79NY8Hhr78DOT\n/ZvAbtR/dWahyKLUUZQxzr2NSEYl9HkEidxcLBq3UUN7nAPDDmxPhS+hUcbF\n692B\r\n=hvu2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.2_1621934978974_0.9870676397790772","host":"s3://npm-registry-packages"}},"0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2":{"name":"@preply/video","version":"0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7dfca01b686d6e00eb510fbf08b69a3060074b83","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2.tgz","fileCount":853,"integrity":"sha512-GoKGvl86Q64aDLD79C6vPoUZvrD6l6Uy5w6ajP76xqTTgIUGTqr0BLosRcntxwl0q86Q5TCT8lGY24j6QuB6+Q==","signatures":[{"sig":"MEUCIQD/GabTt3NtQGIYBtwTsxBO8gfo7c0hxnCM6M8RzRjliQIgQlQ6ufkjWlJCciCStuq+fxigy39ZIVOVxDYeFbdFC54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29581242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrNw4CRA9TVsSAnZWagAAnJgP/Rzd9rkP7LHPWCYkAI3p\nodc+rm30BRwX1rXB/GORgjWjl8D04/GtL44SRaVcyhYFCoi2eSwcsQoD7pZn\nwLTqk4TQSjeUtfmClqF+xVrmH7lI/zjlGG6rZHbj4IyNmav6G300OggGpqYq\n653h+i5v6U1r2vePi7ab/HQiVCC09V7uIOOAac4jirf6J1vDSnD5r22cUgn0\nwCm3HIbr+FSWcuJmYKlfQY+JVHfFhseUtWghGwpIpVz1sFXhHDNmhg6xu25B\nX14XBaHPNs759s6CX05OoXqJXL6jQ2FtdcKXaEYYycQkgJvbKmvt3NmuG5pf\nCKLm7EiZFN1UQCDicd4YE7MYTl2Ukg4JIzerk2ZyvWqd9KGQCe1AbaEWSCwJ\nSg2sS6VeJYjzKwU8MvXPtIbzrtjY02LGDKMUksTMYQ/dNAdfv3coTcfL/xX4\nTIVFCeu+Xtwg5sVPq1rCD7X+oKUe9/UyPNquBIWRg+Q3LY2YAq/Hle+Rv6kB\nWk5LCsREbH1PtUJzlOOoT0sYJB9eKN8dOfQrJmRsLxua0RHImR7FnGtBlFCm\nop2HOuZejuIKRG9LVDJK35i8LmDn0n/AHXZDgDVOibWC1htpohmnyekO4WpA\nizOPe7HP1rK0mn4yJPCUSAu6y5XV+aPX3a3hTwh2axfYog/cvX5vUgHIwP7b\nsdcx\r\n=jjg1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2_1621941301760_0.44745859346044825","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628":{"name":"@preply/video","version":"0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"aece6001745c7464ad9d1a051f40782ca2e067b3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628.tgz","fileCount":853,"integrity":"sha512-5+/cBtQV7dGiTYx7LNA0p7gW1VMxO5rtqBP3uUOaoLHjMpzZiUvyoKeAZgxq439dL2an3+d+fL7aAkrv7d48Hg==","signatures":[{"sig":"MEUCIQCtmvHUQnsW3WsAHc3NImGV7VgYsko0Ggr2LmftRVAtqQIgZJHCSVWTfuz+vVdcvnLDFIHLJy+L45YzdRDcmNX/lN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29584889,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrQlZCRA9TVsSAnZWagAADEMQAKRHLOghc3jnXMaVGdxe\nC8ixQckD19IuKMAeM+PUNxHrrwUla1Googxf3tDq1jRgW1TGUbHuC+lbBAYO\ndSoQ12lPwqVlnt+mvJ7W7dfLyFq0JQkZAej04duohNkiaJWke1KqptUW63qj\n8JvgPbDUzDk1a7Pk4lIa12VZwKMETOZRnf+nw/TiLTBu7j1caFlNSA4a3yIL\n2kguiTLdor1rZos8Zx9pYlLmUUVogJxPhPTvKMwnf6Lzy/jV0cEmDb3W9yTQ\nzHgyZvf/ymywThrJL2ciSzef5iuEZNKWj+2GLoTbBTtGilLfbLtpwSqwserR\n9yVUtiL7wSsmY2JSGjVzsF11CeVVaE7jmZg8Qdkrh3DAsJrck9YnNne1Lcjf\norHiiYQgEd1QyntxsDjjN/9A+92WTZMWNN5ci8rFXNenCw7DncsebUo6C3eJ\nCKQH+e1wGzcZm4l4vNGY+1XpMWSK9rmVwlsOqlPQG/8VKjaURmOXNVd9rG7n\nlI1z3PDpTyRaJRKbjTlej+pIRiAtgID1VfE3qHIKysrkenY57N4pP4XKLSVf\nbfHpCxseZsqgk/6xBD6lWzixO+WzP3bUCa7Vetl75f0YvqUMgG0lMGVZ4Qu/\n33i61Me/jV3KGa/T9yVWQi4isTX1ugXms1jFUu77ivMKnL07iCZLqJat5PHS\nWrnB\r\n=ETFk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628_1621952856848_0.09877538721597068","host":"s3://npm-registry-packages"}},"16.17.3":{"name":"@preply/video","version":"16.17.3","author":"","license":"ISC","_id":"@preply/video@16.17.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d053c79f6ebf15d8386d71ac5808bb4a1c20c0b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.3.tgz","fileCount":853,"integrity":"sha512-1p3DI7sg4HsafkMq0fC0TknKxlg2cTWFaywwpgr0av+E41cR7OMlqFhEWUYuASfHbfzF0C0faXqvhOUNXvk3Nw==","signatures":[{"sig":"MEQCIHIpd7ZxVHn1nV+qaIPSeg1rROAM51DUhd0+o56MnYAiAiBk7MQgc406o6E21SthJy4ygzpXYWWCW/9FYIT9Z7lGRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29583681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrR76CRA9TVsSAnZWagAAbNMP/jZpBHZCtzef6I3isPlL\nL9kbIAEvqnkGprixPwckSNRvfge8A6DKP9VdJTV0vc+LcKnO3QNQSny6D/Ws\npAeshVYRw/vgiwGv2x2oJrccblc9GtgSVLpT0tGrAw8QOu15aho+cpvF1dIW\nYHudnsIKKSgt1PC3E7fXiB6hmah3E9ZaoNqjcn6RUcNWYB/qsKlLlZIXEWir\noiJw8TrSu5p26AyNWIgZyzM+AFigsn/+j2DsutMi7amEJ+St8XbbAXtq8Ncs\nI7fcx8w79wrG3wITuIalxqEu7+S8Mf3BzFffiwMMiXfj40R4CQLjuWSzPFCv\n1EMlaaeiC6LQ/pbAfqE4gaE1wrgJVjg812v+7ePfn4MYKK5Acy1tLysqjyH9\njRP4Yh02bpz8aWZ3gwxp1T4qX6zMZwXzvUfBdfUjkoXdn59t+JNa6+MMNWgc\n9sy/Tc9L1hkVjNPHxpiw23keC0uPC+URoXbtTEsTbaUQgqBQggqlA0Lg6iK9\nDLf2Igsp6aOpFqXcNON92XcP2ivw+d7bKeuwNpC1jya2BmzQO/VwpAFXzu0f\n5RNp9rXxkvvNh/1mHBqBBxQAwBR8B3wsc2iMMBLdMnQGDUta9OQQFlf29P9a\nr7A01oyTaX7MW07d1YBWAmMbn1NN+qUxucAS8oHjhdngcSJG0SYid78ahD8f\nczth\r\n=Xrnl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.3_1621958393720_0.7140423823856206","host":"s3://npm-registry-packages"}},"16.17.4":{"name":"@preply/video","version":"16.17.4","author":"","license":"ISC","_id":"@preply/video@16.17.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e1c9f2f4c9a70ae9f79feaf7877775b2300261ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.4.tgz","fileCount":853,"integrity":"sha512-ZmApGo0+hnCSaAlxZIhD8U2pvppoHE07oAERqSYJAODEsNC6esTieSU/jwZnYiPtFxpjpncBM0RqivCOP8FMhQ==","signatures":[{"sig":"MEYCIQC0xFZk3Dru8pdbu+UDG/EL4DC+tnML1m3aS3v0aF8HmAIhAIg6bvP6d189p+mzCR9Zs4SKq99VXMp4M3O8wJPQlQj3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29589591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrSZgCRA9TVsSAnZWagAAvtoP/2pEeMaBR30k3JCup+nZ\n8xkcLP6kED5mFUqwq53yQKPAEqtjtK0s4NzQGuIOu4Pu/RXsAGIeb2Tt9SaK\nN4sjcbCy7S2u5toTZekUI9I/gHUNO6HeJVMz1RvpjMY4qvJsNGXI2SRT0H98\nkkhD2KwwLOFUInIp+P92PyAOBhr2iAvq3/Z6aIMCSLSjIlGeFd9aocy/4/IX\n4LlBGbpAs1tz2MFzYSA3b75JZMVXT5Lri2lKd4Vucb3YKdddx4igp8/x5hJo\nkLjvDpOzySoma/hDS5pJxSWsr8pRaWJaVXBgatWpYrbmIgd4TgRZl6p+SGoP\nbtZ0mHeFu0j3Z/6YyJOpu7fi95DCrIhdNPKFAQxqEhbjRwyk/WfwLyNkHp4g\nEOhuB6OG38lAuwx66P6u5/7AAbPPD4B7tK+vzH/AcI7C6VpSYvPZU/hX+J9p\nqx32F/T942BMRU5H/omj8UHqlEVdh7i+jFk+aOSEJbWPaKyq3FAdrWdOlo4+\n9pylLLMxwsq/JA5JPYR5a4hgIokO2oJwRK+zbGlOjoau6PAsHLbiAAh8qLIX\n8J45ubgXw6gxOOrCpmZxmJ0ZedlINBXEo2ZKixdqKfZbJcts5o+0dqM42ngO\nbiLEfpGuvDpmSj2Uc1SgWFjX8a15xNj+PRcoPM6s3GMM+sMJEYLZb29FQ3Bt\nt4/z\r\n=b5zG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.4_1621960287265_0.09263631387221727","host":"s3://npm-registry-packages"}},"16.17.5":{"name":"@preply/video","version":"16.17.5","author":"","license":"ISC","_id":"@preply/video@16.17.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fde58748a973add58cac043d3efb4b116c004ae4","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.5.tgz","fileCount":853,"integrity":"sha512-TWgZoZMtFTdBObc0bBLLmiaCgaw5mlwADRTgbe5sKo986b+bFpgNsIJE+Ukr0fuPDYoDW5JKWrc0dQ3ubiLw3w==","signatures":[{"sig":"MEUCIQC8lh5q+GfmXZQdLhmB6vtXTLk1WL8n8voAuIYJdOL6jwIgMZaCo2KPDzhF9F1ykSNDDmZ2ezZcZy8rUONHG7Z5RLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29590521,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrW8rCRA9TVsSAnZWagAALiQP/26Dw6I6DlprnpcLWXRa\nANSpUBeoYYps7bxm4NIt1Fl/MRizB8hp2JgLZNYeAcVWng8zdBPYUEdio6g4\no4rV4eaWbWJTyK/ecim0T9nus+agEv6O7/w6XZrlQRpx6zrkA+08n1+jd4G/\n+4+JZXeMzhUpqmYkLy6G7Xr8kXoQqi0IqmoogUFaO8ovwNb51YLNC7LZId8z\nktkW8+SUF0HaF1ztyz6L444RQmFSB/Y+reTLmVnp8BE/D6uuvABmMsqHvBwI\nx56dKZGD0dvTfVaGxY50IeSnrApyqHz15kFB1N91SVi/6gTTM3Ot8JIYTjNC\nYHTzQwCE4iS4zU2R27c6QOkyEd5ymx5qrwJrXU6fwQPDOx0EFGxk7HFFsdGV\nxKczyIHdLyrcKbzOG8ISjtShT2mrdpptQerq0JqO4ia6E6knhIfSyIn/5YAQ\nwbz3i+pH5DgkqU0gfJiu98BhQIA9R8E2LVyM4jWY8UrArl4Mspfl/qoOlVK9\nZ2YMzWKhU7s3Gau2851G8f1fewfCqNFH7+mwPclFjsPqq2WFtJzDMr24rZMD\nib33kFJ9JDxfK9VcHOhm+NQaRnjo3LDQg1JNm2gZZNBiTphNOD8/MEM6FBrU\n+P2Vemy1G6ywN3ZByWBcPrUa/M7HR4PhJtBxHMSVaz8D9hHESQh3M2QT0PEq\n2PlN\r\n=ZEz6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.5_1621978922941_0.10717714159116887","host":"s3://npm-registry-packages"}},"16.17.6":{"name":"@preply/video","version":"16.17.6","author":"","license":"ISC","_id":"@preply/video@16.17.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"495a5b73fd56a67c872ad7700b21d38e3602a063","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.17.6.tgz","fileCount":853,"integrity":"sha512-hyE3yn2AA8NJbRwszsJ2p9tROT/RGk/smRsekxV1CysNS+cehEp6ICs44iZzx8KKP5hOONnjf59F4CEcnQE4kA==","signatures":[{"sig":"MEQCIEgvV3s3atLukES9+kAkiC3CMnn4/eskXxE//9Va8qpJAiBIrV906m0b7tcf3C/OLs2F9kYJnjBjiHREFF7RTQwCeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29590523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgreaJCRA9TVsSAnZWagAAJ6YQAKOpxpurwrhItuOKo0R6\nRcii+Wm4WoJ8+RYJTHmVZNkYvLgNTdRnn5Q29nssLhyF5YafFOuh5V01PYBS\nzlbRB9ZyeOWCotQDyrni15leQeUlecjSUx0pr3rT9CEfwGCHxwulu66IRfM0\nBypOXooHeNpw9rGzmxeH+dtmGkGk6X05v5hKGG5yUPsnRy2K4vdVFoxAbzuF\nrM1oPrh8TsOhXenfMTNCHUP+2qsHtJjF3aiI35385PY61heJa43ZevNNQx7n\nxgJ4jCfQtOZFEmbLlmy8DBrD9Tp1YSwD8HPaquZWJVN4O6SWKpL1F8Uubnyj\n6TBfz5IxkX8BqRf/19D46m+xRCbnHLB3l/LsRfDUDLzitr+/iKPBDWE7b0La\nq3N2RcqLnQTnxJzEp5rNLOGoIbrhkfQAotL6T69ICmTkhlQ3QY+qPKASiYKa\ngny/2bL/Id2NL6PnxJhnN5VKsZP/OMdysZDf8QvWRoJQeaAdNiK7v6b0lMbP\nZqr9z73Bmd7KQNEeJ5mkJVBA94XtLHMmf6aGkpcUymqV9zGvyJeBFzXo/Y8y\nWf3dBZu5wORl0X5EfD9VH7QDiwPtS/lqIBOz2SxepAAMi+15VpEmJRNvEFxS\n+8oYEje/HvKsaOW9/kpGqvWD4F+0q/PJmgqrHUFmxu8R5/qsJibprq/sC8Wq\nQj8s\r\n=SLz0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.17.6_1622009479977_0.35850860371354454","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb":{"name":"@preply/video","version":"0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8c81b7c3ac2f59df2f9927a18f84d64154abf77b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb.tgz","fileCount":853,"integrity":"sha512-FUirIffIdfLZHQHLd55brQ2+XfQ6h74VT1jzYONQ1J/FKB7xM34ayTDep7+oj4He6B0qxfBnO5p1hB+O95io3A==","signatures":[{"sig":"MEQCIDWcq3mtkwnMLSzar4WLmA23WLwY3fpNnpIhPwL1+We6AiAhJoTJAZnlNZ5AzBGekTIHtB4ssNzI/JZ79oDnlFQ8Hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29549801,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgriguCRA9TVsSAnZWagAAhRoP/2Yaz3NwR+eCPNlsaFzF\nzfMasJBo7U5MtlPeiFZRUBm0bLoNMOUWDNazqcULjPSXM4FRrWRTbRPIM+bM\nnL5YDuEsXAgPrHopEjNEIy7lbJrESID9Meh/A/WbPZU6+3RQ5v2h/zWpaxOv\nrWzGW3DFe4nrGVe/azOPxNHPCJry68+0SE8SU7fPH2qoi99aMwBtHEGybxZA\nw6tcnLk6AByzkYjs2RyeThQboErYQ4G5XTIvvhUlbT17cHKKdbrfKZGgmnio\nEKKEC/IdO5o/0a16VGxECh6iMqPEPmWVTMBxAMaIkbluuzSnBUbodITF4AYm\nDFLG4faCs2MOHU6JDJFAb3f8NUJKj9jwgt/ILByxHUB+YLJXmFhxMPbLTONh\nKzLlp5eDVSQ2i4wG65sZcovgetZxEMNcIN7UxVw8J7ZJcCxeF0HlRhxeuAev\nArla7K3jT8mSNyi6a1qUE3Hbipgx+M4mc0j2XDjrSsO9soiMCvyxnZiAnepz\ntGgN6it9WgiGjYEpzre9saaNxNXfurL353lBwPju0QS1t+6HIOXed9dt1fId\n5bTA6pQmL/r+z9qRa0YoJp+ICR0/tPtkfrfgJF0jmLcHgKEmWKGEVqTbMMlF\naCDkhwyOzb/JYrhQkF23Q2DMKaKuZAuaD3jLbRGcgxU7VtEJ/8DxfAviIv2I\nbZv2\r\n=H8H9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.11","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb_1622026285795_0.9162864489755549","host":"s3://npm-registry-packages"}},"0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee":{"name":"@preply/video","version":"0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"92b00d81e67abf7f55e52d3644f3051c645b7f15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee.tgz","fileCount":853,"integrity":"sha512-egep/7Z+36GicfnL8S25Wq6o5U3pPrUBZp+GHKF4da8sjrBAHjWVEvCxfkkUULiDT+uue9wTKeiyNQ1VWHhKcw==","signatures":[{"sig":"MEYCIQCmF7iE/7SxGRJNPGvOkwKEJ5+6xs4WcpcL1Vz1CErSWwIhAJMTDkijBJMTg/pPt4o0aD0q7acfmLiCSGFmF3qljC3j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29599541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrlm1CRA9TVsSAnZWagAALzoP/jdFP7X5b90p/MhO6JZN\nlzkqA31WQNl1TXWqxcjgHIl5OYKfPs28IXH4G5Tw2iTnzeK3R4fQl01PV4lb\n36xqCSaNGsk/u1LJXXw2szLE2Mhl92mvcps0b3DCle+arM0De1Q/HaoXxyfQ\ndAo/P+2/SY0aAoEX6/9fN0yL2L2pj509BbUMMO5AH2np99I6MHqT5+/Kb7an\nSxiqqPFbiyEqMAUR88mRh12T9Fw03AVsmS4zz/vcUXZJbMWkd9T04SYEm/P+\nw74HPZLAE1lYPVpOAAhwJRZJg1RzK8LScHvtV278pu0ylwVS2l1Eojm8ZBSw\nPKsFKlvRxcTlE/F9Vb0FOQeIHh7iByB/xlxAVUM25ziB7mKLmgvKLZHxM78F\nSEDj3xwhur9CYD6WnPa1vQWKQKf2F8YuDJZR+5Izyq6uS/wUIr5GZQjb1TVf\nJ5b3VHCpGK9nsG/rI+M1xcgNytMbTUgnvBmyOvi2rK0NJ6FhDTM8+kyCPeZx\nh9FOFqYeru4oV1JjP+hZdYs526FKeTpRW7Leox+6fL4TBF6EGWpkR5SAJwaw\n10axRxGz8Fo0QR1K1dgCbsqhLipWxAHbBtIa6B1Cb37ihhOWM1rGJa+XZeAp\nUwlvIqrNJLBFCcf6OzVkLTnqmmn8L29sTV8eJE4BtJrid7kwWjLRqPcsa6jn\nbFj8\r\n=QMAn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee_1622038964540_0.682872967057778","host":"s3://npm-registry-packages"}},"16.18.0":{"name":"@preply/video","version":"16.18.0","author":"","license":"ISC","_id":"@preply/video@16.18.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f6c2d549d5bb143a70070fcbdb651d782de36719","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.0.tgz","fileCount":859,"integrity":"sha512-J1MPMBldI6aEDJ1PsS0Yd7ddQHK0LZ3FTw8hXptT7mXIH3P5i0pp00ASs439QHFMvfiCptapeoxUx5Vq/v5U7w==","signatures":[{"sig":"MEQCIBZnEH8ulLh8vLF9iFtcMb6yhDz6AcNd1wjailujq9OiAiABkQICbfTLzT/4+aMHHUnYhHVF5u1ZwHmCfpOKfkF3Eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29637066,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrnRRCRA9TVsSAnZWagAAN6YP/0K3Hw42WqbjwPTS76dw\nBkbfGUUg3bvHCVSi2pCJh8ez6Z4gLu58t1dRx3nqgDBCd64osX/SkbQynklY\n2l8vT1aTJkT0BF+rxGJMNa2/wz3MDOAQCYP/RDHPChVrDZaGVlR4yuueIRDY\nEe0dDYBLkC9ur39JyEzFKctet8FNnHHIrA5sO4Qvt/vOcc4UtWh7eYcdLoPb\nPqUTjJ9XmUM3FXjn5Vt6QZcxkSVyGM/uWa5rKuUCpAICF5Buy2GLFts4T5LK\ntfRVdLVAXkOc5zTwOKy2jg6iPC/ZVgCfKheSPXXDwmRl4A4CsQIT9sGJjTgX\nUtoNDJpzpMlj1V1FMo0Z0/D7yi1wQADVqhZI0j7l5XTb01VrvVXxTyKFMd+y\nXbVSkEJUBWlmhZz3rad/JyR/2UnFk6nLgqOx7UoDuW+NV3Nw5KV9BKY0d9Fi\nhblra/NOiSMrkJPZvT+Sj/y0Q9m8dsqxT8ZDh5cW1Ftlx6d6VLop/6l4WDd3\nmidlzkGL8b0O6P6CLYcvX66LTAQzJjXwQAh7PyMsPDTprJZNQHM9fOHeC2e7\nOC606bOiyOYqGhK6g1ZrJh5NkQ8NzCUkIp3AEvJz7zPhdKxEhQe+ckIMUVVW\nw8qhn2N3sI7KxpAgnc9fwfGJm1GQgWhPBpEcpg1n73oxNwpd3/NtG2tA9V9m\ntyLG\r\n=vBJv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.0_1622045776510_0.5751044553961888","host":"s3://npm-registry-packages"}},"16.18.1":{"name":"@preply/video","version":"16.18.1","author":"","license":"ISC","_id":"@preply/video@16.18.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"16422ce4b903b196cc1801114d9ed8be40729867","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.1.tgz","fileCount":859,"integrity":"sha512-dfJN4L99YLqgHGRKLZIiUklRZ218R5NQv1BrJSTNcOBVaIrklc5/pn9tVfCeLk1UaJbeX/W0ZUQoExIDs0EY8w==","signatures":[{"sig":"MEQCIDT6+L0MRuh5Gg8tJwYLaXQmvqsC2X5rgOh6cmMuFVlgAiBUfNtJT2TqVKRkd1S1T7G1G91I8Yn5z6RD5PT2TjVNvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29645213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrn9WCRA9TVsSAnZWagAAq70QAKMrenHPIxRkLnhmAl5l\n4o9sSLg4luY/U6iQE5T2PzUjidfXxCfPBsiM3JCiFLSFkzOZgl9gILSGWquc\n9rWg1oV7uGCTxI3iU71Yh2umiuvdCggaomunJonMTTRcoZp/RFgz2PCh+gm3\nrRg8j1ktskIaT3ntsbp7LvQBoqU47cfXTPD7ntYLHVgmfgJUzc8bsXfBHdDd\nG/1ej0/pCw/A2NETXWVRI2VxKDIgThw9Pfrdmfg7k/VEHDDepLQK9QvY5qgg\n9cos1yMW6GNT/sIyyhHJ3jM1vAUhwEDGTTSVG5K/BO/ZES91SPJ9fq0jEwoT\nrO73+UGPyH+KLwtSh42H2QU2Di1xp52biSWwRyXZYXhwHgEW8/Myues7N7+L\nen9v2Juolmw9M3Z/FhPaYETBDWka38uDEqsqzsL8k+KTiYURuRatec8ZRmAV\nOWq6j7Xm4lPA6kwfe1TmPh6z59tvUW1Bx99yV92tzbGauQsWCp2eupnxwYEl\nUEUg2C/Jl4tdtFQgW0lstRW54Sjc6WVr337+tcv/+m8fgCdIcnrVr6K4jRvs\n4BeZe6cjFgzmG8W7gqP8eCM0qAGRwupDOh8V3gQwPa5jlRO3EZ8nsjXZBvw8\n3s413wDK/8xWi9BZrksOwVWSxMfoJpGYeH6/+PsnSRgjr7iDXCgxE36vyqLf\nAXK9\r\n=U+ws\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.1_1622048598029_0.5501777853350374","host":"s3://npm-registry-packages"}},"16.18.2":{"name":"@preply/video","version":"16.18.2","author":"","license":"ISC","_id":"@preply/video@16.18.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"55951e1e971a8d45752827a8e820486464e5376e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.2.tgz","fileCount":859,"integrity":"sha512-VxsIi7ZFxI5tE5DuQ+rEedS9IwENjgKE9VbKUuFeJF/Nt1Kj3hTDf727GqBusX1zh5HR+G/z0fAWBArqHJktvw==","signatures":[{"sig":"MEUCIFdns5tPgNbBXSXJ8kaCJddKBIfsKs5gPmRBJSkPZWvgAiEAgKsPi4lYYCogGJZgs+gWn+/0QNm1AAeKWZx6CQ8Bkk0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29636783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr4wHCRA9TVsSAnZWagAAQhwP/RlZJRrLkl36AuPfQuAj\ng7n63iOajo6gxwF5vbcgxZ1PzQUjiJo8soge7Ng4JixbT8Q3RLn4blEXV5RX\nNSS8qm5RoGlQe9YW5p09uK5/Nb3QXCuGW7CuKiRdEWCQox6JzCPupplv6nJL\ns4VBVRQvnm4GELKm56hPmPot1a3j6gp1eVJZFU6qosmtfTdyJkDwTMteIHGZ\n2gtI+dWRcUlV0gWJAwFpj19QkmSxFvCSm9DB7B3EkNdSNUaixiv5R398pTU9\nsTwwKZil21tjOHxFcPICTHFB4OX1HBLi8uweO86pLH0Dw6p3nWRRWHN1dyZ4\n0V+QvodS7K1Sx81fJvIeYSsha3lvJKkf1P+P6BzSSCz4/tJPMdGuKZpctFZi\nswZ7eiVhZ7ikQqE/MNkqY+DqZ6E9qllfmZ5PCJ7NHBTTIA/VfgzxacVsOsLd\naTrbcINMr0KjesRlj4OKHnH23QgctS/lWBzUkPF7VkZhwkGU0PKXtn2r1f25\ni+S+5HwFfRlaG0Y5EZMiB8fjy5fbFPFrKJOzPLd3NDDbhS+UVFXR7QIopMwa\nViK3hyMBEMl/8uPcLjdj2ZqQY6wsZzwIf4DXXwTLudMkhbGuLg9J1v8Wl+7f\nKy0W2qCVIAGKsislLJS6/3vDOmF3DDmGyy74ldJ0iGYsF1yZ6QZDVHG7TjsT\nmvzv\r\n=mSaa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.2_1622117382300_0.8589685279693313","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3":{"name":"@preply/video","version":"0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7800e6ea6be0b9374ca8100ec5da483b98a73c64","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3.tgz","fileCount":859,"integrity":"sha512-gYWkP9B4Hcn8yUssaHuT2EP8Y0iesVqt4y8IKqjCX9O4W1QfmOVx5TNu+G4pSOqXAekifxckfw3wSWgeqV01cg==","signatures":[{"sig":"MEUCIH2lRwVtNiuEPlrNAtr4+MElcibe13GIy7ICIwb9XPnJAiEAlM2fq+Ea5dxBJW/eLaI4N/1Jj+zAGu3mUuIulKzScd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29647657,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr5HOCRA9TVsSAnZWagAAjtsP/06f6Vk4rnmVmZOaVYlQ\nmtjFM76+KdCuVFMOKtyHFCUmNydUM64vlp19Q743iOFW/Eo48HMhVVKcSRlW\nzLd42Ja13w/roHa4Z86kKDwJ2EUZ6tuBLBVhY9++ShRYRP5pehbKfZr9cDBy\nbFRvTeHSvIWCc1nTMyS+zXiaWTLXF0j8VCRbBNaBB5bL6FTOdMIKJ+lrDbRb\noh20djQkeLB+08YSS7iSLZ0KypRH0LYpUuql6GODnZgZhOtttx2h1fBhScdG\nqLxfADELSC8rFRxP5adQHFyrOQ8crpYdTurz3TYCrQ49QHmOJOepf6NPB3nt\n6d5BWIzIiEBMP0m6smAbZ/yxWkizqSVTtl3umCj034KTS6EfUl3fnaUQ1ejJ\nQp5DVgIblnFVEllnxlAvVmFrfpoisgZZOoMTwxmJESlY/edZkTv5Z7aPpHWx\n4ylJ5ojvL673BSqpS5FijOctwMF6q+RTr/1/oB9btmtH/wg6ftrhrQUnNKO4\nJ1s2NKaxAoVyBosLTg5gtBN/tVPZv/98zQqQVoGfPTLbbUYCbagh/Rh8l5h5\n3chiBdY4T2TV/dtI3yNbPS1ARqs2JcbM1jahnk2FUQoHKipHhPBDhWOWxdeY\n9XyQhsvCeJcoDqanPTS004WwW/uFLl5sCfe98pSHGSGy4IgL4k0lId7mrR52\nETQV\r\n=BBM9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3_1622118861898_0.27734506049744967","host":"s3://npm-registry-packages"}},"16.18.3":{"name":"@preply/video","version":"16.18.3","author":"","license":"ISC","_id":"@preply/video@16.18.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dab0c9f41c4979600cc8b7b66f1c0c62947a5dee","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.3.tgz","fileCount":859,"integrity":"sha512-w8Sp/bC4TPvUUg7oJ52YOUbHczm2tEqUwDILByAVrajqZ5KkzlwwDkwnsko9wO4USAH+rnWuNhJxTdhhovYftw==","signatures":[{"sig":"MEUCIHrCtPsrh1miU+nKHWGg1iNzc5UkqDVd0ENROFNR/6cAAiEAryW91Hyfe6SFJ3oe6Qg12jls7veQqyWGLokC+kI8kdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29632603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr5t/CRA9TVsSAnZWagAAAJQP/RtzPTGd/ndLJ0ABmNMN\nslxethwaHHO4OCQUMfaq8N1vgp5ccmjIlb3s7Vg4vslQm6oP7IyOT1Qdi5O+\n6CeqqOd1XhQ1z/KqZ0h2upNfNt+vd199pwHWa6Ys6fmApR9gQgclrEhRkbSY\njkDFveYSTgXsiX+2glbbUIRtfg+qFfQ+pXOfJNXU4wC1vfUJXAL7jNX5xJqF\n0OLvJ7M/PvZ45PyHrOI3ROoA1zkwkML89DokIpDUeMMO1YcrAY1w24i5rQvV\nCeLrnnLgpivQELxBlXpcCQwc9g+Zl0IO490L9BSPgD1/JQXPExVfoKFH2oZI\nVSIVcp8m0AcFZZFp/ITqc3xEF9ypSGK23VomtdVfeIouKWsz06l/0GB1Obzu\n1xNFUuuJqybbqcg3gRS2ab18l4ij5aWnZB4fihukbBr9cwF1/p4uJ4pdJJmk\nuDKdKLo1OhYUosYh6anMS4tUPAL9XJEf8XSheX5jB4l5nbaZ8ckZ7NITuJlA\naKJ3Ceio9kO4xwl1nWO9VFz/hPev5sceLBUBJrKzYjf4cgWa1h69r9AKHDHL\nUcdeMNEHaWXp5fYakhhjPYq2B0yhGmcKApK0aQ/9wz9tG+6SS6FOxoK/LKxZ\nLJ6iin+KlYCP+R23h48CEsEqXMQBGDECw8zBevv08/D0hmk4vMx3eIeg73BV\nmtZ2\r\n=Mv8c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.3_1622121339495_0.4542310886996481","host":"s3://npm-registry-packages"}},"0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5":{"name":"@preply/video","version":"0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bfd95e7b5d2fad8dff24e33e6bc4d0a6b5bbec01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5.tgz","fileCount":859,"integrity":"sha512-pInYY4AQsMGSaBIzfEXN4qkcCsBW3Ov8HHWV5+ZG6vukmK4smTFhZBczNruyYB/5/PBzIA9aRvR1MeVRdE50YA==","signatures":[{"sig":"MEQCIDjbUJWrdMi8g80l/G0Lu+GR7m0L0wQQeESW5rP+k8rLAiAcdgHRG3knJ5Nsf06GU73SVZWXNXXOnuCKs1rlFdXMFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29634552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr52zCRA9TVsSAnZWagAAcIoP/iTjCo0dcTvrTXoTUU6m\n7XjHNayeFGloy91b01j+0LxjOwlU0JTq+mOuQVJyGGWskW5fFcqE1ORTWlkJ\nouUlmwPtejWmrgV5RbLSe5x8D/aorlWIWmMUgW6xKciWL+L6G686E2OkbcS2\nRHTbkhCnhdMZXiEY7LpSRR/+zuRJ7anlnn+NgX5O6di8f6TLybbxKYJskMAK\nFKUn1c2oyn8eJrApyXyiSkHoBrpCkjIBwBL1ySRqN8sLK4d3Msv+54BqZPRR\nzsiMCTKKRbqbxVQ3Dk6u0YL74CH04vBTyIuZPGgpsMAhB6Gvi4uebY5ZfGQ4\nHnrQ0cq8okz9jpCYBOFneiw1awsDZIqo90Viqwjznt3w2uMccgio7umuWIH1\nPV/7QFHYiTi19OqSUwCGdbA5FYcodCO+Zn+Tj9rnXRckDIcF6m5zh3HFr8Rp\njkMabyMiTw/+KrLJqVwzBExYru8cajRAtP/0+8jkfoY/McRFrHJ+wogBnApA\ny3sx+xzbsRBsWr8TAXybF0vU7IQMUvzsu7o8Ji1DVELZiALBHcZ15NUSFd84\nZf//ZjojzuQyl5ssyvBdbtjlHQTBhDvumkVM0H5yodjpB/aUtuDjpfUPkYpo\nUMwUAgWksQyWZBVI4cT2McykJnl/3dbmEkH6p/35J3KZ/F1bZDR88OOY2DDZ\nyBHI\r\n=91hj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"1.20.1","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5_1622121906466_0.785779474280969","host":"s3://npm-registry-packages"}},"16.18.4":{"name":"@preply/video","version":"16.18.4","author":"","license":"ISC","_id":"@preply/video@16.18.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"069973a036984be03bd1f8317640acad1922cccf","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.4.tgz","fileCount":859,"integrity":"sha512-hK9Giuxtbzd57q7/8QfYY2qUOvcSHcqBVXFxxxeoFaFSyQcbiOmN6PgxaPAbZDrMva8g/BdNP4yJbLQLRQedQw==","signatures":[{"sig":"MEYCIQDxt2zyubbu5P/xtV4n0a4PYmG/2njT6PGGyJUdNdPdlwIhAMs3DUjmtd7R5F7lbP9nD5mjpO0HP2m8ybPbgHbQZ/76","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29633842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgr7XgCRA9TVsSAnZWagAAuxMP+wXlR9uygSE6+XKgU/Bs\ngw5XmfgS4wHkLU1/RB5M0t3nRKcx8LpdUcb/kwfZs+ayLFJCCRTA/SV+lCk/\nbxwv6igRc90YiLM/SkUESHrg085V327DgyLrt6KBmJ43AQdDzY+nG/IKTc1Y\nb9Qtvyt3OHTInHXi7aHahdmvENUL5bEPita414AxQtymsKyzw8uBLnTn6fS2\nvB3OP2jy0A/aQYHJ7ikF25353WJ+Qos+lOPknginFhafDiybxt1nRg5BjDrA\nnGwKgnXiqbMdK7OBqMTLB8QcqwCyJkWH2sV4z0riNV3MGfIZM1Hea31W5aoW\nOqPXv2KnVx/vVLhneZ+MmLp3YwJH5are6a9dx2vzjfvoGI+12JwKrRSH2zoY\n8x7LJKeFqHPnR6j/HDyT+65KjI+JU48vGplYf3ELSqVafURT+WCWYyiYAbY+\nAKHT4x9Q6ETPturqscaXYuBzYqpykcqxN9OopDdFu+4TQyl+PoN+NDegxNFP\nF8Hf30LiI0PSR2J9ZvfCfJaVsPK5wvj4mLgFambAnLUtEh67ALW1X79ygwf4\njWbgHt/Qa2wYdXbYpyUzASTs6XK7zyD24y7SzxJegJcX4ai8sp9bql75uTxM\nGOGxI3fRsgWPZVLmSBKKAZarTNTClMote/dxtlq+O0yVIf8SQJOhVdh2rxmI\n3Dkh\r\n=gTnn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.4_1622128093995_0.7245891205759871","host":"s3://npm-registry-packages"}},"16.18.5":{"name":"@preply/video","version":"16.18.5","author":"","license":"ISC","_id":"@preply/video@16.18.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"693ca8adcf9a6dcf9310f133d6575ec47712754a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.5.tgz","fileCount":859,"integrity":"sha512-5LbdzYCGVE6hSXUjMeVWM2z726GjGlOVU+OwBFwyNDgF43oBcOHPkCnieps9tCKhwYinNlgsj+p5u/sabt/nbw==","signatures":[{"sig":"MEUCIQCAkk/NRiy50v9VqCluMJOlUOL6htJZaX2TxEIPWUDfgwIgPvelFMsRtRC4EHdmjV5Fo0I9Ho7RUVEwCe+MrGD8ayU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29633812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsJswCRA9TVsSAnZWagAAjbAQAKAETBosW2wCjhnNYpbt\nX8zO7SulILucL3ir1Jt5xcRtvEbkpBPseZUn7T9jx8OHkt5a0Qoz7pvRv9AS\nesJK9npDVmQkFKP7PhqWyKszPS7wDfX4m4ZzN45j3x+Iwx1R5KHr58GR/2FS\nEdWB+s+nYfZPV1ytPKTH37AN2DF1pBr6iFpJ7SrhP7BdFvyVUAG1iOIP6/l8\nt5vtSgNrLLGO4FHQIcZsArx9KJ8E1SZIIK5e7Qdf72IfeH1OAmv5RODjnOMN\nrUZZd3yr6N3tQrfrSzknz4AP7b5TwK1iWY2ToYR5xj/4yiqAPpshUasHLOWo\n8FFx63igACkI3GLialM7/AHy59Hv0C2r7So9RQ3sHdOBPDAhVGbGK/OF+Xtk\nNi9ART2juH4oEEcVmIT2mMXFc4I0HgJhms+MxBmzqrAHfdViPiAfDaYWlStB\nTwLNy3BMOTLkhPHHVNffmuVKWGDwAoVfd6BC+2xDTjYNI4X4mmLcuYPr21iF\nolTGz+UdBIiXhN22VehkVD7BYaGZbKdKaYDjJb3CLhJXxd7S+PuIZYakEhNZ\nEoMqhi8kh8Cun7ZapLSGdVjf/HNzggLvW+qeCz0rf0dfF8nKpRry4xPJ8spa\nzdFPKEC44KL0zDbP9qfLV2PVMNAEHhwKmbjpbdivnRR9KmXoW/s7ealRRjPp\nrLfs\r\n=KEjm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.5_1622186799229_0.1011827920172983","host":"s3://npm-registry-packages"}},"16.18.6":{"name":"@preply/video","version":"16.18.6","author":"","license":"ISC","_id":"@preply/video@16.18.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"18d32259be82fb92c3aa860afbddbaefb7f4bd09","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.6.tgz","fileCount":859,"integrity":"sha512-OyQjgO1w2fNLtE3doHqbtw5GE8el1Ac2dXGNlf/UYIZQGlSiIkyXYoD7k1NUJImrd3fLmNXpvCuDP5nQk9qoIw==","signatures":[{"sig":"MEUCIQDz8BI8KHQ6l199dq+EFQ5P/+WWUjvzgaV9zqS6g2hmzgIgJhcmHr6Vv2Dlrant9NhDap1+HVAc0SQF1VxaDoSeA30=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29634014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsNOqCRA9TVsSAnZWagAA++0P/ibHA1/+WodEENHcTR5H\nAeJBpyasgLK0ojNyqr+02nAHXqD2MgQuoOOyoFjzpWUSF9GAVbx4L+zc2jdN\nvBjr5zFJmfhfzxbJWwteT/UFnsGPGqKkZsY+V/+fnwU+fuwNsUag0GNc6a6q\nS20uRnkIp0Vy/pVXiHoezpaUBmtS6XkyLhv6X9yoWi9GIVPV7y8rb2rqQHJN\npOw91J2haub26ygo8m5r8EG3RdSD/LqXAJgPAqq3xNXUCvYvJRHo1UbhcgSn\n+FlpdNjo+M7ZElsvW88fqmvhSUg9D31lD//DmADBKRcEEMBFDm1Qw2BDkKnJ\nePac7UY9Uu7Naamt/DaLDpxCZZnVjBpOGY24uW13jr/2Bv6c6ItdaP1LQQae\nDaJJcUkGTQdrlGcVKCtckpykuKi49qYlGegYF0cOzh2QvkAlwkbL/e1IRzsC\n9UaX+X7atvw6lgToxuX78DTo+Cqzy0IgLnn1SZ1iW6WNHf02AgSqKa1KG8ee\nCzkSL/4hXcQGG71lfVxvwOEwwkZH0a+be74yJFNbIk6Bs1bDFIpIj7p7uoTS\niyREmSygoI3TwORitNm1kAnc6ZPUPPPyjoJUtVvvWJvbJnJiXU8Nx4P81mPu\nWn2YHZ0txr1atglcVpf0Xq0P8osPBnPmTWbc+8iQCDLMN71LI4NiSX0LWJqZ\nn8Ow\r\n=CVDp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.6_1622201257095_0.6045579456920604","host":"s3://npm-registry-packages"}},"0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281":{"name":"@preply/video","version":"0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0ea202097ae120e8d513e76695502b0fd9b48d48","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281.tgz","fileCount":859,"integrity":"sha512-NL6rTKgXVXoHLr5VzLJykio8SPYA0+m4Vs19+W7Jfl7U2bni2wlN7133TJh5HJu13a5lHSeythc/t2dQecUMqA==","signatures":[{"sig":"MEQCIBZBYljs7Nfhd5xy0PbH821lxVYREt4f4oz8EAh8RI9HAiA0FHEYlLOZa3pDhgCl9hjvGwkudiThoU/2hV+dnEZFMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29635963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgsORiCRA9TVsSAnZWagAAHaYP/1OSGM5RO4as/8rxhwoc\ndxF+gH7R8apEC7ixslIQo9dw6FDMtFEDmnWIRSObSJ8ThAQakb5z5G3jETLx\nQcpPSEch0dc5y9BxURrGqKkYSshJsua5OoVpkHiXkugtTDviFtzLkZ4xP+BX\nkRAD7jRNEim0tr/BSjaI447lHihLNnngR1LQzCLyDzmC8/TPf1l8wlelSBRd\nuBFmcwvim4lRNrSz7byHnQWb5AGZuHXNblSqgPo4bgRrfVDf2zylX6MwjJmd\nU1q/WLk+rsEycFMncU7H29AW2T0uRIn+QSnKll1c0A/KFsqRZiosXSknbXtL\nbKm8Pz+Z1XHQE7THgEhRXkUIvZLlQ69/Aav7Hb/AhH/psQC7q5AW3fBSgceC\nY7yTUNAy6sQpvHPUG3ue2W8pFucwhbfHnCMz+NwPtEdX21KtdbVj7S8uie1r\nYxhpfZw7+F4Pz7loO7tM6cnLPyHJBxtLYr99AWZG/wsASTQAwxqaLyshgc5h\nrsGvc/MTB0aYsDL9G6cl1WJSWi4jOfig6RiHp5/Buvf2j/Movcj2UKdmqz5g\nIimaLJ13+Vnj664a/agvfMAJBdZbiqJ1thPGDZjm94MqRx3hsQk9pE3Oy+WK\n4Tw8ZVZPg842uV7de20RBLXIhS2umV6busnajY9OlqbOsmCecS0jWBNm3V8o\nKBdU\r\n=Q7Cx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281_1622205537878_0.9785044286254998","host":"s3://npm-registry-packages"}},"16.18.7":{"name":"@preply/video","version":"16.18.7","author":"","license":"ISC","_id":"@preply/video@16.18.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"490a770e4b1a0e59c07769afef2522726d979f1a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.7.tgz","fileCount":859,"integrity":"sha512-ogngBcC7rdzooPfp779wOQHypBRt0TDWbx3PS7/4h0tC/1TP72SwAJdLgswfBHMdnkbCvqmT6/Q4zRH25TvMlQ==","signatures":[{"sig":"MEUCIF8d/ikrVByih3H93trcrjnj6MSwTS+A1gQTMzY/VpseAiEAu8ufMXmdUt/vS9rFdGKwcHXvz9q/cHWP9lyazdyOsNg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29634148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtHZzCRA9TVsSAnZWagAAc48P/2SmGfKEV5weHGUo1xqF\nP55qrqdRQvAr5SVzDJ7ae2/uZWErsv1HW6fM0Xx4ysSvE8IlSB0ILmxadxqI\nbZcye+zI02TOq48517uLNyuqspm7El374qFoGdNrF/GLUUpOm2BuPRil++Xt\n+fPqWCAmbthGTncKH653PwZDm0GOkKRjXS+emJ+eU0tpbU8PYuAfgh2cz4Zj\nwWeGFxsZcE7sIvhCuTNdtTBFjEKddMuUGwWpx3nfOXgr8i8bM07YQqWq5069\nkE6/Frk5Em/kZn2oFiBbuRhENzDvwX/wCx7bagkLP8rfNDWvKHksauQY9ZsG\noSyQqa47kglu6RhY0LBPjIyZkeChVgCn6/zzP6/Sl9t50UuVbqsh4FXCwCKZ\n67SbVwiE2YzH7lK9dcPkNOeL2zH0TDpqd8wX9t0Rzlk5Z63fRXf3j1N6VF8k\nYrUVyP26nCbhMvJN7lbTNmCdTgdNAudYHUCGL3o4Fi3hPYL+hBCwt4mtTj+h\n9uGUBVt5mCzCacFdm9cS8StgO3F8k14ooBr964n5R9JrGbcLavZMCAKnRldX\nEo07HUxUiNzuYZSiTEB8FvhpmN7L2LhtwM/bKnnYjSiOKZPkPx0MK+ft24fP\ndv5Z44TRtFkXPJi9MY7xc9gNgxDmHOExWcuPb3ItA+T95/KGzS1rmpM3S82S\nUBbK\r\n=3xgQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.7_1622439539013_0.3053238766706974","host":"s3://npm-registry-packages"}},"16.18.8":{"name":"@preply/video","version":"16.18.8","author":"","license":"ISC","_id":"@preply/video@16.18.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c016639207226ed1b09cd56df4796443dd672bb6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.8.tgz","fileCount":859,"integrity":"sha512-ARCJaI2Y7pXE48dGp3b01B4/w9rT4Rx+FGhbMgk3by2ChImTIb1+NvWMpOkoY+U+fyxM6jSPJDzGcHvQROMt4Q==","signatures":[{"sig":"MEUCIFFFqwzhNu1tBoijOkwPzAg+VCEzSHW54GpV9J9NL/c2AiEAkTNv8+E8iVPqkBpNlX886R7XrtzNgcfe1CP+4MLi1GQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29635498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtITrCRA9TVsSAnZWagAA3VkP/1TTDFSlA69bJWWpKlYm\n5E44z0hey7q/nm5Zz3vvXdYE49dcBYW4JVr9HNjJHEUEVcvx1TPPpB9kgN+z\n5vRODeQn3icrK+u8VdMpKp9VnDN7dFOUBU779qsR2bzKYMRZ8OvxKJbrPpe2\nv3GvCGFoP+m1/Sdgl8/g0iD2X/iC7yu1b8dzHEyYriXg63fVnEisvcHHbJYE\nE4Xr3sZ6NDBf1kCcYA+LW8W00yetoTtXSZ2KUtlFU61Y6+vhEjcmTuwJxsjk\nNPL6cTMtvHfCuwJl948LyHiing69pu4RmFnxwWn4vj786iTJbynDUQYMP160\ny+xhTV2Y1Kl1KZHmiEQrBYsgs/lpXIotVOL0vWGLNDXP49cK02IVIJHjtpw/\n1i6tV/FXf/+Wgm1HOQGzYb1J2RrTzLepPc3vi6s5n+KXBSFgueCwFeSke235\nhivzdd+Xn2Fdj90n4y+XPEbOgfpmNJpX1iExibhaQHWNC9N/Fya61ntE8x2K\nyW8K7dzYBjrozv8dnxtCohOk6U95CZOk1VO30QPKaBnA/Mr/2U1tpfPE4Fmh\noknTINGCIEpSCFYmLVw0fFlZeYTvL2ZO1bQEZu0ZR7JAEKEkHidm6SEUfG+z\n/0SwYZlg+r2fk/NuJNTxm2/RpTRSnQAHGUAf0GN6v1HduWUtUqmLGgBYwZa3\nbejT\r\n=m3y/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.8_1622443242392_0.7158595796386864","host":"s3://npm-registry-packages"}},"0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7":{"name":"@preply/video","version":"0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f12f754a78c08fbf6edca25aa69ded2afb04feb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7.tgz","fileCount":859,"integrity":"sha512-9YgmdaMqFLiwlXCHgEZ9tPKTKjaKDes/Oxwa3hKHZqYR4v2ZsPinTq4BXWsw8JRZw4kyWC02hxB8dmY16Z+J5Q==","signatures":[{"sig":"MEUCIB0N+aMCpNZSndXOVacReTnbNSDCoZq8SzLsozFWfaX1AiEAqmONwqmKVwSRMEa+ficrxGFzii7kfjmiN1ECzTzJavk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29637447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtLcZCRA9TVsSAnZWagAAxP0P/1GzZ6kx77HPOw4eyff+\nnmH7YkLo9tszECc64Lca+HcdM8at3eEjn+1OznD3SJtTWbhJlwsFh+D0arhA\nySk47Rm5Voc3blHoKQaqBCS01lf4oUM2olO5K0x91XrC2huNkYDVAsEbvz0H\nHXiMKNvHZKKVIM+00NbVwG2iPUmf1qHyHhsIxMNTMLPMNo3ZPawqBfT8hR7h\n16RGoXvbJjYUTp6elKPwJ+ouP7HxiIvjM+j9+EJH4oNSZDo2/7Sev/1/x3mE\n7Hqk9Qlh8e258paRbp1K7gCiwk1bJ2ENuYZS1s0NZZfkPvxEzw5g9a1Hqc/g\nwEatj2ebCHJo230hpGH2sAoLHs5nXO/74iF2Xhi4MIePEN/VrGRpKcmdznE0\nLYI2OM3kjL6oSfpJ11+LcUimGhwFU2YYk1O38W6T1Ip8n5ebfJAlLHuxGPV5\nJvbexsbDLOv37lcD+0eeaYrscE4XQXvWt/HlPSIBXuOMgkwT5zcm8QPZ0CxS\np33ZOdSISa0r6Lq9KWTFW/0rI9SYq5YId5Q8zZN7awLuIdrcSWRwZ/gxsxeK\n86mOEyWfLwst668UnGO/NT11x5ewRLs7luUug8Qu60P1FsoA3J1nBxCd4Kii\nK4ubsXXB9gZ2XjwmtFVqcAPFt6Yt/fwHVLJ8P7Xs9UUmdb3j2LKG1FlolfQ5\nTgC2\r\n=tIVY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7_1622456089013_0.9836921609476665","host":"s3://npm-registry-packages"}},"16.18.9":{"name":"@preply/video","version":"16.18.9","author":"","license":"ISC","_id":"@preply/video@16.18.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1ba77066e2efe1989401cf0fed172501b9d1444d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.9.tgz","fileCount":859,"integrity":"sha512-eBEP8fMM4aBO0HLj3CM6+x/qFEmTkozRM2dWkrrO/MkwfKe9vmng7kiltjZiJtWcs26Fm6LTtSj9XZNVRFZsIw==","signatures":[{"sig":"MEYCIQDCdFIQS3h3lshx24bQCjb8qg/ELBx03u6CLMy40q9f+QIhALF9SlV51OnQNev4v3UqF9msquxDiDEJHxi22XQIMIaN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29636083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtQFQCRA9TVsSAnZWagAA+CUQAImZUEliec8Shh8S3wun\nNaWKuDg2iXaT5En5FfBNN9hqj4G3vUNgKK2Hf/nqgWKK2LSWvQZpfH29UTL3\ngV2/iEnLDFEVyPhQe+HmS9ui3Emuv27j93y6lbkOmUEs1gx4oL22YnycDDZf\nPqvdHHx3lybLyNyd/0u8Ykep0OBLgDYIaQilH4VvSTXXpgjhiya1PUSrpMdU\n3ewKztTmbgnTLJ+XmfyAOwzEWrxE4PEozy4X7MfuiXGDIH0SPXzH8k0ULOPy\nFniLXtLRLvhTy39/5UDFUvS7YbUsl2RYdZNB+MDJh29WXRHFMlMax9h+uNje\nfT+NnkjJPIJ/qJUdmhV9XiYKPLy8TFAD4tvjI3S0wqANyzS3aDY+BSieL3OQ\nB8RwmF7xryB278psGXUV/GvcWfnh+gMZmBQ4NKo6AVDZ3bk5qfdZhilfxW60\neNNqUowKOu12nhmeoiNnrHyUo8bURqWEmw20Oio7hJZKJ65yNgnPAhifET/B\nUimwRhjZUpO/V6b3IC/09vNbQ/3t+MvaKl/mo9JGN2tNjwk08PCN3nmlS7MO\n8bQHoFmcDjX5pY06YkqiBEMMP+YeG1TZhON5CwuuSkbadVC9Yg0mvdbeeSm9\nAg/uD7IlKdU3cl2MlKHVlgzJrWdZPO8dNf2MbDq0FP72JnHnuzX8YWrV/LMk\nzsdl\r\n=akTt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.9_1622475086245_0.6758296324171031","host":"s3://npm-registry-packages"}},"16.18.10":{"name":"@preply/video","version":"16.18.10","author":"","license":"ISC","_id":"@preply/video@16.18.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b64588c35de86b179898f24d052a92be00ddf7da","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.10.tgz","fileCount":859,"integrity":"sha512-0txSBs/G/9swSOv0/Fr38rL1MCqhdH41B82L8SlomrEjQ3uNHO5eJeUC2itAoJd2gnEtCU7eAwcVQgLCdN3AcA==","signatures":[{"sig":"MEUCIAj9E9u80VC5z4oSQ+I6dRhpOiI/IKlzJHvpZTmdauEDAiEAxrBWFuvo3jIZxfsoHDX1sbQw1hXFtGfFWQti4yq9Om4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29636383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgteKDCRA9TVsSAnZWagAAnb0P/0v1BLAe+ISR38VuW0Df\nZmIZly2+6MpGoujaeV1l/VaKYIDsZLpqSJpmt9D92SKt6BAO8aS++xSPkEur\nHRuVKylfo6gJkkrnnAqsW1zWjiXNmoDBnNMDg9wpC8SZiBOwvuGIAmKhCyPp\nYPQpQLq/xXut5pPfEE5I4aC74MIawSzCj6odAMkILq4WdrV9dBRil5HE3um1\nYn7lqkXi5BGhS9AmIZV+5RLBBO3qKYoryTpM3HH129oFnWd++tsR+wLfsoSX\nd3WO/oSfx0z2hnji5re3SPmtBlISIFI6WgOsVF8K32wEDMOnSejvgCmWrKsS\nE3vRt3W5T3pEATlC9yzxKDNBUswPD5LHndqg4gEYu7gG5Rzywcbr9BuPdQ+C\nide5uYpKy+mz6uGm+Z/HkbDTzxImq/GlvQkIuHK0oOj8LvQxVCY9yuydFc5T\ntgUl3/sKSq9pvzce60RV2H1q9GO2za+R4npyHNkznM5bHwwKf4cxrLt+ZFI5\noP8oUmGuVoKVAtSR9QzMc9DMSa+0yZjfEmYZyjZA7ZvdaAReiuy68ws+kW0n\nXBxeVPNe7Qwe8liqbWSVpc+6w9fyt5mvRd7PlSPavdRsdhMVvFEd+RhanxK8\nixhiikG3NSX/1bxf6EVDQxngkmstjvjOZXC9R+67v/DEhqlbrUmzjspCvGet\nYNo8\r\n=FL91\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.12","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.10_1622532738069_0.5998616745403931","host":"s3://npm-registry-packages"}},"16.18.11":{"name":"@preply/video","version":"16.18.11","author":"","license":"ISC","_id":"@preply/video@16.18.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2889428d487bb268e9c38e494252ac3c85e47b90","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.11.tgz","fileCount":859,"integrity":"sha512-1T3eK9NxfzCrrvMzSWRxMBdiE9tSx6G8FVc7UFNlm8X50bTedfoahTGTT75+UYQAUU4Kg3Z4XH8mSWUUbsYYyw==","signatures":[{"sig":"MEQCIEvdXnwlTIUnHYe2u0sOtF5sLt3v4/de805pFS0vp7LbAiBqsa6zV6NLA+srZcog1Xo8ikhKfhxe6eUoCYVFIIfmwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29637466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtnJiCRA9TVsSAnZWagAAMsIP/A0tprnMlBuuhQfQwN4p\ngO9n5TNdJNZMZE0uilCKt5TGpvZaMIfmiTY8QnkL72NSHUjkdf3espSLN9cj\nZjMiuq4fgdg1wbZMQVr8lF++d55ZfClulcgpQ3+dLA9YH96rMffGkKyvMMz1\n8x6E9iei6dXFhHHXljvXparUU/4+WNxvrYdu6swkLPt+CHi2yV9ysbG/fBHO\numZE6zp3tx4lgJlEbRGGzUBJi7cSo55MP5HTX6mAFCPzIMZUf8CVOXarbRyF\n79i2B6Z+Dxqp88g9LQn4aet6H1BegEeMEOipjb5AQveeNOc8fje+3dkR0elc\nRMsBSQ2Ry26vmlj0zA2fV4shet58kHOtDg6e9GYlz7VWS+dqR1iLY4k6/Fra\nHSkQ9/AISHNt2DGuBSUGiNTOA4NmEapqJPjvUDS4xW+p0R5Ma1HD0VbrVsBQ\neIygsQpC3NxFzUjoRFo4+skAz3Q+CnSE7MHcvkLiCZRKsHDpNxE6GyWm40SR\nUBKIBdOm2dK9SDu9w4nKBZkqdnfqGuR2O4zOHVKOl597CZLRtQnCvbUqCA+2\ng74Req6lNmrhCisJxEDzCePIeWkHxmAASs86S9Rx2YK+zzfPGrqpI4dZQe+I\nZidAuvZxwpKLZ0X3OACCM8QyzvShRIvdRVa0GzXRKuKFCGWN1btNLVQU0TP3\nHqL5\r\n=aHpe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.11_1622569570011_0.8097607153649233","host":"s3://npm-registry-packages"}},"16.18.12":{"name":"@preply/video","version":"16.18.12","author":"","license":"ISC","_id":"@preply/video@16.18.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d85b5d29d9edb7ee16a3a2d1064edd9d387fefcd","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.12.tgz","fileCount":859,"integrity":"sha512-ttpEnXr1L23iyJF7FSRaowV5jJaxbaOVej7/6qDkL9zSwo0ONGjji3B/Utkwgu+2foVJUBqU7dQaL7nWk+gnRA==","signatures":[{"sig":"MEUCIQCKIdIzzelUqgGbUKw5HSepvdfFg/O/xCWjWnBLDwHx9AIgB8zEr/mg8imgaimYefW5nuHceuUDFeAtUD5gVOxPSFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29638149,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtz9aCRA9TVsSAnZWagAAgtoP+QDp0OJp19A8mfuqK7Ht\niD64aGM2Scp6SWPzy9U32J3cf7uLIWbrXFTZuH8w5kSdcNTDG/yfOBMhGrvz\nWb9WalbUWkvSK65RK9ZblkkRxY/tF2kZrRUvbP9am68/Sp8m7ZI4aXBCKeTG\nJWz29/E02dxuAZXGa0Q1qG0m14ah443DH4I3MTFC3ijiPm9vSu8fvFqujzhd\neQ3K+5JzRHKVloJUU599V+x8Ld7gGs7X2DAcp84wJEDW+4poJlNMoyUH6Aq/\n8pdXBG93DpVQp1hdLYlLN88bbHC5J7FXFpCBp1rGrXYxqtkQ1OgJbtgmaFgi\nZixygPVgLUvkuF7igjD/VTgUwuKM+PGYJHhSRo/2erUHAD5Y3zdlMRyA70vC\nzV8nZsQndjZ3q/Pvk/YxWXXzQauz8rnGCI5tKTeKCEOJ34aESrfTin/1c3KA\ns9dwAZbxKalzJFqCtVDHG0BRuvt4r9shyPIYSppTQUfjci0biimDsb/9NL/U\neMmpWLRRQBO4OsjXhqd/R/66DZTjL9cwY0KftVaQw4KFIXXWawFY8tO+fwM4\nxxDrONBhyOHztebKpLca+rSAMosPz++vxMXZhCCgLrJqZ0ugyhkhHbNe2Wbi\ntV7PfzikKDLjLh5GA7ibHOBeqOHFv4uT3susZHY04JJBuE54bFRLY9XUwB1G\nSJFl\r\n=9tPM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.12_1622622042080_0.472497161445397","host":"s3://npm-registry-packages"}},"16.18.13":{"name":"@preply/video","version":"16.18.13","author":"","license":"ISC","_id":"@preply/video@16.18.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6027b58cfab05e8e13727df09ecf53c91b01d54c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.13.tgz","fileCount":859,"integrity":"sha512-ppFdOXzE4q5OfBmXqlN8MzqxN9QoU7K2fARCbnHsWb2/a6sTEceoOMK07eUjprdB/Zqz3qjix7uHIc1wQWC7cg==","signatures":[{"sig":"MEQCIAz6hjjChprqoMhxXyPlj9wB2EJVhHSbagpoqasOpw/MAiBzylN5flaRdpcGNPgdOfOnbbmfkRlCRVXaesga1DdkXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29638956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguKNLCRA9TVsSAnZWagAAY9QP/14q+cC7vQGPKg2D1hia\n8r9bBIC7+16VDN5msNRg96Fl69e7OTNYvEUmGhKQYgxd58aGTlFdEMQn46nS\nWMUUq7zpT6TJ34mG10QZoiSRPZDgVjijXXBp+UO5y38bNKa8fq7D8ftdIdZm\nklkTuUdBiCkmXxIZWoVLEsPrLSqMVYWRbhAeSnqoID1WLHnzMAbO27JNAD39\nOpiqI304Z6oHw2kLgACVW6QPqtsjQ7rqLXbiCkd0s7IoUG7y7q4Rc72PeLZ+\n4XT4ojQge32sSx794dTYNg60OgOYwUUKnTg1Dz/LsRBA45mYjQvYYjAJsr70\nE144Ltaymgg5L12d+6ickOOakTuAGXD+kIaq8KGaLHLc7L4fbnv/W0ECfowZ\nKFVhaGUeJUaacywUPVvRJ1XOIAZkGqbpO6Aom2eLsjfcbSgZIfw1R5XOUzbn\nZbF2r72neVHOKhRWtQ+4MHYK21ZcJX38dfbjUy/im5wkZ467QiDC3e/oft0N\nWu6aeegRPje/WINHfGaaTKag9uAIIX0hrsGXrQ5+fsEoVateeB3I6XeIn0hH\nvtQArmp2Uw9QColvGl3k55FfzKsxb/Sl95br82X+Tpc1MF5RjiLo6P4ud/+m\nOluwksJ9iLaHVpwggtagBT6hp2af5IE6w7fkMXmEUKO0kK4uCBtWm6ZlJfbq\nPl1S\r\n=vy+G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.13_1622713161509_0.2823243283621055","host":"s3://npm-registry-packages"}},"16.18.14":{"name":"@preply/video","version":"16.18.14","author":"","license":"ISC","_id":"@preply/video@16.18.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cb49caf88e4c763cb2d1c5373a2253432e273054","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.14.tgz","fileCount":859,"integrity":"sha512-hlUP79OyU8PVdWBYmPZkoMMJwW+LUxrrJyZyyIGfD93G1H2nkf+Ejdj4CDztzB3cI/jn6CUwHAp97wlIqrAvxw==","signatures":[{"sig":"MEQCIG5lNvqnKWzkhaZjJ7apQx0VUozyN+FvEm+8vg4GPHuoAiB38sNTULas5tYID8OasnChJIvHxv1SRN91YKNCy1zBTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29640368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgudIRCRA9TVsSAnZWagAAHoMP/39W1fvGeyWV5bHVWL0W\n1Fvj8l/lDI4SeDb+iVN7uOT33P2r611nb1U8RJQEIA4siGzwoKwISfH2iFLY\nzPJxqjc2s+d7OZ3i4nVhXIpKjgpG6bAfbzeFmrgGjFW6K04qsUCtgMttytVR\n0aIOXgCd2pv4sApH7PoFXHfI7YuYGRZzcIqQ40c26bgC0z9F7wOWyC7R7f7f\nYga22l4jCua2uOS6465vxdl0EXLrIVx8K5gCK4ZvyEeySvyUbu/AIHaIU0yn\nuN+ao7uW1TlGmAFyBsGViQTRhhjW/avQxY5MeGt2bDWpr5ZlCWbr/tTN8T+O\nRw7m3QA3vsLHYI3YcfAE5G9xvqQv56EZyGIPc9O26Bln+QQOhaAOzt0CZIEW\nkSdpT2/6bulXnyBoR3sQfkZ7LCQgvKwS6D4bC3aFcuBByjK5sJSz2Qxhgs4j\n9rQWDHIpHUueIjgpQz6PW7pW76XEaPo9mjVdLgAA9DE44DHRaTnrQcx6023G\nZVkHR3bTjHgvTuiELBTg5oaL7GSXOgRTkgiuaC3VGO41w6ha1F4Kj0si1klP\nkTyz7U8EcuT4z+sT2rvsMLuw3M922XXANWnY1dghn0fa/q3eOthCi87pYlkg\nf7tiEPYmP4vAz0flKQhlbS1oPOqfqTjM+eAHcbGjctlEAVyegNW8fBjQ9a8j\nFjpw\r\n=f5lH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.14_1622790672886_0.8430255129904121","host":"s3://npm-registry-packages"}},"0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6":{"name":"@preply/video","version":"0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b135d32cafa1e397cf878ca49bbba018634e56d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6.tgz","fileCount":861,"integrity":"sha512-45Yy2Jg/wv/2jRX92fgTp9ddOiQNz+8W4WRSX0O6ytyC+rL+Ym/FytmgLcVqj38LG2I/bJRlmmcdIXcGZ4KW4Q==","signatures":[{"sig":"MEUCIDqjM7ie0x46c7BeNVCs48zjCBEKt2J8YYroXmXSoo+NAiEAkOCsaAo9/ZAdl1OtcRi40lB/vYNhQuSDCVBbnk88kKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29796762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgueoLCRA9TVsSAnZWagAAlx4P/39rVfGx72Upfe2RT2c+\nzJcLmpoD/saJXK4IHqSmFWOsLE7rqPc3Amy8olnzsBamNzMnEtvYw8SrLJ+i\nM8oJeUNEKd2OCfOZq7r4LL72oTebPr1Y+0is24/A4FNjsTYH3YyzueU5JuVd\nA6M4CMm5qXM9rpN4YRJ+sEA2S2yfk05ZyOhw5i/h0xb1QpxuQnVflDuQMqpH\nUuYpLoS1nbz+5t8szhjzMlPLH8pnF38cRs9HqRWrs9zXgqYniHd+ap1kOY+s\n4JFml20C9MTzHncoxu2TduSmxbszUByPahH8/fH5hoz39lhVcKYEvBTK/K8G\nPiOtojJ4QpQ4exGIhaxfYMOfrdDtCjRDyDr7gjWzdh8sIfKFB66e6X71mrG8\n3oRoqA0DEKNSOD3zI7DfLNzMG4WCYaUsZExZtkaabTMzk2HlfbRcnzcgK+9/\nR6d93AyTsJpgygIAi5+UzHoRYI/KULF2EsBdY/zJ/73GYwst1HTG3kARJbyS\nCz1WOBP2TGB8OiAYyi7kkTLaNXnf022VjtpH6OHdnihfKnmflJ7bPXgpapSV\n6YGX7EMx1NrNUCxfsmu72+WGGjH+7hoMipAc9PhRi19szQBYvJwxx3tiwQpC\nORd2x4310mwIWg87PouP54cRGuALS/rGDrTzNQWfxRqj6tInfyHjGn6bf2PQ\neJPi\r\n=8ATI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6_1622796811463_0.3644232270533929","host":"s3://npm-registry-packages"}},"0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48":{"name":"@preply/video","version":"0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1f25552ca5802e6d03396c962af8d95b785b0609","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48.tgz","fileCount":861,"integrity":"sha512-th0mcqmMTMG/9mR5yaXFyjnHL7rrl8bUJz0UmxnnQxKgjJw3gifQvhn/eXprp7GSA19BZkiov9A9wOr9xgO/FA==","signatures":[{"sig":"MEUCIQCZn03D+c/wXdUYgG21gkIcRjO9OStQGAVNL6Na4DGF5wIgco6QtCWhQMpUb1Hct5BZzWZ2e0MLxCEIst5DtKdEfyY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29796553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguexzCRA9TVsSAnZWagAAYiMP/iNR3HWf9WrnGwlSh7ii\n0AYZ8KCUvPBKxWrgPnXPpFFoULwS1EVDQwbYHq6Xyddfp30b4ycmmXgHF/NJ\nc2iZwcxUW0vk6R4LnRSIugwdgsnTQ8cwcFhICFBFRo31zz1SpJoWPOkR5jJz\n7iPNEE7Kg28uELC1zf/KTDuoH+dpfnN4NLn++oBZuwZWZ/q+k1fjmThuH66X\nuw9qKv1cp2oIhI7FBiFJ/uDR7vtf0u5jzwtqvWsZugBZnahbXRImNi56wMjr\npXaqotBBgjClkkye6UP2S+N1hPFIgTKxCC5hSglFDx2aTwgClcvjQ2rGoCgI\nCkEsHlwkARHQ9mLnCf0+xgyoXQ2x8vXezERRZbLlbs4BWtqdQXa3VHGNWVe8\nvSMNZ5S/UR/Q7iJQYHN/X07srhB+hNYpAN1ZKqJxuvyu2W50NeHKrH3GKBXx\n68zbIFu+KgNlFVUw8PRbtKkdluJAVYbRqwbYIMHwaSUL7610YWfAfxARd25Y\nJOPIZlvezZi/qiVvKi6ImWqFkgm8o2iFVXy3ZuiX3cR6vhkxgaAbBUSYTib8\nAV0KusMYkInaQwS6K1UBJaJGL0sLxXw/vDuIaPJoj2FAV2/BCPBVMeHLAQKc\nDe6x2KPkEak/lzfNcHLKxBzVshh48a9Us+C096wSpwfC/8M3FfGAkDQCON2L\nBAPy\r\n=yOWm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48_1622797426766_0.5707041388082827","host":"s3://npm-registry-packages"}},"0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028":{"name":"@preply/video","version":"0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2f8e0b4659a18336fd04cfd86b68b81d2d4a154d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028.tgz","fileCount":861,"integrity":"sha512-coMg5OyHZ0Kxrw5JCKQdOzRJzQ7kj7HOSMU1Lz/hjtuLzQ//UAdvYhPS6EJRcov/m70t9LLOv/mM+PrlhRih0w==","signatures":[{"sig":"MEUCIQD25VIPxTib0ST9V+XTE8Z5TSfsY9+sUg9xvBiUDGW+7wIgH4tlcN+qH+9UdiHtHBnHaFp0q0NCyH69qQNVkBXzhy8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29802201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgufMkCRA9TVsSAnZWagAArj4P/3MSroy0uxC0L5MzBkly\nj61HYIp8HM0XED7M44jVEEu/YmJCl82mhsouq1qleWXq5U1qCoVYQhetwDBy\npnDY0yYfElDyS2vXgW6px4o5ulIlDKtSHD/lS32W3UZVYbopR4HrHJcKJ7x/\nusrnc3NUIt7BZIBXEpBTdqjB6VtxqFsKaUG3UzGqUOVSieTliZ5ino/sM6t5\njcQ/PVJb9HLahZZuXQd/UkCyzv9o5olX+EXShorpjFbIK52IK8HZdvC9oBbe\npMllxXjWL2YBLcX42qVVGNCdZBOXf70Rju0121yO9sLUu7rUtUdCIYPRFUm3\nBTpbpiQPx27A81lDvEs3YVpU80wJgvBcBAbdbIkQQBhjCv0DOOczOwnTi9/I\nzDRwkQlLBwC6FmwAsO9HcQ0BiCm9g9rSfDmjVaLPGWmEUxsn+X4FEFTPQcz8\nJQeJcirWpAHr+AHFiM58ywMRrc5wMb4Ev4J9JroP1wGxI+J3rXOvEYN+HrWg\nmxVAXVs8YrpNbEYrNgSw/+XlqJlRfhk/2/QiDDH8axgwuLHcUKkzMbAZd5ts\nZ3KsIVsPEZHkRbxZwiJbbnYy5CJFscFWE+0fCq+f+jQ83txFv1x/nM6ZDoTC\ncnQJKsljAx5Bz6Et1WtUyg8yO6pGsmXj2OQDK2E8U5E7AEdad5dl1flIeCtZ\nX501\r\n=FY9D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028_1622799140094_0.8025413901010607","host":"s3://npm-registry-packages"}},"0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700":{"name":"@preply/video","version":"0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"041a00c68ca3dc7fd75319fb0b5e41b05e49c7a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700.tgz","fileCount":861,"integrity":"sha512-3xuIpCz1mgf3qAAFB8lj3eqEOGeKI0XqnzCrIIKPGU/tXD2KQzOJFv7k1PgkRoxucTLE/G7QyDFUUc+FcgaKjQ==","signatures":[{"sig":"MEQCIC3XDfgvVxCTGs6mExPmPZ9CkxC+tvkEhKkHJvNUM3HoAiAkt58JBZizithlTdNA26V8XCPt9sUmO7FUV4JWggn8cA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29804631,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgug9uCRA9TVsSAnZWagAAKB8P/Rhyg304mYU5G3Aucfkb\nHJj4hDmkzyeFneicQSkwdYqCF3yQP7NEUkvl6YRkXH3BjUolbNE2KKcH5Lfq\nnpDGNKLiuVrvQ4qQuLptkRQIu+UjZFUQGAIG5esVyozBSiiHBwYBpv8Oa49M\nY+2iNWMY8xaSG516rgTyw6lUCeKZih/r37f3Kv28kywjsIpyCbCLROYtJFjK\nuS3IGMlJ1bbN6YOqJOKFiLEqH4WJJ0JB3RS49Rq576yJRQqAKrmCOvy7vjZo\nfa+V9wTfqNXD5xb9C5mEPLHlK7hZhkGy5eKqSf+KXwdIoB5D4z1cpFTtK8UD\nvRGgQzk1ClN4y9oLse6SvrkypH30AC08BtXiN3RN1zq8TFc/6qfkI9GfQ6YC\n9YaeNFalbABr4h3QybZuThxuCA09m7/HbOITCVzVXKBdWjTn6Vblrr4FPgli\np9sfZPujDNysJArkEzvs2jWuoSGqO5MujSo0y8mrLs2uJcgUERsUj1TyuaP+\n1S2fll8PfdwdlPqV8rIQoZ5eVyXmr1keZd94sWfXQ0fShiyTMF1ZdFrnqH8z\n09VONoBdOQ1YKSlCotwgmHMWftftvbIT0YWsxcJBMFBIhczABJ05FDGKdJzn\n9mNThfXdXON0RBy+vuuLNAyUswtw1a4MDmb7jKy58k/HSgphFy4YO0su0sXL\nfGSy\r\n=Hud8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700_1622806381689_0.14252889982096462","host":"s3://npm-registry-packages"}},"0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f":{"name":"@preply/video","version":"0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"04a313f9f01c3accf3101782d5dad14ac886a4c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f.tgz","fileCount":863,"integrity":"sha512-n+ImjvgCumjvwHJxLSMqlPhCrhA0/ttfwMF7aLAPLsT6LU2wIu5f19PsWpVDmBnZ28wvnHQRbOCTzEFvOQ5uEA==","signatures":[{"sig":"MEUCIHxDswC/bFwsnSG1LNSZ8Dn9InRBu+t2dS+E98oCsjybAiEA2iGNV25SmMqxmrY5jVpy4HsX8WY0RqajNwwEC2gDU7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29813015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguivyCRA9TVsSAnZWagAAGoMP/jRoRk6Fy/YdKQrtPYUV\n5A976kq+0m6Rv8jskXCFPU9hZFZ/uosBQaqgfmA+ACtf1lN8zkT+lUcGXInn\nyUGxLzX6ravztkvgzdbcxFZ4texjZc+69FSOnfFBgdRAdswhY7z4/aAP3/M8\nnmCX6ixKa9ag4acMRw3b+L5RvS7YDI73YhVTQYJU4IrWO4Lm82xERpNgD0eG\nLs6sBkfD8zhai96S81DgJZAG4MA2eSKZz8SsWjTtOUSfTDII4CrO0ZpR/q89\n79HAHle6auN2teToTI9+j8TFOWO+1NG6BZMKvNlae4lmNvMdhHcIoDPqYXtQ\niSjSPLJzV0CGPtAwKjaUDXk/bFYWR3bP1ru13lDmcjM6mEm+hkLU+lSNVx36\nxdS3WHvxgu2J/3AB2pALkEQgIXH/z7/JF3RSuTpj52TDYOzCF7KrkbzvGYOa\n8hNi9DPlsIHbuetHcV/NU7s5lEOdL3tjD7qiBzdEyN/GG9CE5ncgE//P2gEG\ncF5xBNDfNP8bpucd1uz9HwkXp29dkhqrpiTweCs93EWz+izJWHGuyZna3dLf\nCSFgJ8FLH7bYNb89PfjWkkj0cpXJfhWBFwoeIxpuSQj+gFIkJjpyGoLMaJOH\noj2eX8+LdiGcFVa9fxjqBko3nnnESWb93S3XK8VNHyOKew1/ne6mjjIOqAPS\n0G7o\r\n=gfzl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f_1622813681905_0.9570000116776709","host":"s3://npm-registry-packages"}},"0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873":{"name":"@preply/video","version":"0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"5a1d07bbdc2c1dd39bd51c3f5fb4ce4308ba66bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873.tgz","fileCount":863,"integrity":"sha512-TAu5NTgBmEqEu7KRov0Yq7n4fn94JmqTi/bXLABTYCzXSC+SBWqxW9LD8jGGFFxmIsXgTYZAeZHbDGq+De6cgQ==","signatures":[{"sig":"MEQCIE7CumW79w1uFgX5hxdjk9Cq84xkU6CaErxcwFmHZVkeAiBcNDpMDUBiHXNukaduOIweOSnR4yy+3DqfjKSVAdX2Jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29813165,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgui3MCRA9TVsSAnZWagAAWvgP/i1UFJ+k0vPIEe+NSFd8\n78I+4Pu/qvIpJMYxPRISwk8BQCL7GBiKn9J33Ul74z9agvL+cYb9dNSnnFjl\nlh8dm+kAFdDXDFPtZB/5tq7tp1L/9OG9fXMQFoke5CcVgNUyVmYuiQjmBuou\n3iyoy/mHwwCZKtuzwqEqPEFOSPA2zuYYy1zg0u7qDjuUEsCa9pBWo8rZo/HV\ncghjTDgd4a9gCUzMUUdQ7zS/dkr9Sb9rFUDkYYMt2yLxo1YOcWrpPKdIpU41\nxqhfVEFyUGh5nn0x7oMZGqu6uQNgfhHcBRt+Oary+t0HRaDWSYq/MnkAlj//\nZz5iWWI1Y6/IhZXtEVdVhBpOfRjYp+iWXpK00zThMRlg1m71tixku6S7VFil\nRehRKNS1+6s+iiXVu/RlBphOHJKd3lnvnVxFwFZRmJJmG8SELMlsGQEM8sul\nx5Rw25ijqcZuWc+XTY8RQZlZvtcS5T7JLUNfA9FKoXJyIiDdzbXKkvHgXhwy\nIKQCcfRKuXTI0UNGQI/tt0iaaWTfUDyjUEppSW+nyF35mrQgtBgkix8KpxyZ\nOJNEbDk1agpUmwIqkN8rrgYCDBlVjyTq/JDk2GRowaF23d88klGh+Q/NaVki\nV4xuMrcJR/ZzWkKRO6G1DIXuKtxgvJzK6ghGH0QmvPLn21eeScfIkT8nrHa6\n00qK\r\n=XqId\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873_1622814155468_0.20858111592602913","host":"s3://npm-registry-packages"}},"16.18.15":{"name":"@preply/video","version":"16.18.15","author":"","license":"ISC","_id":"@preply/video@16.18.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"368a83c20c6b77f7e9b4056b344ffbaa1f58d169","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.15.tgz","fileCount":863,"integrity":"sha512-f4GCGEigPJCHJQ8UGjh4SIu+8NicXjY4XeYSCdc98MDfe8mVsvT+NzgR0ZKlfvicE5hjcYxGFQXbCxBEg+s+MQ==","signatures":[{"sig":"MEYCIQCaYUlKz4xVlHO+kYr+Kte57+P0hbcv9A4J2rt2fOSbiQIhAKm7rEz/dAZOO7i41XfGdC0swpXq/cjXPzT82chQ94tD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29811928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgukO/CRA9TVsSAnZWagAAL0cQAKBuZUmPuuBfgulTyheG\n5mai0TQVXcR/tvW+1Jxl2IvAdZlOWNr6c4ZuUQhCtTl6xXdAGh+MufYWzm6y\npieWP8BInVSFEPsChmkn2FzZlcq0YkO19byuC69T/FQOB8JoN3fqBVIXyQma\nKK/+tsEIOHvQUAJa9VsLrCCpnJQ4RyGJYynQInscBq33GnplBzIr3H+O2gqs\nRv9chyDxjjGC2kyIGkORY44gVU7bUQr94iw/ghI1NdRvOTU14e0rXqiE3EIv\nmW2qUhfldfB8sq1bmrDoUEoA6WtrqtNZSi8/EywRvtbFRV5Y6r2re1LUCtIa\nPJKOwyDElP1lZVVcNJCAqdh4DwhWP9Br65Qixsm6w3l93vzipRIIHY/o0pmG\nJXSNxNV96oQlDoIQ82Pm4HA06auOLf4wYnInWh1CMArzrzkPM7dyddPh9x1L\nTudp/vkvnEVkkXuauvaH710qB2Fd9eFpAdzu1Hso/Zmf8aMGLHS7hHz8otrR\n+DHCOGeD9pWfxVxLPmWU7oemFEQVifci4vgYPHusxGgFOqPHzEQQ2MGa/g/o\nhnS23/boQdisb2AbUAs49qeCLRmwPJoaoaFD2Our6FaMcYE0LqLN8EhItFrM\njMGkR6I/TQDNpsH5Bt/fEi/QFSOOzAbgeItsJTIq/KonOObsGBYKcJnuHuVq\nmaYd\r\n=jLvK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.15_1622819774941_0.4380118449827328","host":"s3://npm-registry-packages"}},"16.18.16":{"name":"@preply/video","version":"16.18.16","author":"","license":"ISC","_id":"@preply/video@16.18.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e4b502bf9c14f8881204c585c8e65cd486b5046a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.16.tgz","fileCount":863,"integrity":"sha512-4o5rsmu+J5K5I13UasWPkXx7BMgPpsxm5UnrigYTN5bv4HtlEHpBDu48115dkeG7cmeCE7aTy+T2Pi16DLQ49A==","signatures":[{"sig":"MEMCIDzI/KgQ+sgb7Josrshr1gUad65bR5GXTMYoHwkfNfyxAh858jgTFvMmSR3BIIeIWxigdAFXSPLAuFJHXZMRHl+P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29811928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguky2CRA9TVsSAnZWagAAGPMP/2tegy+0ObhIBkvztc9f\nQFpXRsEF8R27Slp36B+jbRCRLRbGF5KhhRTYGe8r4vIdVsBZHKxi/6MXeQIv\nXMv3FdY6TYI/GHG9Qt4/PFAiCs2+m36HXAZhvNhmJU5XWyTjSGD/TSl7Ollx\nctZVohEc9e7JF81y+ol164J0hhdGX3HwEflWT8/rvoT7fIR0o2jYQNkZycpx\n5Qpk5uT2KdoNT27jo8R088zFU3ueQ0R/VDVcTwPO1VpIZFXCfz5VSzRqy/AM\n4mpuwVLS/rIstD3JEBpza+oPED/bmww6uf0IZ68P9XhcYeFw7MG8yUlWyGud\nzaA0Etx4q8HLPS2WG1Hys90tYSRvG3m1oRd5xIePeqRSk4ZIZkthpY2PJTcQ\nowks7n/tsD5du9E0B0F2CbA51KayZG7vILWGxlh+78z3q13k5vtnS/5B1kBW\nIe66PAo/43f2kvuGIRgpaiik0YmWp1r3h5f4Gx/QAvdJwQcGiJIb6Yp8ogGA\nQaapGAAKmmZQiEmWvZzYzKJwxh/J08goXUCQ+hANQfJCnNuUifWINZG6zmCk\nrj/HL7qNr+nMX7fZQ4kbpCXLh+6myDtMqeAJxu0/VmbvJmCMXTUpwZ4T97hF\n2j5QfWs5PxvsOmNcxXSJzAxi58GTDMLnUueKkm4wyY1aNywXNwfTF4rmVzXR\nuDzP\r\n=Vdig\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.16_1622822070183_0.9507302909009496","host":"s3://npm-registry-packages"}},"0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b":{"name":"@preply/video","version":"0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f3dc7a755b9124713e4c14ff1f32a7edd54cd808","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b.tgz","fileCount":863,"integrity":"sha512-LmHK+t1QRKXhfzsQmsTQ1rxKYdVqPnEgLRn3OSzBzNoLFEDD43pFueivMmAc6F5vdc+FR9r0UBvb6Sxb9TY92g==","signatures":[{"sig":"MEYCIQCWYdkPlwwDcyMPpjmnpiuDXKKzhFkuY8DFplo3mvSJ5wIhAOvpT0rauYQu8v1Xz9VTHAx0BEzNpXctN9OsJwBIShFI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29813336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgulIRCRA9TVsSAnZWagAAdkwP/0v7JfIEg23/uBRasaCD\nUw08/Jp3mEwg9SDY+0g4/em7FtSI/ee7VJ++smdoA3kRaHwOW2e8rOPrCemn\nEXta1wcOo6w3r58o7g4v2XPgAbgrcjYhBU3qtW9BQr1tS3KtLcStfIYLsNaQ\nLzPwyodR2hclU15xZp2SdPcxGVeiTh8NPqHjRW1CyEjvrFroW+AtoHR1agim\nlCRQVkd8GzK/w1KVJ8oonXVJgKPsIS714ZAj5NKkSGCooxy0iVVYLyIb2xgH\nPJCPw9VXf9kHdTXqquNHcYn4PDmjMMV21ThoAy7Y78hSEnbyfxm6fN69YbXe\nTizytkRTbcwxkUwF7d7QcwEaamrakt4bQ1nNeDVHPn4nWVTEDftEooGVkDWg\nAp0LrJB05KPKEXgbZX/6QUxdii7nVcJM42nF7CVz3D74j6PN4W3+Hjd3Ita+\n0iOvtsUIlP4cBDszfZ7S2CdXSsT6t9tASaFhT3CRwck5HvIJEbmatqeM50ki\nDWscrmnOQxI43T9gRx/qHfDrRGt69X+SnXfVsvSAhNfXWuTMUq5Gwo05euje\nywVBTYCdruNrGugYLvnfKNWh8/Ajw44OGn9PL8KlSYzEf9Q8J5MfTNjtUUOU\nvMm01aSfrYnOnVCHo6WLlWRdC1l1XGwAUXXeDOB7NjKhOwx1gxDOb2BZ0Wi0\n54XH\r\n=vULu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b_1622823440527_0.7984250127682966","host":"s3://npm-registry-packages"}},"16.18.17":{"name":"@preply/video","version":"16.18.17","author":"","license":"ISC","_id":"@preply/video@16.18.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"175a758fe5135db21a1e846cdfe82b96fbaec02b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.17.tgz","fileCount":863,"integrity":"sha512-/5KI+YGtFfQx3iRoKQSeGV/tZQcY+kYo1gPOpvXtafaBi9AE5Gd+2biq3IFIc884yFvVYArn6MgoS4dwztZI1Q==","signatures":[{"sig":"MEQCIHeLyMUIXo6ckcKL1wGNPrHrjZm3lItrGK6rZHC0GPPfAiB0nD8/ANycVL0o3nRKR8rNJCaUfWxqkf7M3vPjOgIvHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29838949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvcR2CRA9TVsSAnZWagAAKHIP/13kyIplK827k2SO27Ia\n7Oe0Hg0v2m2B+wF2KL0I33FP5jzjJPWbawDVhrHfikbKGi4+G1FqvRJ1pc72\n1xhdNQ0kF/CdQbE2isb6TaJ5Irgsk8gL/zlv6iDHwWxWEdB0UBdOIVwfvs6E\nInlMM+N0T4On+AS61bI8an3V6h5FtNYxKeYEmnjF/kr4NZwE5xZuBn28OTOA\nal86OOtkUp6uuH4SamXDyxz3M/oYUx4Vgg0SNZMI8HglJ3Sp4B/JT/SSvZnj\n+uAj9Zlu+M+VyhCl2cRZh1SDAPqXQ9LjiuqM32a/YWOt+Wg8H0nn+bRPTIGA\nN8yZsqeUyaQuhG+mKX7CXeLP3ZVjZ0otkmZQDYo7yvhjKl5WcbTeCE7EXkCA\ne0hKOJjkWzDSS8tzxorcTGwFRhvw/ExAKp7l4hsoRQ6ofM8diZczrHye13nZ\nh1fFLTHNK0CRUJmggt1FGpZ36EAPW4GBRLgaqsSQi6TkoQwxVA146dl6tw1Q\npt/5Xth3GadgdRXNjqJffh77kq/IqpswHiQEf++vNd2SQFYSOPryKa/t9bUr\nK8VRIE4oFKmOETNyAt1QO5/+JDIgnUJn+DyIn7R0sINH10IGtwQHxYfDMJIq\nl2PyAZq7b3ecSBhpEEjNeUEbebPpz93N2z1qEPHrrIpr76bLuAKLRrnelDvh\n1B/C\r\n=JcrO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.7.13","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.17_1623049333964_0.7650388387398439","host":"s3://npm-registry-packages"}},"16.18.18":{"name":"@preply/video","version":"16.18.18","author":"","license":"ISC","_id":"@preply/video@16.18.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6ca55a26c9be3cecc76b4b0db07b2ea23242a23f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.18.tgz","fileCount":863,"integrity":"sha512-gwZGVnlIiVTCBC5CiC3XJSkfu3KjCiXN+pUfd4EtbSMgn2hQyRi6OY9RxvNZFDBcZqz7BdlCC8Pkp8dzxZtBCQ==","signatures":[{"sig":"MEQCIDbk26puUXzl14J3cQOA6y/8wih1jed0RkmpFPpmFEV/AiAZaykkgi/gzJENKLEWkAU5LwrEo+GG/4YX51dH1K6XXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29840648,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvetyCRA9TVsSAnZWagAAfRUP/jNXkAf9j26j58ODcnbz\nzcG/EzBhguE4I+JPg+bYqyK4SkOHiYBfHf5RaBaTJDwxURGcS3+KciT083Hi\n/L/QwvDl1ruA/IdbONSL/LYORX92XIE9Sy2WRI6zQuytfEJDeqJy9+YR2T/K\ndRKCWK7YepCTeXg+egpgURUMcIv+t0cV1RvCZoplaisDP0H/HJIxsuQRarEo\nNlBAR6Q+m0+KwwvBEAouh3Cw/jfErLS2eu9+w8t4EPSv+uCQ+O9r5mDbue7J\nQ88f7BlauNGRTY8pKPxVdGAqBYgRjX0tLeoQql7ORtjEsDJKtSK8vQtmOn7+\nVR8GKPCaxv/hGpoiSXv/lZdFcIYh7FY0B9evCTqCZ5YaGzTPbMc+r9erIK8u\nYOZA3oT4JCAUjbIehUF/cziC5gTIjH4kRdiyufPSw+L7RidFeze+/X85pSdJ\nCuiWLq4lrRyC4pXR0SfofaRc3TJ2bPFhCjyQ5ue4rhKRcZllbkM0O3B2WCUr\n2D7FTPjkHdpr+yZ7aQTRCHZNtan84f0QaHT3RNqwirHMkAu9DkxeWYPQLrru\nWrzfs50MUyGR/cNY0Xz9YZgYa52v9SNd7bMGOAsa/XEAXymJU/U6RIVZp48k\nPcKDyGtbMN0p2hni0Wh0Z6L1iusE4L2NrMfYHvgXt4wLJj5Gp71AZsXvbJPP\nHgNH\r\n=VAIr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.18_1623059314089_0.41697098185944403","host":"s3://npm-registry-packages"}},"16.18.19":{"name":"@preply/video","version":"16.18.19","author":"","license":"ISC","_id":"@preply/video@16.18.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0b7169011beb198c77cdc3949320878928ae2182","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.19.tgz","fileCount":863,"integrity":"sha512-4rDnlmSVF32Uox8fu7ElP+cIVwE+YzASRZDJZhakSM2mgyisWqF3cZkeXU5wZVZk4yrQc/NjuwgwY+vSHZyKKQ==","signatures":[{"sig":"MEUCIQC969Y/8JLUqbN30iN1oLQHU5sUd/SvU8aWB39ijWv2hgIgPqke6dYhvDPNBtuEN+36Bo4tFbBaD7tCRo5bLgpTkQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29840958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgvwsGCRA9TVsSAnZWagAA7wIP/RmPK3MTJ7BCeFAi3rn/\nISPuYLEqwVPh/MHi5rI3bZdrfmjJgVTExwYIbStfFiO+vZZkzmvzPlMl7krv\nCWGvOxKQiBrYaRN+WjMx7/KO7unStIfUM8c4iwuTxsiFtD3SmcdiGxT6D9r2\nezZ90qURYUpAUeAiFKw9d0/+kQbcIYp63PMIMb0yKahLoPDaIAbX5+fJ8bOQ\ny2+Mar+sVYEFLaxEuiaZUA8vsr47GCw35VaHzrXPXJcSw/cAquWYAz9SaM3K\npWuG5qb3lNEuEV6PNuYWow3/7wXJCscDN/O2W/6KAhZbqysr4xiinTgPQ+aZ\nChMFZtiwAD7DaivpFJOaEVXBn9kG/DzfstJYOathI+L6TFTwzyQ97bT9531z\nydJ6IOvUepQOOSgPSwozg18a+gtaUKPjd7C0LpazPhI575xV2hl020LG4Y87\n3aZ90k6PCk2zn3thXPTYj8J0YfCjZ6PFo/tp+Hg/Zuk15C6ez91uzc0NWZGE\nmVB41o0m5NNkduxhIDdU+BMueSmt4mE+8ixWk5Q6bZ9cf5TXyr4WOebU/z/V\nwmARFiYB/Q4iJTlKDNljrTFYBi4NRXcuIOCg+zZhrS1YmEA5BMKgBoq8YgK+\nrmpwcd+zasBIhy2YRz0U8mrXOY3SEVh93E+8iyhk/+zAXEAaKpCH+9On8YZp\niz8u\r\n=wa1Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.19_1623132933503_0.5635142430496807","host":"s3://npm-registry-packages"}},"16.18.20":{"name":"@preply/video","version":"16.18.20","author":"","license":"ISC","_id":"@preply/video@16.18.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"08a99d5cde5fd140c3e69f54a5d0ff61c14e8b08","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.20.tgz","fileCount":863,"integrity":"sha512-DnrYGVsN1+GBErujqfDPDhZ0jCd9F62Noeba9OPEUnFj07LkwMLqkp8DH6B1ZEw4O6kM8g0kVRzfzqiMr8skOg==","signatures":[{"sig":"MEYCIQCVdQEcc0b06htmVU+TrnYIvhA9tCndzED0Pz2U6ZQOQgIhAOt3n0k4hxobujjf8kdJDEhtKKcGIjhfm1VNByIwidXJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29845371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgv3RmCRA9TVsSAnZWagAAr1MP/2jzYlIraTxPWza1jShY\nzqbBMVYfMJ2g8VTWkW6rIqPSVd4ASCJ1IDjzvTqzO5A0yRTTGwytVHwh2b+I\nPe+rGk293U5q1Rf7VIolQsxvctQEFiVnEOu7pjadb2cqCAtqEsiNkwrH7W2T\nJkhqVpiM/+y2bBH0F/cgQiHXVwjJ75PQ0MvDXjtDDe/lrbdox8afNMzMl/aB\nz5IdCMbtKA+/OvpuXnUpHl3TJPVBylN6osvBgkCbTnuf2A16c377Qupv7Ug+\ncOBYGjcBEQACppr0P0EJhRGb7W/YupDXbTVkeWgbg1bzT5LYdly/YWgmHi36\nkzDc7kCJbQiqW/J0e8WRV+jjv5kNWMeoxCddIKkD3dOQtNhzx0vwRJmi5HPv\nR2Ie4D8QTJQQqc7JmqaN0qca0Puz5uzYwNk9N06PmnLW8tjiMNC4bx/WrmLI\neBqavwfbIHAkC3QOZVXiTsbTLcu0jDLRo1qcdUHc8Az/XdrGoqNNjYQZlF96\nR39dJxj4BEJWl3aVNEg3MCeC+bjHo58gGypqe6yn1tA1XSJLI0CoPUmD24D7\nmeRzv5cvHe3GRtp8Zgcm3YY4xzoRKTRjDx157fDNrfMUFZ/0JhMJoOHx/q3+\n4iA93yo5+bggPi4yC8UB7uOdieuVi74IBra14XSCiecDqYMXzJwWJzh/viaK\nB7I/\r\n=9Jm7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.20_1623159909578_0.5855426899419169","host":"s3://npm-registry-packages"}},"0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded":{"name":"@preply/video","version":"0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a67a280a5fcb9abe67349c0cfe81de225644c9ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded.tgz","fileCount":863,"integrity":"sha512-BRBK647PLmJJKpsvGRlNPJzXZ/YXZMLtW2XoOxFX9JOpzV07Y/T3dHrwHR521hLmhcodpsHlLnRbdrgndCEIYQ==","signatures":[{"sig":"MEUCICiMejpq0acXkRnjB3LCpQSx8NSxvMUFJ9VffLQBq8RvAiEA6RuTeKXK1l/QbHwuXvwhY4MrjCGWUE4LIKpbnIGlOk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29854407,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwGLxCRA9TVsSAnZWagAAZH4P/3Z7MbT2AkgRCAxEUnMc\npUwOQyw5ND1vDz/qJi6kM+R1hLT/dMYIgLgRBGwnHYwuBpi8NjaUggRVP5Hs\nkg0/TegefCDcXCcC7zVVi04BsjieY68DKmRgwyJmkUUvycAq5CJ0IA9wY2NZ\n5lPc0/ag9d0H45BCE5YqKzLe6BV/x21d6/hM0wP8DcaJG0L+F7tXr+unNMbA\nuOcOh7uAx4rwwkdFC0aTpEFx/k6aM91EJj/An52LAK9RZfmBXlaoPzCKTcDY\npo5E9JWHZ6dR58OST3vSGzH5cudLBtfVUQhJHkKVjf2Yc+K7DV3TOlPxiETT\nBOuzX/Ntlyt0cX47Ivd+f7udu1jcVccM6OTg1Oykjv6/ICkbXLBKxpRsXLbG\ntVN2atH2GmJrYHqadBHYvB4dggK0KroeF1U6jh/zJrA5FGXTemKlVFSJoRkV\n5vJk0PZ3j6r9YX8dT4H8m2A1ifxDo4Tp8D46N9zyVr8hCIOpu70+72/oxT4K\nYUbVSW6dhg6CupBGBBNvo5McZ8taV51ya6QzUuI7kd2wMT5EhlKCHd75Dasy\nDagsnF0j1RXchNUU4YM7Gm5VSk5X7wGuw26zVszHedHTlbddATCcN3OuGJYn\nOZU+P5m+QjYbrXUOcxSuDsvcCkL1yRx1dmfS5Fw5PVaotHfOnroYhLT2n11u\nupU0\r\n=T4Bi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded_1623220976573_0.4948579210234414","host":"s3://npm-registry-packages"}},"0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4":{"name":"@preply/video","version":"0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7308eddcf2bfcf629b51350f5cf856c374cb6e18","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4.tgz","fileCount":863,"integrity":"sha512-3kH8bogx9N6G/JLk6hU7ePiaOps7wP5XIZUb94VYnPK6lYfEwT4iLzsxJyDZJGolSH/VAjl3ynAnnG/MGE/xJw==","signatures":[{"sig":"MEYCIQCbKCB2wvzCJAvcs3huxy8uUVD+pmAq+/qKac5FUtKPzQIhANMYNMFMpt3tDESlHr5YFOu5GTwigx8BsyewXeEPDU7O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29850822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgwIYpCRA9TVsSAnZWagAAg/oQAJ6YzQ5zuYMh9f7cIYAD\nawHy/JNyuj7tS9sLVy1ajZvdfmPmTyqrpAPCmDhY7kjy4KWyVAa02kR3aw/w\n3FUQOo1HbFKpjBZDgbWEPAQvz29TozG5ifwohKSRmFXV4Rqq5Ebpp4CjoavV\nmS0uIlsB+YaFKc3c0eCCVAZHJnxIDOpVkJimlCVYnsaT+/ornNAhvoUASS1Z\nPZGmoKloQJm95w7tgzJkGhooY3M+aeayYetZVMpaoTV5lUXlzUd+9Sk1vx6A\n3yQAUUoI6vvw4pdlwJxdmkyrpH9F4CDKs3aj4DXScy2Yy5Uwyo87AvBlEw2w\ni+7rNd8jQ7si/ZBZK7N2N5u6QldhLrRlbb7B6cJ85DT3deYEY4EsBFNqt0i3\nHRtwyBDUwaJnbCC4D1FjI+Ts5gQ9P5SQHjQbwfKJsCN0NIVxpzgUsAjSGQ8R\neEHuU0Gcm5gVELgDyiRnQnTOVCzPQEZ6d81dLz4OxuyPv9AiTX2lHHgYsdUA\nn8rSXwO0d3o8Mgl+6dZwKpduQaH+950kmJEsAuf78g+GSyQtGYEA3pjOf+w8\ndD+gArb8WQeqraYhLzMpURWXq9lQv2VwlBfijbGDQ1qrenjWzXgTpdu598L7\nhhqiRTdypytA979uebTZVPwdlxUq0Ge8prpE4VBetQMwnws7cFN2oog7NEmK\noupz\r\n=NN5+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4_1623229992985_0.28602044424319617","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea":{"name":"@preply/video","version":"0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3888ec44c4a9a472b4447e778a6962272fa87da4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea.tgz","fileCount":865,"integrity":"sha512-ZOjawz3ZrHZ/gx7i2IO6VM0deMOeBpIQi9b54FDVjznYwyHN1Y/M3IxWcmJGxc2uIqeW6hWwdx0TF1dzuzM13Q==","signatures":[{"sig":"MEQCIF/GAEepf9/iz7hosIFuZBAVaDA2Eb8SgDeVMXzFeYjwAiBuyLniSD+4QgX4lGsdrkF1zinLF7b45LuO94hfgq9lbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29969470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgxxTsCRA9TVsSAnZWagAAxtEQAJARif6PMpSqD2OSL8cR\nFRB13SaOOD1U8envm6jShnwdzfpq0UUCdxkBGNmCSrkLVf4JcyXkEV2vA62K\nvVvUk8E7zNuY/0dC9PhDs03dGQm+9qa7h3TvCe0GDZ+kRHy8zHn7OZ7ZE2Nx\nT5AV/HHc+Q5cHwsY/1eODXaay3kbNKewWfAHRzQ4tCtfLGj+/83Rl6sEE/nm\nP4XNzXkRd1R7OzQ/L/00oU21v18CPklGR4uRzU9yRFufp4XDZR02gW4J9NgL\n20hViSCFEduOroxeWpyaixlC6xMRzAJfYlk52PWsoKHMRQTe+p6uH8kINdN7\nyBF5d+uOb2CfJCrk89FX3U7Na7JX+dzJ7ft2JK2xHlaSTW3GMYs7FdB/24+4\nCEE5cbSnb7MWtzzzC5gol7QyaQYbnBkleU7fEJX1FIEYhr3Z/7HW7IQ8HfbR\n6P+OuN61OuP07EHjijlenmekt5NVO5nXFSHPlQBid7B7zNwoujZnnhq+ZWSf\nZ+bwAMQ88zMgtMoxCdMTF20ZkSmBzeKefcHuOVg3YGVVBcCDq3IzTLxw9fM+\n/MMdOQxM81KYWBwQgyVjoIlDcSB5lKJfZ1IDzNssHRSDI39yjrdi1p96217P\ncueu6rRoFctLbL+B+RFfQkYwx8KsrHMeds9QkRidWInJCWJiEv6UP9RydDcL\nh96E\r\n=6xdG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea_1623659756334_0.5218397424586791","host":"s3://npm-registry-packages"}},"16.18.21":{"name":"@preply/video","version":"16.18.21","author":"","license":"ISC","_id":"@preply/video@16.18.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"609960d954f5858402fa6e37e92899671bf9b794","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.21.tgz","fileCount":863,"integrity":"sha512-8HH0O0hm8+hY/+gA6/hMnmiGV99phCzf4Bd3eQ3Ns0nl2Sm2tn43yQmODiqmrM7S6W63pjsKi0n+nVwloNIC6g==","signatures":[{"sig":"MEYCIQD3qNhSMgjBLSKXZKMuNkO+uI2AZXzNvPhx83ZIGsznTgIhAL3xnTEbblWLEubXBoCE2yAFt8kD4GpHheW5P+xFpw7D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29855697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgx1nICRA9TVsSAnZWagAAih8QAJ5Uz7w96xMGfgi3TUcn\nAtRTwY2vfasfznKQweqmxu8WyJsi8uNCLPMObikLyfuXYJ30JiiVEjnRjvfK\n0lc0hrstJ2AhoRH8vidAOuJapgxfklGuMPlMSC1P0pjB8cuuhPWQcmOcmges\nJNc7sxXJtc2YqeLAPqCkmW3YFoafeF6wpTFzJMQJRbSdPAQmy4CklCwKPcFK\nR826hcTOctN1payD9GmDPMSE9hIGWwIM84HQ1/a5Cu1VDakw/BLp84UAp+hv\nbgIA3nHi0g3RxYvxidoHCid6bVZZOA0bu2CnjpBR7qARu2eaUAZsUr0cEGI4\nYKj9SI5x8rsrcGvML3v8UPyQGdkJE6r52MRg4Sd8bZ58AAzUNa4KRPN6+pxw\n0ouq+7z7kYufRD+f2/gbV2eJFTt89/oKctC8elYIM1hGrnf+o7HaVpM4oyTh\n5d1wazXEPRbYlJ5T4T7pRtpxofIft2HNDDx17Pr/NwdH1XKQ2+7DtJ4ew8XZ\nqkt57mXixn11IIUddy7XgzZ/OT8ppu+5dkn2RuVI6u4dOUjFLXPM/9/CRYJs\nOIsHOnjvVNkgsDPl19ES8P1YE3kvqqqFDypqiOLrHEOIuLznl8I9ayhw0Vjd\n8P+bXfWzmSkK1t+rMWQoaxP4lJaZxhsDlzL+PauWwAdVDQoUPi17PtJXK9Ei\nD8Eo\r\n=Ile7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.21_1623677384103_0.43503872587803216","host":"s3://npm-registry-packages"}},"0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7":{"name":"@preply/video","version":"0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"21bd29a96c7d0d776f2456b06a8f8f8075a82c0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7.tgz","fileCount":865,"integrity":"sha512-vI9/SFxRAtSK9shlVCmUk7yt65VLCbWnRrbgtOnW3VM9YN4HteSwwxmY2gsCGYfTN4UQXkXd0xFnsUiUCBnodg==","signatures":[{"sig":"MEQCIE+qSa5eDCINyyOI50IA1iEFPDmNDgUfwqeigLAPU/VXAiAbIZM3+zMVe0wnrKd7qXjaJOqun6iwxwYl84Xe4KZZwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29974323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyErTCRA9TVsSAnZWagAAQjoQAJE7DPAntBm9XD+pIdZb\nCHa5sM/Mf4DQYXlLsC55aoKueAFcuAfXxgFnZ+mGAeELyZYAXpN9Z9PvoZ17\ngaaBTd8ok8LTCQ5ai0wkG7GbFeJpTxaSc6HvYQxEAC99O53J6Va560f89/ns\n6y9gEsGf/ZoUqSScsTL5lwsO0usttXlX52nAhzlV6FAFA0pRkh+ue4Y6GKQt\n4XfpkRLMK1Y6aLn7lK2MitAn6ybk08l6wrpF6iGN2WnlnNTQshQsG0wtrZNq\nGIGerbswq8ewmRAIg+xgxrYdb2f5nBnPSCIV//crnxBVd0bNDYpoqGE63N//\nF/fC4hcSd74bOMgOAUOuBhCYkvl6xWmk1hmKUHvNHcCL/j6gkhqncwFekusF\nKNk7W1rNeoR6lOjH1sVAVeqQHfSQ3/2JlDErEKYjS8PYT4srl/kKfYQPuaO+\nuqJBNtl9s4NLTrkf0Q2XVYS/W9UhIvMdifeviT0rAx08Wj5cw1fYfI4xF4uY\n4jPY7w8U6bB1cAtgzSjRsxmMr6PPgej50/ScO04i2LV7QTemPRM2YU6X+YbO\npxxlzXv3Q8qeodqVqZC7Wu4HG4qEc2TE1Iw779Uvw2cjUmwXlLGaGRz0IbIv\n+dJ4LUDQ3IdnmK+DO/+VCKDbWMsAmUv1Ra+CF0zJgT0HvM+jIGhhDeC5sJIY\nayS1\r\n=fwX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7_1623739090587_0.9622708303808967","host":"s3://npm-registry-packages"}},"0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7":{"name":"@preply/video","version":"0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8e28a6be0f734bb99c1586351d4acf5c7e156a2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7.tgz","fileCount":865,"integrity":"sha512-FcQURBJerSUniw9SCyZ3o+X8Rl/u36j+ax6zRkeJoDFqMBl37wt37jL37ava1t3tqUhaXrUnPnwMGUnDkjYJ5g==","signatures":[{"sig":"MEQCIAnY2DPVW7ZEIb/lZNE622x/je3BN0tBDOfHIHNfU+ISAiB0mEaGbbPJEENHwb/8RVOrcA46otKsDnM329YaU8KSRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29974323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyHcPCRA9TVsSAnZWagAAxv4P/RYE33bd/KIpy5OsOUA6\ntc4/+cMMzqtNcDQ5AUBLkECfezJQ2Vs3rTSieYAZml3O1lefDEhT+7GN9Mmr\nhEMjAVZj9a3P0LDgqBKo/vGiX4qGMOZZauCn1v/ExK/b5QMavA6+y/FlqicH\n/GxDX1JAeyjWZw2lXw7hm7dwZc9i6hyqjShKg9+ZkED622eIRMvuHnjoxfWo\nk8PLyx4G2c3g8QRXw/dGxtlGSdZkjWc25k2fCvE3tgXBKF2xyzN1rTqU23te\nmcN2gOCBSyJwG7wbHBkGzfwBQTzI9nFjuqs+NR62NeV/1k4zl4GPlEE0cNHl\n9uhalr877Q0wlY4/Uy8D75eQUhHSRPtnd8I/4vxF9IgP9CgwSBlPlu7HONSb\nONifj5snwva9Alzcuo9yY72O7E/0/zqKrxPT34nPEIELLOqIVT4KGBBbTeb+\n+kxaIvb4GdB7I4Dw4k557ccDsd2z4n7p6jbkqy6NjXMnb57/2Ua/LyVQi07Z\neP/VZdI5KRkvCSVQ2DEx6L1MxOZ8aR4sksWflpo2nzthXMBxeQG4lnUlQ3RF\n/Pixh9tdXiFieS2SBipkKr+GrqafIqQRCbyWE4hf5TG3utt6j5mu3U3vQKba\nbJpV9pWlDB+tnqTAY8v0A7K4hsuSw+w8D44TaIqZjaEGGeTYjMtkSy0EgHLp\n9r45\r\n=fFS5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7_1623750414939_0.45907507191638786","host":"s3://npm-registry-packages"}},"0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a":{"name":"@preply/video","version":"0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ac812d26cb4c1fb1725c9b666c4177ba32d706e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a.tgz","fileCount":865,"integrity":"sha512-gyKJVgPJ1LwKhQuqPfPQhK13pY22x652Kv7vjHFKgjLE5u5+Sxxdpd31GkssWwhraMmcVDMyH2sYNpbnmAsuIg==","signatures":[{"sig":"MEYCIQCk95jd+Pn+cZXrXJECwRnEuS4lOBFN9acEnfvoNqHZvgIhAJDut+O/7Gzq6SW/jZySvJ1VJ8zvXXyHo4rjFt5HqUdO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29974323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyJ6VCRA9TVsSAnZWagAAix4P/ilKyfRVW5lQQMIpBNie\nJiBbXXZ1y9Cipt05Mdd6lBRdZ6llOQRi4dkFlXthBttQ9eLU1FgqO313EqTL\n/PT9tL9BmxNlJ0Umdzmv+DLBGbXnQUcahOc/EL2jHjZ/uMh886ZfzrTgF/bD\nNeoR++DHABj+o+nV/3AIknibFJ6zi64lBfriWC7Y8UmMAPnWEEev0oVbqmYv\nqfLJYX8alrlPaDgxNWc/PHWTkyPOGAuGGLJzJCNHYzj1Awvg7uj0i6muPtPh\nUTrJ/H2gb90+rUiB+aI+3LKvOljsuH9Gf0m3eZQWInEdF/15od4jGi9m98Z4\nfKcx51+HpjzgxBvhQg9XJui+44e92V5G8Dp6LRRG3fMvJKfTnFkZeRbJypx4\n6a1Ps7jEGJZRKOaEMNzdbU0fbpSRJgSGIcGrXUXvEM6bE+IdK9Z3MfeJgjYr\n6+aAKLLcLVITvPtTHLxbmj4M5+lycpY7XBoBq2VrjpO7mqRKvU/eFFNU7nU9\nTpdLWpt1UXqISdg6gjUpeLujeBSTAvskEulclQYaP/jSJ0PYw06iohqESczc\nXunNrlaZtxA3X/Wpt4+GANCytdqw433xSk7Vul4ZTuslQJCpKsMcQEIW771G\n4FI74PNvIyUHom7lFORM/uatQUBjnVoMXeT7lWNfEdTgiKN/grtXTjurG3+0\njlWZ\r\n=AR3M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a_1623760532644_0.3726048048865849","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b":{"name":"@preply/video","version":"0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2809ff91ed1bf4470d78dc0e48d43ce694935fd8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b.tgz","fileCount":865,"integrity":"sha512-7+Ss2UqI2UtVNSlgqedJSvurVuTg3ZZuBDrS/idtSyngFMVK45BR6NyqLcOR+bGW467jfWckTeQSlAgC/FX0uQ==","signatures":[{"sig":"MEUCIGmjtRn1+gm9AIoOyCQesVKp/SPEVRD56NBeHuWcsa1RAiEA9uQKuK0HSEZMdKJSjdr2aqAuh+C2An7+jAoUMGyld4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29967403,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgydLmCRA9TVsSAnZWagAAfPcQAJajv8WxXhMPvw7z2lju\nMMrGBeRICl2f7EYazXMEBjVkbwUvxkbBWgzPgwADeX3hjnEYDWNpAFpRXiaD\nH0iC4sv1Y9To4/qUOVJMF8CDLSU+eEn4n5ShIya6aYJsgKGFCT103jVeqRHo\nuLifSlNnvI5tLEFXlGVAkojiP7nWJnkHLf7eCSQtpnK4VFTxwUFSi7uWmlpW\nPeFA4+sYL88IBOmyY7f1J/MbeOU4tsny0kT8rWjTv4MZv828tdcYLW2R3SSZ\nedTpK6bVm1652KPItQUeoKYYmeVxjs5iY9Rk6h1X8X4qMk4R2klWaIvEmiD2\nBRH3tQBzbAeZt6uwoP/as6CA1RycqRtxHkmHbtgdR2Wg8uypZwqgb+tQW8eO\nddVGz92fUsthwKxOfHo+YNi3/nJMbMd3MSjMWYxtA1BSUqHHFbQbLChmnOIQ\nq0LWq/189bkqtqibXcoGyeVg+FB8fZyW4thJuTgUW6ExaORGv4cPVFodXTdE\nFoUVbYsuXiBfaG32UZz66qBcb9R3C2x0A8GKrr4tAZJU5eqb326ywrgRe7q9\nk41srzpvQdIhSoFN0vhTRb8CGFXvR1vPWlpnfcdBxGyZVyOtWO/D1VYfMu8B\nPThwhNLXChkFFqwFKZfYPfkonp+TfKAp4ajV/sxZA62nYuYuA6tfu9LMcoWw\n/ptm\r\n=SC++\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b_1623839460953_0.08183439197351405","host":"s3://npm-registry-packages"}},"16.18.22":{"name":"@preply/video","version":"16.18.22","author":"","license":"ISC","_id":"@preply/video@16.18.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"30c071e0475e55fc5b198f4ee6a97a7ebf71f5d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.22.tgz","fileCount":863,"integrity":"sha512-0ybGiwiFnyTQEuc+1V5Av4b9vX+d5+ywsKr5uuhf3b1JjRWUdTySPX4xmT1f7JRM0UPUHjjNHNDrlbWKWGbeZw==","signatures":[{"sig":"MEUCIQCC+/DyZkk5gYcOq0W498ipS19PY0HfE66rOAjc6GvC6AIgPX8G5xhecOt4ZR9kOy8Xb6wzxtR3loLot5UQUwd9ues=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29857776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyeXlCRA9TVsSAnZWagAAGlMP/3oxS8iLV6uxOmi4vT5U\ncUmsRZ+rfFG7e/SLAl7941VDqDdY3ilkGl9IVPaXIDrCqbtL6nFhQpTMSXIh\nnWzyiTm5YLWYP5FClioviVi1I2BYxx3on0s4YOyRGJ/Lt7roiy+xFrpi8xI3\nZfFr13x/RCM6ev5SOJ2vXtQvxitV1xDHtEziM4C9+H7Y5M55SWc3vhzmYtQ8\nL5V2ZeUIl2cCBc9tn8SInnAKpnBmQuY0V6S1iSehQPzJ8MkCQa4dpfYyPZKS\nUNTFYaVxy4oOCnBynP8sATu9FyWynmuGXxdFt2g2WZdnGrMtSSg3V67Cfxz/\nlpQ2a8cMFO63fDcF3xT8YHRDqXiYWC27mGaIunVfYKeS8yxF4rXyGWQn33EM\nP1lhSloh/IzG/pUf4NsG2qqzmxii755GnGEAgG2UNzF1gYJRnJZTz+4hAvbd\nQnvbUKDRpjrbfvTP7K1mN5pb86MBWRcUBSgSGnKGHvK2Jss4baZqwRtxOML2\nBi+3MyWqgMd2yPddTK9Jf0agX9HhPRUtzDe48pH+w5dij8DYC4wA/iauBI4e\nlvYKpzyAWkP2VfQ3y0LqsZS0U6sWdHcJdrcgYoNVeO9xdRl69/ZXxYB0L+sj\nLq+1kLHbTstJb7una0a7kkVagYUT+K3JQfZTx7NCsvseqmGdOHex52gacWqV\nU7Dt\r\n=ge2S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.22_1623844324982_0.2326411648655342","host":"s3://npm-registry-packages"}},"16.18.23":{"name":"@preply/video","version":"16.18.23","author":"","license":"ISC","_id":"@preply/video@16.18.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"38f1806e28c7aebcb62af6a1184d8612761a0239","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.23.tgz","fileCount":863,"integrity":"sha512-uA7lTuySjMaFV0Gc8uFrP2FXmCDdruulOo0dcW0zMFeychgKNeQx20150sqyOnA/kfHW6gqfNBD2T7AlziNVgw==","signatures":[{"sig":"MEUCIQCf4uMxs7rRLPhOs4XBHUJDtazwVadR2T3UvZ290d/qdgIgFcIEzrsQp2LdOyALpQOa+Tii0fPLgkkg8OdNHqmfZp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29857903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyxB2CRA9TVsSAnZWagAAkLEP/1OtTw4AdT8Yn11gMy97\n7yDMKh6O2eVSiGBonXrRQt9Iwy054fb2SmYrQgbGXgTMqCov0jo/eH2B9wOp\nWbwEh+MZvSiGN2w31oj0J0LB1BvosDD2vJ99Fj+DqAJtvFgSIarzH1s+XKxi\njkTjoDmBy9fUOXaCmpF96nA9KpAkbFqAMWJz40pWmxDXJ/tQUzzwvIJW8hBh\n1Ko41kmBFlMrhaYxkvb2iB9Fp0wh4qV3YJAeS3MXyY7yGVRXHDt2nFwCXnti\n6GqSPcGQHne7+RzAnAkPv5pM93mBDUJU/aslhLSB1qSn2VD/Ac1YBo0PtxNd\nKBS17eDYwDioOIwj3lemakNnrmOdoeIqU1mMrWSg1HFNNDBft69cNUgSbH3B\nX5Qus030eo7Shx6JhJjuXffOb2HSh7OGMYQ6YNs3cxqsxWVBjJYu2ZCthmRn\nT2702VxJJHj5UrosbMwPjstJuAjmwuFkIs/QogHcU+nDj7gnTzfuOqRKgv95\nkOYtIfT22huf5YsvsMKYcGm1o+MkFaft5ckrL+FCir+vYcWqL3p4gXWAsZjn\nPgz+f1gehFL6WyOB7l5J/tAYfnBeDlSO2Dyg0gmw5oxUXZpwZslrNo5sYuf3\n0/+QiKLIvj/0vwNFKLDU04iLbyYr9F0VPVNKLqLszJBZEsxdQXfZcPUtznYN\neNh+\r\n=CVsg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.23_1623920757652_0.19457089555597795","host":"s3://npm-registry-packages"}},"0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d":{"name":"@preply/video","version":"0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a4cc19a85707ef40bad27321d5d3e8b17bd62d43","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d.tgz","fileCount":865,"integrity":"sha512-iBlZmP840E6ytrnc6LQ87u+IkgZYtcRzMhVlul/UffqGOPU2iDfVZWYQ+lqc1W6bda68MWlvorSMqrE1LxIkSw==","signatures":[{"sig":"MEQCICWsz3Ldrb9VDtHIZIfFkbcsGo66jOSvsWg7WaLG4JfyAiAzgMmdMu+ysu2dTxW5AJhCjPnpJIwFk0BvHSSQjYpt4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29976343,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyyEvCRA9TVsSAnZWagAA5FcP/2or6khs0u2aCfMIiFfD\nQ/pfhZOspyKjnEsP9i1o8ER4vjUta9Crau6XU2pYd5F5HgXem4YJso7ITmmK\n8pm3WiFYDvyySZUhIa0M2Kb6tU9omjKm0X4GN9QWjiMahYS1vQM8AzE+RfLg\nxPjGJ1xcrmJm9DVeYaaoPbmRUzY9D3c06Wz+vMwXHRyqyzQe4k79YXUPonjT\njC71vIuiwDEFdt4BuI9tTFAiVA6xMHnDemaS0jSXS3MXXUu0IW7lgSJGuk8d\nuwJtdxj16kFl1uaAZnj8rzGRn/VEug/FHUGx8oHUhWHFb+PPE3SK3HczxzVy\n/Hd7JMypmJqIlA2SdmeTckc9GkFEHNSael5DwGtwlWVPN1NOgyCZmzHWI3zZ\nQ+DcvCF6TblNgPU4rjQsqPRXOZpF8HtiH2dvVS8D27fW47GEZ9lnZHpvXCze\nX1xau7Co7ysdo5W9C+W6Ly6fSCogVDbdPqRUwRaEcw/b8tKY9s2M/ePgy+VR\nn7xr3OBGhjMyYMjzc4JO2cLCtqteqspeWtT18RazcjXa/Pj+s8VBilXubRfo\nyhWctPYnq4xL7Onejvu8ALhicvjvzpQTIgGambBu1wnIhDRcKx16sAweVG+o\nEGjv57fHz8OQkFBfx8JHZUB1thOlAJP+mWbe9lw19SWK1Fp2HaPbYq9ZJwe6\nwUSp\r\n=Y0jP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d_1623925037990_0.36981011422870713","host":"s3://npm-registry-packages"}},"16.18.24":{"name":"@preply/video","version":"16.18.24","author":"","license":"ISC","_id":"@preply/video@16.18.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e0c748b8afd0959ec016b72476e78d6e22a4a1da","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.24.tgz","fileCount":863,"integrity":"sha512-TYq9MAAOPI8NMZ2gfqyx0XtkmVOvul+PDujgvL3n4S4eiPHba5nT7pUPzbIuCTBzr325x+ym3KjzoQFF5jC49Q==","signatures":[{"sig":"MEYCIQCScLA24Z1IYW7/BlhA6kiEE+njDcrtlmq0iKmyOkhB+QIhAKmnG4KQc3TcUKFbK5wjr2y7BazWgtrTW3BgBRuXhbyE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29858353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyybyCRA9TVsSAnZWagAA7y8P/0nfEA/3y/INnZMbkChf\nQYQiu0EPDHMYvGaOH49KT7UZwS+1djiWd9i/LBp1KUCoOf6XOXWk/R6kKBEb\nZsyy5Ms44BYwEfuWoIzM3/Ag8U8ibKx/YpbDWKD3gWcko1rl2Jkd7uDYSlZx\nhbs7GQST8i5rqAwUmCK5wWXLzaMmif0KvcAplN8GDB/gvGgxppdmyKIQ4X23\nS4r0BpmF32rrzwW9srTkKtVDTtC+aorOeMuPAlS1/tCC4ym0GFO9JQDgghey\nenbbzAX8wBB7fH71VoZUqP7LmExv0O3rssNlSSEV6MgRbzMRyzyOCUehr5Cs\njcdAlcjj0uAjoixWrIK8bK7HXYKT4VPXwI9IQ/oxKzL1Rx3wodQ7elFYKxmc\nW728cYctE1HFY8Kzwf6rYvYWCeKVJr4SIo5Ak/GDjqOqWQbvpIWNaU7lGKA/\neUHQJigK/2aTwhmSV49YxSLmXV2Du4S0kMv7Th+kXX0sH+8LnmMbAb2FLs1l\n7M/NNLeAa8/I9d1mVntteiewnMxDY4ZQpSTB3hf86lOCsrq1QmFXREgiGsYI\nLiUM/rP8C5XqwREml6r64vkbmC/ggO1mtzHp0ztyEDc5pvxYYTYsUQ6x2uyc\nmGTEZx2Qv7BnD7vO06EnJKw74PuWemlyaIjqrAA56PWZ3aXGaXLUN0jwnldA\nJH8b\r\n=6nG4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.24_1623926513842_0.16361383063890633","host":"s3://npm-registry-packages"}},"0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7":{"name":"@preply/video","version":"0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"42262003bd5c90f08f9a3c9fb597b8accfe66b35","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7.tgz","fileCount":863,"integrity":"sha512-IZZBqjLTeWo06HDduZTL+NBHX4zji7tJVGnft48TI9QS4/XxL2O2WjdA5kDjUC53RPVgWFusvggOmiFcyrGdlA==","signatures":[{"sig":"MEUCIEMZkayw9f9QvEj7RAWVygABsY88gg/9ouwfsna7kGhWAiEAv9qzDbWKGt073a+LPsgE2OYAX3NOewCQHzy3JxGY1C8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgyz4qCRA9TVsSAnZWagAAytcP/2BGhuVMyFvTRL1p8S01\nQVO4Ey1fDmNzoEeOeRp0ryVBx4fuK05WbMfDPTyS2UrLps11j6WrJW/uO/xG\nMghcGPZ7hIk6NVimA7HH1VJRnkJ73rtNUbxHWNHcRAtz9tvUk+cy77kNCnkd\nfOGdxJVq+Gbv3nmVMYIo1yNCbYCoFvDwGoBmfVV6e2C1aIRIJXYMQjs6fAn6\njE+JzeDRXBvQ2LEaYX6yZ/C+YKO4wwDKM+wS9vc7Bas28KKFJP1HRwaI2czT\niz2TclTIzKwIVg2c4hQp0b+mo0ONw56/tyVNf0BYM66Tcv1wmkcrJvbYO4I2\nZUvZP0hHs5kczkOuz9eTs5jh8QE3ZTc6HzNtZmm8XmYpxuVhZwPn7cENNskY\nys5JROvvdgtMmLU/4JuL9+jmcbkut0SZTT3UbGlaXnlRy3B0d+BGIIFCsrPS\nJDi/ZjBSxm/DElGVHfFIoNiZlKdAxrbAdJy8CDg2DDJRuxLkfbwWdEzyyAYL\nTZPVn3uy69UO1Z2VcYI2dkTzv0xiEg7ZyP8pXso87JNIRlLg8aIPojneLZkQ\nRyNPekvpVFy2+x9gCOmfnI20jxd0GYQJdJ/cQdcrJFoxj0GWoVJK5nwPTS93\nwISftgQXWAfOu/Wp7ui2GkXrofkrVBgUpF+AW6Yr1c43QIexs3JLqXGBAReW\n2VIs\r\n=4Tg4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7_1623932457774_0.6022659596221085","host":"s3://npm-registry-packages"}},"0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c":{"name":"@preply/video","version":"0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"aefe272035ee4e0cd651fd35f304de1ae9cdb06b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c.tgz","fileCount":863,"integrity":"sha512-qUI5Pb+pXfTQzhIvFZ9+INPfwbG1Fxm+hiKCQLPpsCajUhRRWI/8DiY84VvMYC2MsFTuSxUqKxrbYjkOk0HVeQ==","signatures":[{"sig":"MEQCICewa7WsKSOT00xJxvN4/XO6sZgkxKitpyV1Bjtp2osvAiARP7KlCdNc8MnjCjCK+oSYtWtiXdOhhyW9nqAq4aK1JA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy2iHCRA9TVsSAnZWagAAxhEP/RAfuuUr66XkggfyH6Ci\nfFI/4YV61EUYX8dT5w+vtPfrd+qGQLLD9wLQHYirs+D3AHdAqGJwkff7jB+t\nCA3F83jz8hv11nBjV6LDwRwGDU+i3ffCxydfwkTS7V3zQNjeckaAjgtlsWxq\n1LB9fpT/NW2cn6twvM4T7c1ZHgGZQJ4ms5/l8jilEXSnaNtdPaJj6vFmekoo\npRzSrz6WKuHP3OMLgTH6jVdq6jEZt6v/wJuZxb3Cc+LA0ZkUAngJlg5EwtqA\ntCzZJgDjl64lDJHIa0GsaLebDeP795bb6DjEgl+hVHncTBwQSZBcghYVbHI/\nTcxe3n4/M/DMW4LNJC02JEAJL21SmwqpNAtKU56bpErsDslAQEvTi/ArZOG2\nn5s8p27t7xWsM22On4fSeRPcCb3k+/K5GJQIicwYVxpDrJpwolq1puGcDhYC\n/8dD7IXGCOM6COe7vRGiOXK3dVZ6GP9097EBY5JiB/3ALo10I0ZrTk+C7xe8\nPw3qSXI0651z1c+b76Yp5hi6DtJmhPl3DDNp+x/vC3lphObJ8MU3Po2dlSZc\nc531rTLryUfH37izl5kpbWpKItIspVHha18oQ5xF2jzdT1m6o0XYPfFifOHC\nJygQvoaqUfGdBBK6yXUdQY3prMkJhTxHNYsqTgkLuFZ29DJKvtvejtKOWn03\noTU9\r\n=piLW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c_1623943302905_0.3615265788961921","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a":{"name":"@preply/video","version":"0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"dfb3eada0b516c0af5b2f82c1cc5555bb22bdef9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a.tgz","fileCount":863,"integrity":"sha512-L9uMrfALM5csYFCOz+6eQySwxOVy9dsXjo+4hMzcXqubJfdmpKRGI0utLQnuOHXTOlgHAeZdMnaZjBRpW9CI/g==","signatures":[{"sig":"MEUCIFboXG064hyTga1WUBw6DEYuWT/GXiz7TY2LNgsF/7Q4AiEAsaXmwX5Bt6f9ieZQH2aGl611Psail0tCEU4j3GgdX2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859762,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgy2r1CRA9TVsSAnZWagAAYEgQAJZ74qjr+J9UQGycLJgo\nOlx28TnKJ5a6xTW4Odf39rIN5qDCAsp1EkCRvEwwuBltlgeB/rRsHwJ6e6Kt\nLw0QygD07+/rTnKS3i9xzzAlyQYdXqOyJlOj+fYN1TjWD7dTGKlUQVSU0u0W\nDM25ZW3sNzP9LvrJrad9YQR4RGOhyxw1uOxCa1RuFwaF0UxSsmgN9y3umxPV\nrhmZ6DxRKramxRxsDc2c8ZGzq+ayHbqPp+laCRg3B3RJBSJHdn6/JV50Smni\nGX6J/8ImhMVc5YAtDX3NJys2WBHjtg+EWLp/pMqBboThoDrsXMVWMt0mKV9y\nt+ZY16Rl/mB0WdZgUiwbS3XI52NS0jm1gMSAzL12AD+nlHURtJn6mpkNLG5Q\nZg9qPK9wdEDXgeXz0Pzysn6VTcat20hxHTRj44CKZ/6AhM9A/msY8JgjMWL5\nJaWymbPQ3jh21fxlR/EIppPck3pzhZ338biRT45Ox6g6eqrYKpmGWBGZV471\n8D+wXg5G/sXCHNa5vJD4jYm0PmVapZDc0xyU8zLVHYLsmQ/GwNHQ+bI77H6t\na1ohy+3PBfJH5yHuSm2emm4zl4Gyo1ecNp1TtNxoniblQmADK6nCEX6Edv1C\nmA5vywYHoKWAMRTXb+jach2p72i68Cf7J9WMeSv6XzVKzyr+8wERNu1J2jPr\nkYqg\r\n=THcy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a_1623943924017_0.01568203680358815","host":"s3://npm-registry-packages"}},"0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c":{"name":"@preply/video","version":"0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e9a48460ee915f50cdd409ef86b8096dae777524","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c.tgz","fileCount":863,"integrity":"sha512-bEuHE9aJflilyfj1lcuMMQBcPh25nbfHgsqUxN4zYkksCHkYMDVpTgZECDhvk5DPfViqLEmlUktORcBPLm1UUA==","signatures":[{"sig":"MEQCIGPWBMCjBReSvp/7oqih14fRY/woIY6r47SnBRMPOJDvAiAu7212ghU94hx2JcLLT/RrvwJiyL1gLGRd+FD/fFprXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzFCXCRA9TVsSAnZWagAABg0P/2x5xHDSwTWKytSACdQW\n5x6QnVXERjCzF8qpS5U9/lz18Kgu+NA+QJTtXDpbwRZw0LxrtsGY0hDikz8x\nFGYy1t+D7PeflSioGVF7ebmpmB2nA5R+/VTQgWdwmItY3UqAcLmtwFeG8iN/\n13zpBpIAP7DXWT0a7yBur7QY4WjS+x5P+br7tLyg46qIz0K3aT5AXlvCt8tp\nCbDRiV45ZN6YlqeStg3otG2afB/g+y1CjyoCk55EfNsGhO/6HpMsb1UVTG/A\n0xC5QT29sFXj9qo9egQQIIhCk0fini6n1iF8oiIUWAhDzKxsD7zPJrBYskwB\nyy3UgRMmPOZcdR9vPsvTpm5OBMkgTNj3BnuyvCNxKuQRAyPb03qJ6glacuzM\neneZ8tho/rnAWH4ijILXUcGBYXHy0+bm3vqeGX2rfr+6a4uVfG55BbJR9lh0\nAeRD6iexw4BdGaQYnse5qYCFYa+RgFm0NsC5Ho/lWlMCvHFd25iXJLDx4maD\njNxCblgtG8GQStRrYGXEq86vYNk7NsQxl/fzdhn2omYfg+v3ZazHk/cPlr0B\nVlMvo/Ty4H6cKQk15i+zARBjXj06sIsGWULLqO8GPzXLy6liOU059JvUtQth\nNodahi7anjmlK868vOAGUrZBazS78dsk5INJ+EpMrcbgWKmK+FqZzlaPICoM\nfMWo\r\n=hTgi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c_1624002710780_0.4436969132939397","host":"s3://npm-registry-packages"}},"0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146":{"name":"@preply/video","version":"0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c7eeae0c873dc7ef51e0c28b997bc18c7846cb8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146.tgz","fileCount":863,"integrity":"sha512-PUh/cUKU211ShRzefCVjMdeYIUB8SLfMQM+jy8E91/g5tgR42vxhWyZPwVzBZR596i/SjoJ6Q0sim395ZYsYIA==","signatures":[{"sig":"MEUCIDPY0w3+gKaNQWvXCJ+nnqoYfftupTPX+l2bA5kcNcz+AiEAmXb4MzAu5osauwJWBJnxKCYr84MVSOE3Mu8kb3byFD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzF6ECRA9TVsSAnZWagAAFgwP+QFbvTIhDwJUdYXPBAc3\nRb1FC6K5GRShrgrq5sJA7fQu05bmCuzLCAVH38Y8BdNs/PYXGbrdEzj2Wkwc\nbcj9uY36OAdqWVE9mSnwWlJinMAghJr9BNcdYyRfg+dcaOa4wli5+sTGvWsm\nqURAI86Hw/j5SDNG599hSdNAXlJhNtbHZcCQTNnrryt8XD5cIFYvjo30hwMP\nzkb0JOY9Fu5gyoEBP7cleU22Wov/mJRmlwR5ZbplzW/qmIaxm2vz45wtPvYr\n8RLinarFnWq6GFYQ1SIJ89ZQJBHEw2/LBX6Ya+o5GT8G5FGAiwUvtmlQ3JQJ\n1vCsmZattuBbD/Q/MAKUirDcXB5NYHYCmdzdrEB138tMffUI4BbuIgWF9fhB\nwprGIPfcxwUTkuU75v6I7T4ck9rFqZWktx6FJitejo3fUhiSayQS5imS1yeH\n/F4KQ8aHRV6CerHB6JxTl5WuDJvlLf1OyccEszLRuPI+JH15iiH4WlMfUYcZ\nHS253syT37G29FSHi4oT5hTwOMoQoORzWMuYfPU3fyxgvIEKV+liZ6hxsFoC\nvb85SRuSQ7s76+ZHR4UYnILEHwUeP8MJvEIoSTPvjB+bSVPNL5gKUYtjvGz5\nB+swcnMuiXZM6FaJ37xaisSl5YPySikpyRp0Jb2X/+xNxJUewJ31FTylf6bo\nheEb\r\n=g844\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146_1624006275168_0.9897438929064986","host":"s3://npm-registry-packages"}},"0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6":{"name":"@preply/video","version":"0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bfe4534504c66b6e896f682a8303eec7bc9035cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6.tgz","fileCount":863,"integrity":"sha512-Oacj3Bu3FKX6hBWc/cM/V0HvudnFl66BADhV7OVKt6foWuhfAIl+VX9NDI00HGJ2KDFp8dyCdAp2CdqXKsFS2w==","signatures":[{"sig":"MEUCIB0AoIu76CXFnHTOyAZLAwbog+5AQugpZ67+8x0Oe9daAiEAw/urOFZVXA9OnZOiHIOvLAdBcea/lzBLeuGDoEkFD8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29859842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgzGjcCRA9TVsSAnZWagAAiwQP/28MR3CvEJLWxPlaN5gf\nJjD55GB6sUy0NEFr/Gjdkq9aFC6JHKRKQ8AfyzEfVSS36J+O+pT9qtIZddUP\n0NeuVIBYEX2bF7WqIHWPE3Gn0o56HMHd8H49oHpN91BgcG8d0aX1UX1TKMB6\nktyaz7/Nw5U4pf6aarlFbiHgL4KeJ16Z5DRU52YbOJsKruwUV8y06FOU70qL\n3wh3LSWpy/AUoLWcDlZXBO+6zMxIVkqSaChMGdXCrdVfLao+YKfa8n1YB1Bi\ndnAHLGZAPqoDzVonsVCl2ZHqiPciPPSTKi4zocTXPgCRLHVPMsM5Ye93Kwr6\ni1qJQeKgI95Di78Ux+JzLXDq9RxePXNgctLjIo+bsUXCqdIeY6uH2yiITLBD\nJkLzdDTADADa+XH8YZ1M0CEksfCaVjrsImBpz1tgMB52HJ/mowB8NG99YoDE\n1FG0vOwnQWDXwrisyV2iWSWDE2gOu58avUjPW9QIyzhVXwySBzXFUw5kQJyd\nJfCUMhIMrHY2PXXPyGGnZk/gsPDhi0YoVqU2xJ6MvrQvxWHjGu9ySuqyPIY/\nDIgHlZjZVnGnL3MujEVeSZ6S2KOPh3Vtnm6c9tOfOaXA8w7qo/66shAj8MAJ\nTHOcuV5Z1DU6l4Z4yiOwLcX4qektFAebZDRqzhE/VFHjvPxdX4/koIuqq8Ax\nYyvL\r\n=nC4h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6_1624008923887_0.4966373914009259","host":"s3://npm-registry-packages"}},"16.18.25":{"name":"@preply/video","version":"16.18.25","author":"","license":"ISC","_id":"@preply/video@16.18.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fa889bd898fbe865b2dde5e0f9129cd9c2401eb0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.25.tgz","fileCount":863,"integrity":"sha512-1FpMaLJ3Ny1/Dj1jV1E0V67kmcAfAqIxzaYkuNaeeCDb9/ZjcL3HIlRUH9qa3Qa35aJF7G3UPP6PyX4VIGuWYA==","signatures":[{"sig":"MEYCIQC3K/7Cvl9EPuKC76e3iorT+lRhejTH6Xok8TwNI/LuMAIhALm904LCleppocY4Mr3qBGoMlDCocPMjxUZgBlzqFePa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29866458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0YbeCRA9TVsSAnZWagAAhrEP/RmvDISqekXr6Grb3GU2\nD5ziERo7xhDUrWIBZKzwSWwMDtKsLJrpMD9LnwcBRCZXBKyhnLRsxsZP//gk\ntUVbyttOloeIdGvXcx+WKHD2l85iKUq2w2vgV5yaDz4YgOmUDBh/5uqaH1v5\nIBjVE83BMDNBOqwxwvcfTLccPW7EL3wzSHBCMdcrtAXMsoOlE4xjaCSskrVY\nPhQ2SfyNIKWSEWcg6O/evGTsprUdLU6rHCqayKJ9uCgBTctYPlNs8tr9PsL9\n5hznLz8W5fQMt5JB6DYxe6y7La/Fag/XHiyCr8icIlITer9a5raFVaBtc0Yu\nHiTbEj0k1LjOYvhgLXGWGeHklqMWgnpbzcNmB8DphjcZ4Tc0v58ixJa5Awaz\nWq0t44qPnoY/kWbzvsx2fHqKxuoPBSVFQkzniae5w06OPo7XCT4mbXuPhgjA\nNgHzq5GWSzdO7631QEVbFODwkkWch49eOaT5YN1DCEs06dkz/knKX/9SnAx4\nB2UBqQfKwy6f2CQC3bUcSiPhHhK/s3MTBOI4v/PdEb8dYOpzfbr2aNhYuTLU\nHjCnZDz6O6QiWROY7tDPQ/docSyGixVKEpYHQL241GqrRNf1lUHRkX6v0tvg\nOY+axP/RdO/QqBrPwDe6oivBt2sHdaTxK087NEuJ2O2bbRqabmm3ubDeT5Xi\nIegB\r\n=lfAw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.8.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.25_1624344285900_0.33889623875734887","host":"s3://npm-registry-packages"}},"0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e":{"name":"@preply/video","version":"0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c02f4e8e8e0dc12fd42c7d4f467d7f3b2e8d4e94","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e.tgz","fileCount":863,"integrity":"sha512-lHj64LHfOCc2jI6oDImpJHrUuUu+GMFF96lURvUzTC81kUZjGzQxBFSicr0PZz5tolm6fNXQh2Gm2/nYNWoJZg==","signatures":[{"sig":"MEUCIBJO0Y4lDpCu5wwYzPcIG4WkMXu1Cn+SRHIMa3Rg565hAiEAzsUpCNVUf5TQLq8yT1aH7SCfbRRP/Z9xlQLdWjKnrNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29867928,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0fJeCRA9TVsSAnZWagAAS0MP/RXGRaHmDA9cOTwKL7R+\ntJRVcy8BqEHhnIo5PQMbw9UIlGmUXvQhVJdLcAqhUSSLIb8sol9y5eslykYq\nyLUDdRnWjnjk9LzYkiKCsE4QWURjbnPys4FFXhebPDgvjjZSd5CR6umlnX9C\norBudmtdbLIQf/+dhdUsr126jrZXLixgbkkZmlwHoGVOqC5t5ieNVisDMrwI\nsDjRa1VMfz5nziSoO0l6djFLf6kZdWhqfBzaT81r1SLLNLwUgo+4hQoCgdaK\nFnJT4tplbAd31MuUj1t1QSi2rbq9Da9AqyTgbNv2RGLzaqz8nb56WgSM6biT\n7rc+joJEkl9L4KbNQV0Tps43KkPqrwL66RKLSHrl5wJ9lzO3jSDngHQ+V/qu\nIKwcHdHHfRWivltF3XQwDU6Wyy0FZS9YbOFMi8ROFrGFk/uWqCFjq+Rz7dC/\nReQfaR8dWSa0oK3WjFiHres/9uAk99UxOeh1H/kDJfqIg85JzH83zZjcNIM9\nRu3q4W6kBHKJToCCirBFYRBy4equttf2U6N+WkxDIUnDaE3ZKHYJF5ryhSfM\ntszdj+1glI2SI3EpwyphCWh0eickFJQ29s4qHrei4vq+4mLM5HI8SOyEvYVs\nxLx0D+0Jc/SJlmPsTwisfovPh3NTniiaX94rlETUMq/vus30nt+epRanIXtQ\n1TCd\r\n=AQzZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e_1624371805655_0.2995749167245245","host":"s3://npm-registry-packages"}},"0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873":{"name":"@preply/video","version":"0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"43c7604557d7d51719cef1608eb8f754f5955b40","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873.tgz","fileCount":863,"integrity":"sha512-BHri8poMVsjiLLiwgmKdJnb670I5YRpkSGvkT056ItKuZOwEa2n04mCoRKhVcNvfYeLWjGk6CBeOdqvTIrHHvw==","signatures":[{"sig":"MEUCIQDY0XupcA2kjuAqgw8LQuvmGzQXVbq1plp40cRQGXiNkgIgDU7Dmfou00ieRFl7FXQ/oxVIUFwjKnenMj1riA0rArw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29869987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg01x0CRA9TVsSAnZWagAAwZwP/jfstZEHeyM3nndV2Il7\nmBB2tDAIdABTpp5dObw+ffqjGXVKaTIJapEFVDxpAQ66ui/gS9jR+8RTA3P1\nbIxzCfDSD21OhdmqXQodh3U0Wt2LR26CY6q0KiPYFQEhEGRNS/q8QfuFiSyp\nNRBXGwBZ8SFQkFxQ9+q/2ucXG4tdgvvXvIxju/8Sn2ult9k31MH2OWSMO6jg\nTSFapqPQCAYljtWxWf0ABlZhrqO6ivJGs9cmTlUfiXSDbnOcnPn+5v/rrfaf\nN9sZuXrb5tGijNfxFKzdB8YsA9RUlYXxGYCDBxfGbAka+bOOeLSrFScBwwHH\ncQM3GdT5/2FJI/naGYdk2ItMfpNvOXMm/vQCtoiMu+biisaSvR0hZLrMFlVO\n4rimVpza1v7fLo+xuhlUV7PbAPBLRzZ4MFq1zGJijNQmnqGCLGSUIBpBTpLa\n4cm+1o0OxlUtKuld7IIMnHakKsjkqFVVnGYQG49cZaKHU7S5Vc+KU7zT1hU/\nwO9gQeGs3jFd070+kN2naU/Gp2jvv8PV2OG2EC1huDj1BOI1NjQtEtyWu0Bs\ni5TPExubJwsKNomFmsYTPFce+vdr+x5t2P2nhY2tewprcuidY13dXuJsHOdd\nQN0RPJH9VQ3Y/2+Zj5H6ssgDiKaj32Gt6MDvMdjj0Huvbo1XBNOF+v7YvpM5\nt0Om\r\n=REZK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873_1624464499831_0.020734802879623482","host":"s3://npm-registry-packages"}},"16.18.26":{"name":"@preply/video","version":"16.18.26","author":"","license":"ISC","_id":"@preply/video@16.18.26","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"341c2528ad396b31e485cf0943075ade43d1de9e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.26.tgz","fileCount":863,"integrity":"sha512-K3rR7xPpfnF7OmAJLger4GorMQvVF73MpFIORKJhAv/mU3egGi45d7Pjj8IAZPHhEWVkOeFznbkEXaXAMr7CWw==","signatures":[{"sig":"MEUCIHGxYCqkw7TrOw5D7l7b5dkaiDhR4E9NcVxl/RqAmDS4AiEAm4cF4VovnWlsN9E2fHboWZb2ExbKl6N3aschMEyl6s4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29870921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1HwoCRA9TVsSAnZWagAASLYQAKUY/ThTutXyJxnger54\nOaiWYDktoCTW8TtKZWalVxWo5cN/YsAUn/IkqiGt+7gsmVDkuiYyXi94w+EN\n3qAdTvAIKzMak/ot69uQwAQ/ka4shh/P8lWPnRWwfSwJxj12J4tBmnxnp5l7\nxo2JKalyAEsj+JAu71g1o40/peLNB55WGlBPJ0VF44sF8HYJ4YGgolH+Wwu2\n/QhBDSOC0l1hXrzywBy+bgsgtpExDiytK6LutTGRGpBzI2zYERPbKbyVElGK\nKURkaYngaH2/Cda7d9jxVHprQim5A889lXRBZ2fLs+vc0vK2d08j2nC2kz7e\nTJESkNdi9uzkgKoJU57+TX+Nd5Ccp1Lpz1QFMKlS57p/fx3K8SQPwHhHEW8o\nOnx1hO8rYHBX6dRfGQfCTcqcp0+flu6Hd/mSmW3wl0LSKv/Epu6e16l8yMIF\nBXcYIXi6giO81aReJT7H4RrQe9BLvTAXuIXOraHwAVvjOr7c4Ff5VlFyKouU\nRi3QdC5VGnRULv7PyQYUspyOxdtZelZasoT63LJROY3guhYic8rX8D/lvAf2\nK4hUhUwcS6kfarRUVoYkS7Bk1k8wE1b4Mw78JUgdBtd0+vJpooigdKAgVDbp\ncj511gqbmtkk2azG3ZzYYz4QzITx/j7kanjqPEb1QJkmaZEW6Jyv9T9SZYqw\ncf6Y\r\n=0vAb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.0","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.26_1624538151663_0.2725354589978515","host":"s3://npm-registry-packages"}},"0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00":{"name":"@preply/video","version":"0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c29154f244028786ce0078d39df1d9b38a0a83c9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00.tgz","fileCount":863,"integrity":"sha512-4tD89m0JzxXv02Y7llcxINsuxcuOn1uwHbuwpT5Izyxw1n9fl00pfMrf1EEhaRwazAoBs2WHCkgBsiZMHzFZEw==","signatures":[{"sig":"MEQCIA3UjYgzgCb2obYJyF8j77YdSCiWyir1eqy+9/dP5FPcAiAw7Z9hBXIr1REOwQx0BxoXGwDkIptN2iySFZkjd/1X+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29873979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg1dwaCRA9TVsSAnZWagAAFVoP/jdUvx5oxtkD1vcWQS3d\nr1DJhyQih4KEjVQdCcol2sDKKtW8A7exN4vYAdlb8UjWzPMg24QBEYmbJ1L2\nqAXxR3D+83W5CHjCEdJqQih1q53x4OHv2QZWVyJ2YNL+gcgzAnJSbnmQAB6w\nX3+RDrxnZfOHZnp9MrnRYGlJdGBvXFhKlamLqqs7JV2G0OcPKs+xCUTqXwn5\nEeBfrAwbDCBHsskcMEZ3jKl7ytCGyClzJkWtrhTA5YHqw71hiHMwgg/Fk6Yi\nO4aN9PSrsVcaf7ZsPNN34j1JOhVuhiOmucthaEpIC+H8HpbvuwIqm32+Zgvh\nFKauXL7ewBx2DO/g2Ttjp17Yqds9bUm/gpg1OJtE04usDwQxNvaZ85j+Ku6k\nAbWcKkUg7SgmLyJncusW861ui3MojLiAR8Iej4GwtaOucCQ9bl/hoH2eCogF\nGmIvM18w4IphWXB8zCEj19iL/xEQ8WhTatJ5JkTimcLaL5m1yDQ9kaOZID2C\n/ILcvaE1bKCFhxH9VzVs7Pm006Q9Pz642iDYPz6CN0m7EQtc9VGpp1ScpY+L\nkbOT1VfGjdwlQfrL7z7rUzIsD6jXezZERPXTSy3V+91wdCBiUnBD2flZ+ZvS\nPXYBxiKp0fp+LSrJDBpocm/fssSVLT7su7IkK038J1bNWVs7Qf9Jmpmf1M9O\nsr2i\r\n=UPX3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"^2.1.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00_1624628249511_0.8426919398390433","host":"s3://npm-registry-packages"}},"16.18.27":{"name":"@preply/video","version":"16.18.27","author":"","license":"ISC","_id":"@preply/video@16.18.27","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b5e5347c0ce162c3830ac89e2604867e2a9ea152","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.27.tgz","fileCount":863,"integrity":"sha512-AMrDcOmrxOQQiQgg13QxYytv3YfOSbMg0GiTeyrgrK/dW8YQgAHFJiCL4aKfWuiC7WlKv5H8KgtL3X4guTQXpQ==","signatures":[{"sig":"MEUCIF6iAQvpwlrK7/Uc/sceyGxvTFcUFv/vPa4DOuFJ+JNXAiEAjDWohhqS3vTkZx9hgieZ5EqbqZBVv9GFgdApy4AN+Vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29872615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2wGdCRA9TVsSAnZWagAASVkP/1hGzYY1A5XaACT3COtS\nV8RiBEqsXq5UrsbRDVTEe+s2VFBsOB8vdYGRuqUTKH/8uuTg1kMTdCZdzsNA\nRrCNmvv6OxwKeuLMuZXc9qKT5NkmsBzpg9MvyVM3wP15lLU/quuQzUn97Ro5\n0b8WSgXzz0Tg+otwOPcRGWBYIsPWZ6d9LwxukC1M5kOmek0t90xkCTnzmnS0\nRSNH/fUIV3kBpFXyyZQyMD1PEORx5gNKQCrdBityQDf3s6hk0hrvk+Cty5O+\n0+K07Uup+AkRcLDyUGJJQQED7sKn3mCfOlYbChT6lPAJkZAxRQH9pKqPKttt\n4v9d3B5+cZF+9UwCALUepnUKPIWBcq5SCitgdFEFVAWyh8oPp6stIqb8aFwx\nu334Lv0JesTzkVBaM8xF5rG2Ml8FUuzTT0pNOn6cD5sEIHNMyRjzCYPWOJAD\ndjJRoZc23GNssdQ5g7yWp1tgF4x8z/rZHeKzotEvC9op4BqmPvQ5TOo8oP4m\nZUzKZk39cE5CuyPavk8GK+Gx0RPDU/BKS6uwXCkmbVGd3P0ltreIv+akOVeg\nua00HL+QA30293xwAk2MQHIbnlOaxUSo4SEFRGMuL4hNU1fHaaD1ubJ0M/lg\nDKfA3jNYzBt8SKL6j7TG7bMoeh9rp7VINaXFWZMURSKqP7oBaPvfOz7LvzgO\nj/jL\r\n=x+sw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.27_1624965532465_0.32493262490781394","host":"s3://npm-registry-packages"}},"16.18.28":{"name":"@preply/video","version":"16.18.28","author":"","license":"ISC","_id":"@preply/video@16.18.28","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c6593c024b9921e070d125b7db2b80cbe9628fe2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.28.tgz","fileCount":863,"integrity":"sha512-ZUc8QqdG8otor2ZkovCdgRLgOihaZSJr2chxuHvsi73faOwFd0wAlUG/dpzRWc3CJ001LFZ2MwYY8/omVs+Ovw==","signatures":[{"sig":"MEUCIB6oei75n6wlqyNXV9pKgvqLKuHfr1IoqtllWm+s7eRKAiEA5CjspY0QN+FxZNq+I3CdGp4kJRxblQJh7DYCUaUvG7M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29877380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3DRaCRA9TVsSAnZWagAA1u0P/24iur0YCXn8YnjVPaJK\nX54KVG+DQc9i8blKUZBoapoXrjm3/EUn13wODWYOPPA8BJqb90wYXjob9S/j\nM+4PH9FW3gKs7DiP+bh5tyR2owmKRRdKLFXKz1ks6ldzWa5OEwMoVhMMXQoc\nNChh6yHW9YBtaD/KMAK5AmcvNVSvJoq5uWAnL5d+ozdXvhRlb4n78exCgEvC\n38mTMxGcNiOpMRRcmUMswdTXi5WU8LDkOu/xgvjT/YB7ytE0haIDYTy3rcLE\n/HXQKFjol9gx0H98dxG3i1O31AXOba7sL/tjkUCSSIwRy5h27h1pQkqq3DEU\n0d3QNOrvk3aKxF8zF/5GHU/MuuTUkXKx/Y0hV7HdYbs+b3suf7XpnQLbUszv\nPKI6Ezdepi/HOSAevuUQTS+AB0NxRoBzle9Xj68KVbkamND4FtEQAYlAbbya\nYrMQLrQvaSQ6+TZ2TLx8NbLTispfDWT/7sN8eSbagiYqMNDCl3/kI2U9a9Yr\nvKc1RSIjT3a0abgHDL6B6yo0LFj0MGKCT0AAPGL/IXrf1grzDzNses2Dv1GD\noB0t2s+rwc6VNVLb6AtIxAxFcq2vmXehKwQSvHGHCsNsj9J4ojEqVtrHMz6Z\n4oWxxIjxKx2mxcAYOonGCPG1vT5TGpulrcbuvqPk/TU+MPlz7X2c6jfBuSYp\nSrLd\r\n=pxUR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.28_1625044058224_0.3690086846977112","host":"s3://npm-registry-packages"}},"16.18.29":{"name":"@preply/video","version":"16.18.29","author":"","license":"ISC","_id":"@preply/video@16.18.29","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7b407a20087d5dff16a5f6b0b18f0edae9ab722d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.29.tgz","fileCount":863,"integrity":"sha512-o+2Y5RAxNH1gd62o27H+SNTxqVJ4GSusXXHxJB0/XlM2Gj2tFwiHrtOaRc0rHP++At5GkN9N7Y/QgTHhbFF4wQ==","signatures":[{"sig":"MEUCICPq7w07cuC8pvyYmDYJ1Dn6bNn7kVFVmXC0xPaLTrdAAiEA2D+IcZ3vuHIuXeYyysbdM5wy+OHeY2NCoj/8CYNirnQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29877379,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3D9BCRA9TVsSAnZWagAAtT4P/AjHuSLsFHdnD8O7oKTe\nr+B5fliwyhXccoq3TArCZz0mg2Qgp3satZLZYHubm02DmEtfq+HvXMVcFi0b\nyXi3J9KSsUW/+uHTzcZTjMA3JSKR46KAmJq71tQU6OR/KIFIpjqUYtWeO+P+\nTn0jllEGH2XlvBLMaki/Oo3eLfIWCYsNZLNvIrIBgEJGAZYkO3shIn+kUz7w\nKwpTrU73hLQCqhBN99NnoOm/+sKBsMtlHWbD/4RCEBbmfarnML4EztZ9pT/5\nJSBnuEBuSSD4VQh1utR8ViBO6us+Zi3RJzyXgA5CthER+UMAIz62Ts/YxMJd\ns49OUrYoFquygW3t3IcNk6b9ySb6VL/FUBaQ2FV1H5bCgBsqJq9gxOgcb/Ac\nRIudRo/qx7q/ldfkxapiROkVQgAjf7lNnE8W5XRN9hQKJlztRKMm4Jvnnu/+\n+Z76XN01U5xHAaT8GkqHQ/IyOOPNtTOSygmcOjnxJAJQD91/G0uItdWVI39n\nnPw3S1zGdoTdtCIQbtRp1UEAWcP1CsTdppqln+OEOAutEixb7cZu8JvWn1Wp\nB03uSD6uduJRQBmws9t+Q9Qm9dJC0X7k+yGyV5qYXXhLFKpCzmetWhtGlljr\nm+ZMv57izmEie8/zMw/v7UkHtUIxsZ1/hHwRSUuLgXunDZKnPM/Mzm9oa9HU\nFADC\r\n=zQLR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.29_1625046848267_0.23333363136267593","host":"s3://npm-registry-packages"}},"16.18.30":{"name":"@preply/video","version":"16.18.30","author":"","license":"ISC","_id":"@preply/video@16.18.30","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"bb5bbeaf9dce3278569432c988fde338dd459b39","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.30.tgz","fileCount":863,"integrity":"sha512-hmwiuD4cyrrY04nW5Z5A1fb11nyojx8yyXWPKd0shyX5u7KSHc7+5oESMQUSzyx2WSeCZk692t9/5AzX3/AGyw==","signatures":[{"sig":"MEUCIQDuhS2ToXM7Y6IX6wZ2WEmPCF8fsy/R7QgkuqeLy0L3fQIgc+FGqGIVT66bSxaZAfiQvZTvHawhoq5GA6l/Kzn7sa8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29877376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3Fw2CRA9TVsSAnZWagAAlCQQAJEIpJdVugzOxYVNaPUc\no1htm6LmsJ8aVx7oRSK1HXUhgGMT/btp+Qi9eMCPbRYQRFjbLB7hb1KMix+X\nxDhMc1FD7uDaKxVPGljX64wjXYgz5qEut+LTUBdGLuxCdhH2VICXrbJGOS2g\nvqo65+ROE2VXFaNBPQH310UtABDxO0UTYSUAPaYb2aYBM/PXoGsvE34P3XuX\ni3MfGYSL0EK7seC2kv9Xg6rA0iihh78njcBN943pJTjktG35VzqYGUSID6hD\n1hd+FRVpYUs08j5iEvYdpKqr0u/kqSkKnOjIqycuVvCYWDWO4B2oVfNMEKv3\nWTNAEKxFttagy1R5ax45mqMUfpKUrQnlzGa5HEPK71V67lcI0P5ZKW5iuWqX\nTluFdqtkRSmFnEI2N4h+HfKXpkChzWjR44e/KDH0tV1HRksSA4DSqt5AzNFJ\nZcaj3Jv4l+8HD0AHjjY3xJtcZcGqAJcXdyBWNc6Bl8JKbzPL2bjjIF8SzgOj\nFK+/RNhqXKiMZqlJy0RYbvDUpnE8IA46pLI1BvTru7crUJK+JAEQLiR2IhvW\nOcNGiJ5IVlpSn7rr328G57dP1qS4pV9sHW1HaVGs1fBMRNOSS2TD9VTcpxH6\nVp//Z6PZtO4ygpK8WLyxq8tP6F9iNG0ZW1E29lKcLNVGllH/WjlQiW+Rwbj8\ncY21\r\n=gGQU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.30_1625054262174_0.23529894703969134","host":"s3://npm-registry-packages"}},"0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172":{"name":"@preply/video","version":"0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2ca73b0a7c2da4da0c6797280101e6ac67c94d4c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172.tgz","fileCount":863,"integrity":"sha512-+J7u6mzoipy0/umW5aV/E+kulZ3ejzpncilB3C0qDahsInDBCmxjfGzvQcq4uKY0Vq6TlGHM/Jcplulk9x7mBQ==","signatures":[{"sig":"MEUCIQCljy26KJ3lKVRsPUJeQ4yd3JUnN6b0ClAhnfKzQoNsUAIgTM4UlDP2tQUSW+6YaUqTq1C2kimguQBHYhk6TAAwbMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29880494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3aKxCRA9TVsSAnZWagAAizMP/RdShijMM/UA6P7X3Zaq\nvX6YHA0ipviaf7y3oZbR+8kwDyiwKxQjJLyMjwlCYAVGcy8bQZkrtT4TtZEI\ncUncZ3pZ0QxBXxvHilJlj8v048U6VIJOlTeYyWMzJfQ0wtKxeOqnRMImkb5l\nJ6yzrxlhxOmUhM+Lk2rU+IFcsBB0AIRI+ZN0gES6cABQEBTxx/4G9rFRGzdi\nMbvUkyQtMpgDjPkBwZHVbQMR4m2+UF4+HJpEUpOwGeThT/uyCkk9cvcrnBnL\nWV52J3H0vAP6ahf/ROUjLnhhjhXTqLchWbXK9hfCt3WHEwHKu2rmir8y8q36\nvonfRPqjT7Vqec4EhYGWZLXy/OqJD4Gs2YBpFhYyvdxVdMXu8Z8A1Rp1g9kd\ntSnoYZ8nTg1zseKKhhw73/1a39w9kjlbzuxHX4Rs/Ym2Nj/tFM1hnwopE868\nbw7kXQB8b7zCMIvxCEoucZYZqYzatVtrksE1fczsciWdBbTKa7nOfAjVTkyj\ni/CIQ0aB7ZBS83phu/7ZeWjPw4N53+nGttXMfA7keklZRojMtGF+bnGMTP9Z\nwxfx0qp9b9tgv+kzVjigtm7KWcHjzrFfoXEjHucLa8WFDJMzhR7QC0Y1oCRf\nqMoeN+VWPJ533zR+UY2m5VVg0/83+JKh6y3waJnrSjGuKi9B24dFQRoyABTy\nu7Nn\r\n=EwaL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172_1625137838251_0.5577205481534133","host":"s3://npm-registry-packages"}},"16.18.31":{"name":"@preply/video","version":"16.18.31","author":"","license":"ISC","_id":"@preply/video@16.18.31","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"fc0d2aeb067a66049490eb4111343c54eb6cee2e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.31.tgz","fileCount":863,"integrity":"sha512-DSo8WJtZjbOoROmnX3ogHjm5abD6A/5FZG5N6kiyJh0V86uDDyVxkw+ZfHh3f3fx9tpMahac953CucOOANe1cQ==","signatures":[{"sig":"MEYCIQCYE82ncP4aU03Rk72PumuKyUKjpOJpuXCCr1ZUfGHsXQIhAPgNH89AgC82oCoFuW4ynej3JqXTS2gYa7CBHs1bM3EE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29879894,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3bmRCRA9TVsSAnZWagAAyYcP+wbbkR+63CLoj+2bHZJZ\nyYBSMZK0lWMpSZYWK8GgqpJFzRpCANDeO/mTT0GcwnPJiC0GoCTbmiexH2FM\nlrWs0UMTqHssXUz3HGVvBiGpfY+Jd7ABBCDRO2IYUOu4b8tAJPqv4+vbf/ZE\nSQIKGWUa4hg5/jSJQumMZsMsdGv5v5QxcTcgRj+YP2RvnE+7SmvFkadwJhov\nb+hjv2GXOYeTvlHk/Dspzsw9j1oUpdNex/xktfrIPWextVbfxxjkhkhMu7Rd\nZGooHdFMWOIn1FATnn6xe6ZQNJbwMxeN2Kg9NmV2mE4F1+ZAtT//60gd8jZv\nb/dj4ZJnWeP2dPOiZG46EZn0YB+LCxcvlFM/8+BBYmwfMP1AAvIxEzLTqXPp\n0W4PC1zPqlAsiV3K4yfGen6CIw2c50q+dncy9PGLaVDNu4pWWLuMJXtxoJzi\nRwAHEwexegXJa+h+ggyFlct8cDBckgDVPrfVnqFqs37h13QkGAl+CeVxxxoD\nRka0npBvGSkINNJDsunCL1/Aad3haqyvPtL97mxg24scMbqiPLEzaPY9v376\n2qDTHdLh548ZNLOvlvU3EVH91V5rizCYEef9DDGwrTFUiOywr688b2IT6FpG\nRdGj4TdK20B9r/9GST27z3SwTpmhHxPMHqaCuubk1AqWqSvz3sDqg1Oq8icT\n5cFS\r\n=NYbZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.31_1625143697157_0.2552757978329414","host":"s3://npm-registry-packages"}},"0.0.0-beta-9687484289ce81804666995008d8191f17e11bef":{"name":"@preply/video","version":"0.0.0-beta-9687484289ce81804666995008d8191f17e11bef","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9687484289ce81804666995008d8191f17e11bef","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c6b5c77b5582879342b308fda09741ac86b4fed7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9687484289ce81804666995008d8191f17e11bef.tgz","fileCount":863,"integrity":"sha512-r1hx4uLrg/pNRMRfnsargSEr983gi+U9TGZHI+IZyb0uG0nAyyv8U7Gk4dfiwRnCdrj+NAI6/EBXsZ+LB6Xibg==","signatures":[{"sig":"MEQCIC/i7R4oq342tl841KFkNA3jY8HUfxJ93OIskM7DDpj9AiBzGiRAKhSE/8z70jOEujXdZlzzyvVRTgxF03n7MIRh3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29888278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3b2fCRA9TVsSAnZWagAAb8gQAIZm+sx/ZwIrXyFujHWK\nK8n4rvY9pqU+RxIc2JCztLMaa+9Vhbwm0muV8HQBCVZOXJw1LQPUxq3ub6Fw\nOga+xCxlZoOH6npcH+K68m9Rmtm4G6elD+IYE2kq+WltuXxl9hCcKf91R/0O\n3FAmL6W5lLjFb8KrX42q49syeaBVt+fVZ+nYBmgpRJkJbV3A6xq5ehr0B1lE\nKm8XFtHBNTQqt7J7Nt1ERjqW9+1t6pyTGLjEoWQQ9VX8UrDtBHTc3wKtSTbO\n5RaYQKzSYZR7gaHZHnbM8RBuuLO/jS1wl3jAuj+P7O2OdBS16LVP/eDZTb/+\nSBPhNBvlOWZ5kyHeJGiHSfUavV5R0QEF0BlFxlBl99uivuw5kxHLWuTmMIou\nq2549e3rbKHHnZ5ppv+3Jw7PWaaanJiX9lDinMWfgJOZYkTANNM3tLCdQd1s\nTF2iIcNkfuHgA9wLSZsQHnZEiSGd+A9KSYn2cFTidjgTqNN6ZAIKKlq4VJkx\nlnGJL7CFx+hU5dS6IMYYEH5ncUxe7AVYFTiSK3en8U90sDxny79nD8fS43/9\nyk4X2WPYKST26pC4nYzilx6FD0Bb2mcMzpl++dR6lNExElHDI2r4knKuEioX\n7DJp9CYvbV7Gb4ZK04ppcOP7hX3k/rUu6z9Fb8MiZQ4yE/QHMgE3BTHcr5W9\nEV9c\r\n=0c+7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9687484289ce81804666995008d8191f17e11bef_1625144734731_0.12204246813976449","host":"s3://npm-registry-packages"}},"0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549":{"name":"@preply/video","version":"0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1c1c192f6fce6a543a9b73dcdef01ff2de0d69da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549.tgz","fileCount":863,"integrity":"sha512-/6iCyfI7B6iU3PDF9gG4/wzuCdrc0WLXLZJalK40jt3aa19nAMWUcfo/raJ4cW47kswax7mHpoeZ3CbALaXYRQ==","signatures":[{"sig":"MEYCIQCqqNlhYgAfnWxldnblJkhVpeShdQlPS3qHsN6BlXca1gIhAK/R2NJI7LXygva1/thcmrYldODDVXmQ0H5lsOHS2Crn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29881416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3qcSCRA9TVsSAnZWagAA8XcQAKPtogEM5/rSre8anQ++\nwD6JMsbpadkUY99maLVQ59+oHWXM+77wThcAAiuTygQb6ytt2OpjLBrGYhqw\nJS8fQHbT4TPRcHi5XU6r4NHtm5WJqSW3Ggu80O+Grp4Nrlv36/U4jYMYYKEK\n6lw1WWOl4WWWHEfL5GaNl9L7eY9XzhUirSTM3exvKX6+sbnf4+rv8PnqeIlv\nZqKXS/YgFMJ7Bk29SF6Kn2Jxx1gmadNc2oHF3nF5uMsaeOQi1VEefyPNWIpe\na2CNMA+d/Ty/sHbHT5eg0rbMIivNW1lRWmUAcFL7KVunsTQDhtUwzsEnZyYw\noSMYL58q96M1zfPWg7ALaeWRY7nb8EsYikKOHA123a1gdR5AFrswW7Wa1OKs\nGOAVFxX/dQ8NGyb62N1cp9SlaXFP1pmgedhXOlHbb7cVC1LdPcdN+fIrxlQi\nCSxoRnuCjq9XbTIAP4oFzgPO3Z3fMGcTeCxIJ2nyqxKJYlF53sJDa4yEghU3\neQPGqRHmsSUg+RgZCCu6fnpbkWBoI1lM3WlMIG/MDf4vsDDyGDKiN3VBsqBS\nplIJtZkph2FIoC40vojif4NVsNMHsQ+xnCe/irL6YZx2WnlyBdhKHgHgpBKV\nBqsFL/ZqfWBi1Jn8A4nP5NnEDzYD/IZacaK8F1aEDRnyOd49kg2yDrEZ6B/I\nziwD\r\n=Fu95\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549_1625204498234_0.19600215912515995","host":"s3://npm-registry-packages"}},"0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977":{"name":"@preply/video","version":"0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f0a5872634e9e620f7c16112b9acf18ea5a5dc3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977.tgz","fileCount":863,"integrity":"sha512-LjNlKZI0AxC77iU7cyAD9MHnpt3tIM+bZYDuhQ3iJIrAiYSWQ+raKYkhluJaE+4v96SQkHrrJuKBuwRqWjeXgA==","signatures":[{"sig":"MEYCIQCePDRJfpQzxzSNyt9QAXVCaUDvG6ax3rUwZIM+peeNBQIhAJ7qKmnT5Aa5AJOLi7Y9/ARov/4ogHBUFK1G9Q4fYmWP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29881416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3rILCRA9TVsSAnZWagAAUgoP/RNjzlksdq+Ox+dnES7a\nHQ6RSSRMWUSGIJ0PZMIvEWgNN03fWWeqvKXeJZPjlWT2uHVHyx9Q8AzBuhIy\nmIFpaURFIR+CPunvlYwBLMg+4HT5SYCJGOdjVNurnrTZZEnTMb3HFipB7QYt\nFlHnYqsunNkvQAUrg0IizPQqAdDQOqMvdj7RZDTfMUoRpGQMKenA3eNba80H\n+41zVI7EL68aKjaGHKLGokmyQhDvVYkpb9ca7WOV/owa2m1aCs155KjTCU5v\nEDfr4nfom7fPoEFKVFx7PNt/mVl+y0dpl2rXMueAq9WtlilpboxXYk3dmTpV\nNSnCUnbaRvLSmQcnQD/FgWqxSkhqpgeM+SifmRc4dFBJQoqAd9MwMk7W3RcR\nyIBZdnFHCJxghQdyPV5lukKiCruu45olLBxkFpz9YmB0fOkMJ12JRZ+pnhSm\njAAjGDeL0I0JIO6DVGI4fUBGdC0IU3q8+wFPFqyguOesluBsYXgzwqR2iZA7\nNZvuLh0amfzZwuxyHbp98X0HTUlD5/EgtEmr3Y1k3LHTcQ1OiD/51mEyU6pr\nnPHZ7Jnl3+dM7Pzqlm36drLnyxSldVnqipo2y37ZYuqDe8srrqPsaMiALgbj\nbTuzCt+jBvhnhBb0C7oL783UFBixYP9BZZxQ71lWRhBW4mp99ERH/NSxAsxk\nJUxu\r\n=sPdA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977_1625207306785_0.9087775066348902","host":"s3://npm-registry-packages"}},"16.18.32":{"name":"@preply/video","version":"16.18.32","author":"","license":"ISC","_id":"@preply/video@16.18.32","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7e36782575d75b5ee3eeaa6654065292adc08681","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.32.tgz","fileCount":863,"integrity":"sha512-ZW8iXglnrYxkxcywN3Z9uv1JFNCOvkssDXN+imQSaIpUkiaaJYmdF1sRPVm/T06fVfjHUVkdrmWJAIVOjRLRYw==","signatures":[{"sig":"MEUCIGvguuJi+5SpabDp59NmORd66KBC2O+XxCgLOTQ+DZEqAiEAhc8eUQS+c9Ji4BzrwhJOH6buuTAANcrAIqSTesz2/CY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29880025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3r4lCRA9TVsSAnZWagAAlAIQAIGd1PY0c+UlNdW5Z/qI\nwYRm2Mz7eIh86tQoitald3CvUThSF+KYs7wCrbjCy6Lt84wsrtYhDT9T+9bj\nUSsoyN60pKgLC7OtOOfXWb8YSQZgu/uQR/OQJgfVvmLE6KVnesd4nJ1Am/vi\nWkT6yBjEErmQLfjUJ1mFMc0i1gRG2t5Zr2qpTPwRTW0TPIr6AwXCVWC7owOp\nRSKYTs1letBQYQfu9MnL2y7V60tAvcXYG37HcZf3hzDE672y9eed4KQgP3Pi\n7zHHzSHupi4H5333r7HyZNruba+KmhetML5xfONp1dqrQXJ76JLzRB/cqeco\n9BvArheXi/PQ/07ryTJt4V1/ZqeYrpVB7w5vA9V8dnzaFo/AI8Ark31Wh6xb\nSVWpFHA3RY37X7KLt/bxv1+I0ejWSJYXOFHspNb+BK53pBqX4cFH1FJ5NHNH\nNwwtK0IzGyfuBN0RPNOwzkQvLk/d2z8K7p9AQG+GDyCbr7DOl6U2rvM1BT2e\nNXu/XLizkRkJ/exNe7//JuX7IH/BzhtSVFJQOSzWl2PPRz0/dSbSTKIMgoua\n9VYvwSRgWjqsiYXwO9qBhyHJGvcSaoDWyhmFWRuo4TgY3aoRM4WoCb88xPwK\n25Fmp9RSX66cOgivjCtZDd4RcS9zmF/P5g/zLap+8n9LxKUFQS46oH5Ygtis\nyUL5\r\n=KTbA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.32_1625210405114_0.8068905334306657","host":"s3://npm-registry-packages"}},"16.18.33":{"name":"@preply/video","version":"16.18.33","author":"","license":"ISC","_id":"@preply/video@16.18.33","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c149d8c4a167565b182ada505c2a7e066a66156a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.33.tgz","fileCount":863,"integrity":"sha512-E4cJKiP+odBa9sbWtuAkm7K5p0xhf6jfdG0CR2bCf7z67Y3WfNmZSFxcGhipjnSEd3jU/9zUgBTAGMhU2JIgpw==","signatures":[{"sig":"MEQCIE2obYCNnSczgNZB+n0cvJL4O4sWAReNYPfbtA8jM//6AiAqcJ79s38EuqXog9+6IDMHeMijJ/dT6SQiHI1H3IhcIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29887046,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3sf3CRA9TVsSAnZWagAAMQEP/2CiT2Md/SwIyce3WO9y\n1cUbcANfZ2W34JeCdRCRZNe+JMXUahr0GclfDPpVn0L56th+WieehwjCQ0iS\nHcbIuNv1nEQHaQptErTktC5lF21IZES/OWktFvhSeT6nyMjsmM8kJK1cY6Fu\ndN7TuBV9y5lnPc+eIVcylv9MogM7wYOV1zFmVWCtsAAHMx1vAZLkkHazL9dp\nAkvUd6i5l+5Jncle5ay0kbzYaGts1TwoQe0FHHxV+DSkXRdpjnpn0dwE0E8Q\nwbATqGFiNRHY5MLMYr2lzeBmwu3TePD8827V8mv4fKgzKenYSp3tBv2ILzyT\ne8mOyqzZXvmukTeXFpEZ7Xs3EECmCDFfHQvnKw5aMjMykYpUbMdP6qWBJE6Z\n5gLBhnzsxlNTcOb5BFeTQRTnD/x8Tck/+Sdyb4mSdc43dvFz20fMj/bn1ag7\nuA0cd5EK67UPLq6DqGbnKafqUpbp7GZb3FaXQZve9fb4ojaYoGrD3qIv5/Nh\nqVcqPZGbzD0ZbToQwkW3gXx6xeNBqMmD1O2IBKctJjwOiOqbCY3JoGA8hKFQ\nq7N0LFIa/6LarnMY/NHnzmLalFhBhuJupH+0E/p5o4o5SvIKtXsF4Em2ZGMy\n+KHECC6kK3PJr/M7LJLLCI/KuoSMO+HtSgeOE4ifZj7zpaXYTuYP+Wu23nMU\neHCx\r\n=u0L7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.33_1625212918914_0.8828370459143065","host":"s3://npm-registry-packages"}},"16.18.34":{"name":"@preply/video","version":"16.18.34","author":"","license":"ISC","_id":"@preply/video@16.18.34","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"f37b493ba5d174f2348663d2164a6ccb6e1a8af2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.34.tgz","fileCount":863,"integrity":"sha512-+bYzW4Feml1hDkCct4sXQujzspKBGd76VJC1a6o2vFw8ZhXLXH5NP84lb/dmGfXUQDHqA91qNs3v3rc1ZEUbtw==","signatures":[{"sig":"MEUCIQD8szOzn7Vy1WtHk50x5TNid+DT21mfjQu4sJO6Cgr3VQIgfjGAr12Nz0i2FMF5U97QbdJoKjOc7aUXbj9sjkNmpAY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29887571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3ux5CRA9TVsSAnZWagAAlicP/jJ3caqLDmT76xkbuRcz\n8cMjKXwHke6D5NwZek7E21om2eQi7iWTezB7X5NNTmTgn9XjmPWq3bsiW6Tm\nRp6BdZoL5DU0qlneaNtUGRwWBz5UtO0Jy3KKfbcHr4HTUlcYrrd+VUrFQQ30\n+xpLorl7Flp1TOwoqtr0Xj5p0WkOjUzYF4bYFv2uB6MxtuKykJdyAbeUS89d\nboU9yZeBYf/TGUAnB1UNh7LCXpruZAbHHMVxk+4F6HBh2x92DryZQm6XZYjP\nKt4XtkX43QfM0eW2ScBhz1rtQ5WNrpB+UaacPlMrI+p+9zS67j3dqVVuqsrY\n62InB2TE7GLhD1SkEDJTh3pQox1i6IJP0LsT4GT2svPO9ZiX6TEPJg42VgF0\nUsvbtXp5MJ8qTY8uGJJCReUhQddwQC7m6INTuaCMR7SaDNfvLSO67iP3vexE\n4oaEiTSECV8nJg0wNEJ3TbuRK6UZefg0cxjrGhiRJRABwVRNphoSLw91dMVe\n/n7SQXSuY3h5+W5AJvHXuqHYbnZvNzuZ6ZrvO9q7CBXbHf9BjA56s84rL9EA\ndZBaZDYyTIfctlZlLAxNtFVbVNJPdGngjZ7IpC5ElKVNwniDRG5kvHONGxuu\nsij5qIKHe5+80296jGogJKJAwtHoqjbVy3HP3wdHnCSbCdUmmZUBINTHmPZU\nvFAm\r\n=u0rG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.34_1625222264932_0.3666242655631713","host":"s3://npm-registry-packages"}},"16.18.35":{"name":"@preply/video","version":"16.18.35","author":"","license":"ISC","_id":"@preply/video@16.18.35","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cc26dce8850b665a91c89d32b04a33d44ce7d836","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.35.tgz","fileCount":863,"integrity":"sha512-zGjxi8bQm+sQuof2SyH9W35W2g6fq5gVHwClB20NBVIEKtuHD9gH/jA3uqsp4bDgwnofwByw1JjQoFP2Gj1wfA==","signatures":[{"sig":"MEYCIQDIofAYPk4wcjLzNIxU/UaFPBCa9po+d/DCsldT4c5H4QIhAN5vGwtMONmPJk0xfWud6UKJAcDSRXpriER5p2QJmeO9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29885966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3vfZCRA9TVsSAnZWagAAam0P/RW4G0NuvVMfK04cQU94\nTrmozheKRCqKnI8VmlwVPRe9HJBEU/Wr3dga6h3tsRMx0SaXIl+7H5iExBz4\nWw8vUSqVfrRZQ7Qw5KgCErDqA/u133zM1tPySPHZbCD43DE8KpIM4JBbnttL\nocwRrpAGVhEjkXEQBpj5e7PCLmloEHOm9E2H0dezilvnbR2wLIHBFj7cU9hf\nELzRkfcv36x1XvEv4REc1ezLpg9o4zRuVDXsXUfVe8+PRgliv98lh2aIOAYW\n4TUxy4fiFqkUlx7NilZuWn8QPmlm5qYZz0S0ZPTF2IuMNoA8xUZXrT6TsEqN\nf85eoVetbJsy5YLsIPHTjdzMKjvqkfwyV8CBPoFLyAZfOn1PTsATZ3mOzbmj\npi+jMoxes5zyw8r5c2AJq97OIQTGwEI9ISYbb2rGabyUFAkifrDhG694LmMV\nw/OAuQ79eKSvQTTNEVQsQwiVKPu5xZ6Ux50vUJlMf+AfGbzi40IXdoqsq724\njN+kTTxLEmFuktHcrCiQdA/8iC2j91dHdzlCOet7/7mejfWkkzMutGCcFbug\nIIv98U/JdQVsJveyftG4CgoFkydpM/E/JJFY/Zn1uK8zGtQseE8u2luV3R8w\nhgbWiKtXPMQgmhc2JKc+/mRvLOn1ZxJmQRN4OfGMeOj2qCbmjiJl9HJm0dm+\n1TtF\r\n=TvZA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.35_1625225176310_0.5432143383744261","host":"s3://npm-registry-packages"}},"0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b":{"name":"@preply/video","version":"0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1f24463432f8e4b782d7333f2932a8ddd08e6e61","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b.tgz","fileCount":863,"integrity":"sha512-xxoQDW+2azLh5ak9w0osV3vtM4V6SuZNf4DhQzxOGEP5a86f1VP45zYfdpg9errBRY9QxCojElhwsOQ0hJa4HQ==","signatures":[{"sig":"MEYCIQDIJnsZNUxRIh3rdQimzhOY9eoe+ULqgO73Oaj+YEDQOQIhAOkjDshl6O8b8dUzRLA7vL5L71muK3H6iAowS6T5Y/Pt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29888409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3w4DCRA9TVsSAnZWagAAbkYQAIFsZGPXxSKufA+7ntGQ\nmhCwmWTF9QlgjLMW4Md2GVQsCV385vxxar0wek4pJ7cYeGwlEbe61tgH4wCm\nUyvhIJs+kc+RtIMJL/ySQnJ50IYqy2yuJGPmHaS2qQRnVfIi9V+4bk4Az1AA\nmhGMv6Hhg4ZcFY90BitCwPCEV1cQEXZJzbPyWWexRiFl3vBKZCkU+Wjf7N8U\nAbaZOcPAfvtb8Obeb/UhjMsUOgIJ+BxU3/Zqg0gP2FssOHupYkOVZNsLwRxX\nAmRDIMW0GT4z1AeuvDQZoK3DeSn30Ii0Tu7kfDz0sOx2AUP7H7MsbtBhSHNK\n7/0SykEB/pDeZ9GSPToIuY4FTD4AHHbsAS+eot6XyBfmM0OEwSNz5KKpH5H9\nAwVLNhSxgczmQTqllZrHy8Z/sfKElraxL09gHK6N+usGBMXHYrbtZpAFbQPn\n1ZXPjRGyoxo//ytjpEo+JuPn6uGt2kGk9UtUUTMLG8EZBTZpHuiaRx8Nnq1p\nKDu73wFAM578vo/c+mlb8cH09Dt110OjS2gzu0UO/EprWnMLrIGb/ZVjRcm1\nHd0xmp6wibqJwi/eCqoO3r1OVDwRCuondESsGv/9dCbT9eEq4ll45agpGdXE\nQ/uLC12Z7j3mOMo/TBVtRyBKFv59cnS5pNu7ehBVPBO2w2W5/93GwrzDZJaU\nt+mI\r\n=80QC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b_1625230850883_0.3042539080586606","host":"s3://npm-registry-packages"}},"16.18.36":{"name":"@preply/video","version":"16.18.36","author":"","license":"ISC","_id":"@preply/video@16.18.36","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"0bcc756b5f3f1057048a32f589c4970123585845","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.36.tgz","fileCount":863,"integrity":"sha512-rhsGixpmbTOG6oSk52dyJ1CmMDITS/rIFmd9IQRiE6d+hsQXhL6AwxejaJ5WW3KERdeoD6sBjxJJBzTbikgRcw==","signatures":[{"sig":"MEYCIQDenEB+GUKJRFHBO63KHm8gIqhCQsuUJzYH2JWR+m1QSgIhAIXC60hZT1f5xPZOwjAgqw0xH5JVO6On9ez7SHs4/C+S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29885486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3xQRCRA9TVsSAnZWagAA+yUP/00kciRBxZDDSWXhRLdl\nJ55vf3lwSnJI31w8qKRhF8OQb+Kfk0rC3vpX5WAVOD2rJLkWp3/RACNDAr3A\nUiCcqwN/fdZ3BYSS+Hmu7U/v4fBYO+/OztPl0ARJ5/vQYgWyZUNli76209pL\n/BapUfOpcIJgBPn0WhugQDh1OOwV28Hr6QTnY9600NzH23D86HfOVZ9kAHBV\njI02SZwPh1rRBLqsMYS7RZkVjfQPFAwT4dodjTIX/kPoUgU6Fvfjl6EbeV72\nlTERPo/p3rJBH6UC9ZFXgomMURaK7OU6HfdigC3P4dLzbozc+X7bhWK0/1FW\nypL+5cw7dHTo/gM+aGHObWHSZnVvLGFJ3lCDtdpCFPe3jo251NBDXyR8YppC\nOiax3y9+Iupphfvq1zOZbsMgZzH1oQwUmtVo0y204JYANkHXbjHT95vV79fV\nL7qxf4Z0MPdz72hMWUM7QZj40n4Gdx6n3MVwxAtl17PHFht68yncUqXhSzSD\n1NsCJKQ7k3lrtgTTd7cK3F1HgIg0DaJxfIHDFd4b0zdXpt/avxpmZ1ZLDae4\n5Mv8iPW/dmA11i14Iw7ek2a3q31Aa8RcNqUPKeBDyfvGVUF2J6clCK6noLpo\nRRc84j/9OyqoH1SxJl3upLiUyVmZGbtvcDgn1TM+153wuRNYy4EHkolf52Wy\nssx1\r\n=iEb8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.36_1625232400249_0.4441459542562889","host":"s3://npm-registry-packages"}},"16.18.37":{"name":"@preply/video","version":"16.18.37","author":"","license":"ISC","_id":"@preply/video@16.18.37","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"77eddbd1fe950fbbd8e941049b4dc5671b11dd57","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.37.tgz","fileCount":863,"integrity":"sha512-uyWmJPUKP1yojthZPh75LIcnxsZ2zmF3++uefkvmNtQ1JYTehEr8sszcXgsDE5RzzQqLr1ANgDSdwgJcNUGahw==","signatures":[{"sig":"MEQCIGcl6RtV8bsD+/i4IRHqQg06NblSFpW6Dn96WvB6UnSAAiBCzG0tm2HEbbmi2O8gs0Eo9x7APxLq1BHlOse2/aYr8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29892461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg3y6wCRA9TVsSAnZWagAAr+YP/0HM9TjXv6yKlLwVmem/\np+kSfhw1wH5hJmW9z7qbJ1bNvJPpH2Qs1Z1VC6xlzN7HsyF7cdk7evc361iR\n+MsGsCNNfZgnyyRLokddlNydAQD1bVBAlFYpwb+dJqYGx8sDUojeVsdSYlKK\nSnvUlmi2Ysxxdlb+BY010aMCT1QCph+eLRNSiqW2YSM0KGXGJMYaaLCcI2X4\n7rWdKzUEKr4OVUldf4FPdj5fhelGZ/8fVaM0AOwXjM1W8R1VnNd9fp49P1V1\nDEb9FkWBRfKBZ3RW4GVtXHOhZ4USFsmjhFuZTWS8KPm9tZ7XWp6oDXsIb1ZN\n8rTxBiqUsLMXCXkjghFP6zvtBxn4uIbj2uIlHsS8M84srqKWkKayPWZKV9TP\nbkDaq0UGXPxNWReS4Cx7SCQmuJ5s+9SbqrBuvACybux3OGxuuOVfm/7LXi5c\nSYgHNyWbpe8KuoxMXIhDIaqFAl26hvzZMzX+FpWBz1YEW/eGGPEnaog5qNeI\nAG/U8uuWpajAADauB/hd7xn6U8gxVnKqIfNlBRWq0hVzwN2l5xEyz1UcSBq6\nduXMAY8QkHGDcfK3uzST8+5ahAOFQgvjeGGu9RGf2ohzct1vOz3iWN3gB5h+\n73XYLrrFIPrl01Li3UTjULiflViGb66YQdwf1zBtBhWl+rWlULrBYisgNYWC\nIYoz\r\n=uxGn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.37_1625239215244_0.146073210105506","host":"s3://npm-registry-packages"}},"0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950":{"name":"@preply/video","version":"0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"7f1bf5b04e3a82c870c95af47b8f49e5e8b366ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950.tgz","fileCount":865,"integrity":"sha512-NBitrHYT/UnezvQOeFtdjmsmQ50C2y+yHAi+IRyYT7VyIKdEO0V5wrczbKf7VfRp5EGoUNs2tw7T9YFVoprokQ==","signatures":[{"sig":"MEUCIQDByGL2SjBO2m6WvtljSb+qsc0swlvHNUUdWvxJuT5FIgIgUnp/jtTBBPfDYY7MUEGwxI0j9/bc4CmDAInNtBVNXuo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30017234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4qR0CRA9TVsSAnZWagAAiXcP/2REBjGKn7h0OTMdPiV5\n8C7irceGExSCc6gV3k2J3b0kVP28TUZ/OT0GSKjtBO1Iq0ppTBUw6BTxFNWy\n662YCY6iWbWMKFTU+uc+Xv0SMUPAuIUvsy5GmBRlQxG5+jWZyz2Aa1M7zdLf\nrTOdWm70iQ98AYuig6ErKmL6eTzcFo0id4x1oSIgsMuuPODDkfkSxhjEOR7u\nBaoWUf1dVOgKBkG4VYQoZYQoA1hPxTgyJtxB0atS5bCm0by8dg7d9qzK2K3w\nDQN2RuyQpzuZTszHjUWBQJBTFAzt/z1eHi3Kpq2Bp2CD4NtG0UkA+UWI5snb\n/noHmSgArfoEKOPqlb/2Wg0UH3U/QwjTWrP6Vr2C9clNgiz6EAgAQfx6AkdJ\nwgpHjYE77e0iL8nUVKjJPn+7TUQH6ZlcwFqVTTdGNuw3v+QMbPbXs0f4YEVc\nePrder83atMj0lM8dQP47nH4+dDMMDQoCRZucZC5QUEc6I06G0ydNx//o55X\naNfMojuS/qRq3S98PhbryOhb6smH3ku/11NDjjGE38F/zf7zRLhX2GP9FuPk\nrzI14AAq6QjizDi2uBbGnBRtSFhOi3XaK62se1e5sKGgtSyiz02BXunw2o9A\nz9ydCRX4G3BfKjmqO+CU5JoyU/LMTHr7ld04hYYCCZpBnIfxhP0ArHRfpyFG\nyqWM\r\n=4Opd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950_1625465971456_0.4863719738921135","host":"s3://npm-registry-packages"}},"16.18.38":{"name":"@preply/video","version":"16.18.38","author":"","license":"ISC","_id":"@preply/video@16.18.38","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"2c69b6abb35dd9fd238c63d42b68dfb085c9703f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.38.tgz","fileCount":863,"integrity":"sha512-mHDMbwOsf7eig3Hq7Mvi88YPBSKzhWwIU1cLq/MqUbR3z8bswD+fJWVH5LCD4Nrw9jwW5Y+lQcJ90zW2IQ5CoQ==","signatures":[{"sig":"MEYCIQDzDKGCuexAqbFrIchgTVH1+RXYQ2F/AwH5QRcIE9fWjgIhANrlZN8hvnd7gTq5mgT8hJSDp6dE60uRMftxO1NIde2q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29892469,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4qaPCRA9TVsSAnZWagAAsaAP/1OnQaYWe0UEiTMlQctx\nI2kz8oAFVzhv6wDunawOfkZ5jDIBYgdSM7X7d52b/L6ubqP4P2668BDie5Rx\nbmWcl2+WUYd/son/rYNTKzQS4Ld1fD7YY4EDmQ4Bhbwu4kodaqql8Q9wNP7T\nO8fNmk7Yhu5afClnaqv8P8frBQWVYqhpWx0MhrmjQhi067XuQNaY/cXksryo\nu0i7TQ0EJQNs611lVp2UWKUd0ENP1fxKW5zrv7kVxL22qhvgFkfUUG3L/KC8\nyuUGFRKur59fwjYBdczC7WIqw3AzmueKia2fur4DxVZkjm4hxeVhASwWFWhd\nNQWzm4MKMX7q5hJS29YJk0gLtQ0vUa8ZrKgcZjLpZzNeSr9Fh1acLqmSjZBB\n6T82nBj665NvZCh07BgHVBIzSlazjzcqaJ735X8wf+lhiQSyH8ABlfdAlAiJ\neY9un2EhkZb9R5fKz3dU99Wo+4tLvcBqyAY/bFLig5XmNi+Cc/PGoc38PAT/\nHIyrl0UJWkxaowSI/BZT4AQI7LH4dXUFa+mrrwwTW+z7gAaaWuKJ5ZCOCLlJ\n0BRVRAhcAayPetJHQWtlVZLj5krPRXPm8eR2L2vAlNUWC645dsTLo+ljJnZU\nqlDMp/KNeFG2Pe/KAD3EVmKnb2FSMwB19pLpunGgERHp+MTV56xD3KSzCmOu\nT7xb\r\n=mgBZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.38_1625466510563_0.2531906277265594","host":"s3://npm-registry-packages"}},"0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c":{"name":"@preply/video","version":"0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a778f7dee8bd131687a437b65b06a13d9cc0fd8a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c.tgz","fileCount":865,"integrity":"sha512-cdJzTHmH5TesgeYQetSuOe/oKWEWpXVDSTHP823WfqvHtCL0O4yVSCYVUQ9F8s2TwohqW0Jkc+l0hPFfUVSz3A==","signatures":[{"sig":"MEUCIAK9e1IG1wjRwGkSXGEIz0dA0dTAHwhHgt12+XC6H0rXAiEA57hl6qOndLZW5CPkjqXM3v1qnGZCa0PjcLU3+h9cD9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30017242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4uuzCRA9TVsSAnZWagAAtRUP/2SCU8KU6mTCtvGZfFcE\n6VEUQQStfMmoip8hxhTAOD+m6T5smHvkaqmxbx2Grkkliw9x/X2Nn+smfhhU\nrmGRufzhrMQFYC6HwzcpwzguEw6WphXZiK1LkzofXAFi8Vp3i8I9tHwqDbc7\nS0hT90t2L3xJFAVKtOlkAQGCnRtcglUVkRhZUKpI5+lfVi59q6lXRTPixDx1\nJQPm/ZOYUs3wrJgFkue5ySLJ49j1q3kDVvK2GQ3hZsC5NSzL5tYy3OvViDY4\nn3zQBElMany8jHiikwuE2MJcsiu2Cs4QEOSqmNVAk3nVBsWIm5A2FbyrtsB6\nHPm5fHoJviQ9G0f2sQo/H/nxGINRhZoUV1tbClNS5uux5z7plrB/epDGGfxu\nFAfn7A6bu2RRnizEXXP3ZJWBakJX5Sha1eyZWTQWNKTqL0HKIkqBpemZVy2Y\nFRpyEQLrpy/QvamM4embUoRgbUl8TGmYlCKUSy9DMd1SHACtVhDzUfdFdC99\nDZgu0bMp6qjQQ8QicAOIQlovAkaVnRUlB/ZmY61l6W1/Y+WqNbGPBvDOK6kL\nBfLG1ICUj1g6Ot+qdmwwuEneQUT8u//wWMtlBx/HEx6eHXi4slTb7B1aiaBp\nSkCx9Y1fc5SMIjTyDxeykEuQo0BG4GSv8iqFVrjlDKDI6gQJFV0zdUY9sjAp\n+dFV\r\n=YAcV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c_1625484210973_0.6087731094666655","host":"s3://npm-registry-packages"}},"0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023":{"name":"@preply/video","version":"0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"36722a979c0a6e61799ea8140eab189f84a9e8a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023.tgz","fileCount":865,"integrity":"sha512-XUmqd5PJJNMGa9v60v6I19LqzqQnuu8LEHAojshTgPZFqVkTTzIxqZQeqaJLcuET0T2aP3LZK5nmN50l6qGmUw==","signatures":[{"sig":"MEUCIEa7xevZOESaTBhG0q44rzaRMLz6rmjdXfJamVzQrWgaAiEA7Te+miX+i+t7QVkqG0k9NHs3wynaoaDAj79FScvQKDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30016466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4wmxCRA9TVsSAnZWagAApOMP+wQALFdARtb63B6FwREv\neiC+IpJCRafUjBl5/4aMXFV7MhBxMfOzRHVvKfSQs7c9MKG31YMV3OhiZ2dM\nzmyzFYg81KsNXXS2XKpV4eBVmMYGHre2V18QOIix9x7idZBTENcLu0lp82TL\nK/7r9Qjn7nq7vNazsS4Ir4LZJ0ir0E0dnz6viOpbo5xmYqQeP9IAU1dK3bXp\nWzYsr7zUHcer24cQWo6mclhUsc7SPiZJliQ5qYpEbIN70+otSOAtVfPULdmP\nRRRPgvIHU6/Z4DSsaX65eAH0mUsVqAphlkJG1nSkSjv5lA4fCqf43ISpzmvJ\n473rwULz/wLPOByCw/diEpSEw0gmbeziJ6tSMJ5Z5qZ440QnlND0HHLai2eA\n/sUxFmdPuJMOlTz2iDT7qTH5W0yb5dcMFhg086VzD7GOYidkd3MwscQ/hi6O\nLip7agsTnYTbpDdjbD4ef/UBXB/YaAdmdINoSnW71EiWKsR07EC39XwqqxpX\n76gyA0j0JaSBp5Vy6piZ9n0Ao7i/cyrrH9w5NvhpaJmLbVRBlhVT2fMYgCTO\niS/i8Mg0dHniaDVtu7MkjyLMoPS5JPGui9nFUxszvsM3rqbGE5NU3erBSNaM\nfweCnaIidhdx7xHMhy1hkZpKENXzW6Hn/NHiWSnzDHP5g3i6Aa/xb7QvKqkz\nKgOi\r\n=/qE4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023_1625491888357_0.8042596943575844","host":"s3://npm-registry-packages"}},"0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196":{"name":"@preply/video","version":"0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"6a5da7839935949d43ecf55ace67b7d4f663046d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196.tgz","fileCount":865,"integrity":"sha512-HMXsuRPfjX1/qUOxIvBaK5t/7DGUeF5ThPUFEYa3CN4Fgi55zlQi+9L7AomGrc3f0prFSccoH0Q2QWEce55iYw==","signatures":[{"sig":"MEYCIQDbJD/Pv8eJi8RaC/rbnawpeNyL+hJJZrEOvfyl1Y3dDAIhALjQoimhUavbdAbnHOtAIhAND3Kb4dUBxMvlROyi9BDf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30017524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5Aj3CRA9TVsSAnZWagAANqgP/2w7G4TeUpdSsEB+C9Sj\nGcOD51eZ+qTvuFyb4tvncnX1xE3BsVkTDGWMKFB49bVIkU6zeNhqDeLONQqE\nB1AO7HPDI5nb3vOCMvo0EPzswG65OB+y47I0NM3GgwNeStCHBIj08Y/vuMe4\napVXhwpQ4mvzG71RGiA/Swr4RVq/soPvObDrmz5skLih6aoxMiscZzWECJjp\nb0MtX9DWxIdkMlKbB3L3uuU+r28Zt3yodp6Tm/G37N8aS5R++EMuuZqm61Rn\nFvufeXQfBXmORB88s5Tmi4ZFETy0L2W2L6hwC2RsiuvhCPBQn65XgyEvTk8S\nokLnrKuKwil7nt6B41SEvUyV40AtbN4QlTJwOOwsbAPcaILnZELFJc4FVX2e\n78rkz0aUlpH8UDr+ZhRt9b03SisgxHlR8RaRcWB0MpW6XotfUqHoLM0456wM\nY/wIZVqV3UmTmucqAqy6pTF3S0l6w9ZyaBmOLwMDaG+8oBDHgZY4snr0j1ci\nMjJFlxUPwFjFeAdlvz162x0W6bkWKBzKgATJWsvPa63K9YGdsG0IeyXf9ZL/\nZZ/wqTvQJ+KZEEcVMSnQHlphFJmSb1jvbTBuRQP3g4vTU2N3WTklgFQis/tl\nbozwjKKcF4fCZa3LtZqT+jI8raPEcLAGcvk39of7fZOZvbr7CTJn1nIkMNZn\nZsIz\r\n=iEJh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196_1625557238396_0.48931473782241897","host":"s3://npm-registry-packages"}},"0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c":{"name":"@preply/video","version":"0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1bd91f21181ab847011d2e2ce349ffb148769540","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c.tgz","fileCount":863,"integrity":"sha512-1genyfSScCxj9VSPFUCwWBoTO8+ccQAkB8DvoKHW9288btAVtN0QPGKILXMegc6VDRN8L2PyocHRQOQnFZPEiw==","signatures":[{"sig":"MEYCIQDCgTvn+sypOk6VNllFVymfjVWid9KMzFW+OnjgxnoBBgIhAN7cxfWVG6rEHuyqhG1WXTX8HFRW+WPqX7gb6ByRozfl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29893945,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5BTnCRA9TVsSAnZWagAAuR4P/0MwzuthejfDptmM6vab\nK+AFRGSuQiuQ9FyH8r3SsTj2HSq2y7D0WSWIb6qH6pFC3erqij7j6HrU0Guh\ngp/FVh1SNKpisk9nzPmdh/1k3i/w2IftwmSTERiTuQfZnxbH+sHQ8ert5No/\nCC6ngb2IsBR4XfGTQ9VJK/tFwWRe2XCi517O63e6VmucVy1GHKcUdOxbJQUx\nGsdDVKrOERc/AnWJCs53fdTtC1iZYMTSFXK/XcX6B6gKULpYJes8FSM5Hu4L\nN6XEmYP7+uDceXwqHqw1QghfiEHjbwlFV7VcOYTKVqEuHfoRhm9eO4bQhExr\nLnPuEUYVjhEQXNbpfVgBLYuOI7NankH3L7WTFUZELNWFuuWdl7c1H11+vgTd\nLmdd2ebK6wFHDAEnYZYkeqENExDUQ6A6KGn4/+0hK0xgLWe8pBKjXmfgjsam\nZOxDn3cLYjxMS+FVaAm4W2GosQ4Fyp6uZAEtoWJ1aVl9pg/rzBZbLBfqf0xC\n7zQzDBBDYdAxhD58Zg92Xgj/01/U+TiF/JFzBi0ju2mYdnIm33FgdgoWZZxW\nD4NKLFcZSIhR73i9wiD8+29JAXxziy6BqWxeoZJUV/PVEjGnWedv/Dp8qKsH\nkoFU342us7sJbwzRhyTawI7t/EpGgd1PSK40hZ8z5a/8hMM6AzIwL23ER3WD\nuJl0\r\n=+/2I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c_1625560294342_0.04513243023082825","host":"s3://npm-registry-packages"}},"0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752":{"name":"@preply/video","version":"0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"eec60d167cf1104cd092112fb774097473a56606","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752.tgz","fileCount":865,"integrity":"sha512-IAgvpkt2DfQlO9pqZB6e7tVryq5PL56p/U+VYQD4R7/L9mjeB2FkgbSyQdJDglnCxzcMncj3H949P/bPS5r8zg==","signatures":[{"sig":"MEYCIQDQE1TVqt3k5QxSl9shDKQFOVuY+ci3UWbyZ/mSKRmp8QIhAOmdKi5SWbMCRYjFbgS+Bum7JlazLBqUTOe8hzNc9qOE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30018289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5CmkCRA9TVsSAnZWagAA5qQQAICJjnc/IBYpWuE2X6nM\nBRF8Ds/M/84ay8pr50SsqYqR+oXAW/O4jetj/vAl1X9srl33g/P5lYSFxivZ\nov2ndVCH/FWkdDXZCmFzdehUS3GhzSDUQp5XjQ2uZB+js+m26HdkNPGrBfs+\nlDb5YvN/VHFoiVb3Hsh8C4RyM9YmMFnAlxpR+ODW9E1JyJVfeydMlLy2nJNK\ngcC5WAz/UxZ1uEXKrU/YObRldaYJ01j4CZ3NUY6kZE2yVjh3KAtXrfzZ9lsf\nZswKqyg/AvEjOJKHAH/qhR/DlNwLYxZtaWP/YQa3GrHmouXT2Rscf0VHQFPj\nox4O27OT6b8w7BfpJPDPoM20Ig2eG/QHJ8Mupj15E/NK388tGR9d2ASpO6Ad\nvSgPSIBoxTXDJnXrhdTVHaC44JUTJ0jT48rIqf+q1++WZnTJplPO0w06O4Ph\nZd4pcJnQqZBbGrOzkSUm/oqo88yg4ABJqc4VY6p2zJd+phuQ99jetWgo1uHk\nG4vi9W3O2HggH7icGYS/iwPp2LI24hUftbgRjld3V+AGmK+0b34Dbq7SEmSI\ngc/+iRGEFmEdGDXxs0ISIKQPgvXfFBO+t7Xr9RZm5YWcIzGcpBwX5595P+JS\nuuuyVx51xUtKmvCjARdQQoOZ3BgujgFdNnDBBhi9dizB1xMnIoD18o/4WbWk\nyONM\r\n=PQTW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752_1625565603273_0.45471233757875407","host":"s3://npm-registry-packages"}},"16.18.39":{"name":"@preply/video","version":"16.18.39","author":"","license":"ISC","_id":"@preply/video@16.18.39","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"9d14e053372e5b722f48ee98030e6e72dd77e4f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.39.tgz","fileCount":863,"integrity":"sha512-mvxuk8O5Ljh4i4Jpo3fjrt6A9BJVkxDDUkmzUjK5gWjj0u/6QPTmnAlcb5fNQt3cf8aK9mKuVU3ViyZ8LkKUtw==","signatures":[{"sig":"MEUCIDzyrIKqEvDOsBHtbyVd7UJKmkbMildRmtHAc+BxNRnjAiEA2I1fqp1qAvGvU6M8u2hLvcikVlNrOu4pFaMRrM9TAuI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29892490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5DI5CRA9TVsSAnZWagAALc0P/3dB5gF2w4qFj8WY2May\nSGiEfAtf+COwwUZ8EoTo9nN18LCxjvLN8ao7TJ9nxNg3EyYnnY+TFJW0wRq3\np9PcKTnagoN2QR79i5GSq6qAXO94KVNLVE8FXUcNKRagf6dS5hfxvx3nfQoT\nv00s7VfUQ12K3U7ROP2kwne8FXBKpNACsdl6X4jnAmBVP7RNt3WudkW0ATDK\nhgMiksxX91+DQbMLKy3ktU+2j0oSBMNXHEGzSr8mAJ4a9Gt7pJAqpJ3UYjd6\nS12KmjJlLL29jslkff7snol3DQwrQ9+yaR7TjDw0EnYHSjgEJd2JRH7xfmos\noRrQ+qLE0N3UJJaZdslOZnSEM9LNvG4xfeC1pGK5v12F0uoxuHa4hSmNkcKn\nS6sZeEyd3rt48s5gHngY1IIuKsTPxXgvlbar+VSJFTjrNBCWJN/+7YkDG92y\nNEB9a3gJc6MgFesIDAF4hy4ZwQcmUGeUpn/VkB94ytR7zh3gA56LVG5UOpPW\nu/R4H3cLV9koZjD8umNokShMWF+nDqF41zLP/mcVrlY3ue6FdztvYEFwhuOT\nZbkfFS9NCyYWSk21QGbxCezMVBzG+3gCIS1T/FmOm8eVhpVu7/1WL2Yq5tL6\n3xt/IRKQmCIV3xMEvtMvma7HqQ2HxsnTyPOWQAUZ+uG7bBEW+08xo5HuGqjd\nUX/W\r\n=ZEZ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.39_1625567800606_0.9232964817825349","host":"s3://npm-registry-packages"}},"16.18.40":{"name":"@preply/video","version":"16.18.40","author":"","license":"ISC","_id":"@preply/video@16.18.40","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"d9b644da8782ddd4a81b4d08b006b7c514a2f0cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.18.40.tgz","fileCount":863,"integrity":"sha512-RaUerSHLixhPOR6d/zaJIrWHSYKZQSpeDpMuZF21+e3gZX4rIXczS/kzllUzzpwOEnrFm/gVMwcBcqQe7c7rRA==","signatures":[{"sig":"MEYCIQDLg4cxKuM4nUV6tcwNc2BbO2Aket8ebSJfLK+9PzN6SwIhAN6ebRkjTvZGIS/OH6m6e0U9qG9kAHQBSQf7KsI5nj1M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29893405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5DTmCRA9TVsSAnZWagAAoRgP/30DbutuWp77QhREtWA5\nzM6I1JacfQMV+4HIyYHzNsXmYV16sOTh7LzlyiJCEqMeCRZlB0kiMi46an8R\nMr+YFsWTYmpx399tqxAs3HLYckEP6hUnymuU6uBYoUXt3usCldIPRZd2NtIn\n2ls1WgQyMlulmLRxc1q3wV0219fdXFEjJlXrLy9YaZq3+9PTORQDDIQZ3LRU\n1lKN8dqqAL4YDZzkuH3vjI6cenwkzdtPhAAAQWNQLlLd52XHo/tjXGGZxsSB\nN3VIBFmC+2C0ojYpRa7A5TVHaR4JupZB7HV1eUoi/rFKje354A/qi3QxfHGI\noF9Cs0LjHmBK6Ximq967KCHzzyafG/bLOhy2kfNnuLiFTBSGFQ/SHC3V10R9\nncNBwNZC1WySGR5FH4+/FezwapG/9lYlYS4PQVivs5CcEYErTjZpoivKTg0h\ntm4GxHM8dkS7N8R3hY2ZkY+jan5+hhQlB9XUe7M0IVtNzUnlRfJ7DEbu3bCc\nClkgvyCUEVcK8QL+oNuid6mrDecvB2OGWxLV0fwzlHQiA1afbIhRoqw871Wg\nI4XqmDeKQgOfOcf6QW0bysK0WzKICLKopq0jfk60u0r6vGo3KCMg21VTSA42\niQIlmclw3e80OePd/sCk9aWVZhluZQYrfYlHmisDli+HfUkvv4W16F+VCVmq\nuHft\r\n=PNI3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.18.40_1625568485527_0.1181212391203903","host":"s3://npm-registry-packages"}},"0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6":{"name":"@preply/video","version":"0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"a43a1f9050c5e969f29bf2f091d9f4d92ce66a61","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6.tgz","fileCount":863,"integrity":"sha512-hFbP9V7DucoDxSm4TO7tHWXnuNmZ58JtO7TLJfEE3nPdbh1g4hgKJLYjhVKBvrOTpnWnjYxrfc/MQ/9v+GW6cQ==","signatures":[{"sig":"MEUCIHbbTHIIQGcYDFTYdPZTavbRCUjIm9kdQKRjYC2ghfCtAiEAsMNXAKmFj9oveXMc8cw2yNS5bgRNffwBRksl5418GAU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29894881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5DjpCRA9TVsSAnZWagAALUMP/0OYiHQF/rDkqy3iv2Ay\n2goSRbvArFI6TvP/dHVcDe1YW5UGUyyLEbL5mc0LijiE7b5oRa5qykCoxh5L\n3D/cvx/v23PTGUTGKExLJ2kC8rvS1+PlN2Gs4+76xsY3Anp3rtZj28fWu75d\noGcjY06j8Rt/Ma35aA9ZRvGD70HmC4ra/DSzf9aspGHa4h1jj8JfujAjv/pN\nBGX+xoPrL5ACLiKxayXD65jt3wY2H5ziqU8wBd5McldoFAj1rkdyQTZi7JjW\n0Wr1Jf/D+epxqOVP3VrdoCdkBRgaMfjauWNmpOEAcegvaa00+YiEZu1MUXpJ\nYuMQCuvP2dFUy9bCoyYBZr/kOkhvgok5v90aZ7AkDO1/L4vlcpQj5Hdkog8w\nGvyZWHuZH1i4ojoxGDPy/dDwfplOuzlc6loGAT1y7eQHlS5sImJjZNRrm6x2\nLGgg2YxGa2UOBl/nuUdhTbSdpMRWzhd+Xyz3q4ct997FSZj5hNCZEnVC6qBE\n66VihWkoPfC0mKsbrbZr3F9jz1mkNqxb+AhDJ8VU9HSq/qC78+jb06ICClsp\nmGYVvw5lr5PWmElK1TdIZz+7+Xj6xPsk8BbhD5n14ps1Evq8IhLMLjcuogz5\ng1vTepD/oeoEGsQzgk6zR+Zxrte2XCsq9EJwf/SvLaV0DLR3ZdPw8hOjfG2O\nQ0Bz\r\n=8xZh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open https://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `https://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6_1625569512941_0.009244214140190943","host":"s3://npm-registry-packages"}},"16.19.0":{"name":"@preply/video","version":"16.19.0","author":"","license":"ISC","_id":"@preply/video@16.19.0","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1bf97ef6595d8c2a05636106cad613b0d5974424","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.0.tgz","fileCount":865,"integrity":"sha512-36HX8OMmG62eUcRdOidMyrKotqBdUEzIIUb8eJdBM/eCcOjNXf6XAe5PpSNadYRUz40Gz+AGqIqeZPE9fZBWiA==","signatures":[{"sig":"MEUCIFDH3CXCCztdFWy4sp4fZDWxMWTxcg1SRdINJdO8skLiAiEAllr3kpg4a+PM1y5deXiFmjdPQJ/kKGZNjWi9lD1jFd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30007751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5TdsCRA9TVsSAnZWagAAiL4P/0weVb0MOG/yRRIZisZf\ncZviO7hNGPnJaN+yxspCWA+tG+8N4zfeaa3HBGAPgDsBHLrjVYFJaNnpcRBL\nLZO/JVosEtNImzqDTPbrDay3uw//0ujC2V5UO0+YenFkJbmD09iATchfmoes\nJhE4Pqnm3H9uKsKhDmB+EslmEnPfhljs5je2McZ80oV4aNdd/SSFUulOjlve\nPjpCkCCxPHxP+Ib96PVYdHH9+kANWrYESudJAWI+I7OOY2JJEfQ7EOuHhnH1\nDd/JTvskVsj2TGolNzb4BdDke9Du5oulFDXoUnp1SNuqT1J0cxFgYCvN2MRO\nJUnXjKkOO3XMs6H5BW/I4LvgNq+kiguTE6F5uN16E/Fzn5yMd+FdF5wc+IPt\nJM4H4HpmwSYISApqtvlVSinASH6eHB067LJJtfouIXhxBwca8P/KJlkQmrUo\n7HRJYgo4AfD0tjcL9uAfGYbpc+9q7r8XM07L5UG+Bx83KqxG3Qe7CK7KQ0+D\nWERkO9mgxK6FvOAeH3lGJfQZI9KTNG8a1SYkvyVqUdAoEIKyiAFP/BQlC46N\nT+piQsvfSY/9rBVCH1c6gCGB1N6vhMHPsbL09Ih9NpV+//YtMuvhF/K8bOse\nRkxw0+WONuOlxBmcYfCxxvnwRhmIQPm3iS9VhePOaXJWmiX5DFmwtQSHj39Q\nWnDU\r\n=vEJt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.0_1625634667310_0.9562483550498306","host":"s3://npm-registry-packages"}},"16.19.1":{"name":"@preply/video","version":"16.19.1","author":"","license":"ISC","_id":"@preply/video@16.19.1","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3e5c2e13104b4832a60e66a19ae3559e08d398da","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.1.tgz","fileCount":865,"integrity":"sha512-2oxlbxJjfJxwPTwV1lnZeBZWYQgyu0RF0d0NwDbebVFyFH+WkYlYcLPZIC0w3A54M7VqkbJtGG7z3JculuyZxQ==","signatures":[{"sig":"MEQCIBBKo2nKLkU1ugx00waJqSlk1vL+xSF91kf+2//jKDO3AiBq125mqDODUg+VTtK7pQXnPaHXeLtMJPXBY9rbyCtbyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30019405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5VZBCRA9TVsSAnZWagAA8sUP/1vePboL6mOhZNUnBSTB\nQN/c159H4aXWIJ2z39+DnnhFim9h7B6EWoMifLIhmzq05PNAMtjbofRih8tn\nlE2EnyxaatBY4q26v4zfxjhxhLcmX4U1DmXsAnk7i9pe33thz+KQ+fCqp4ci\nx0TBBXkmAQyrfJifEEQpYBV0uerDnf8kss1gZ3rq6exEil4D8ElxKAeHsJ20\nnJa88hzoRUgKGlP3E18GWmxIlsfBA3RD/OCsSMB2aYN/8XiGD2JOTDF3Pg8x\njk9onpqfukVUAuxdmWYaET1tamOLg+YPwPfPeoJJvaAqDu+DP4PTQUdpZCDV\nKtl2n8wlyqmpFkqA/Ccr+0akqB9LHlNFw7VnbTC5hwJWLCHovS80+IyRLYb3\nCNN/0XtBPwhADQBnziD7RNNBhFtIz73QSbc527na29Z115/FJVbj8eJ5ldfp\nmdO9du6Htrwbkn9PohwnbL1FpXO/gU7mvAR3XMs6UrpzzvCUwjNdaVZPXmXJ\nqw0GYqsbyzb+ldGsfXeH/ZbF+SpTm9utKvUWA6of1gzUuo8wsD+/qmrZdcXv\nIir/VrtM7Cb5mmKGRcd5GM1XdHKr7SVCTqD+8vcz2dKxl1kixWfJOK6emfdH\n4L5uaw/JYjgISbAFoUPVLSn+7FksRJ1xpGF9jXlfpB3l+0u033RHcV1243iR\ny0WC\r\n=0AYk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.1_1625642559256_0.7843075014974934","host":"s3://npm-registry-packages"}},"16.19.2":{"name":"@preply/video","version":"16.19.2","author":"","license":"ISC","_id":"@preply/video@16.19.2","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"74ef4b5f047ecf49decee32e2aae73f9b0979b62","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.2.tgz","fileCount":865,"integrity":"sha512-EzSZxDH8XMo2McO8OGFOJP5ITT2n7XP5k+dxd1Y/ttE07R769yeNFqbb+xTt/k456HSwAoI2CUYJQPgcc2vBTA==","signatures":[{"sig":"MEYCIQC34HDv8XJ24eqdeYLIZwtVyr3HKEDCUC0qATVmJLPw6QIhAMV9yApp97UIGjXh1RseQGtR0+/YuBdtcv0w1XZcE5oO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30005127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5a1DCRA9TVsSAnZWagAABK8P/2XVDKYRv8IrIYg/L4Y2\niD2DznleiVJSR/CmjShhjFg1bRR/H5xaHTad6aVAnwAhj0MPDJ6nL3C8KDc/\ngEpeNk0BPvXYGtM8Yck3vE3BWtr+tZ6gt+tHChIvgNAcZYQDfMejKm1JA2Ey\ni9Tmx9i3mK4Ejn2Gb7Nq3liCCyTfRuVa6/XB/DsSE5yFgvbdIM4dBaaF6b2u\nu2eNOzexzC9LD3XD51mdEmoG5mls/kGudEru8zxBEAec109xFk+csKbvmgBi\nU9tWquDVgO26m0m1Zx6MyO5g+jwAMh/yZSXKiNO5s8R0GUKVPdSdiZl+A02O\nqEihhI0WkFBW3h0Qokcjq0hkNEt4Fbx+Zx1dKWCnGC0xgAE2tj6JI4sB4KNQ\nCfEFDomzDpXIunCFZN5FdTPnftPtFdNrIKSi4d8KTR2UgKxDj2YKji7z9yuf\nR1z7X4eYK5xhTJrLc8AECIhIPZXHJAcirMU61AmFAyjErZV2kwz6hcPncVF5\ndKFpn2BCOqxJdefqeINdHI4+QJ5KitzVaZKBiGax3+wv58ywtZ40a1+MKvCG\nQ+P6S4JmLasr5TDmUffQENjML5ZoSY3NcgazkFU11pe+f3kcqOcQDn3vVSeZ\n7oR5cAXyC2M+E5GY15si9Vuzif/J/xg1Tuph1PsKV5dDqkYaIOYnl6poSqiO\nt16s\r\n=4bqQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.2_1625664834096_0.41535107900351664","host":"s3://npm-registry-packages"}},"0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8":{"name":"@preply/video","version":"0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e0afe6acd31cc6dcfe0b17287a28b8fbde061520","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8.tgz","fileCount":865,"integrity":"sha512-EbEwNvF38K26Gp7o8/wAH3yGdLCxaphnR2NQhuotObNoJmBUr69Tjtuxy2MFlyXR3XhJg1CZZOAFru+afpod2A==","signatures":[{"sig":"MEQCIHS4Fe2UGBwuYWqrSsx4GA+IXjIeysd0M8K9UIjOVZpDAiARuoiWmM+x8dTG4VKDTnash66kWd8SnkQqEpxt0I3XaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30008553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5rHiCRA9TVsSAnZWagAABXkP/3HHE+PI2jx5ZBuu5U0I\nO3PdqEw4eKJGH0xFPRCUdbOMWP8RBtVtY9qnoppBTrKCX4Zyp2AtgUbcizED\nuEOAXPqtbk9fTgkmRlgBE9k2fhUPW9z7aqUTJCQBz99FGLr0SZALiLMDfScy\n8E5pqpRoo0sTMHpfPiwWWW17Ax2BcYYuIHWsNvXIWIXM4QeSKLOoNV7I7bhZ\nJhHeNt5wwfi5vgXyoBOhurH/W1xjjy9PBOgYUaxCCPbkXEUrOcar5pXlFUl5\nP4axNRajuKwyKm+6zDstvUjiyo/6LPgfnzxthpoC87TAmaoFFhRC9jFzW17h\nvPPWtR6hVZDQYwWE4UZ4LjP6RGrbdxTMw/t5Wufb/RBGhDFfs9SBLI7sLhxM\nlZy1aBdU3TAVe1XVS5w47K0c8TSipPWB21VJtI7UTlg3vPZoJneo+GYjjfq1\n4s+BgyYe9AtAkPe7hlXROVJdU6zXDhmqs2DdGL5NEj8IGPl2zeyfpEQlriCF\n+bhGc2V3OKz20/NawQnMile2EFf+mL0mJNFtsoOtgyTAuNOFxPFkky/Lto6x\nPp3Gk/vZ1r4j6WmCCVFZhCNcGUlxYClpbr4LlcCl4VRfK/blht0pzKBM9l8i\nidWjqRE+ElvUMC9zFtEdvKB5WuPtnoFmwdt90R/ug6i8kKEded2hrYrjBFdB\nrlGu\r\n=IqdX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8_1625731553387_0.9723695896067024","host":"s3://npm-registry-packages"}},"0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2":{"name":"@preply/video","version":"0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"e0d5b687fa2aea1da75e651ce56dc7ed38dade20","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2.tgz","fileCount":865,"integrity":"sha512-NCCwj9Q34WVFY75SkUqeFfpNcW59eWIhUhd1ggK28TNB0VboG26D2Y+ZfZB1+LMjq9ENpdQLzcIxpKm+Kufqyw==","signatures":[{"sig":"MEQCIGoMTpwcE+gT1vxHirXm8+/z9yfznVTdlfHs0cI+ZlDmAiB80l79rP5N0OPxlIzHkaxYy+F5sJM9zOSEIxqWNlZC6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30008553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5s8oCRA9TVsSAnZWagAArTEQAIvrGQKgwyDp8HaUMGl9\nO+OrE9KQWA/05ThY7bXQ/jrsvQiQoh/Yg4zLvyMEAphHHO582bjk1Cg3gdCI\nqc08Gu3qiKflKXLEUF4G1RKWqUSR3SMy/P0J7tKsvxOG9m4GxdGTaiGXQXmY\n2aKSIY002oZ3YXa7i6pjT5MhISXYFMBfDzxwK0PHGUNBiaeDXgVFFcuwhLrO\nvRMUK/yKthK4OI83dNpn4C8Wo7rrZtbe6//UpYN++DOPLkTct891r0FuiloV\ncC1/pgfAjqx92udEXolJ8psRzx8sgcIgqCI9j3DiWlrXpBt1KzbiuDdkCLzX\nTfBhA89qhHjgvZsm3VgiPcnIW6G67vlUWkYw5NDQ9v9kDrzeFTA4v4/MSyK4\nA0lZif/fgnn4MFwX+zYXUCKGQE/rz9jXeMcDPGZwhpXIJoPYMstFrKo5UDL3\nk4hIzPmNDt0rCqzEbhE0/NsR8QFhWCZ03X4gHC5eHnDNCCteLuBcwBXYJRFe\n7k0TnpmqjxIGoE9TRJ0Z6KJRmL09D2s748wEL2s46oI/C7WAzvZKKmZ+5tZX\nSnvKns4Eze4RyAhqZAARAc78Rh+pKa1lNrhky8pvQ+wBF+tVVJQlinX7eCuH\nKspRescPprCpLQ8vFqYM8I+RuKzaYv0GQDmXzXnA0ho7J2g26tgD+QmkeRrp\nGJ7Y\r\n=zLX1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9001/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Invalid certificate\nSince we use HTTPS and a bad certificate for local development, Chrome (or other browser) would warn us about it. If you are lucky, under \"Advanced\" menu, you will be able to proceed to website. If there's no such button/checkbox then try typing \"thisisunsafe\" while being focused on the page. This won't display anything visually until you finish typing. Such thing happens because Google makes harder UI for bypassing such errors in new versions of Chrome. [Article with a gif about bypassing](https://medium.com/@dblazeski/chrome-bypass-net-err-cert-invalid-for-development-daefae43eb12). For other browsers, please google the solution and add it here :)\n\n### I have logged in on stage40 but still have blank screen locally\n\nDisable chrome flags\nchrome://flags/#same-site-by-default-cookies\nchrome://flags/#cookies-without-same-site-must-be-secure\nand restart your browser.\n\nIf you experience further issues with authentication, please check (Fix \"not authenticated\" issue in Chrome)[https://preply.atlassian.net/wiki/spaces/PKB/pages/1198293055/Fix+not+authenticated+issue+in+Chrome].\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2_1625739047370_0.1736223739846341","host":"s3://npm-registry-packages"}},"16.19.3":{"name":"@preply/video","version":"16.19.3","author":"","license":"ISC","_id":"@preply/video@16.19.3","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"ae27b3b59902a113618865ab0b7693756c691a7f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.3.tgz","fileCount":865,"integrity":"sha512-KfpKF8nkfq43q6zSGqVmAL/4U+kB+rG8zS0EFBZy9od07OHdw0TfIGESFBFDgrWBe01wxgvK25IOhp6L6LP8dA==","signatures":[{"sig":"MEUCIQDarhMPHYl2Xn472sYciNXyX58ZqPFPhTYyZ5nBONXyCgIgSCuTvBYlqYI37U99mSmAqK5Kyb6aTOW3vO7foZYqqz4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30007292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5v+3CRA9TVsSAnZWagAAMD0P/iDgrzVcet+1lCYdsWWP\nGr9Obs0RdoCQOtcJqysinxEKjo6svQJLZYW8aQwKNABvot+AbMdUJrY7jKh4\n807Ggsa6859h9wrK2eb6Zv3HnoJTyExuch/8nnu9TWLqjoQWy7syinrjYARY\nNV+sLM+nd1YXsPEO3iqsLseHvz77A5uwdLuyTy6+b9tGPeLGdFUwBRs35gKp\nFR8Vv8vlEZ+vS20oCpdqnggJ3k2J1DgTBP2dgQvFRFaHB8Wl923WKck4u1qi\nS+J83QuQaVKpPyTxt+4rwc2R9rCNJzsKxWfWj77VvKQA1TYiFrKauCbqlOzG\nV6ys43RkFJmTO5vaoAHIuosSx3WRDYeZmW9faicXFC5IY0dYd10V+6KcEFFP\niJjgJxq42KAct+7/HwHSEGps6BXrYw7JDmnGSpzVrcD/B61QY349GrJA2ywW\nBbpRdf4jXAXX1u2kfl8d5xsl7iJkGfadRF1U1HgHmDkMeRagUkSlk4cWLlKd\niX4q92SXZ4sdIVthmEZAhBmp5i62aMDX1NzcUzCr1N98ZDjGF9O7P3EcRM9l\nGMdJZMqXvKvrcSXcLZsMc1HnYBNE38inoyo7L4UEixB47C/oJfHYzl0tl1Ha\nPiXs6rF6cBulSb09TJi3AocQouy7fBHBL5LTrLpJyOuodpV27S2UrLJe5wX1\nr1Xw\r\n=In5x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.3_1625751479022_0.550645637830034","host":"s3://npm-registry-packages"}},"16.19.4":{"name":"@preply/video","version":"16.19.4","author":"","license":"ISC","_id":"@preply/video@16.19.4","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"b44328a70536d927eacc20878fe70ed59fb8e385","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.4.tgz","fileCount":865,"integrity":"sha512-CUS14Ccmzx+oZApF4gCDTEM2Xe6Opmmx0c9t2t/EVs14+83nT+bgNKU+nufP+b13hjGHp38gAh1JJPM1NJhYvw==","signatures":[{"sig":"MEQCIF6BHORT6SB5ypm+YtYL6qsQ7c9G2IiWFnAVYugVh1oyAiA47DxFKdFGZlyBXkFIvVhbQ0EhelPOxLMHnTYeyZSu/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30010333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5/zqCRA9TVsSAnZWagAAfzYP/3/IhgBTxpewCCp0urwE\nnJmMZcsfMzZHNLMz7qWLRsX0x/mbk3p/Utu6pNLLpsO6/2DN61r0UFJU0mQ+\nLRd2JQ3cggVrqEEq0qJVIMUcyM+v/pc2sjkFQVFKMnuqzQBOLk6eZlhZbvr/\nB7gD2K2P9SiW07oRz9fGKH01W3XXmprIqMPNORPvo6ED7itWkOlXNqLbXJ2g\n78lO/R5O8vKC7J2e6mxKRKl62ZpjRr7aBUd6CeI0TnI4ifUjSLAAOSw5KF9W\n4MRIZHfEI44FAO1xGJXnxH/qFjTZT6llraa0HetaJT0Srcq8cQX3DK/iWUwJ\n/aiiVDz7ESYqlYouDd4B49pDM2njTOp1U5WpkxJknmqe3bUOGHj0PiT5LrgO\n95yGLnzhsEuaZGOQRarScvPBnvqpX1WZyGx2h1ci92kf7CY1V0sq1O6qtxSy\nIrIPEvV1jD5CF/U0taa6a7AX0hWZX4eYPq9MiGdyBu64PVyXX1Jyt7m/lUgH\nHiMec6bLN/1GQ+pvhHcfB/uE01B1vPUH9/S474q9/9YfeVN8vkKonlZnQGKY\nn6nvV2suxtM9UqMXwupk+3lwqZ4GJrF468ZRJ67ZCddcuCegeGQVNaKHjY0u\nDT6q/UXQ1cbAlip6lVwXfFCcfr2GD7GwbmwNlcMmfb43Ipj2hnBegeWyT0jx\naIZB\r\n=DNZI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.4_1625816297782_0.314666347197754","host":"s3://npm-registry-packages"}},"0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc":{"name":"@preply/video","version":"0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"1aa86f599df9d3d3ff93ef0002a3bb0686071968","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc.tgz","fileCount":865,"integrity":"sha512-loIDqFeAjTmpYoKsk8y6klGPuCtABx63wwC16BduAJUOVv9ToTaPuEmMr51NAUyITbZpdXCE6GaaBpd3dI+wYA==","signatures":[{"sig":"MEUCIA+VOb0/KZfxYY7CsMatEy0cgjs9bw+MXdtZrUSDNiSVAiEAmC28Hvdx/PrHOy+pJOsMBpUvB9Svsihvd4n2thLTp2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30019831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6GgPCRA9TVsSAnZWagAA/DgP/jayNLgPzosyezSwvPWo\nOiNVzNEj66H2CsauOQ5gd198XnknJiAUG1X/Y3eQtDM8SW0OC5AtOsZXJjWN\n6I2Ms/bZaVxNLjycbBaNhriIj6HQiu+LHOrSOy4mJdB8m9MjlaJolo53HvYp\nVrX8WtLqEW6kp42m6FrFM+YPOZcYwhSr46YbZEjUubRA4Jclh12JGWYUWyJ+\nbr+oZzjl1XmYx4/GI5JAkkQUnKDXyasMCAcKn7xmZUOTAejzMHyYshjBpQDQ\nN+bxzOMGOrc44HQfoXEBiX9DlmoDLsNdE+xh6BbL8L/3vljVXr7JrZDw83eg\nAzIBBfqfQ8CqQNBIQPuzF+oiYwJPUHleWnYZB/CbL4rTgchgYJV6QuKriW0w\nqkVLnNsJEcZF9rB9vCNLYNG4PwKxCY4/aaeKuxYabFCuw0S769gJ29dopLiL\ngwJsp0el5TK6z6L2BW47X4gQj5rRi21sIqd+0XeCpuCRRRA3NGojswfuCRk0\niG99LI+dwMdkaaKxP541RqQerG6GR46IYBWNTp6YY+4OH8Y4SSmSSk/YwbDW\nfaw5/yplW7rz+7/UMBM4GeKeqnUc1Z1nAJ5biM61R2NzC22zRbrRo3M6Ttup\nP2wVmGbJm1spEF2+Ug4xvdaoSDpiTZof1/c86koSTpJjgkqq+jrgGYul2mms\n3MGn\r\n=bBqd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.2","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc_1625843726971_0.9348858219820204","host":"s3://npm-registry-packages"}},"16.19.5":{"name":"@preply/video","version":"16.19.5","author":"","license":"ISC","_id":"@preply/video@16.19.5","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"732ae518bd4d8f364b05a30283aa402ab3c5804c","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.5.tgz","fileCount":865,"integrity":"sha512-fsE5+rH9Ig/wbjYIUorexVGH75eqrFWYcd9F8duVMwzzuUsqlWawfBIOYh300EwRUvAW85zvh0SeK39M2amXGg==","signatures":[{"sig":"MEUCIBdrPjq+7acYhFF1Dh5Dprf+pt4DNflyQExJY2t4JAmqAiEAtJHRIce+9s5H/11y1o+ismBmKTAaE3dAJAW5rhUcBTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30022809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7DKuCRA9TVsSAnZWagAAfLEP/jk9WrrVtb/Q9N7XRJEt\n+Pt99sAVnW7QMyX3ndZrRBWFeG5iyqfukt52N2sEMR24G2MxuvmgemSw5Kbe\ncRToV4VhXj9eYgcnE9RtYEFNFmY7ZqdIDb+LekMjJefJ2ro2V68y/BXqYRA4\nw3I4EBCbMKjHd0NWJkj+Nwu+vwJ35pnf2ELlD6ICv029fuZIPpe12t9+oqem\nbWwDEYD5SGQqo4BefsS1FiK+qNlcYnEHVfULU0wRW0VBrfDOVSHDtNov9xQD\nppGwmstZNnUPiSQr0NVW2lDoukZXVQF+pftC6PWBYmVcCLJjuTqduwfFv2Tw\nJYJz80ympK4V2EXfOQiNvLMO+dsk22TH6k8+XwffZgqFnmXGEdj/xj94mniU\nKh+OtebZ4XAf78dlOWYW0IsfVNg+ET3Xxy55qSwoIaJkAxKVuZWP3e13TOm5\nRePsplxwr7CqhpbUGc1THdtW738HM+sUVqUzdXzs0iKYkmOIIIl1naQrPRgb\n8Mt2vGyzpOcAl9t13iShKu00TLdQA2RkRUxd75y07O53XAQhzd2jbaeUDtQE\nkHtNwakcrtpO472UOPEBlmfcSxx1Phknye6zvfVcCIkJHXkQQQi9B5rtXAYg\ngQvIvcogaVcFT/DnUU4+9ZsMUBWnuSvsLB1lJDgzKJusTnu7wg25vhgNvWFQ\nQQ4t\r\n=w3R2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.1","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.5_1626092205991_0.7781085504817451","host":"s3://npm-registry-packages"}},"16.19.6":{"name":"@preply/video","version":"16.19.6","author":"","license":"ISC","_id":"@preply/video@16.19.6","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"020632fb12d2ef254dcf3941a36260b957ca8ab3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.6.tgz","fileCount":851,"integrity":"sha512-/QxxUMjyQo0HT5uj2l4LpqiStUW08BvKECMA/ss5gKDzu44nOMlwxCRDwPYVNMO/jyAEo4bDYPMmN3MAqljAHA==","signatures":[{"sig":"MEUCIQCyz8lKBv9IFyr4gDqKokB9GqDeJdIbX15DckygBNByNAIgBOKQmprUeIipqY8EYlOESNT7aS5YVNKTpXKWFv8XpLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29871671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8BU8CRA9TVsSAnZWagAAoWQQAIEQnnW926fG8TlBEk+E\nFz5J6i7axjxJd8wDaKlTbWlqP0Wg11q/C/8E029v+zyawwacdeQkMFGfJACh\n40jDbkNXss8QQJUVYK6ZgQnt3y0xTvsQLP9jXl5KfQEI9Hr1TbAiUWlGo00V\nHQkYzfo+exYlD3xB5FRXl2XpIp72G6SbPUITgi5eijol2pQs5flbd4qBlJzJ\nh+6B9rHzcip7eCD6iE1DlKrafI/DbnQkw33qgqUcIuIZKKw1iUqbnaJyJoG8\nl3Ghn5D1/rCN5S5iKlEPwiBnxejIdKSCjYklf8r+p9ony9PB/huIkEcr0E54\n1ga9NeqjRVp0lfz7WSOn+cBpDhjhsF+gcAWWf/HIvBaS6oopnP1+J2Sgq9gL\nf9epwP0Z50nX+fGHiKaJD//WZqpOA/JGhVjcd/EXfxEMJ9s7ev4o8hhBv0fk\n6X6SeeBH0NrORzCelQgmMkvabdQVqosrWCVRSZpwN4M2nWgZtxQ/uuoEIpNY\nrAl8GeUIOFDlMDmx3GXXxqECnEN9AvQTRMarT+JcqWwJxSFEFxtFQDf7degH\nQyocfLqWvVPMCH2fc2r3gytqAsTBuE6pPuGAzlW/W7opZwdJ/l1HJWexZWCH\nm/EcY7viv2Hfi5aJ50v6wlsOa9/izFNqbBDtXxYdKW4jf3uBwonctSq2ruZK\n8pi1\r\n=Lwqs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.6_1626346812423_0.951084112554301","host":"s3://npm-registry-packages"}},"16.19.7":{"name":"@preply/video","version":"16.19.7","author":"","license":"ISC","_id":"@preply/video@16.19.7","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"3ba2fae457f69ea53551d26fe503b3027bb03f81","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.7.tgz","fileCount":851,"integrity":"sha512-KEHEAk2Hbj+X8K75ua4Ua7yCTCwWbPK39ghjbufyW943Nv/9hUExRPuyFVyVnTFTPQVdZZZow5A8ew05fm3cNg==","signatures":[{"sig":"MEUCIQCfa9nlgFqA9Bn00eLoH58GtTC8bhThki423ZJAeiQWbAIgbXqG/yBA3KhRXITK5kik6tOPd45x5cF6bnB/LMShRrQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29871536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8EOnCRA9TVsSAnZWagAAkqIP/1wFoFYTmDsGwhzrq5dl\n0P8uGKMTPeZoVMpDilMx/6pp18ogXBC7p6r8x7plQLuwxp1BiVM0FrOmwuBQ\n+wgujI9+BoilxLrr3ZP6G2QqAk8te0+ykqQVmyzBTA059+sRVqdqYeD/+4jn\nyTFY/9KYbGwAeLlDes4sL4F9P8wBCe2cfWtGSs6oUSuEjZYmCr005Eg4QuQl\nvA05ZInZkftJcpAyRHYUmo2f0+RZjeFoZvMBrfw5Y0kBnXqt3/VP+aOsbkTh\nH/Q2Ih4w2B/MUu1I37It0izhc1MO4nXkOSnaxL9eEdrfTXRoNVRMEsrgyYiz\nxi74zeXMBURk7G4iaTFeu2+HQaR8TchVDV/rZbvqA0X0eSWmUDDehGeDMyoD\n9T1k8j4glCDq/UWbmWnvaMPmz1c4dDatVioeMhAcbr8mEjdJFwyRzElDWzLv\nDJKabDqwSk5ESuII36xu/bIXg369cfvgadT1rnnnLW2BlihaLMEuAuFYs8N4\nZmpisDN8z0/8UPqzqa5kkwbjvygJ+aYYou85w9tsFa2rhk1XaN/MpRu0RKad\n7MExPgaki/C5bVrEaU5Q3kzvL82hmxNCqqvaZtB3Ty+iCUzlAGOCpjRBgtfy\nXcO8jYr8fxN/7AuKKLp9yWn7ao/wMKnL344WyRBqaebA0bFyrl1O77aQ9Dts\njUXo\r\n=u7zP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.7_1626358694524_0.996809522503973","host":"s3://npm-registry-packages"}},"16.19.8":{"name":"@preply/video","version":"16.19.8","author":"","license":"ISC","_id":"@preply/video@16.19.8","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"750bc46f7838906bc30d53dd3ae7c642249cd817","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.8.tgz","fileCount":851,"integrity":"sha512-AfOJk7tql+J/AgWbABsuhROeIaQGjCKOvaOSjd+MC6nmHx3H1dHlNe9Fnu0leK1VlyXAYy9ZrH6Zkzpmecjdlw==","signatures":[{"sig":"MEYCIQCByLUgc8FXFleSjWAZ+5eU9TGMoxTFn4L+GTzs+/eLOAIhAICqrtml6atAvLMjMKgvAQ6yBv+ctAfyFFrZchBaMd4b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29865296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8HxHCRA9TVsSAnZWagAAqyEQAI+9oya5wAwEGKCy2l3f\nqWXZhsVeY59EJ8fTARZbF6APIqbPPS3LQ5eUkX2mdaBbYYl1WDN8neEAHYCW\nFsNlCUK3q/3JMjyBsBY8Xyd1HooF3ypoDXc3iGMnKH3WsKW/b51pnpFp21tz\ncW3DzIlp7+0TVFKSrj+RPN02qqhD4oczxEVTgI0xTq4Gd8c3zRzjHZXwbarZ\nPm/Yk6StYols9R2I7zySMtrK6S1iClJR2CDbsO3PoKUgIHEEQXYjIyQQ0tVT\nq5beI6yKhcYPezMhHXQZUbZSdFiCZbfo4FCNWxS8gij36C21WzMVuHKX8TVq\nZAYevqpUZBw9Dl5KFFXtDoS1gTI8pdrZEzn0KRQY9VzO2ciRRUy2AXgENOv5\n1K7+I2CX52QhhlF0JkQh3WhhiQDsM5cGiOalrjbnw/z+/92Beu1CAxsDqK1L\nIdctyG7UcYC8R2yPx+RIoHdi4JbdOmCCS4lZnSneDyP/Sic4ZBrDomj2kzn9\ncPVtbd9wbEM6tj/w6PW1KHv6gSI9pE27M68xCyFfqxZEUznSAI5fN/EgmBn4\nsBWncgDEYYP6eq2m70JWUnNPITNxo8cAKrmC5xtmX+axRVCEtIT7zNLrSF6b\nFzt2Ww4wQ2c/00aBWNYb1SoGqUldOTE2oosMh5mkWTsLXah/YBcQXw3IgN/B\n1PKQ\r\n=LFQe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.8_1626373190500_0.35182049739139987","host":"s3://npm-registry-packages"}},"0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7":{"name":"@preply/video","version":"0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"c9208c3fc9fc5195600325c25d67c63ccdcf6850","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7.tgz","fileCount":853,"integrity":"sha512-J/E9WEj0J94nxjyROWLfZOELm9I5/VUredxw9jUfuxsCHfjrklU1iF7Rj7M1+RA8dyxRc0i1yCquN5o1cF98xA==","signatures":[{"sig":"MEQCIDeLLdpolYOWyLcdk3YxAPBIYvLMukgb9deWaGMxJxA2AiANNOrRic7cU6EaC0EZ5ZUueNw0So7/gthU+k42Y0pizg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29887956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9TpRCRA9TVsSAnZWagAA+BIP/1SYZkcJG2hvYG8iCjEe\nTDlsSUntulF7cT0ML9CqiAPTj6zXBIPrBXQ3rXTswX9iOW+skB9kGe+RGNK1\nCKdX3PbIKFeLIFjNQsl01qaC3k6aveXmC78dBTSQ61Ax/2A2GV+jGSOjhP1f\nsNWHJCUAVTHGJFXVpghrCW+bsOi/+Bo99yFp6kDseMDmVyGr0yrPB5YU39r4\nox3BYgdLWIoi6BZgnuMDDhuDLNwyE+5xEVntGZF3VOfcUk5G0+XIHsCuYN93\n3ZlwmtOL0BfZs+7asCi/85nCAcgRaWQKWRNYo5vYsuQ2IQ9CjVmJTW0dFLHZ\nj5d7kL/AlVdcisNLg1+AQx85LSaliAk7UKkCvOR5yJuy8+MkuT8AO7g5SkJ5\nrAARnk+M+yBIYS/+/gLM9scvbQHOqpQZWxOrJBoo+NlH1YpZEEc067j0QDXR\ncw8nfSAIFV/T6yXwJo0G0+fjhgsV4ttOYbtY+xK02nNvYD3mmKtjWrHJ3Axc\nPHW0DFdx+p2oqqouJ/sGMxhynoSUTg6nbxsoCn1ZWms5IP8tgl9Fvzyi3w14\npg7bfNputNoMZi0fcGKq6GPp8+2gIrEaQfK0XUKTtBTmyX00WAmX7eRcAYAc\nFscRj2kcvmJA+l208rnPUTtPkVS2vU2JquSb/cdb+wPeaajsXc+a1C/56WE/\noVVU\r\n=nNct\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7_1626683984631_0.8279231831126739","host":"s3://npm-registry-packages"}},"16.19.9":{"name":"@preply/video","version":"16.19.9","author":"","license":"ISC","_id":"@preply/video@16.19.9","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"8560d17868c8de0924b18612a27117a2dc14d0e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.19.9.tgz","fileCount":853,"integrity":"sha512-FWZYe8Q7/MmLPT73cpt4nT2fFwCTCkM2bWDgTpaN1M7ahpPrCZOdHVYml6GuUkF9cOYeWoK3/OA6fBW6Y2PJnw==","signatures":[{"sig":"MEQCIDevXwPSMmNp55nlyoNyG/bG3ej9mxEpHebwgVQt31MUAiBMa308UhFQP0Z1sYu2DOwKkXKbqseLPYOxRXWdIiYJ0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29885180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9VqXCRA9TVsSAnZWagAAAKMP/2NgIm9dDA9WmxmKSjGZ\nGPhzXgI+5PXJFsmEoGr/Ls9LdVAurD9CWwu6xarcgwgrJt3rA0aFyNtrH0yt\nLc9/ZfvKmtMHzTkPZUXFR3Ix/9py+a0tOa/OytLSsEGo2TqIB5ox3aZG6boC\nQo3fBDke/PFQ5qepxphcNUPqGT1XQZ7oqXh5DtHYCbEtTVAuEnkpn++f4O6S\nZILjVVLnkbehXppeufBu7DnCEtPwqR+UTkwfmQwkvHGLFRWTNAZ/6yGzHkyu\nVks6ujUGRK75txUP9K9BxIjWXVvb7XcNJEX+NVOtubuEBa5//+TrUxiqsDgT\n6UcWQWGhDs+wuKzjirONCRX1Z8wuHUA7Iat8lQORr9sCZ8Vg5Gp1di0FaMtU\nrkY/elMe1bgTXHBTO/We+/q/ArH18W8l0uxWlNAIzk2vy7dG78IVne3jrGi2\nKTjw+iBu54PAgi+jtdP8Gk3s1I/1ZV+NEs5Emubtz/Sy3NT/Vdj9LJ4Cguhw\n17Y58FEswt0I5wW4Nw3YsSIiHZhaSwxCCUjGwUOx1bOhXxOXvUH+ZsCbgGu9\n+SI1dG1AwNqcBCgShXwFOE4hBGxwoo5gLrw//e7k9cXZYsK3Nt8I/1KVge5y\nEvQBNa1PFFdeTm/LAGCRVtySBk2TGBGQTyWcwaf/jwbCqdYkAfdmllECWFOy\nkZRB\r\n=EYHn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.19.9_1626692247562_0.4150561579576968","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6":{"name":"@preply/video","version":"0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6","maintainers":[{"name":"alex.semeniuk","email":"alex@preply.com"},{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"}],"dist":{"shasum":"cbe757c62dc6c1b576c5f44f0fe0cd7494486a2f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6.tgz","fileCount":851,"integrity":"sha512-eB07p0fT7eu5/x9ycTeXxBs415/dYLkzvYWhlcpwCNdkHmYA0XJcwxsIiOmUxT7YD6Zjxg5/T9EKDRLssuI/IA==","signatures":[{"sig":"MEUCIBx3xuy3L/zmt0yR7iE6g2Hj1lOKoeM/+sV9JFbdWPqFAiEA/Vu04K1yUqCArfE6lBc3Pf22MOgV9jxeM4GUz2y6Ma0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29868079,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9YyICRA9TVsSAnZWagAAAysP/AhuBAwx2POLIF7yyQIf\nl7VyiGKJJV9kgn5ki0QFuVCcrfcnG5GAfMNYNdeYYVhCZST4ie3WJYusQY48\nhKRK9mczqfeOfTnHdG28GwDhap2/RhgCSyhFNk/4y7BzARIYTpQCEm369BLp\nSRFhP/Op026X7UN45RzVf3uTHzCgdHy/OwZ+rUBCxJ3roCZDb/luyiYbn7vC\nNkK5EVDjddgJyHPytwshlXo6lF1iXK4aHQpVzOQ38X5lzN4FrwpNWemmR8yf\nPkTOl30LCb70ZX8Okh6yCFrdHRN8vfczuA6wmV5o3bpd4697AxDMUPatL38N\ntC0uBO9XxHAyYwrJfN7+AuzR2uPWYRUuFE9NPmxuSvDW/2cUHlfDNwdyo2vt\n9ZSMZLw9xQ8eCBKAUdjsKhAhRiciQN9hEwujNtShl6p4ClCc+b8VnTEWVaAK\noCNrw6jnbaajJhO1y86w3dTeZ8T6k7uHMt1wpydLsCQmhnnlZ2E0+Bg0kWWp\n3Ls6O6CowpsO7x7WUbDnuf7dUKGwibHkRTwGmxA37G1iv2Sz10UPiodTlxio\ny1AQK8RB5JbxWVorGdLZIU0IpR3IinuMIfTZ0t1HN1uH98FmXXO05ZIzFzPf\nmq6l70khkWCbJwIAGu18AuLTmcZohhjWt1N4GVmqRbETWnuOhcM1/fVUjHgh\nq2G2\r\n=uTRL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6_1626705032331_0.9857289918742425","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc":{"name":"@preply/video","version":"0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c1869ace4ba05e3535737a8574b1bd6af418e540","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc.tgz","fileCount":853,"integrity":"sha512-z3Z6UcbbAHgh3Fi6Pq/f/OVfIq+pvZXZJYM+mfMVi4+oRAWb5qE/b17UFLbsbot1Y8HjxWOE4sMwMbwh9AiPEw==","signatures":[{"sig":"MEUCIAD9IxiR0SokrsIwBelqn+AKuasLuj7lhv8VbDYH+x0DAiEA3ApBGZqN2K/rSsI7+vhNK+F09ymU0vDLGBnWNZMSB0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29886544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9qLnCRA9TVsSAnZWagAArzEP/jeOhsfSGrfYbqWols/d\nejFWSilx5NA7EvTXkaUfUXCEqsP9InhlyU/qztxAIln0HxG92nH3tOZmzho2\nE32t59fLW4Ebu/hReT3N0m8hHa9Z+QvpIeeu82Q712EGeJ08C+/5I6J3s6gw\nRPcRyd/XCa3vl75Jds+pfDnO8PZjnCKtPoCzDlVa2kiB5b6E+zUSxYL1MscC\nbyZft0ubnKeFLtswcP5n76C1YFFBPIxoYrO6vE/OUD5tLupQd3SKz42qDv8Y\naqKlqgFsjaAsU/rFFAWdef8ryiJbc5TbWbRPJP/6nlFPdg9Uc3JZPdBjYH4c\n8Wg4PkGAEW/lrLVoifr9dxwRtE2qgcIcJJV5koBUEHsxzzHO3MVRbG+DCPaV\nNOgcr9LZxnqtgmqJSoAVxcKIJZ9yz4WGttO5JKaXSe1stl9a7XKddoU3nuT9\nkI7XZueNzigQEeRtrR1ogahsxZL/+gNJbdNPQ3LxkIN3TQ58eZyZUh6cSbt4\nqFaoJvQYu921roKlotLqplWGO91kRgiJLbCiZSIPPp79IavG2blv5FyHsKKO\nD0HTcUOZ9+27aS1U4xmIasajVym6o0zAP3GkgN5QhYIa1p3Uy7R6rBqakvv+\nPCX3KeQQqzcmED7rRDITzJeKCXbC3zEVEnhZVEGK29QH2e/YWVNxWatc6FxC\nXIGj\r\n=TmEm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc_1626776295377_0.6747363514429734","host":"s3://npm-registry-packages"}},"0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268":{"name":"@preply/video","version":"0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04e32d5c31a45a01febb0ef2650bf441356ec0ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268.tgz","fileCount":863,"integrity":"sha512-lCCLRysUDVRC1zNgxDFhZHm58z3Kh97X9FRggllShjLNI2JfOFxh40/PUXhHPh6W9u7AzwoSfBl/pjjLo/Ul8g==","signatures":[{"sig":"MEUCIQDGsXI5xkIq0zk7AN8oFijqvxcM7pEl1IhWgIeevIf+1AIgKuDrOfJ5IrigUcX+VPr2Cc9bpFQ96s7wqatdHfXt80Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30048807,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9uk+CRA9TVsSAnZWagAA8YYP/0KxhxBHVpyU3XU8kSrC\nKZpddfTB1lVAcYmhfz/vIvFHhuY6NjG804RddzhlSEc9XL5QAblmd3ptjTAl\nG/Hqzdl7NE4roWJu5ZvBm1fLC6NvYXcUoi7kG5hBTjBs5ArXQcq7xSYQQ19k\nCn1lr7pdo2w/QIfRje/BNba5CtQObtbqkDbR2IJgmyvxZ1m5AngbVdE4Djp6\nsrxohlJkjsrnTv633JVrOs0seagVoiEyo7TUOWZxcWTcTGPTLulVBF39GwrO\nNw+rvXwjFALALISgKon1mzS/it7gbL0+GJ9otcVfxTVPGbIqYrpBthjQrh5Q\nyAzjbTFngBCj+0K6RBIIDHiVqG20QIVJXmfldKXf0VN0Sm9na/GxvWQ3hzgp\n16gPwMo5Ph/CwbQBv61bcnfhK9RfBQxqVkUCNkgo3L4OzLMTlp8p3N2gUBxc\nNHNAm/Glp/HdhcCrVytxxji9ru+yt7EHK68tT8wqjA4fwPrG5uaxQTIMEhno\nnjKx0Yq6EUcmqQHau91KqyaQcNzhFh7qMgZe+EpmvdHoAjAY+rWtCWrqCtEN\n6i05MDD3PJ2iLAyE9Bqwe3ViuGCv/+nDqNSfMHryasqOwNqbXZ0Bp9PyjP/F\nEq3Xvuu7hYvDu6F9qzAKzLn9nWR6uM5uXQ/O5CeWPhFMhtYzNMOP/a6+d+cK\n+Oez\r\n=UKW3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268_1626794302056_0.6544117021785913","host":"s3://npm-registry-packages"}},"0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea":{"name":"@preply/video","version":"0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"69d24ae294ee69f90b7bce333091b34ad9ebf751","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea.tgz","fileCount":851,"integrity":"sha512-DE5K+WnSdQSHjAOXvKhoKdEI/YSJIyC/PxGdVHvUpuJqkBH21MJU4UyxjCrJZJPdNimiPCaccTW1Xc1OWCPMjg==","signatures":[{"sig":"MEYCIQDTH+hinfSno6Dc+rASdYZxiiTQGzevuxhkpdjW64lu9QIhAPRtgAiwv95ekwiuDVvt3hk+hARIILzDuLMt5OIz7Ize","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32260901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg96KiCRA9TVsSAnZWagAAVosQAJWJAsCGydFqwjQmYDzM\nWypDNIkGzX/gqJohT62A19QaixbVdDHwudNNOwAph2LJKZcv6ROLms3sG+Od\nsdIUvHQpF9lIWumKnDlGbKFD9+2YhMCV0vIP7VTbZsFd2Qg/ySztMkcbzeKt\ngSTs+gV/KYQEzbQSfAkw32Ab+BRHVgwFHJ8LMaQEBsD8ObEkRKTRzMAehNzG\nIH2u/Hi0QRIWftClndCGea54SEoer6Q8h5SH4G/bUUlh3S7o7y+gjoPhp/sp\no9vN6ST4uB2lv3AJ+1tFgnSfYQqUXBm/eQvO85C0IPnqN1wGbHY8dsjX+wft\naIevAGrvSz/QPYITWljhZ3orybByX+YjX4FNMfYN5+QDpyUBmxHKiZFVV3uL\nbnqyeLf0sbUiBQZlW5oy/YCsmvCE7JKdpzLN1sTI27pXviYpTzqxaOmZqGW8\nWAMRFfmjNOhxgKalOazGbvWLYnzgFUhiX91J1gsJvo2anAbRq10aoz44xceH\nimZFaDrpDA8k51IafkcoRCa+C3/y05KvTuC8xKFSOv5yPSOdIiBvp8aEgq5o\nSyfoBSrPxtlKrjphNSXkOpdwJClLhsxnuOcIR2VGPFCSJJal2nohOET9FZL8\nsevSEvcWY7xt0ZzK/vkhtvNbEcTQ+vBMvrQ1/blHFCsIfmpdICr3v14GMP9F\nXjxL\r\n=p5Dl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`. \n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost. \n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n# Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag \n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea_1626841761701_0.2299851899783334","host":"s3://npm-registry-packages"}},"16.20.0":{"name":"@preply/video","version":"16.20.0","author":"","license":"ISC","_id":"@preply/video@16.20.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c6eafcd57a33d5c652ca9b5b9a935ce09b8e7b35","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.0.tgz","fileCount":851,"integrity":"sha512-vKFowYtgffZr/R5DxkvkL+X+nBa3rJpSnN0OXeLd3zsYkcmjGde6/gnwNHZwFTM+0rbr4VxnbCWmToTnZ9hHrw==","signatures":[{"sig":"MEUCIQCFBxdoRwe1Fkz0phtwoKpuubOVDAKr/eiTspNfACELgwIgTa/ZTugrlIVur2dF6Zo/5e+XEYOGL3NlzK17SaWvFYQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32259795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg98hhCRA9TVsSAnZWagAAPCgP/1Jr8KJWDTyd1gG685ly\n6gf2mGOi5tKKqbo3bHpoLdY8FrlEqRggW7W0ajM7Cdu/5MZ39J6T+lyU74P2\nuNNxKytIveRsI5nORhyxbAd0OJW6kTwf1cAx71COpaZ9PIib7LSQFd1HycZO\nMyoH+laorQwHvDGwrdY+URFCBUBKibXeRqGh1E3tOyeUbAzHAVMTZTDY8x/C\n8TTTRfFCqakQlGSaumqoSSMoBlv084MlsMYQ2vqXqPUMh6a0G7SAmycc6t66\nA66NXG/A6i6DUUzA2vhjcqiT466pFmGs4cehSC525tOBtRdPr3KUS7916vZb\nYM4OpURni4YrIsPB/G+iR4g36KUP7t5EeFq9s4nhBv4BEQU+wJxtxLIU4hdY\nXPTEaMKHI6WIc5dqFYDBD2/zQZhux+9n0IvxN7B/6t4yEfJmLLZU6LAH3Sn6\nNAYhqTw/C1uCiknpzjSNbG6V08F0cuVKzj/IrioS33x/yUx56cpPsJJwmoHq\nIQMUPzqoP3HC7PVyrsZrFVF3DdyPaw/9lBttHlggUd7Fc0I1Uc8CS/1DXcMz\nM5T15UlaMtyONZcZIhY/YxhI4c750kcm/meTD6We18N0Lwj7xXrbxNQrCPiW\nK9dGR0ziBXRuGmi/mLz2alYAu+wfZIqmnfxkMgh2tWKUYFBdvsIsCMH9h8b6\njnSS\r\n=ZpNe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.0_1626851424774_0.45613099376178967","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d":{"name":"@preply/video","version":"0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9273b70c217f8ca7f94fe7d645ef116790325c6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d.tgz","fileCount":861,"integrity":"sha512-3lpo03CB/5502ILYHkymeArg7Fi86FT2pZlML2I3Awg6xxjBIxK4TCilY3Xav1awFb64YH30IGPj7oy8K9thZQ==","signatures":[{"sig":"MEUCIQDDa3uUbcLXFDRrYAPtgDP8oxuW1czyJA//mw47AGGAsQIgJN6q6UPP5/72puK5P7R8YHcVEo1x8Q2NSU1XwPN6I8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32431848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9+V5CRA9TVsSAnZWagAA/2YQAJr1P6L5fop8/gfCAoeA\n+n2xsv//SbjJNRTuoUTH5853q3j73wiBulsDKSsC8WnfHD+ewQTJNuYiXcq/\nfH4RtMoQXpK8Vp6+bm/ye+v7fBz6i98K8pmsjfT5fThPa7JQTvZH3EF+xYAb\nWvSBbRFXq5mg5U/AvcA7IhoyUf6EQwXIFzvc+Tz4AmHIwe+Ip1SBGvInk7jB\nVWcAsV9esT0Iu7qvwynB21JJQqtLphD8OlzTK+eGit8q0KlMVogRrO8fvPy3\nsEhDEnayLEvqLrGEK1+rIi8pp2M5NB6ygdN5LU6Loqh0mwOSscAwbxW0RfTQ\nWGEG4ouOKubpXkNsIqdpntrdzPsNFBDe3kezwOHxfXUbnix+2nIdTChHVKYU\ngxcR2KRIBzPdyTGkrXpDL/k0LESsYuq3B/zJQis+IRs2Bzi9qTN/AR4mP8R7\nCfnlRUOMYvpXVI9R6wcEmh7Kh8lRIZZODEiX98VCRL1T2/bhgy2rZeQ2O0YR\nxDhjhWqUssp4eej4SodWd5tbGNZIGQoWIEt74aOoryrwYGgShhWoXiULhtYf\nhrOH9up3aavKZT2x/kZ4WpOOEEDDZ/+2+FKV4Rye1seu/JEAVFrEzcBozkpg\nAKql9HAEfE61Vv4hi8rk+JdvHg6fRsPD93V81a9vGKaFUboDiLxHc4nvYAWc\ndKmn\r\n=sBn/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d_1626858872980_0.5994153874872874","host":"s3://npm-registry-packages"}},"0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6":{"name":"@preply/video","version":"0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ef3f5854b6ffb6b6f8ad36309718f11b595b11b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6.tgz","fileCount":861,"integrity":"sha512-+63JXgqmAv5NBtPidFt+uW2I2cXVzh3l1EStbRotxPOnTrLWQFmxKExbNBV7Elt8DbXOoLGChiojf2AIx4o4YA==","signatures":[{"sig":"MEQCIGNGrRpjunaFQik/9gZQQn3iUObseTQFGE5HRwewZejbAiBzMhIA4K0qyRZVlENWONmv4y3f5Ut5pdKH4IbUePxg3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32431848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+AmhCRA9TVsSAnZWagAAoJ8QAJgjn9uXo9hK2oL9J7md\nk5mn9QH3cnTo3JUn3oxA/D2vVdlpEr1sb+6xkAjMgVScG2dMeyTPKqAx9wh5\n6aR+1mH50o1hPdKM/VJEkEoju9SkRixC2SNcVl2izJ7168ZBC3r1SO8rA+1v\nE2mxzod3IqcV2Lmt7CxuxnkPCQVZEwl8Q1+XUHO7e7ca17teaeOB589Yd1wE\n79rbRsK/bL3mHF5ufUeW0dvEosunONfOldy+kJuL0toPnoga0GjJBSs75RC5\nyFqwkLKPnMERJI8312WtsM1+oaAbhp2nmOoCBnyihyuBSijvuktv/BNlVFML\n73gLCuHhMcrkVEVrSlvFfvDkNSujbSsTP9IcM0N+nhv6OV0LsH3nC9spDn0C\nrXxwC5S+PyKpZH1kkbdTBc61/NonyeDPvM+1der8WLqcD1lnRaXf4sgQptgD\noYFrqFmajwRPfTuQlCFNVFfPJMYZ2pXmk+pwXpCLjDRstkGu2bYKhwlbnhze\njsnGW1jQw/A28ZWO21K6Tiefm9moRx4zWxkSBaaX695PMS2C3AaQP7LWxPJ/\nux/o44kHoWibRHlmwLYSnpAvn5sPaz5+wDsvOvFeZ9Js/amhKsrOFumn8Cmg\ng1fxOpVaf59sXddxKpKa+VP6ameg4Dl9q3XAvzfgKGLnMQ2IrZ9pdYUtbmt2\nddnm\r\n=Z+f2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6_1626868129257_0.117789403391801","host":"s3://npm-registry-packages"}},"0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b":{"name":"@preply/video","version":"0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b9abc307913a79fc82d82952a7c87d7315667b3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b.tgz","fileCount":853,"integrity":"sha512-0fuleoHW5zs0IWeTW26cRqE2oFmklJshfoo4ovt2ywcwIMMekkUynrZZ+T/FjlznmcCHLaASYIiSEo4rYDmfNg==","signatures":[{"sig":"MEYCIQC4TjYc7uCoHRfpcV+ixd/fYtQy0Q6P6Q10bUOTMjQbpgIhAIKEJAP1ASQadnYhQf/bQtP2R9Kunzr1aXlrEQ1RWhoC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29897846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+BAqCRA9TVsSAnZWagAAjXIQAKNGnQXpoNJcr4ACpCWl\nXWoqIvclQZ5Sk96vM98tzLeWlFyp4D8Qj/cAEvpJqPCsFtgMik4IjG/IQ8g6\nBrjLjy6R4tSl/cORyRaXjmcLKWacCxoVkd3R3nntMgC55EzS8OJb1SyrE0X5\nTk2Mmlaq+ZaIAdGLsxZ8ETNU2eq6HZCey/fXdooBNOvTAYBOjwGZaZob5YRR\nNi8drMFxIUFx1RcEdO4xhtoqwsF8gipR9rG+rJT4jo4gcyFZ/hc/+BLHVf4U\nEVKpknvq9+geRBzqg6viOux4JTxQ3QhABdc0a4EPEKPGhlE9Q7oXuPC0hhsX\nRZgbybC9KSQnkF3Fsd1iY9pxDZ3R3ihh6dfY7nrDtDt7FFYzESwS2D7Liqwh\nqJPm4rIRqSovaeSpzPSTF0ElAXN6W0dVoHM5DvpCJ/QIhUCN5tYaQhOI6r2s\nouHKMiDftJmf3dReuLqla05S8b0xki+0LeH5bMG5tashMFT53HC8J1vVxvBW\nHwBdTvRtP3txFoZXPndZk5MmozucTnffldR4sBzTauOgRe5bOG3XqNSHZcLR\n3ZFuOHa/bYe1Tcl4Dxv66yLWU29V7Rj8L2RK2Sr46GeOV3oQc9FGOaVB1n0M\n8eNDjHbOzLkFpF6ME3fMokYT2e+2wW7ByK8rqIQj72NbGR+lF55Nz8r0tDeD\n1mvX\r\n=oala\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b_1626869802403_0.7430387705749164","host":"s3://npm-registry-packages"}},"0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e":{"name":"@preply/video","version":"0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4869a0f5446f949f44a480c1af48f111e9f7ed1d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e.tgz","fileCount":851,"integrity":"sha512-LMtOWUwGkVCmPO02a3HyvIDBZZQ70dvUK0dy60m9uj6vsQzr5lF539EqM5j8lCS/GyOulTc8B/zkUFdj1eOZzQ==","signatures":[{"sig":"MEUCIDhmxsv5j8wL3Ttw53mlAozRDW5npyn7ATNp+ERDAV3gAiEAp43FzP1H/bYd1Y/E5ci8EksVC2zh3cR8DqwCX7in6Ck=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32261564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+CPPCRA9TVsSAnZWagAAHr8P/0q7SFKKjHmQISmdQGXP\neBZk4eIRp1aj0iY4j8t7E6VNH8K63JQczczR6Ut70CWm1Zj8MRJnSrjGVbco\nMOjcykKBxcd4uOhroSZq3VM14B+wbqp9aZmr8H6JuVpxUNZRta55u+afddIh\nPd+S5MjEMXA6t53UfUiGXV7WwLqTz1M0otHiWO48FKF5vKbzEnnzAQfTZ6Al\nFOXSdS1ETPgCM3N82mluEWsScGhaEXAisYCnbkwLYrL1xsAMgwYM2GvzupOR\n6IMbwqg6jIsGNzVZVN4loroxp3xUmmn+kuo0jBpJ2ZboUC0b3e/RuoRfRukz\nM+r61h71YoVAXr4mtCpHm9qI5l9NPPxizpEtq+7AYYBxLMFb18rxouFfnhkz\nyhi4j+PusJv2tzzzYzeR59fQUuifAecweq2bcEcD1SMQnudEIv+XvPSgMkhQ\nFy7XkbpOHlJ5eFcRW1abTF0DKyHJHwmSwRwo9C3VB7FFluUOL5Se8HXHLxg5\necg24Dp2xUNZwytPtkK3F1D6gYkgjQPDuq4SqNBOc/xWK9txvRWTpIJSdrnR\n59sZKehkHTr10IOnYQjUqcS6iHFhrO/rwTkObSc2Yd3mg+HBHLkCc6Y2V6zw\n/OXVFEC2KRb/z+wuP57TR0fJJ0Ejl3mYz7rco14sxJ/q97go2eJOfqsGBzd7\nJ+f4\r\n=0RGM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e_1626874831109_0.15483650791237946","host":"s3://npm-registry-packages"}},"0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1":{"name":"@preply/video","version":"0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8c6bb19062539e37b7655bb07f26e605ee0538ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1.tgz","fileCount":861,"integrity":"sha512-XHvW9qdsNSzacfR/CZTp9pDpJhQz7hZ/8M3vTbUTPjtxZ7+5FxNJUTl0l8epEZ0vs7ebNOUp764r4aXuXvYBHw==","signatures":[{"sig":"MEYCIQDXY5O//Gm+ZrO2aC/3U6rz0yJeNp5DY2QVeWSG3C+4WAIhAKZ1P628IGb0Ln7A4fVXA8zFRgrcjA6UJ3tqT84h9ZTs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32432178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+CYFCRA9TVsSAnZWagAAJ/8P/RFBT4JkTWyeyb2vcLPq\nqyuzTvwV3xJwmUiXvEfD8axWzzTcPEub++mCnk5vuQ3DQu1fLQWxrI+fTIEy\nu88DUdph5FfWjvUq/4yP706wxfV+C2GQqV9qg1V08cxzW1ddm4AIukOnA4dL\nHR8N1cb+hOGHpLU7rkQgKaBVYYPjLOh674G7H+fffTgWVKEimqXiw1uJM3Ua\nyNx2NUSQzQHc4Bg1DW+7wE303CmkRFHyHHDACfjHPUne0yOVsUmb21GpeqMM\n8YPio++QpMNRN3WYbD7cOVMVO+xdUl4DNF4h+sRXUfLcfv57vWhGG6b3m04C\nxiylyRtzCPLf7Q+mSE2RXpAlxnx8Ccm062G+rXhs1SL0Gx9yoac77hltp3aW\nL2gzaG9kTvWdrooX8FOWIdHkdU3duSxHVZh9kWoaI3SWRhtNc2EASmob7acS\nCJ9aBseqLkiLPX8dDIi5OztactPhWyHVi+uMCllk7NCooP5Qu/nLSWHw5wfY\n7Xoh+VKXz7Vieyf6+Zuujes5gtt0vJN2phyKpCEgNhpAkXb7w9fe9xQ/ZSQG\nRdlS0CFSPi/sZi+XUgCLZNj6brugFjKIoOW//gT9xImnvPHm3Z6Wp7yapR3j\nH9840U1vlVaqUPzI+hLTqQbXI1aG+CSvYF6+WMzw7rIVn6gofPz6gh32p/zP\nvwvK\r\n=4Flh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1_1626875397468_0.9141484618418065","host":"s3://npm-registry-packages"}},"0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9":{"name":"@preply/video","version":"0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"85dfc93fdbf80ba0f06ce70398c9f13ca64da4f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9.tgz","fileCount":851,"integrity":"sha512-898c0HUhf4K/mXL9SSAOwKaDSwA93eY8EYHXeRU92hZE6n7bmIUDGFufWmkuQXj+5dFWbvWvGmeCEptMoZFPrQ==","signatures":[{"sig":"MEUCIQC/FUkaSO2bR2JxpVCmXQu9uBQ/RAnOsXO8mMkBsHF5vgIgHb8jTFom4fx0P2viF3ZWGXSyhig8L99hK5M4BxliU3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32262779,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+D1ICRA9TVsSAnZWagAAFfYP/ijfyYb9mP5gxFUXBf0U\nnqvrgG5FUsKmjG13QvAiDtMCb2L31iy2URmLYRQ4b0cL2GTqDKJF+Ldr8ro/\nX7OGKJut1lQdkR7TjPbvTfQFamUJ/4eZX0rb21cGy3VUAQQHmZr+pZMG9Ip5\nLCvvwARIJSoCQQ6Ep55YIKp/5PW0/RKkEldWF0N91zKHpj4Rn2MB5TM8Zzjm\nYMwG7DQ75H9/gIcF/z+b5W9fUmUmpsLcJzYpifCvkDUreS7GIRUweToSLnmz\nk2ezYzG8l8wayXVw6imhIm7SjhBGCNWcyiy/jcpDd7YAX8WVYuauYOk/oc0i\nuV2GJdCwfzqKjZmRX8J4EA95SB5xJDhfx39Sgyh595kwToGL1ZpRSxaOrY6W\n2BhKRqR/GoL497FS/27GnW1KIkF9E/7jkDVx05LUkapO0npjLe0YokuNqAsR\nsokqP2v9Iabi4HnB9deuEKm7uUPEJ0tl6SCzTx4OkhP33ohFiHLSsUNYY61N\n/INk/d2bphhw61siBzy+uelHfl9rww3//3L7DjBKRY2L2Udp1Xggq2AB/9i+\nYNA03ruaDxloUwYZn/pOslhBODVqI3iQMA9dDMLm670bcBXQ3Y6k7YtzUF4o\nWRn+U3ajnUTc6wPVpdrFeovfjfr+ZjErLYiWYT7kB+zj3hCyYyhv5n708qHb\n65R+\r\n=E+Hw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9_1626881352030_0.02601879820560349","host":"s3://npm-registry-packages"}},"16.20.1":{"name":"@preply/video","version":"16.20.1","author":"","license":"ISC","_id":"@preply/video@16.20.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c91b423bb7edd3f2b9db483b862956c3de66d111","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.1.tgz","fileCount":851,"integrity":"sha512-eYxXE6bx/ldrvYO4Dc/iyKHgvd1/N5Y+WQwc4LQZWPOPTt7X7WArtYvEzw5RRFumUnpLTbf0lkQdPuDU9+UUzg==","signatures":[{"sig":"MEQCIAEREMT7f1N2ubF7jNTjRu0jkf2kTUzVZID/F9YjnJSzAiBihMu2VwF+EMY0g3H2/H5WPXn7Lh17M7pQxnsSNMEj6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32265940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+EXMCRA9TVsSAnZWagAALg8P/0lj3QirqEsv9Ne0hHFr\nKmtG+yBE7tbdtjulQHb6y3Ige1vUZBoslWx5xznJjWUH4BBwgGMEFtE4QRSa\nkG4zWomaQw2FFHlMLzO/Lzbh9QyEoAXBmwMeA+37yuBUpXyIKi68a0ewzhLN\ne8b35OUgk3BEUNnPMPaHDzwSMoxcpFJ0lJcG5XTb17tWYVXGhHgsurmdv32O\n1NVZlztktplllk9SkBQuFmrKjotgQD41MtP5wxMtTzhk4j1ktJdIIo3OIWFF\nq4MIf1vN1OpdVH/awatTyddDkmGgleAbk710bIBLZxJ0ScOu/37Wz202dQ4g\nLzz5Yz2qh98dWob9Veof08ZbhMgyXVs/jZPK5sKde/GmelnwkAdtRezyj1lR\nuG9t2RvXyAauQpFvEV9SOOX/whqYIR7dz/i76GiCIae2bEZ6GmNJKmV+eghr\n0WG9p7r0Y39r4HRoH6Hm8p4xy4Fovuz50wP/MeyvW5M5vOAl588PM3TYL8y7\nlWZNwj96fhnugv9ewUeGBXBe+ufPDMFU/kk3YeWa2PRl9AnsVGB9Q/1NmiW2\nOMdcMZhQ8m+kesMDGESt63XFfFi+UZnTljj2kmI8fHCyICVEQwbU8/pEqAQl\ndWIRzFoRAp0NgoYYTz+NDYJMiNmIrgCQEt1Yo4rq+W2M+rCCR6Kmn9fmeYoR\nXDUz\r\n=yJm9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.1_1626883531104_0.7162905010542253","host":"s3://npm-registry-packages"}},"16.20.2":{"name":"@preply/video","version":"16.20.2","author":"","license":"ISC","_id":"@preply/video@16.20.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d4791c4056f6d5b1860da2a31d50178314fadf8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.2.tgz","fileCount":851,"integrity":"sha512-hkF2rimfKfSka/aAXRVoP37BIgKTNIgERi9N8cosjJHTBPRiwyYB6jypmrlxRteyGs8SoDe0aYiDCcUI7F6mkw==","signatures":[{"sig":"MEUCIQCtSk08NZk5eQvsCmyA7lLnghcIuy6cJbg6IiLpdaVXxQIgLwCVOnYYLt4s+cCK+gw5AL8Qqk4GC8JY4KfhUDgyt44=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32265989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+WB+CRA9TVsSAnZWagAAsUUP/RJ32E6okFpaAktvy1w8\nLv951xo0mGnJCmfvFnwvN3yVz8buNwgw9ncaSrmx4ILN7SFtrEjNowKmTuEz\n+cjORq4v+igpIUWPbT8sBqhfe7Fm3nvmbCOOsnw2yIIRtsmp/4xK6ZHkvYUQ\ncJreHkYvx4BANMAn3/yYIwGuHoy7YeJtaGRWGEhbPpV80X16j5PW0UUpqKSq\nKVDylM0+Ry85jLlnEmJNM5WiZVVleOuHR4n/hhgBNVv3cCzkm6uO2q3V/SAN\nInYiNdCKlh+Dyhp6ljvk2KLFB1s5BmBq3C17//E8jCUHZ+mrc10zfvvFkmIT\n+RKo7lfrDKaYIs0vYko50xGGoppvDttQQHg5eim8pGJdeIQkeisP/QZs0x6T\nbQqe6mryjs4Sw+wUxCMWy+36xkIH/yjww/MV2WtNr68umYOhW8wYDOZDWkK9\nPnSRaFOHothk5guDGG1739zgshL+YD1h9VitRKEgvUxC9g6u+V7oPiegkmuy\nISIueH2wjNbp7uZ/h4sG6+u4eaaXwJcKuV4TCdPdvEwkVv9nJbTBnigW7Ue+\na0dqbqMxCSKh51MbaFRG7QogJueK5SfTY5U7uK/cbEATYFr+tE4RRvNbcIoE\n46mZpiej2PWBQaQGDN12EFgC2Ex17+mGUXoMhN9JOdE//TZvJoyxTgEwmruI\noEfv\r\n=o5xF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.2_1626955902063_0.36014543415149247","host":"s3://npm-registry-packages"}},"0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5":{"name":"@preply/video","version":"0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"77ae0da1b239aa920b56e81c163ee83763ac0294","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5.tgz","fileCount":861,"integrity":"sha512-OS7S4qllDPC1Y8kO9EUq+LRCsOuU1TPsaFv1OC4pZ/0rluattmkbFYeAo5NVym1YUN8boelw1nlEyQFUYdDpZg==","signatures":[{"sig":"MEQCIHJxpDh7ZALtN0jfG1nH9AqVcbNbW6DH+bac6K9j8UczAiB2SEdYEu59Rs7Io/UncMbJYVT6LgY11gMQlEufIaoM4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32446310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+Y2TCRA9TVsSAnZWagAAX9UP/A8Hi+0xx3XgLIaNCBai\nIAssIBvae1gFgeiLuWWgv9g232J09QdBMcDq7KKy2QRsNw/EqsSrHhEHnzXC\n6EaYXmvYAcxfC7AimgoDEQ+3WsY4yczK0kOlHikDnCUEKdia5SkyCmq7J02k\ngyEB6Zf2rnlz03RChQoPv3FrIPJBCZ6PbQbj6tJYzmzvvr7ZS+f7mD/QVYXK\nE3YKktOvfoCb097x4mTCxEjGd9Bls7AEJ5LGf/i+dm1J2i153fLSq72y1DR5\nPPhyihxQ1Iucz97ry7knXwnD86s67N+VKUfN3OBGcZO2pX6GuJhWCHU2jLPv\nz4AcwOiCyYM8eXWdd9NSenTSHvsbpALwtPNhff6VCFcN0QqeNClGqz0BtDUf\n6e5lZa0r11BGxnVetH4uNS4DZL6WyfVnOgySJMxFC3V1SV/dmFfO0pAU7CU1\npTGGBwysl6oCEry7uOXNM8llU2Pb4jZ2852vdCEgpcDVlqdOFFZKrCUjoPUM\nt9nkOUVUOMsrzRQOG8l7cwia34bhU5QNHtBcQZozVFPAHOks0vEHfSn+AUQv\nVOLimshSiSPURXqL4U/iAC1dElNP3rhbd4fbNt6t64xQ8YADKY4bA02dCk+s\n9Y6E7pjNU2uuSMkhSMGmKUDCH9G3JoPDLXUTqGCkQVg7DdGisf6dNGaxlhaM\nsWb6\r\n=n0wG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5_1626967442556_0.7794590300518998","host":"s3://npm-registry-packages"}},"16.20.3":{"name":"@preply/video","version":"16.20.3","author":"","license":"ISC","_id":"@preply/video@16.20.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"54459d07e8399a0d54f8b3dd03e738c3b2aa94a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.3.tgz","fileCount":851,"integrity":"sha512-JYNCxKjc9xVURp+QfYPRAG06k/b0BtSpv2Nwl9Yv8Er2hnwKOORbV+/DSalMkCnP/hp6WMVYMZ9xPeFHzHzrHg==","signatures":[{"sig":"MEQCIEb+/Z39GiUTSeamXrOSlUMDGkjNDNbpA8GrObylV9zqAiB+hIepmveaWbam42jBNJOpZ2jtytOuSWfHFKCM24/fYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32268650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+Y/eCRA9TVsSAnZWagAAa48P/R0Am+hPk31CQA71Mpx6\nWyKBoBG/S8306f36s5GYcigOYSZbyEY9PlIruGB7Y58NDKa5bo82gXbzrvs+\nK59QEzofhH2oxmeQH5RcWALfyis/vB2OABvtI2KzcW9KNFDChzy68aGZEJM4\n1ZMtHncSw9u4mpO67ZZKIRQ/iG06RlhqR9WnIvXq/KoN/AR6XQUEnSWiBmGk\nDftvwfrzHZQ6pbIlwb9+8jYIlUkogpiZPCKmSRWQ8BbwoFkPa5MgUXQjDpEM\nDIAhU3dVtD6gSD3eZRzn+ip++FAZdFlKmFv+V/2JbXMLw5+S2P2ULSbi4tjy\nL5/EwOqXqW22nLeY+U3+OWKs1kfFKOF5B/r6FVuD3CbvNf9qvCNcMk36xcMR\nHNOccy+g/1KqRPS5/uAKPje8y2a6+c8lyIRwQgRAA10pu+2mAP5ulFvgl6Ay\nzxo0AONc+yGKXNx3o1aEZmc2aukNsr4UndpC4gc12wszjTnWVmU3CevCJp/u\nuRxRcmSRvv13nt26/qTg5MxdFXKDGJpU/IFTUyN0d9eKy5y+dJm292oQGE/N\niFun+ZGyuPgsX54egOu1Gtb3oCSEddyFIb+Ilci39kSlzF4l8zC6xjTIu99U\niNq34Tz82s8vGp/CCZOva6FA+lbdvm6HACynWJr/T+gvMWMnk8AFWk17Mblj\ni/5Z\r\n=sEC2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.3_1626968030113_0.260868912771399","host":"s3://npm-registry-packages"}},"0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be":{"name":"@preply/video","version":"0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5fb5ffef6bee87c376b9a83882bf48c70ada834a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be.tgz","fileCount":861,"integrity":"sha512-r4qJWEQPjeKmz94QHj7hYx6vEiupGorzIP7I9U7nQk69D7I2jUfVk7MTencRa2Sy49g4r5hNhSSrbS4QGAgRPw==","signatures":[{"sig":"MEYCIQD2ZLaY62EGTTi1CJFHfpHOUCrCdOLF9qk0BCNVrpFWcgIhAN4wwgUPnnziaLh2Jj+EkIjbT7TDo+H0jXQp+TkvxS5J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32448971,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+muGCRA9TVsSAnZWagAAplYP/29KZTOE3oganPNe+O5S\nGLzGdeAtdzHIOkN/2eB0NDKiRhAi/JV1RbSYEeS4Fhx2DBzp4RDfIJ++rMuk\nMOWu423bqMvzYC8SHwFRh4LUgyyHTDxmAZB/oeVkJHvylF2v376PSkDG6e88\n9NxpIicn7SqYDINkAHNhwTDOLCLJOV9xIf7zDVitbA8wP7/eE1m6gsE8IrQ5\naR/XhHpVGVPy1uACN3EWdfL9NcBFPVVdUsWNKkU9IJVrM35kxfT/KvK0xas4\nXl8eOrxV7I6feM/a4xGaqUm50GlNdkGpSutFkydC6AefHsNk2UGmPe+CwRdd\nFk3twb/jMClJ/LKuVrZzwqlXvvUOAN/JOMXIlkrfAW0H/4kJl0Uuo/kT9AlK\nua/m/5t0r3dynF5yH/E1ZoGLcwhPlBanig8pK3VYgnS8V4+i2VEn1IoHzfHf\npXGvkoiE0h/pSWwfWrF0TtnHoKow3VuQhgG6Bled4v0jz+MAlwLZX7rbuYc6\nDyVmguXJPWButI/U4yeQGr/IdiZeeTdQS8JfhvjJBVXpgQDmCMxf94XOnb59\nem4OIZNDBJZl52dQGKA0JutFEBPHi/Nz9PO6lxIXeq1gVG+gN5Ue4IYvpLIU\nN1fI3foIhGf+GTp+6+zuFfi/UI7gP7Z3rXY3MTAwa4+8G6TGOVYSci4gM84p\nvdaW\r\n=r5au\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be_1627024262284_0.5400518309086149","host":"s3://npm-registry-packages"}},"16.20.4":{"name":"@preply/video","version":"16.20.4","author":"","license":"ISC","_id":"@preply/video@16.20.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9347875801cade2e97390b4508c0d9a74ac3b261","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.4.tgz","fileCount":861,"integrity":"sha512-GUkaKMdi/PAyBjBspS+pLY3a71BGhEiRV47qiEqsyHjb883VOKlZCReghz5LyX0F3AVRcUbqY4TzM05YNJkJGQ==","signatures":[{"sig":"MEUCIGQw04qSFV0u6LYPcYf4DOPYDmcB0YX5hsaFoixBlHz4AiEAkKpLWGnqUFFkuk2xohABOv1tWa2S2U5Q0xZJO9E9ewM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32448237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+o1DCRA9TVsSAnZWagAAv9kP+wWipYP9M88hpXO/95Ba\nFIkYcQ+wIjrh88QQJ0UjuALajuWd+vOg1cl2gUzzXBoPk/RevasRLHwbEMnq\nDPYx1M1XbRLxAFQeDiJxbr3ROgc9dxMJM8+jX15r1YM3B0+5SmjcwShOI9W/\nUwJAahXI483YIQ5MXvSVsEpmapBM+wF/xk7kZCLpvdLSPj4HW73tiOyHvLyw\nI+yneECRm79QOYdOdJPFWRh+ZRYY4rtetlFS7eIBnMXJjuXOUs8JkAPlBMhg\nYzk7DlHfr4Im/qncTQ7RA2xEM88jM3R8EaFlMqqKXjLv3+fbDPy+5qoBlxMs\np6irKciWTArsL14bbOTvVOHc8/0u2YN+fqcwDINrVY3rIupU2SwRTjb7h/SQ\n51pLHB6ESuuJ16Gx0va6/p0k4iStb2oQn1KWTn4Ce8vmxTTgYWr3czTEzRVy\nbce+PXrfm2fzgS5DmLx0y0JbwTbngc+S+hatdEr19mhsV+0WmCyOMSzzbohY\nn8bDyvOaOe5DnrmWmvClWR5fHrA2Sv47gSgJYcK7DY2zLWGId8Y644nVsWLG\nclU0gmTC7BRaFP/DACySt1T/U/VEbYDTm9i9fOv4kzXSr1xejcLcpUXaVukO\n342Sby5HZ8qAfUroVXIACS9wa1/RRyrS92QYWMB4Rp0BQ1b7ny4gdDivTreJ\nBe8V\r\n=hceu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.4_1627032898946_0.45410741296417867","host":"s3://npm-registry-packages"}},"16.20.5":{"name":"@preply/video","version":"16.20.5","author":"","license":"ISC","_id":"@preply/video@16.20.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70459f60c2e8a05d09de5caaa3fdc93341a442fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.5.tgz","fileCount":861,"integrity":"sha512-/sCPwTN5E9WEe+G0wRJmT0gu2e9PgDuLjzwfV/KM1nwRSiE6oR1njaOdjdLXC0mHVEW9oQje4kI4V14tPGl9Bg==","signatures":[{"sig":"MEQCIDMkZKfZRTI+n5wwl44AItyVj91ZKkVp8O1LJ5HTXLztAiBcxzqfP2mIQi9lNLBAgTh6Pui0Jvhx/ExPagkUauiWPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32462862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+r8vCRA9TVsSAnZWagAAtvcQAJF4PWmjTVaPguTRQl9P\nvfDCtlMSisUbq8b9LNYbi8t4DRNvFhO7wsUEzFWrXMv2klCXdJJMxft2JL2j\n/mm0a7+J41vjVWGU6EkNJMFvWB0SQQeRIvghMiqBllTw/LyLTJptmnF8jaDm\n3d+BKYvHhwsoClCp46VfkGnCSnfzdJz7poJAEc518YM6aDfrS0XjQV12Kvdt\nj/KEgdUwUX8gbChnZM7vPNrbJ8aiIRPHgGhBz12RAS12eKK+Tebcp0aTtZ72\nhVP9bexSvwYnPFLr/tCuLKb3fe7FKRdctwu7KdzhlTnqYMLf1Qi2dUGheDBX\nISTKAwRsCs5wqYkbVSH1lqGJz2UV8C4/vTi5mQ4a0ptwL6E5wMkg62sw9VQJ\nDuJiNK60WCfhSKsCNZuLvoFsg0+4WaOEb0DVHr+Y37phsgv9hhPqV8mnyeL5\nhrLw4DAoNio5cns2pr51fN0sQe8FqeXwafU5Fd2BzBVLbFTqyfiJC5D6VN0P\nyrLIdFt7GAAgTIkS+4oQa7neFESV66k6BudKBmsc9F7jRkWQnWlG9UkxLV+E\n1QPDd+jGT0ixLBlIVqrvAJ/4qVaxYMZKIlG2k0nI4tMLMrS6pEPd/lerkkwJ\nv1dhS2yFDRnVtlE7kS3krLBx8TtPl8QlKTjvgDFy14piIrGixPxiRAR5iOoI\n2yrm\r\n=ADUu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.5_1627045679265_0.3501267441631646","host":"s3://npm-registry-packages"}},"16.20.6":{"name":"@preply/video","version":"16.20.6","author":"","license":"ISC","_id":"@preply/video@16.20.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"708c3f27e5ee2336c6786b4bd443ecfaf481b6ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.6.tgz","fileCount":861,"integrity":"sha512-Ke0HhQPIrdtT9/M+TQjb/Znzk7tQ2A8Y3PSm3Yn4KvAhZ/bhoxxbUbRI9d9sa2kR3unSrfpfv9Nz6zVLPAEZUw==","signatures":[{"sig":"MEYCIQDYrPwYs0XoLq7cGUI0169eqwabJ4dbvt4IGp2dvTzjcQIhAKaR9aHOS4jcxTJpunrHLwK95hDj9Mtbg2MBjbiYiZQ7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32460533,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/lNDCRA9TVsSAnZWagAA5EMQAIdODuLBRk8yMoF/t+8W\nD+YxQCiJPchg6FAlwNgFm+tU6TAf0FlCpIoWqX+kLAQSpzbWAVbtZ1Rd4O/C\nhxIvmYYy8VmKY/xVb4pcCxOLc7t1faQTeCR+XHNv4CxWIZSIa+dyQJ4DuDPn\nE7/X+Btngs14IaPwT8mrz9/2SxsLlmA0wPp9BXdWfLzztc0lRiktbUGBz/kr\nTXyunqyxRLnAVOc9ayCMHN+xPzwzuAgXyKxjPSXIyjI33pEJYo4TKzQh7+K0\nIdNWrG+JjjkOTH2xp+P7MkrN1JeVW/8SAIpE/GliSH6rAJlPGT6hX8kD5pB+\n/feNvSS8d7mE3kuJGkIWh2VyzodUFBfEOeObwLZ5Cj8s1ULqR/3+oZcPC35n\nOtggEx0IYl7fYTiorYRD4V3tXOXN85W3FabMDUX7TE9G+UKZNu7nwl6o98nx\nEArIAnLUppf5kj1hsmvTKpqLjanjZW6cNxf05LhEG8njDpLu4bAbzFSl6I0B\nn9BlyMjwt+GEzav/vMKare5Id4xiQo3/ivSlG3owdug+Y/fBqmKcgkAjhI30\nfvU9NG+Z9na/PuKK9wYWT6Zo1Jop4KrSa61KpVqd465oUYwunxbnqANvmBro\n97UKK9D7689dvj5vY1EbLHqX17MrsNjpzusbbf9Pdnk+t44iatu26SBJrop1\nIqs0\r\n=u+jV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.6_1627280195166_0.03405494467645598","host":"s3://npm-registry-packages"}},"0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d":{"name":"@preply/video","version":"0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82a9c7f8006a47a67a0e32833874d37f20074db1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d.tgz","fileCount":861,"integrity":"sha512-jjbY7doyG1AXDJTtbU884SQ74NyI6tsA9NA6tgQ+qkKohBXGP0WtaV3bCQMt8pZ1Pro0FpeMN+jWnIPDZtANMw==","signatures":[{"sig":"MEUCIQD1SesNePen2Zw5Jb61fBkuXgwoaJsFmTM8kDiRSy3oEwIgDqVKSKdEdOeELVPAcq705AVnBIBvltd+fMWGHE/t8e0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32464402,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/nTbCRA9TVsSAnZWagAAUSIP/jVT7M0jbCWxGFm5rfc4\nWnR/cMtQ/5OSDiczNVpwfIN3DYziXu9yMwS3gHPuzHmkoXQBfq/QcRyefxM4\nn4TDfvCgGb7U1RLu28WsPcci6VzFIhnHqJtSamZBXNZDEbGZoAP4wZ4/4PJZ\n+nlV0+WlafjgXmwIngGJNeK86Fl77niN+FjJen5ePG7FY8SW2r9F0CJC1sGl\nSvJx7JIThI1reFOOtvk0SjwqJjm1uh/dnG/zWbKzEIZtEl2Gd2FEE8WQFmeA\nbis6TJHhz1oycO9aiczwykHkOn1m9koUHTXbGS32b/CNFIdwFJJ/KlfTGdEG\nuuzxZr6A/asKw/w9nGih7W1IgJpeOK1ZA+6k+7mhNEIffQga8J2GpK501qaJ\nfP4OTgzM1wQaAYtNggZwX0YpwrfrEAL5AQsj2EXGIQEJzwB+toHd3e2b8Xkf\niaG/e8feTQkuaL/HVfwjeU/nWz3poqRmgGUk7iYHKMK41s8ty052OprMYeoJ\nIB3Wkaic1olOUPcLgqN1snsNREyv5Ob5JC+oqhuJS41zIbfq6UeE0QBK0TlF\nePOFIda890tX0W+jOYTQMbcHlnixXQ7saz3hUJBducgyyEUom/WZ4z4Cu9+A\nsdwXlD2fsfsoqttSbmGTWPBd/Fdcj6n14foQDzynIQNAxCuMrDijGFEuOulC\nVR2d\r\n=kbX9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d_1627288794905_0.8129807651492897","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e86c85093c15174f731c0d339070769db671757":{"name":"@preply/video","version":"0.0.0-beta-6e86c85093c15174f731c0d339070769db671757","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e86c85093c15174f731c0d339070769db671757","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"27c5c12d0745ea3e36ee7ee7562f096e51beb110","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e86c85093c15174f731c0d339070769db671757.tgz","fileCount":861,"integrity":"sha512-DqU+DA31dWCW2lpU5nTacijuu9/Tu7nSa6gJRUq3oZyFX/scEOW64bO3PD0cF2Xdt1ZJh/1DUvn+Bg8nB1e87g==","signatures":[{"sig":"MEYCIQC9UaaWNtJPDa/xQCK+AUCh7DBcZ+2WJWOcAKxMyn1jYgIhAKc44/4cUKiCxU9T8zB0Ru96JEK0XwBaSjzXjP6/fYKb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32467507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/oYZCRA9TVsSAnZWagAAw+0P/3VrKqYftTu7cV5kggBh\nVq93cuulTgGrE4VdQ+9dD6mfpH1Wads5Jazdust8l8Omm4N1oWLCRjP2oF85\nZoAOJSiG4NG9+kZ9ddehTrzJw8/kKwWaKHIUJkslmUOxNrTzSKYl1RAa7ZiF\nfvmuhzksUervEORRheC6FQjgt2LMisBqY+f1f9bsfeRryY2dhJNWGvgKWCVX\nHLyOeWu46jYz9gMwthePHm6S+SJm1LrgojbpaETkMn1+bSpNLUcSPOFjw7Su\nIWXsiu5UpO13+ugx96E6PacJFXCR5nLcZrSAaCKf6OFeIs8kV0r8sVuGGY5D\nYsgcI+ueNMYGiNn95kUwHlKOP2ekFWJgrWmpEkchz1FW3JJYqexLob9Pu4I0\nwnylR7blN0sbaYbOQHJybo4urxWho3QtQxjUMatJEvfuUurp1fzDT+EDXj+j\nu01dnXeQ9bhK5cWBJEWhU6lYTL+yVniF14nGVg/9iuzU3D/zibKElnlZVway\nvvvFO+73g3i82hLLb8pgkAL1fdl5tWi5gawQDU7zk1QrRPQqnbQMW5vfPTU0\nZEo+XknBzJv7HLFdjXKR0MhuRPDrqvCMdFEDh/zUC5KW2Fg/9LcpVnoKZd11\nlZce+ZI7RftVC9sJ689yvMJe7wYZoIvNahpRHwo6dJmL0mX8ULA/RNxIPOa2\njICe\r\n=6/qL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e86c85093c15174f731c0d339070769db671757_1627293209435_0.20521825059032217","host":"s3://npm-registry-packages"}},"0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b":{"name":"@preply/video","version":"0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"21fec5dae33bf8362259f86949cc0a5731d398eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b.tgz","fileCount":861,"integrity":"sha512-MLY5cXsvnqTcQ8mes0rhXe0IbGXB8AHgy+eFy30miXAPu0LLFC1PGQ9635B0uoKz4nlWlbX9/V1SJ9Zv2ZF8vg==","signatures":[{"sig":"MEUCIQD7MTtE9J8yR0GVxZxlMUKV2uAYIAH/kcBizXpzVLMi8wIgPiYqRLa7eWhog0T4oOMc9zlNpTi9NxCrFgnb/duHiJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32467507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/ohGCRA9TVsSAnZWagAA3tsP/1kJVS0heJRKHYoo/0mW\n/rvIPqo21myX3ms3Pn4FLajc5LZVRMBBmB9kAgTbESQPwQ5r94CAo+eXBa9t\nddq47h2avbtK1jGBNlhQOD71qPIAcXHlmIo+FtpG9V2mW3bXv1+qK5RKEm0b\nrp2vqCTz531HMnT0TPrLm3mqMadfqe7U0sDeimY0aZS7ZO33DVX+t3TXjKvt\npHBHlo/iCb7C01dnRPiQ3gkjTkJ4/CNU7yspXAbBuv/N2NJXp3w2IUhEpzHu\nWi8ieBXMNuA9vhXiv6fldrOcORU7xJjqS4g85ovsI9WC4v///+uEfP2vhJmN\nuybAgl6OcN8lENAr3S0wEW0fgijHgePEbtLQ/o6ACbxDi3LthXQ3cmj1Brv4\n+lZZCQ0znTw9g7E97eFUIFQ8j+8H9I999/OBoFHIzRVsThVi4VMRqmxnSYG/\n650EIJBjMTckPe4eRAhyQE8Bzl6b/US0E7k71iWvueG7ElsNm5hQMSWi/7KP\n/dkXE3zMYojx8cQHrh9t0IvccfW/P+xpk2oyo83BPct+Y3KH4JsqCYK+YjDk\nlACrVEkj63eK0p3H10lWx3qAe8YN/iU+cpgHnNGdUE0/r3vc3U+iP9TJkT6F\nGUucPGgPXYfx784QW9TsF17l1bBwpIPdUs7RDgFznNFVdqMHksJm1XZJl3IL\nj20O\r\n=6ojP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b_1627293766098_0.6911761205070943","host":"s3://npm-registry-packages"}},"16.20.7":{"name":"@preply/video","version":"16.20.7","author":"","license":"ISC","_id":"@preply/video@16.20.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0fafd6c7bbbc7d1546125928e3028b12a823d3af","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.7.tgz","fileCount":861,"integrity":"sha512-7vczr6UktR4TsRabg+zYLcT6yngutKuFjynowmWxN1K+y3VAN5iWDUeWKwawFqEHxfVKP3iot07i6HD63iVZvA==","signatures":[{"sig":"MEYCIQDjn6pIbE3lnBcIedzCB2kbezst5OT1DVEqFHuz3aZwdAIhAMtMOxhRq8A9u8JAQ0pPiGSipwVmiiUCVlGrREtSMxX3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32463038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/orPCRA9TVsSAnZWagAAsKYP/R09I0yKQcOC/pp+ZLbG\nLKJMz25E5aeLorZnMDHsRe7w45/NeoenM7wz4qGY4V1F/2A0oXUnkoH+62DI\nwTnhp410aiU+n/gaAKnVinHPLsICFPN91UEfEnZEgLXwZXkSckbjRlrnqi04\noqz7WAIKzPuGVs27X60cDwjT+pnesBc0ijQ24nR7jWmO3KYj0IYKmDYQuHIp\nakFlHK/VtJ+RkSMhLXccZRCDhVZTD9ywlz+C23OHoKBLk3k1LEA/mwUvig9c\ndydDbMZmxg0Jzk2a1WHzecJz1Q4/vvxugZWRe2YIsOjsvoaACNebdZJ9seH8\nGvwYN/BAJYlyNe3P1NNCF/1lC/l+Y3Ua70um5GXBK4GFamRe2wrZqGD7QQfX\nLnhNlkyAjal8PVQIa3OsP8ECxe0KCsXCjoi98PXf5P5nYsayFHZYmAGPJN5H\n2KvyY0IbxtGI+UQ46tGhQ9oQ2RcONW33DFkIpk7htcWM/RvsAD/LdCxm1FMZ\nxrQBgx9aD1MVI6qcA8M0NXs/uTJYuQs/otIqJtaqdkNNgdsbU/9l3IO7N0R/\n+5HJ5JBe8sE54oonvutJwCyn7od8DLDhShVSs/jyuikyGuXyJQaTptLuZkGm\nSx+GUBVc8VswqrzZYLQF4/aI35LPgxqs/mR9MeFiWmQnBv8Lazvnlh5TfR2y\npzRj\r\n=CC4b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.7_1627294415052_0.8852311070698278","host":"s3://npm-registry-packages"}},"0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8":{"name":"@preply/video","version":"0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"678d3ad8a6971da336d50fd2f213482d41921167","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8.tgz","fileCount":865,"integrity":"sha512-8TCwH9o2gyECzh8NDasH9lRbRPyw0lVU0zc/PiX2AedHapoXACrNACOb5/Ey6EIEEVexNalLuRmMie2G5rDBKA==","signatures":[{"sig":"MEUCIQChYVTQIQ1lhws+sqoJiKcTQC1QzOnqNFKGl5Nd4l43lQIgVoSY7pSk421C9Zu/6984Ge9vqLXRWe5OEbS86m5N5NM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32508261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/ulgCRA9TVsSAnZWagAARyMP/AmyhXvqnKzMpqg8MzmC\nKT2nGXVsdat7HByRbtPwgY6IFmJUhRHS/+uH/0VgaI7x409f40fq1GioaHkY\ngm/j6/u0JFoUjY0XzVGSq5/0A/WtoktIBDeKK/ydmpes78M//A8oQDg/dwmD\nYrPhDU5JcrRXusL7gsIoszrIXjpbrH96WUNmoqAcL+EQQLzaRQKth6xl5zLG\nBAQ7muz4JMWge9PFezxIFnTZBlY/ftnfSWRRNGeDVgtTyNPZuGRFUM8vb70+\nZ7fBfUkQmk4JA0EZnwgyASpqq07pGmMLS23yLjppybAZe1kklbwxeKljzt4t\n6qo5AADlpZBLePIWrmynQK0K5VsEQRrEocbPXnYz5ecGHxvdIs5vmyffreFM\nFi3X0/C/x7unmpucLd8SuiEfTwoQwy4ShbjKPVA1Qous8HNGsZ/5he8JC89i\nVe+inkXXrRNHLrC+RPwN5FWBTu96WzN4V0ZKvP3fkfNvb5S/vOOh8w/DGrJD\nmG6WlSjzDIrlk9/6WPvVAo2LqX9KlUnn0ZCwe8QB8pYjSn8v+bi07yZJPFp3\nuLlr7FyzVLnWWIaJ7klVSrKfpD/zj0F4ZnePpIDpyBuC8Fya92bks3QKFpbA\nL0xbxt1xHP9WksdJ4tvDp5/UcC/XY+Hv1kwAd2wHe1baOaQHwlSIZiSWpe9n\nBbON\r\n=Wy0o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8_1627318623586_0.6173201362680312","host":"s3://npm-registry-packages"}},"16.20.8":{"name":"@preply/video","version":"16.20.8","author":"","license":"ISC","_id":"@preply/video@16.20.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0a9532a31b1268bbece4e072efe1ec93b3a2d818","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.8.tgz","fileCount":861,"integrity":"sha512-64Aho2HzK5X0v71XUhnWBeknQsGKGxiM8Jd4SQGeBVOWN60EmwiZNnuwNSwWrRlqBOMuxWClhK8n0tAZOo2Mpg==","signatures":[{"sig":"MEUCIC9YRK+PgQzR7p4DXIagR0reNfug00dkYl3QzDPXXa8yAiEA8qDEf00zSEn1Od3hPi+t12mB/D8fd7gjQJO8bZnJR+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32463769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg//F/CRA9TVsSAnZWagAAzJwP/13M6/px1p7VvQELF/hI\n27iebMGdBM2A5d1RUmvHL9XAsyFxNtdUheDQFsUi0R0uT8n70lnMTQTsmeO4\nkxteXt0Dw902RHjs8ubJisgA+1i5fSqa1x9ICDohI3c1gPFgZkSqXPB01a0D\nbgEQ2o7xEVoWT7huMZGzVWqwtRjt7QgAOTBESSdpJ1C6vlz8pD2VANmUwdJq\n92/Z7gdBHnLhAuk5hwxm+BELyI8/Is2HKYgrsm9gLaxLM9BaeICuFpHimbty\npzxYrzKRTvsW4mbbA5cJW25CXTuKd3OtD6oOFtKc8qdNCFlMVLbBZB4bGa6n\nX/fI6H1KfB8LLiY1DYMuGlrqtxU5cIOgiZVOhO2UiHrMr4stuk9yzedT9m4h\n6D8opW8jbq2cehbha2N/CYkh8u7Hnn8HL9caUgA8NMeUqc5yui7pnFuKuoaB\n++3+cPm6KLonEVl24HdHN4+3ZuKrGNlhrKhvStYdNHHjuW7QRxxKv7lrC4y+\nYVu8VSKsWXhOWk8n3rfjx3Zh1PRIY9GJRIJjS66Js/8uvgx6mSi3DQ/128A0\n38cD1iX+/9CHiv4j1xdrricOuSGfRUlEvyyZCt5RbPkT46qHboFCOlERD/8B\ns/lEPnRmunrNRX2dzBKoMPdVNBMw3vpGdRhYsMeuL2nLzMPHb44LxuDWUZmK\nNkZo\r\n=CyGi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.8_1627386238583_0.6938427309567194","host":"s3://npm-registry-packages"}},"0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac":{"name":"@preply/video","version":"0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b2a973066f25af60f428a1e077c4aa393c8c13e8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac.tgz","fileCount":861,"integrity":"sha512-5Pq7zsFtZg1ATdSViDqN3yZdkVqgLZPvuv/3LZ3V9f9tNeCRJk+o7HyM8QvFLAXTwT9NyktUBPM8wFIfXF7cZA==","signatures":[{"sig":"MEQCIGam0TbJjA2c6RH3ozN0QGq4EQy45bcC247clKVli2KgAiAUJ9x8X6XERfvo62q7SahUhZJjcHC+blxw0Z777NQAAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32464492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhABObCRA9TVsSAnZWagAAhHgP/382UGI2Kj/nyL9ZSH7J\ndsMR3x8rZzM2EuTnkPOWQmySqWFjZblylQw1jKHO09oomyL+LhXC3uS+hy/o\nxnXjWNRQJcfT8TJlmf3fw2YvVTRETwaWb/INWXobNBYnkWLvoeaGIJ0vT8+h\nLaEyo6cP34ufZkIP81qBmGekm0NYqucNqupG+X4ImVh/rP9sXMDeOzK7l0xl\njPrSAOO1vNmFOeLbiC8/gChehdQjv3GKFMjV6775lchjthGqd2qS/6M/3OUP\nNXki1qzd9xJE8tL6Pf5/Evm3k/SdTJjzUcjOKQ7gqum2sFDLvuvHCGB16Yw7\nCC7q/Nt7TJBq01BFFIRtYb2PbtbKMCbB7oaG8HgXmadxB5We2IWKpggFB8MD\n4Ga3gzO2QnvwCeSyX8ywRynUxIg3rIrgLFjYwdMVRf3TeXLFX1n8ybsZDX62\nJ/PkpQRqwaozqXDwMwoMLyT2IIPieCwp3KTv8MiA8SrZlVlUq/lPItPvQxhE\nEGrw02ZYv+qLsjSDP/9tEKaMSXbWdShm0Pk7YGmHibJHECpTqDowhgITEQvf\nq679AZSDw2vos9k1yAL0z/40+eRQlcEZuk6QYjkLjXNEuZePP0m8Pw8nfSI7\npzl4XLnEdeELKM63vPf8p+A+jukrUAwxSh9WYsn1SKLyQpJ0ifNBLtj5C6BD\nknzh\r\n=tsTI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac_1627394970449_0.6842537762712835","host":"s3://npm-registry-packages"}},"0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a":{"name":"@preply/video","version":"0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1fdcb4d8998a154a4323884af1d7fe44d5d76578","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a.tgz","fileCount":546,"integrity":"sha512-rg/dYqfMlyemHU795UrKzburClzk3M2pWjjh0SKH4DGQBK2wlocOumjOi1gmJhlLVN2y1qNHPAQxiiNhnQolgA==","signatures":[{"sig":"MEUCIFkvC+dymPwOsA3E5cG7nrZK46/Z4L+1E4RsfwAEdOVdAiEA+WmhjfIq2zaS9H87MNQGDeOXDiteHnZh535hZLgMMkg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":935719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhACE+CRA9TVsSAnZWagAApdcQAJX1+UNzM2TnGQZS3K+D\nbL+w5AZbEBSw4KXLJIxMqpvU91wwhwqK728Pw7H/kh7y4SMSvbgC7Y/cvOLK\n1/xWSK+CBsviDWKQWpArIpuo4/rytce/av2Py6COMXVkRKfKl/ZyZZ37SjBt\nKTZZAU1WPafc+tIO5SkkgoTcWrf8mClAF1IrRP8KOO7TSeM0hXHIQAArdxCW\nnUG7cGfKUM0vUVunfhCIlA1ZC3/roF9E3EEk84gTa2Pu/9JGSMDlYobeRiDP\nI2Xt0y0Bo1jSuVW9g0hcINYGZffWlARtn/nPMViAbxvckry6Ty7bZe5RHjXM\nifPYZo38JZOSPA2aqzL2gj+kad9BscvCrLUlAeJrBbGoVQqrLexftAc549/E\nNaOXAdRQwJ+3UX0ZHPoKhf/+jpqhwhX9CroIoSCvILH6J63VZnU7dB+siMD8\nORBp2ny0yP7u9I+Kc8BT2AIYwJIMp+hsEksj+3vK20bzSjiJNTbgUsA1V8/Y\nnWCv+UfuButyTrIiSXv6IHFOnv4h4STbbP7G0IS1rB8RnUbVe3ggnMlEpi1g\nDE35i8tt+gJfpzmOX/5gExjM5FfnZKxo8b8UyJieTm4d5hL5qweqou3cfg/9\n/QqZ59BFNa9ib0zNPCsL0u58lePw6IYsKFCBTlJeSL4hZdBv8coU09CySBUk\nyveC\r\n=xiEB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a_1627398462116_0.21941199229919683","host":"s3://npm-registry-packages"}},"0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4":{"name":"@preply/video","version":"0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"835c35b9a4240ae64378c198988c3fd1812d5afe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4.tgz","fileCount":867,"integrity":"sha512-5RfNuSWiefzPOQTinomnmASDGVpXuETRHKmceFtw93irosW2n1zHBOb0RqvS9wdNUh0mqf4Ok0qDgrm+a+9+2w==","signatures":[{"sig":"MEQCIBCzC2bilyBBemxFBYGnXBzs0NMReutuHA3x1qSghCYDAiBqZXu7NZz0ayFm5IFaQjzFwD4dAFxHNDQ1KkXqGYrufw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32547420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAEflCRA9TVsSAnZWagAAUskP/iYAuUVag9Klnl4NoNAz\noFSvlAZUzrsyp3300K80sOcgXaCPSPYb4Hli6CNAm6ukkh0uXcP+FYghBVZo\nc6FIPx7MVhWuSJRDyh6uBLGNq/VrlC6UYZpWAIB4CWO60nXSIxPOa8dXpuYw\n6FAoX4FeQh82AF3FWHg+94UjuI2N7zLkZHgmAVenMr2v0Wdv2Oc4JpAMeKQj\nWfFDoWxzK8OH0hfJvjMKl8L0uXss9NVwayeRFUHe0h6cCFJxKNm0I6PcdP3W\n10AJ90WpO1mgXpWlgzYSBvw37lPWAeQ3kWkYSzKc5LtYLRQ22Lu48X9G/Fx3\n6Ddv68mtcroUv8Nb6fwDSaE9EZfFSNyILztgNmI6sRXs1swyOgqR71J0nksL\nT/UdDuJtUB28UIBbgS+36qb+y5EasizI2qDjGrnO7g8hlBRa0UqLbuHHShwv\nFoWl8UL7GG60Bf6X4Rm7GPu/w8WWfq2vBcwURdkzV4TxdOVUVNSIT9m8RJBZ\no5vJGUz77Lr5jW7y39DeYEg3QOvjO9fMZlYNB28EfVTegmfrkRaQRCkTLqYk\n0MzNjVC8Ie6g5ti6v4fxV6mXxMQWx73Ct8Vuf8bzjwgvlNqrD1GKuF/IAtDp\nLkHJSH2VmoiQezLAaY4hLCGKTeRlWr6SYLr8VQPhFCjHvivkcPbfIM98yOTq\nnSvx\r\n=1mMV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4_1627408357423_0.9799035083488632","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719":{"name":"@preply/video","version":"0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"30f90c901ff15fb2e5b070c23c7b24d29a303e4e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719.tgz","fileCount":867,"integrity":"sha512-i950wQYPN+TexnHFMyucMSvAvz5DFvBKrnlgB+elvrFuNUkFWE5NXluhoHHv1XYrtP9aWw56t+7M522Chd3+Ew==","signatures":[{"sig":"MEUCIQDhFXOmTTNKBELtPFI3c5loYnF31F5QLXJpvytHBFfKbwIgcfoek5Lt4lDJlCz4aC3/jdooL5N80ycCBaDtKtiyHkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32547420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAFWSCRA9TVsSAnZWagAAOvoP/3b6aoyzX/avQWTWqKnk\ntYY7L0ZO4GW3B0Wrvjw1WfozsGyLn4ipLhmUv1KE/mXhkNfHqEOulvlQ0ld0\nAnf29S+couxj7kktiayssP6qamYpspys97dyMHD+lmBuBLGXxnhdPBmpBY67\nd+lHQgNBJIQxph/r0Kkcn3pr4YNsbdr6S7leKQx4ym8ru6r+2e1CW+DYc4YH\nj+kid9LHrtO7hPNjjb4Y+MUrcoc0cNT87U89QzHdrlcG0lArBSViiWln01R2\nr7c12zMKdhJr0GZStDZp63hNfv0axtVIEwDpeCkXRGQdI9OMkV9B6PsCxDsM\nLYw2QLiwDOYdyPY7v+SwuKtYX768elDXiyjmhkMIZlgROnhi0rwDjIvMGZ4+\nmGVb0GlnCF1HmZmDs/Zit+rwbjETqU0WLnpdiY0jmS8WlSXWGJlYEwGdyL1R\nLGBTfmj0gtpaFZGh5+xAAl4/43LYsHmmlR+5HR8nUDjEX0Jicb0tRHXJYFF+\nB5WTT0RiQh+k2Voybq3/Hg2k62d56JEd6GJKjbyTZXSvqahU4ydVq0a09k0K\ndlI904KOQPBloeqldYRUuUGVVaynfhDZ9+7Ckf2q8S6tGu8K2U70S5Gx8Vbb\nfg5CUwc10iwaEI+JzodINb/tyPa2IMFJSw7EDIPQlxZYUJ/OLixE0F7wHeLJ\nxX3E\r\n=zbHT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719_1627411857914_0.7557359507407921","host":"s3://npm-registry-packages"}},"0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6":{"name":"@preply/video","version":"0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5bf7aad2cc4fb5d66a545d6b2dd7c239fd5f1dc5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6.tgz","fileCount":867,"integrity":"sha512-MRocIdIp2y+QnXqt5AjmxgvOD7RHsSHPfBwrbbJd4qnyICwBjZFKV6wHXMxHy5Z4IPnHo9plscgqrOmoszo/yg==","signatures":[{"sig":"MEUCIQCK7GyG+TW/unoMNWgKuYKO5ROISMpq74lly6Wu+CFLkAIgdPkkfv1LVNsj5irByLEsL+00dqecFHMLeP2z75wtY4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32547652,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAGPaCRA9TVsSAnZWagAA+rIP/iU6OYzGaR6kwhRVBneO\nmvJZn0fKrgpPGvMWXhg72LVm9wkFttxbpd11ZpzphO0KsgPL4ie5Ebmj245S\nqZKHEpmf1PCV+loZ8ie0PMIwj7Tqs/yDIfPaeybdENzS8mVn1fHDu2m1a/g7\njSw7qetrD99XFHwphWBZeKkrh3kafxZik9Cxy6VRyemySwXUykcSG2cRjEYx\nHsgt/pdfUyBVb6n1ADGPkSokqhMmoqHpja4WdQgKXP7JKwKx+5Ff5nu64eLh\nsF8pKQ74Yfr3wBNPt3n6OS2O/umZj0QaNFhWtYd23RoUJZvZg2FtB043C2UZ\ndqLqsWedBfy3Lot18vdZjlErxLJDKsl8TZnOuI/EfqHBSSZ8aYjOjq9Pdvnp\nddij9rFEbLsMzTGHkX4/y8iO8B8tZ6XYSc0THxbDW59LiyIZaySnGq2ubsQL\nsNkLl/RH1V4Wc6NihiElqw7pk8+Fh5RlWuNr4aQ+FOyo76Mik/yyNqDLV/Bg\nOaZN3FW9nvoKTCJoQtc778rCTE4+R3IvKuHowXmakGhe/u3PlaWWsHjz9cQK\nFi0DZdTIqmilWndcSXWPBUhyozwX/EvoK2OYOki+I9YSjEJ6UXr/pGWiZZRe\nf2EYynf7WQ1ZGuSVH4W6T204FghCcV9GzOdL0y6U8WPEquy643Tbj5+jDhR4\nxCCZ\r\n=gYRu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6_1627415513886_0.9640697035795553","host":"s3://npm-registry-packages"}},"0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de":{"name":"@preply/video","version":"0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"06c7a0d5361203c5110aab385918a8f4b3feb8b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de.tgz","fileCount":867,"integrity":"sha512-55foeo4H7Oy7txVct3LcnUVrIqsxpvk0C8zE8DbpPWNWuJBEuz0NXOhXeRBqPEzVXV2EvwlKb8ZrKM7IQWfi1g==","signatures":[{"sig":"MEQCIH1Gm2NW3NAyBPlEnZJx9e8V01drOboigqZ7gH1e+yLDAiA2G+9y7903rEiPqmXR1rIflKr1JXocCy36nnv9XIDrLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32548554,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhANK3CRA9TVsSAnZWagAAkwUQAJvoCpXUC4FfskH2o+Cl\nJmGMwW2raUvfjgrulHh9Le7vn6uWwxTXnQaA4xZA+94j5e+wYxZ9+Yet8sGO\nBsiSilQbGSm2nFa9E+EoUgm010LwjgXbpu3CKAbUDmSbDQjgYp218KZ3I+x6\nusYhLIFcY1Fhkk63Vx8VygENLhwcStuktLSJN/KMAJVb/Sj7U7O8q5BJ0KxA\nMMXLScjwypYtYrtOGa7z+qTDDpNh8z7VcaYaot1qJC8KyXgIG4R9osw0uxGS\nTOG/OlRnWx0Q0Hy+A9ss0Zwd4gAzBNzJktaMszWd7twv5eRiG2iqPKAjGZhc\nuRiXVnN3oW4L8Yrus6bE9eHUZu0cMA9oS7FyaEexnGMA0bi/mt0p3P6TOZJX\ny/z0+U6CLEG7GSrzuYLW6QlRJYttbSM4xd+Pvi/h/R7p96j60oeWhUVtY2A8\nYUqYmnw1hM0lcenwRYs9DNEXD4yGyx7CzRGYOJinvxovryvO+6jtd66Dp1oq\nIeP8nGX94097kPNdjkuRsVn7OKki8V/Z08F0vgixDJrjjhxdU3+eVj0O+1mj\ngZ/BdzyAuEUuV9sfGHlvidt/PeAKdTjdoJel9QWG49O4Enn07FefBvt7L4wq\nKtlQnx2X7fRGm3Oi983itESQF0EmzwDw1vTONDP3XUmCaS4uUjWRcsdCondy\n2Wdy\r\n=xsVi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de_1627443894798_0.772501893382769","host":"s3://npm-registry-packages"}},"16.21.0-alfa.0":{"name":"@preply/video","version":"16.21.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@16.21.0-alfa.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"481a53f248dc86d6ece6dff79c37a31585483f6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.0-alfa.0.tgz","fileCount":861,"integrity":"sha512-mlDFRddvH1QHfxXgR4IPrRATtbicTVWrwIDgfN+ww2/bhM0dks0c1pTtGj0ILBO//lZrYiL0ZlyzVcZKFAchcA==","signatures":[{"sig":"MEUCIQCdhCSsBR5PdliigOXzrbOiMJ7neBqv3Qn2ilVQTdXSxgIgRSa978uwVzHxEE/Fu3ujD5j33Eic1GcNHFzOKo+gFZs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32465645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAQfzCRA9TVsSAnZWagAAhjoP/0+q5ExcgE/DioEd1q64\nIqYxk0pMokV8H/LdIKZAJQGXM1iPzojnkDIJaVvh9abNvBdgHwRuG+nqqnmw\niT9qVw6VBrWHHlY3cbRprrlz2l4H/ydu2SdrTcjysYXls9mD261cm3JhrrM4\n38nVDmEF9Kqrhtscl0SjGWVuhZ5HXjzG4kzvwUztN4bEEOI+V7CWm5VKiENX\nNGY2xH8usQVuDyznYUSK7vVE0spK4vMwIYs+v7RmDpj0NsS76RtKBQkGVjqk\nzSwNZ/xNA67AJi0oLKMhTBwws9k5Ja5bVJr0mLyIS4sOzHyE771Gfzhs6hzo\nU2Kbv5ycz3zJgcx6w3MNmXZ0GExKPQ4heDqx8+yL7/jzscla6v3xXbT53Akw\n13rsF2q1vBRnKXbVQwFEn5KNYZjyMwm659G7KP5bzZ6ZVwjr6qGKrt7r4nre\nuA4p1XgfGb+h4iiUVcSip9WgXbOZ+p/fyMmDH7uoqiUSB4NJ3n6PStUF+K23\n0Mgeo8bAvZFG5MBs/RBv4/fyTJShH0eCbwzsF+Tj/xGjoWGQCiSX4qfAJKeO\nOtU4fN0B3bigrTmiTpPk2jFKbcCem7bugB0RKVGCAX15W6hGdlacWdgioyvt\nNwxR4FHY7ag6p8jiDom0sNJoR2nJsVoD32yHqvyYXWXuIPulF8MqD60oiwYb\nWEPK\r\n=bNCD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.0-alfa.0_1627457522999_0.3040392445369122","host":"s3://npm-registry-packages"}},"0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4":{"name":"@preply/video","version":"0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"be1cd71fac9fa25df988c4beac3cdb5864ba2cf6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4.tgz","fileCount":861,"integrity":"sha512-lpVQ1Jo+PjTZKefMBVwFMKQDacb1SiYqe8KEHdEs4OXWRLsgnnD3+/W4eJZbJeoGyh2eMS5xU+WX68wMyqy5tw==","signatures":[{"sig":"MEUCIQCw6uD08fiL5K0dhjyBN0FPbBXqQB7u42h84nTtsvQs9AIgPfghxMadcqroToWg5lmHlW/chomzzYDVsnHS6jKSHac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32467122,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAQxoCRA9TVsSAnZWagAAkcEP/3YNNNLkzlQhWLIUjNi0\nMxuA76KHgWhIZ18vFrUWsDDVBYPWNXC5ecIy3ghHUWPL8JcOLU0GpvlCr9gP\n6Vevcq77UypHVH4OBZU/Xl0emnm9Ex2hZxI2BqWS1r9iyS6wf8/ymw+wf7Li\nP3ogSfaKJ5hoZed5mx2cnuFzy0pk4gqiumq8F0ShytwhzX+PBgtBX9YEgJ+k\n+P5KEDwJVOZSxLmBA1n1eIbXGpyv365/k94EGUwYffAIwfIW1gzJilZpfyeo\nByh6H7iXjtrnnSiXz9nwxt21KrTN7BpNJE0A/PPx0LLtDrO19JAF1neYYkSa\n65vnCFVMXzutnjj5+9OQ14K0mwAKPTQ/AGWi3DE6G6H5m3+7I5Tn8ladHKJu\nIOocSIYfVg+Ylm7vRM+Qm9F+yoltjnMCHygs9XmLOIjk27be4vWOudIQo2Zs\naDsrxMSRQFzhr+sr+lTf89Xw6mai2SLdkDCzoniYyiex5y0L5LsgfIXrC/K3\n0LiOENeeVdIJ9eJ0Bf55/TsVgrNvxyiWc6cV18vm9SHYjyk3I0Xw4SSGkmO6\n2KVHein3tXH9NTu1NShUQY7ttovWXib2u8vHkg+VlUil3nFliKDI34oKw9EL\nze4oG1kc/Dazyh7JyzjROxM8es/NTsCe5/a40Eij5VEi9i6H51HZOExZm4x1\n2wq3\r\n=ihvm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4_1627458664274_0.17876929888848703","host":"s3://npm-registry-packages"}},"0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f":{"name":"@preply/video","version":"0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c6634b7a370fd1ed33cba4d85e1f6356d872679","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f.tgz","fileCount":867,"integrity":"sha512-TDweatMRoiBJxOqpPBb1pQDGiTXK14eYZoxl6PqPywgwLHetDXfIRJX8unqfOXmf0CYinMl6xetTah5A10B6mQ==","signatures":[{"sig":"MEUCIQDHz769lJ/KGyQjVsQ+7oeLNDgomHLDpta0fm29RStveQIgGan96kZ6ICnE/CMnc9UimerkF/fBNMZxwrjU+67hApM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32549139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhARbVCRA9TVsSAnZWagAAOqgP/iOrNmIW3zVZP0TXSIRX\nUZS6sDUrnxFuN2i/h9MYjinYBzrbYeFKUy2p1Xb+CMU2mpyCqXPf5mUK2SBV\nhqN80HZCwvC/vzIdo4nUh+Px9LU+F2pnksf+UHCnUPwNHp2lZlNmTFJ2yqOC\n4f4gcxP2E/UIv/wRGHZ8isvw6gE0DgQDKDKvkRqpQz8R8CI6wuP5uyKI9t3a\n0U77idYxpKbcSZCGsDhgvVn/LZBzPShECJTEJKtO/K9lt9mwKjhLqBGnRtJB\npIJ+ghDKiXxoG/xRl78UOouTOl3IoUXE7+zJvXTX1XndvDyA+rnQAmJjES61\nCXFaNSifWTwgz4a2rhEJZtOBdh6PiBEcieb5QlUSfTW8k3EjiDYE3MQGSn8q\nPx0Q8om4ItZ4ZZwR5Ls1mHX5AbvQRttVdKBhYjwW5TQ7fLKWRvhoJBJTZuoV\nyYh08aUL2Dyvq2TeuzZX1rJmrxQcVRzCwVzWs+o1wj81uM9XZF8E9D5Q+QRi\niFjN//qECGXnLIJ/86Ypqd4/yIsDwRUIjQAY0jNkGYqagM7mHfsaWbRVGZdG\n6w9emXHISd1E1i/dVbZ6ixmkEleNl4lvlViyfo3iGqvBo7+MX6IxzUev22jy\nDf6nrYtxqE39lChZ1+3ON+Dm91ljVp6KGRo5Jwu01SQICGlZDeoykYFsT6vJ\n7NTr\r\n=DJwx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f_1627461333335_0.04943618176578024","host":"s3://npm-registry-packages"}},"0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a":{"name":"@preply/video","version":"0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"15cbfa3adbc25fc083c38839e4fc101c7779db24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a.tgz","fileCount":861,"integrity":"sha512-jemAv9XpCt6AoPSJF83kvFCF8yiSSR8Xyj1io68MBwm39rKiIh6KPDqg6Woxfg1qoAQGLQd3KvFR27/u6+FhNw==","signatures":[{"sig":"MEYCIQDQYd6SZkx7d5DaOnSwambeyoDXEwF8TrGkSO/ni8sUogIhAP+UqkMEQBhAiplxGeCem4cHv0k1AlVtJOgZgZcKgBFi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32470753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhASlmCRA9TVsSAnZWagAAwAAP/2AFZxG13JcDIHtjO5iF\nF/ZLse4Y2s54k3826EptpMns+AUgmW31E8LMd51snJHloObX6QsiyNl1d/0K\nf5rF0jhN8nXshcun+5Y34cURxCNbzQ0kODv29l+Peq6EGjrp7GGK9AGnqiEg\n8vIJJNunCWy0IRRSWhoyN3RdcWLI0CFtcz4SbSx50mpK5KDBgx5W55/1A1Ni\ngKpDDgRCWZklXA84ZiaSL6QE5NjaPRUDE8Gcb69z4QaUuGjNKAEd0bPaM4tU\nVSA9aTYQcm7cqzl5xxqUwqQSgRXvvlOi5cciPAEjlBH/SH9YUywmQ/NCn26q\nRmEQ5Mnt9uhQ/tL9iRNZw1an7xu2MfIYhTZuh3DDt5X/TR3yjPV3oiZFmtCz\nxX5GLIjiVAD5p3WpeuguYLljPy46cKwb16JRJq/50NDeoHMkftQfjTOh2DBp\nvxNgjC14RQr9GRE7xaJO0DePLA+G3agPHyVFuTnMM9M9W2/1yU19J1MKvCp1\n5vlf5i0VjHvByUM1DNlb/JyqjUJI6EFmdD3UvSjp1BDAOwK5Sz/+hMwpwot/\nr39w6bfRMNCIfDBVeW0NCPfw0/JL4X4nl2GhbVf/W+UV5hCEqsWozOPkUT8x\n+GalTdM1HpS6WHYUPwI49ukb1A3tt05CE8ZmFmsnHnVrB9LI5TJQqJXyvx/x\nXTpQ\r\n=EeU/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a_1627466086594_0.2702236356917558","host":"s3://npm-registry-packages"}},"0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16":{"name":"@preply/video","version":"0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"548fe88e2a3aa1bf053978499f712218cdcde98e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16.tgz","fileCount":867,"integrity":"sha512-rPEHazt/Cytv21ZcGlR4+648gyOJd7/TCiHKXvclBi2dcrg2OfaPc8gEPJq/3bjCiL9K5db4JGsZyd7mCJncAQ==","signatures":[{"sig":"MEQCIEnTnRXyMvbvac3yr2yp3v/QSdpvh6BB+PXEJP1psIlbAiB5p7QWL8Bmn2oEN+t446So73pIf1wq1bFL39S9SD82qA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32550639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhASuyCRA9TVsSAnZWagAAiF4P/3QVYQ6U4cITQcnO9Eau\nLNTR7wH7EuOV83tEw9z+sW6aSh+qzTjFfRF9l6HG6YouAvJhf/ySDf01m8N2\ndBY5JjEobZ8vQmCamrzFHc+dMT4fmJqaYy+1kd7G930w7pJmfLLh5IBKxbKK\n0cgtEM5tz+XyXeiqyDQ3iQQdTCU+9nyfshOB57LXqsJHrZ9+GJOR0LqwMvxC\nqntdyixb7d0SDaTdqbZeE+Xx5Qq2YWoUWHq134MpDLzA7yYzmKrGExnViP5c\nuzcIOUl8a6tLlPbU9pfUcvh2irwVj/HxVRU1rOZh7hmwbaCYIurqPstd7gbC\nhKgj+Z3IXBu1knZ5aQyhP1BAtXDEYTspqbqtSJUoSzh1eC2V+pUbMEV5Ihfb\nYKYzkBU32WTI0CLpX0GsNu2w+Z5OCHPpjFu251KjeBo6atBFjwwttPLRGO10\nMoEkzzT34iRPOZAd2r/ppvPc89xKs2T2mfa4sjdWorU+b/rIwSaKvjB+LF9a\nC8a8v6A2azujXOSP7zyDYziUnlQZFq7dlReTbtT0gssG+TifLA7NbHxG4RUL\n/9DLYjgRlxNwP4k/pNmzokx6VKoU/voWnY8JmPBNxmIz79+erMRTZhTBR+9s\n3euopEbHEupGbJwgeU0G8LXpEls8TErucDNL925nAyOByLjrGKE0I8hMNEl9\n1NSn\r\n=tN3B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16_1627466673488_0.4596341962253456","host":"s3://npm-registry-packages"}},"0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f":{"name":"@preply/video","version":"0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6d95cc084f0d9d545031448410c1e7202d21b8a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f.tgz","fileCount":867,"integrity":"sha512-78G1yy5UsblxDpvJ1VvsB8+rIhm4DpNmdUhkyGffrUQCMZsqvSS6Xy0TycJx5zL1K1bGW2E160A6hENda55uSg==","signatures":[{"sig":"MEQCIEpcALSnTixZUM8JljexEAv8c1g03wnndb6h3D/uV1h8AiBa2AdK+cKgo9wnUlE/CL83+nlp1s8UG/Y0si8VgRMmng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32550639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAUEaCRA9TVsSAnZWagAA88cP/2KWfgiAQXu8fZj+infK\nBcsyJrw//f75UaNmPRpszXq/KKp64SR7OnRkVkvnlOf+kcORnDJ7Bfv5tuA8\nih6B7IWjmL3r7928HB6RBvbiu8xjYfD5l4iaeD5qQ/LgqRuOJIcrOHSoLAIt\nlxULTFoAvjYAW2Ju3SsykwtarZbiwu8OUJ5xa1QO7RWBP8x19sgt3h3s+Ikj\n0AJ0Oehraotr7Ydrxmp7xvLpkdD1tG4KIIdZqkp+GLBfX+VbTp+5ZZQcduns\nn8aRvGunVWpCR7/4wP+LrJVDKUzs6BvbsnG4saw1rT7+ReUU0bmypse7RqU4\nbd9QhKhFv+c0KrF0iORh19e8Q/zgVsAudfRqPY80jh6QPEHpRL+FyIQSHRdT\n3YtzKlrQ1HGNV+z+t8ut1lZ+H3TuiXRKFuHCd4ymfO1n6QCZyklY44306YSF\nBrqDN/8I0rzaNk04luWlEI+k3dv8fLxtZr9i0IWXJ4P9QMztP7choc+h+iXx\nGA+tYOZtDY4J0oHlNuV7vEyMnJUVoCOnlZ20xP4SIlyYIbssDfSQUG+1jF36\nhHW3LfSJ40YV+XpS8qP6bggvVxOuKjf8XMElL7hiJfW0Ush706U6Gob6jFFG\nR1deQp3ix67a0BFO7zwtq0fbxS8hdSclu6eIiVyYXJpmlkSgSuJfOYM1OW6n\nqXL7\r\n=4+fH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f_1627472153555_0.02082211318876781","host":"s3://npm-registry-packages"}},"0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9":{"name":"@preply/video","version":"0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3fba1ca041913ad61020ce0ef703bbc015ed35b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9.tgz","fileCount":867,"integrity":"sha512-XFBXUYcnSuv169KqK/iftBwud/yi1nv2wAmUPfK6ycPfVBYLimgHHQvEdKLwIrt6fKnN0ZbwvtWjNvc4aEZhhw==","signatures":[{"sig":"MEUCID5y7utCt65IUJ1sBnRh7vOfbb47aYRw+7r2k9Sfcs8EAiEAxjyhphmz4tr1MBFFKLBx4klyboqrXX9Yu1SuA9SAKkE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32550923,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAUjhCRA9TVsSAnZWagAAj6EP/0SqjlmMIWoAoNz2/8nx\n+F1JmHu52mTU4AMUsA4aN/HB4t7ZsUJ+wCr+dU1wuvU+gjdtF+e8qdF0NAQN\naLTyvX636fTP+ntBXjXK6iBC0rFo5tP7dI6nnXHsdscrqKKlvsxyKLhD4XHa\nDqkQXh058SH+ytxOopQqssbYrL1prFjfMCxQ4X9xZXXdVdY03FqBe0PljI6V\n+qSXF1SohiPOCUVo2aQNbatDGInyWWv/PsjOvOp2A8FpgeoNmXmLUdysAqHR\nZHIhzyJsmvHZ+3+YOpL0rJUyKGx6Ch7AENcFSm7Q6vxxilRhzCsalL+OPapD\nZAley3rQYKFR/66M6LqQjGdmgH6aK4LkbdVy6kXIikU1+MoqUTWj/16Eb2Rj\njfFU2t1igv5Rlqwc8YVRsIv4CT1/IF7iXS3/yTGIt/fHXjpV2A5lCIkMtBAb\n4UBxp0Gi4uJfl5noPJY5OvD2cMsrARzNyhJVLlbT7ZRNsAvMjFBieaZQZKZ6\nkMivnpcmy+ojLgl6Um2s/1rUSha00jFrDQzJ0Hqm2DMsuTEAOR7tHLm132VY\ngaDhr9bDuSIQ7/m6m7J8z7m9R7uQyu0OcKYik5Bl8zYgEY/Kc8J4pz0PQYUd\nW1O9//ezcoPok75NPP0vPZ1wOWYKuHRVsLcUi1XSagzqWFbCbT20puEgopga\n7Tja\r\n=xaPg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9_1627474145521_0.556350738737815","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73":{"name":"@preply/video","version":"0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d17aaf672a1a91e6a15f3e87bc9b29a23a0ea2ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73.tgz","fileCount":893,"integrity":"sha512-ywJ1YZzjuYHmWLgWGfkgmHvsF/IkJBUHSGUgQoHpvK1mwmFZgSDN6RymrXeyW1EDE1EAHrdZ9mNKs/dnOev4CA==","signatures":[{"sig":"MEUCIEiHdX1Gdmk1yXD8hjPL7OWXrmtGr3JfCLyzxIFwQ2mLAiEA+4nx8kgDbb8sccvH7xE8EUwqixTXkEIKThpg1j3rwvg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34160951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAU3jCRA9TVsSAnZWagAA4c8P/R8ja5/s7nxSTlPGplN5\nBDnRfu5pK9np1XQAKZXfWgCkXLNQwYUc7bl+bieTyyfrH/ibANRa91/E7PQY\nrV+gs96sMwz+ldKUhinaImtIkO6awF2o+uldhS45CYbQA3Oj7/Dh+socZJJn\nkD51hzJJxqp/Ai5BcgOq+Ss64gmordOnLr6l2qvgcnv1ILWhEaabSCqxcHJa\n3S4G/HcQypFwA5mhDnxMPu8AeIyHVOOUmTh3o0OBke146zck31xL1yCSgYCe\nEy1ldO99zktfyXP4BJiKQoRwDWBjMEItBN8+z5QkjAOUnLh1Y8Y/Xpo7iKAk\n6OU2BBPurZNj8kqa97XYlnCyO6msFdwF3ceuDmaEIkh5QQa1s+CV9OeDOprH\nNxfifn8/MYiVKzet/CSo152iTRL9xBcJgz9xvQI7H4zskkmAizbeWTmuxReH\nwfG1b0ZMM2sKhAjLpEiIUxvS0tvXm/EUSUEYzYvSULBrv7VH1E0tLBDYo7u9\nVvQmqbxu35m078n5M/UslYLURw7dCzT/6851oxldEkOge19x2Su8NRa4/agn\nyaG37/iKD+xJgfwZF2fvqdlCf5lm0N3d+Bw3VxpoxUiW0+Cb1V0dJxzFvwYd\naKdkslmHHQP7axPuBKsBO0ce8s9AKxC3TuCKL4u8tH1J2R/qeOBmsYT9gQi1\nzPv2\r\n=ejak\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73_1627475427011_0.9885486018206124","host":"s3://npm-registry-packages"}},"0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8":{"name":"@preply/video","version":"0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3bd351a709c9d995cdc4adc23201c787ca39f17","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8.tgz","fileCount":861,"integrity":"sha512-YMB3tAQGALofaVGVIr0UtrcCOgEmltR666sZQgxCzPe5DhhlfiNlwLSW+uV2V9hNH6ZaVZ1rl4E0M7stntuLVQ==","signatures":[{"sig":"MEUCIBR1wQSJfqn/GVgPEQP7Kl9j0oqZEltNx5de5ipps8D3AiEAk8xxiJVe06jyLl4iSrKbTXW5Zypq3f+6E0assDWWEoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32471233,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAVAOCRA9TVsSAnZWagAAXRQQAJrN1ixPYqwUf/s4SOXt\nlxRhWoJnRbzU5hm5qa5LPYw4JekOYnSqf3hcvALODSGkIMlHNwTpVvGk7Omi\nniFHP5Xq7yIZqhgmflQW+x3bUePIxlrWW1zHQhdcCdpgAS70tUTzl+NWn5Pw\nycL+OykkT3mChcLHlHfD+4bbQ2zu2vb5o+aKyoVJ7AnHypB1TdLXP56syytR\nmylfJnMBRvWJOXidY+uu60AlVD6jwPpsL7e2NdMnGTxZY3FrUvx7vSZPKqg6\nWAID2k6IKQT7BMh33j0GEeDeJhTMODoP/jK9r2qMRG2nVpiY3Lxpw/BTbct4\n41faWlL06F+gkAaV2hiecFllyYVGPHtwX/PZdzRMGOlLoDJDGsMlbv/wWYTE\nvWJqtsNBLKiGYDzZLcQzd5PnAPJzLEWUM8PKxt8VK23C+lLH9R5WYwuefvim\n3dRKnr/ZFc+3M16t1U5fUiVe3f4YPK0s1y1sc16ViU6AP1vPAQlTfShmLLoJ\nEOlOVZpTMNBZcrK3SYxVvauFqtj1gC8KnmIXomO0LXKNf90vOwJV7EO+5gSF\nW5faxApZM+lfTJOxcpNrHFHUx+mPrrlm1ZjDYSHhY7DTp3n4HrGVqT6rcNxm\nOmoVPN5dj/Vg0dYl4FxW8XjU3Rx7lGYwudrMR4+u32WMDjYg0Ty+OtorFsqK\nuHcc\r\n=7P9F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8_1627475982190_0.8661257162580895","host":"s3://npm-registry-packages"}},"0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f":{"name":"@preply/video","version":"0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4b98e6e5df8dad6e1f057986ae40a02962177d22","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f.tgz","fileCount":861,"integrity":"sha512-At7I5Y7f6I77N6PHnJ+Q3RudXHVzPEgFLFYAMpxWseUc7e3D0qwiTNf+rU6rFesXgTqRrsS4I/V1IN3iiZ7tnA==","signatures":[{"sig":"MEQCIHibv5fILdAX1cl+dl97kLOz1i9WmDAgIlrnTpSW5e1MAiBLIFFj/mQR4CV5t1ZKdXaAydftnAuCD/wdXjPWvfekzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32468082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAaD5CRA9TVsSAnZWagAARygP/iFZqEC+f+xKvDvMrEH8\n7qqBRCOe4WBRQTmR+q3hxvFrVfxwzTb0sQTWGbTeYe4GfW+8SZ+aKJv5q/LK\ner7M6dtXKaK6CzhCeQoRnqbMcYKs49XUrcy70hg/yuMqzUIyNjhfI/bR9HSH\nvmAaK133gBGJs/VuWtS3TguY0b48ZXtPQgew2AutISGInBC+I2XTojAuYasn\n0rJZp49C4q/C83cGBT/rOYxjZqTSBiWDXSJifg44zTACI5OUZjMmNzNrDR3y\nCnPFTWD7Nm/JGQDuCagB0IERhyTYPA2kuBqeJZJZg9Jy7y/YDbzJnZsykPG1\nhfWsQp3iP53dXMLU9wkDUm+2OXqY7MdXU22wlbvpi0J4QIwQLWlOV68NWwvO\n5frnJaTIikrmWSBPfk5kt2RhIlJRrUEA1f1p8oluWH2St2AJyCBTKXBqeAz0\nHiV2U6FAhdaOVIYxNd4ePb1V987H4+4AC+J4SLQVVvQ5a+YFzgiIuXjamAs5\nYR9Scz1hLj/WM0IsdsdKiZW8EVaYctVJPy0PfrcTex713qfvhjz36V3qgZMO\n1vVNxylcFcTTS7I5M2zPxCpuPSOMSYZZa75EMOAfMYG5SD8cvExXh0bEA2bB\n4LERODH1UB95of04Xa+Q3Z7y5HEpyIWhNWpid7FaCSOhJdg8SQHu/UTvMGnl\nl3Gx\r\n=PTi6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f_1627496696984_0.3907710993965092","host":"s3://npm-registry-packages"}},"0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b":{"name":"@preply/video","version":"0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e857dbe86682cb5e5773bf1bb44294b6a8f490ab","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b.tgz","fileCount":867,"integrity":"sha512-u1LdegG70+G/qgTVw+s3KAlNyA4aIqCBJzIpYRXBYZFtiDkmqFG29Zoix+a/YE51k5k/ho4cS4kII12ZdssLCQ==","signatures":[{"sig":"MEYCIQDH46GMMrElXZxJoambBlN+pYRttXgr7i4h/6Fpgh50eQIhAIVQ8bO15yUNvuacqO9Y3LuUYXhE+8XRnxApixE7q7v+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32556352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAiQCCRA9TVsSAnZWagAA06UP/jmBMYn5zEtRnMODy1PJ\nSWRtZ7tN8HemuDQ7VNzECkSi9YusThaereCpKDgPRZrfvLQ/k5wmmtuC7vMe\nP/jPnzLApkws/TQ9Jh0x6rmnyFdnwXXwmEtySBRAYpH+JnTaTewfNO6q7Z9N\nBunhY7tFGdiT+w3H1XYaUnrqoiedzge+hJaIaL95feo87aQONUyhA704WP36\nqXJRTILG0GOfRo6/pL2GbUMeaBoURxMi1i69zVKGSRvWSO46Srm/J8hLE6U9\neKukYDWKMbi7KqTYj/LefwqziSV9j3RcH8ohgV5zl8ExEdfy5PaYoHFjyF1d\ncii8EoOEJHdaTmqLF99T4sBcwPADzD+Gh8SW2mU2+NynrmK0NuDg/6nHBUBv\nH4Qdzgeku3JfPTDZV7rySkwwix4zaMBHkp9Zz9hbnDPqBvgrqCN6RXb3+Cao\n7skWx+2EAmr8mP6pHKS6xa03giZqYkdnDtHVBUPeEtxBhZyMJNY1iFTj7b5W\nKQeQkW1avXgxma9q2Yr6LthyFgYqkCreHI+9f4F794G2P4yBYbzz36YwMsas\nu1GyvzoD+KkseRp5klueZc+AbbiKoX3Q1qDlCH50EOLcDLbz/1/Ml1J+jyyV\nWJ/oOsoX+EP7SP2g31DwBot91TFDC/kfzGNAt/W5coUSqGpt/0KJwTW6+/dZ\nmjAm\r\n=AjJ2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b_1627530241861_0.49892445114685113","host":"s3://npm-registry-packages"}},"0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a":{"name":"@preply/video","version":"0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"587473c89f71516ca722d0ee6e4bd28b919e6d39","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a.tgz","fileCount":867,"integrity":"sha512-c7V3Eh4+OGzCZqRyb5DwhrJpFdqQRAQc7a/uMTt2UdfudQTEeULp6VUlCrr/dd+MeqFKX6pvuvn30QpJqXC/9Q==","signatures":[{"sig":"MEUCIQD8FJgOQW77dLFzu6QVSwZsIvZYNxVIUWE+BM0864mn8gIgJwLIOthBk5qTHdNYF1s9b0kC4szBx5ftZIqb0Z/+s/A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32556575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAjCPCRA9TVsSAnZWagAAwLoP/2knKWAP4KLQEgPcDHjD\nZrR8gw7bUBfs5RegpLyBKliUa3YCqXuzvUz3TczBsTQkIktRRYFZZbCs4RpE\nlvJivJ35X6eqfQRP6D3PrzwbsjP6EIjGs0uG0IHTt1IAACdoqOnWe4mQ/z9S\n6wjNUVTP8KLhO2ZE6FjmYNYcptEUU9P7EJz0VYf2MIerbExo6rZ4Yw+C/Fbd\nm3EQXi3IWYMj/+bP2BUY7Nhxg9SLWyAgr1J+Wmlff80jyyqt4nx+CfYQLIdS\n2uGd0vhLQKDEnJRJBauV8wGYlDuZTq2iyalk46l6pZVt0y0Jd4G7yqmnL0RZ\nnl85UlzrzjEC1T9+pjjpiuTmP+W8eQT8qybfCoJFYcoShzl+GCpJE5eJ+93t\nLDAl60yJ07fgkp+rLFujoq6G2FaTb1hThbn+wAxYui/1GzTmQCDsWWYV6s7r\nuG3y6hzFTBOrotA++Pl3GXv85EKmwR+AJc472VQvCvO5cpz9F2dkmwCdGcIw\nuFMTUOlh8ZnWb6L8NetcDxXZ5vCoOgWziEWjKKPIOvRG11WcBumIJ/5/aO8a\nT1XUInLFAxsvz3cKkUTFUr8AePUBQt51TyZ8oAlgaBJ5DHe1zjzmyW+ciN5E\n6KpkFP5Vf7bci68caRChR5EW70r57hpTfbPTYWfkthfhLgDnAzB0BJilXx0+\ngcpK\r\n=Dtdb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a_1627533454672_0.636042215210135","host":"s3://npm-registry-packages"}},"16.20.9":{"name":"@preply/video","version":"16.20.9","author":"","license":"ISC","_id":"@preply/video@16.20.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"812cbf24ec12cb9032ee269e85807001d455d950","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.20.9.tgz","fileCount":861,"integrity":"sha512-ohh7Y2TRVOjH5ozYsrm4dS0capRt9rCsz2mPA15TetuRQFxxsMW7KcvkXf4V62UQKoVdTuMkvS4BVFh0BhO1RA==","signatures":[{"sig":"MEUCID5qHK+fpixsTBwHyvS+ktHzwtsWdJngDKf1XAXowf5nAiEA/D2lmU28R++a2kTZkl/IC4CBQKpRnsoKSgLmXZ97FPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32464679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAlVqCRA9TVsSAnZWagAASpUP/j4Id3bBe1JlXJocDPeO\nZw1CqfJrzk1Fky6Deahu2mtKHzySHJOHdq/9ZcKzvlJ+Xy35+MoqEkeKH6xE\n2kaEoc4tCeVtidZKK3harmZiS/P3WTHaNwnSkr8iHx2ehANKq1Kwfphy5iu0\n6rD4ntnKNUOuSwHzWWARwVQL7y+ObpayTWga2FeyGACeAT96bM49sRu3rd11\npEKOS0fKIC9gnQucBDxHD09Cd+gkn3JTt1MqYY1vtFSdAHsubBsk6vokQEVV\n4pKFWjlj4Opl8kalqujaqZkF2rzeyCwkkD1+RjsVwT43LBk8JoWwfnTrVFL+\nQ+QsJVwQ7PNOVFSBifMxVzaLTiVN+eny0kW9f04DysVPpPozwFjh8M43PWfw\nDg9KXiJo7sq1zfagsjmYdsIxVJWur/KEnL/FgpJeISej3LGd+bl65QoNRYvQ\nYhPoEERBl/JPbyf8I3rVxx5u5Rg7/GG9BbwjG7+CA/Q2t+lh8KMKqYOMrxUG\nUHd9D0ZU9KuSQoAL5PiHRtJqaZjgUKJRKGI99A33CoAlQJkF1Ew5UhrAIoeS\nj4rIpnwOqz2XoMLvsJ0XTBLA+cRtmLviGhNGGxWhvw9gnDFeVC7cAL0nvN0u\n8rH5X2cJ1gEKeCHLomPOcU8peSeKkGWPUOLIEAwaAFNd9NjUpNDubogL+uPt\nQBh3\r\n=xcUG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.20.9_1627542890135_0.6238229437008949","host":"s3://npm-registry-packages"}},"16.21.0":{"name":"@preply/video","version":"16.21.0","author":"","license":"ISC","_id":"@preply/video@16.21.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"26564df994f794ae683c9916afa632f0140a8d48","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.0.tgz","fileCount":861,"integrity":"sha512-NFGEfqxGJ6z+lcXmhhOvm62EZ5US3rCZs+2nUTx7V6nCS5ehGL14fNk5S30Pk5JmlKQ4dNCCawdxaHtMmV+qtg==","signatures":[{"sig":"MEYCIQDHcnPT5kdt3rcLCTLGk16xe7hfb0vnW8mRzxs8C3DmrgIhAOfme3szXG9vXm81V8oAC19801IVBDOFBBmDmdQ6Bj1Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32466629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAl3pCRA9TVsSAnZWagAAw5AQAKLFzMmyWf34WO+EXTKW\nayjZ4/Obh/LVe1cWk6aBtXdrBEUGSAWUR7yxG7wrgwpP9WWj7I/0Mz18Y5XD\n/mVbwjYA+lOCWyu3b89rc/z1Z6yAv/WzaQed4qWbJzNCURhhqYkCimz3LQLv\nhcWP1cN/345vVpeMz8xATe2GjMIv5EXc0+IVZF7ahz8E5TKMU+1p9Ig5Ct6o\nAykFcOoD0CwnqjlRKd4XIyX0OqEUxwjRajiZS1tUMdtM00YkbpPk8e0rZSHQ\nr6LlCef0oyk28RFgLNYhHmai+O+7rnJGCOPfMsMHi6vP6INFJfJKUqPhzM1t\nYn4moXkJ0oh3VoeFH8mu74bo+gUAli8u/zB1pqzBtlREXRqjIgPX9y1tYtui\nhxL4mkIwN6tt46QsXzovXlpJyECqs66IjTOje9snP/oFdzCals1D9DsGWyGE\nAJc94SZg7FuThP8GCOrkqkU4QhOToGDaIWGHGB1EzsSOJCD8ExNBDFD8Y2c8\nSQqBTCtRzb1HV+8qR7rexsvCX56EGnnBkUeKJWNeqQ+3NNIaXmRJOaqPeIZF\nRDYoEuI2tgGloAmHpdapjNN/nyacJgj+cPTK2N+P5GvG3Cs0NXOfoARoJIb1\ngye19Icc93TIxrrowJpV/XSu73a2UcNnD/hDU3APGcUPob+lciqZjJMPQqX9\ncMkh\r\n=K5nd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.0_1627545065291_0.5049653601879818","host":"s3://npm-registry-packages"}},"0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd":{"name":"@preply/video","version":"0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"73c4af8765224f39fce6e8bf34e8553b239ba3a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd.tgz","fileCount":867,"integrity":"sha512-u+iLs3GkFYA8GL4gf1Iw5iZ1A5bGaSDaJFtwladfRSr6aGaoJwyOoIejfLSRuJ4kWrLGBRchaWhPxDZs3dkImQ==","signatures":[{"sig":"MEQCIHhD2k4J9EpAX+1CNc0OoKtz+E2Z1+xykBCaFiV5VU9CAiAVbsSSs1CNl1WymIyYgWVolBQXSayCIZ11j0RLTBwWJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAmSXCRA9TVsSAnZWagAAM3gP/0xo9mOq1hT+TQwhS+Bf\nJPGYndIkm9JygYsZwNg+h7c8XXwQ9p/vcGN7ejJfE3ydPi09Qckt/rU5qCOH\nAkfn9RLNJOOfNnAh4JwYeqyjYrfMoC3UOqnxJlpkKGmBfh2EyV6cS0GAf7CN\nk8lT0laqVfw0PcSKtyVYNM058EkQ1yI0kaoUODBWJQcm68hGiygSsp3YeSF2\nGJLPhMOQV4pACCw7vOXe11O3Ig1m8mD5CeOQ+nYQVji4G1O7b2kVUoP5jsDp\n+ZrZQk2R3hTI722FR/rhMsdtV+vCMH91dUVc2ebZeQrLEHsVgL4itdiJV89O\nxk5tE3Q/F/CD4gRvr+qOzNSjbI1Tp5hrCTOvk3iwYPFtrmqelxaOvTd81Hn0\nBk+hIiLEDcpD5QnWr6tQY3B7pSkEllGsuai+C8gfibapjDHlBMcqg7eOyad0\nmZJtxz/D/ZzMThgGKh1SFWWmT2M8yEi1ewj7A34PcwYrAzz5r85d2DcKQsjC\nBF5iNe1R9zMHOMvtAwoZrKsZPo1EfWXu8V37c7YAHYpR4R/Yzx46BwNpMVsC\np0h88LA17Sxmblr82xpBDimFd3nQYdebQUIyd2jQel7GgicIcMRzSOKcEcK7\n3I2hrCkiuosS9K4rZlbYZWq+/Zrq5aVf9wMJ6DVMHrZAuymlLM6hXDPddPaE\n+vj8\r\n=JsuM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd_1627546775005_0.044819828069794676","host":"s3://npm-registry-packages"}},"0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79":{"name":"@preply/video","version":"0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c2c1c4205158d27443104d2c9e90863350e32288","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79.tgz","fileCount":861,"integrity":"sha512-OeaY1e4S8bEqW8qSiJrbb9P6nuOKL2nyM0x0WX/6xXhZoHYtmEzyJv0H8VDAeFPglRe1Lr37wQAtmOtYWQ0zzA==","signatures":[{"sig":"MEQCICRxqr+NNSxzj5DreUqhjRAjg76QOP/mLCgWfSsNjNKMAiAfbX18568kCkWEHdgHuEUqWDXnn/i7VB3GCy00mdkRYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32464858,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAnIrCRA9TVsSAnZWagAA3pIQAKMPOIZaAHUvmicNFNWE\n4BBH5dZ5BR+HHs2tgaXRi59/UJXK2SLs0G1+N3BaxLCgprtQYg/f+O0cEDLa\nDZOjH+4LSAN5MTHirzyDm93vWP3SlSOFNm5BzljGFNtix2ABD9L2wwcJsuLe\n8btCtqQ6rRYKJwm2/iJHe+oVqZlgTxxX7XzOVKm9YnXq+6g2CvUxXAEbypsu\nG2CGp7SN6SO6QSaCnJ9wU9SZEpQMYP0qYF4tXHq1SCGkdRLUdtxTRoXJvco9\ngixOlY5tgz0HHAMCyYFjgtltiuqnRCd3rkcrqd7qCG5ab88RO3+YdGXM8RBf\n8IryS/cfqQlSLU5zFHU66IB4WvvM/AaO53mwOlrFFZpf2qZ2/hsEJZu5kgTe\nJuSlDqCOdc28pdzIcaw1vbn+NM/ZFo5AtH4yIXrOYp7y5yc5Sitg8oAGG2p9\nh/1rpJvUAU7Lowzi188fzpy8m5AiolgKmEEheN8W+UyBaEOpZ3q3jOJS8Rfw\nh1oBoWNnlp1WgsvJDqbP4rDIfibjx/ow9cZANV6MQY88OqQl40XmM1l5sgYo\nNg/tLoBhJIni5XSkMTt0QItCutrTtfc4O2yXYyDH2+4WWnpiycWbccloHUaY\n1luYOP7cvvAcm1LOTAD8WYf6WfRmSimdROy1CUtrV+bDoLR9V9ewZ4m4F6gD\n9xwg\r\n=Jsyj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79_1627550250762_0.3566428474565968","host":"s3://npm-registry-packages"}},"0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20":{"name":"@preply/video","version":"0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7946b324b54169b679db3b4a214d9614f3046461","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20.tgz","fileCount":861,"integrity":"sha512-3IIEmb39ihRBeOWr2kkz1LEjSBrYp8xUy7LmvCeYZ29mUME8QH8c/WYKgbDLsPhL9c12TRsxM2JDOPqrfT5k9g==","signatures":[{"sig":"MEQCIEimm1b2xf4E2HkRlj0XZq14YYT1ujrW7eLT+c9TWzJoAiBhyCx/saTFbv5yb/a/Vsdz7f9zxlH10bLY0qXbqmEl+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32462398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAn1HCRA9TVsSAnZWagAAin0P/2k1hVvmoaZScuBN1PfO\njSrmX57B8NhZclebO5+/FGWiPh1UhpO+XmANLQHfkdRlX4bs0JA1a7R8WcTL\nenE6Cf+kBTIyzn2T6LCEs9LvdtStWZnfrikqSSUNF6apjJEf12dN2RUDGVlp\nrxge59RsxdKNNxcPpQkdZ9ZFKs2Hx75eCdfnMxV3eQRQwHYxSrzRdHRCTND2\nVZ6d7ZAKF8/Np9hrw5xPtB+iDBVK8Jku6JYXsinOdyHkMAjm5hyQ9lgAkSeW\nnDKy81o0HfveU0x2YO1SuZ1FVF+W09OHwrE8VOL2rw5QObs2zJzR7uGImP+v\npd5Odv7e3bWr21ky1R3CkHTnujg0sK9ZokmhusFwMdhHisPCzEKBzw7s6I/H\nXtWzWLXufQGesC447A6eGCtRYNFY2LvXjK9FJwbjlV7rcWMOyF61ELy+dmX/\n/2UOkCvJ3TnfurZxRIp0lEjlgzMQFSHBmLSH69QpFoMfYD9dMAAxBief+a7Q\nWpWx8/CWABE/ayl5G+aH+B1ovjnzfi7+YcxL5eIcLSaYoSrHEG9Kw841FOC7\nZ6Cq/bzciaBXR2+ZdyfMfHSadSgGfH2Aqj2dTt1labxthMVsnMiTamHIVijB\nAczn9vMG5LeurT8sH65N7DE3FtgX1sSnxKBUATGbWApwdaqHAdN6kIaBVPuj\njNcS\r\n=kwhg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20_1627553094472_0.29043300413259576","host":"s3://npm-registry-packages"}},"0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e":{"name":"@preply/video","version":"0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53716105ee799f033bc35fe88acf0c0f82ec6db0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e.tgz","fileCount":863,"integrity":"sha512-xAFzLl1vGES7NUMFsSpWpTWgHqQoI2jMZLk6udWCrpBgsn/5I2eCtbIukDOZCKIyqRe9kQl1USAzxEe0gGihyA==","signatures":[{"sig":"MEUCIQCU97k89fQ6qURZ4hu6CZRiwSivZV6g79JVXWBvnXUBHgIgez0c3QlTiaS+IrTyBOsPcmesi+RqJCJMyZpDS0Q4Xcs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558498,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAn+QCRA9TVsSAnZWagAAViEP/A9l0Jy0b1j+cQr7IUqd\n4xjaqFCTvkcLkTf1jOXRd5FtiXTcicmgqcubq+mpt6ir1kXtian1bY7uiKLY\nHQcHEMk4N5SZtNr66X3MjEDLja3YALh2TvYVUlICpBVmFkp02t5CYV7aEqod\nA7O/LaDTBoixQTqX7LywEXpFRJTE9Qc7BtH/sG3lwlkMGpIrLF8tWIZdCvaY\nhnfHNjhV5YL2G9dN/Cf7OyI1CHIki48bArFQdakA35xtewgQzaomfjoG3iry\nwJpZEGhRJR46Bj/36rxd8lSdlLiFMPf3LnR+PKNl4IfvHMPR4ecaxloMkPMS\nl7m5ZIUL+gIEKDkl44jTvKJz54hD/6i6RBgMHsYzqIwDqR7Kv3CwbAzJvFku\nb9+RJQPOvDQX8xaZq9LzLsqSKSjvcFDAxfAFvd0+z4Y4osGTMNzWJsRHw5Du\nrdWIJBgKVG7UZPnTOqWRgPM1+tI+yNakC6Q2U1qTRnm+RFhzBRVrsaxK4eht\n8LBlSedYWwOF+LW12R3Geg4KclS7dTJz8y6/NciRjY3RaCOR/RCE6pq4J93k\nSRsT2/yQ0UJcGigrLUpAUOluZtgCoCNuEvycg+NiSBy8ltcHOrkORsMCI1qi\nm+Li4OuMks0ydcsdCO2/3rokDBcrjdoLo7U1jtlFxAXc/ldQMrmhcYfnowJs\nP22q\r\n=0L7d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e_1627553680091_0.932863840761053","host":"s3://npm-registry-packages"}},"0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5":{"name":"@preply/video","version":"0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d85d452b89948f528c9222fe98da07caf4e59346","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5.tgz","fileCount":867,"integrity":"sha512-CUHR5s1Fv0QmoIFodQuvV44Lw4dgG64Z5Hv501dXKIK7v9B+XR84PgO87Zt0oHy00OwHB6sAnQs9fh5RcCpOEg==","signatures":[{"sig":"MEYCIQC/xSs5DJKj/u2CFGG1Ubi8tYpglqkATGJEozFomsTWOgIhAJYbu+VnPYbCxJ8SWB4VB0DUbVCjwx7aqPFTbt5Os1m5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558693,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhApOtCRA9TVsSAnZWagAAFPwP/1+w6TSdsaUQelCY/PUr\nJRUFihwj56H0leWf1gaStgfgXSMccEy7A2L9V2gtDKS4SDxf9HwQd7OnsCz7\nQVKGP+Gj5ZE+V4m2mTjoMn0Pe9mNdcZwVJhpCJlyag0fkWchu+HCjX7h5cST\nyQ3kIpcEkrGAlCTU4P3HfRFDCI/q6GbwW2nxe9I9EcDaIBlmlyX06pRihG9L\nk+sZD6edNT/FV1kBxnu7jcN8cQMK1hPUT3JTtmXnF+QFiFg/wDWZSAek4ffU\nuSmwOG5AaZa2CuT/G7U1l4jtirgklXFcpI/dxA4I20asfDwqNV5OSckfUYKO\ntZKOs6iWbIumvMj1rlRcu91va9ER8bPwHd+A77ttK9rMQFAV2qUX6yuw2QsD\nm+oNlmZ3NtQOPVONKnKBLRtn3mefD2kf1bfEVHqyGBHzVvUpRZdv1gSpbnlM\nvOCa5DlTHLKuirSHpIBdYuHG40AuHI/m0zIa35QlrC0R5aEsALqkx+z5BXwm\nreQnlDI3MXN6ibcqDEPxxid2kGtLaHuAwWls16zqmcVrDzjA+nMR9KXK+9qq\neT3BajuvIWA0w01sJ08s4DSwlxEGeOiE2eIH+q5UeIVJjzFOM9tYW6uQsQVk\nxGVQTIUPCnfXAt76HGvHC9q/aXEhHTtKcvuiU6+JEW3CnuPG7W1IgJ8rVIt9\nwsXl\r\n=kprs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5_1627558829137_0.8359075423404085","host":"s3://npm-registry-packages"}},"0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818":{"name":"@preply/video","version":"0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35abe8aa40c9cd7edbd89909294c86e42c086184","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818.tgz","fileCount":867,"integrity":"sha512-HOE4ISnsN+LFIl/IL2GqQNUHvK6G6rTQOuf/gd7lj4WWlzRbyTcTksiDQYuogAHtZnav+2OfTeJbqvwkPCJA7A==","signatures":[{"sig":"MEQCID6qUOmfIzv6hBfyb8A47+wc53sLBQF4jnqaUTvAH0sDAiACfUx4fM9LQoo9LhxXJ/ZihoBdmaQWWFHGbsIGlzks+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAqdTCRA9TVsSAnZWagAAnZ0P/iBdOBVznMXpyVZrJqFM\n/nB6op408v25X5pJmGsL3GFuKIw1PJmDfXExQ/LK06rsZ8I7rvvDWLYnEBTT\nQbIS+iodMvhpHivst3oqRI961mMeV1uZ9dgSnfQfnQX+wuQw1unLu+FtVWZW\nJbNcI6UC0yzn+g0N/lchbXBR6L5gOTTFePeBl+SIDb3SI5fp+oA/Yxp0Az75\nZoYMxlDFTuVIn/8KBvyAgQN4CcqOj+7JqifRg1Iy7y7e417+3IaI80BPw2NE\nS92Up2H6AK/Zy7KO+hNgsj84K4jNPicSmYRmhMZAW8X5CUimtXNSBdHiTpUd\nhEyPqoh3ERiQtqlf/WJO17sxClfnQNRnd2Fu6s4jCD2C+GpDpV+EIz1dkBHZ\nYyIu4LZizPBD7rrKMMzdYwrcnqYZPbJRyuhzWayYh6EeEibgQuvxgncOrl5t\nEgSRStAHbOzukbCZ3HlD9AvExET31CWZ3qPattZL8JfwVE61GtEMY0NqaYoR\nIO6MEx/vgdY68F3CjYdXvbFTMUsv1tQdkrRYgMjh4iNat4Ehe/Q2m73ddhzP\nPX3/qkE1xNwcPLudW/Wfjc7i1QUqI45IXfOYrIiH3khqzJhTonD0UktzLZ3N\nS/WkxUK0OesLYq4tS8MQ+XPBhWNkFtPLjsxaU9i6X7Mft2UPDXQCUNZUd6XT\n96Oa\r\n=5zv+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818_1627563858651_0.7729710471838684","host":"s3://npm-registry-packages"}},"0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9":{"name":"@preply/video","version":"0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"123dde6ed45505805c8aeab35818c894f23b0253","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9.tgz","fileCount":893,"integrity":"sha512-mjqVeno6kOyNISZ2Eor87Z3LaGBpFntjG6qxSPl/2wtn1Ji3iwNTTpK7QCS+GMNvKMZvFu5WtLh8XwS43gTR+Q==","signatures":[{"sig":"MEUCIQChiBDcObsfUorkJblieNp/Lwyuoav7k3hkGPBAdAQyNgIgHXmRH3OD3uBB6/ENBqF43mOvRRNKOZozBJue8bYU3+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34171646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAqvaCRA9TVsSAnZWagAAYikP/An7gkkJbCiu8t8LG4b6\nDreVbxNV3GtdlMjHiKqWfi0iQ1JhSfGPcCLqe/zVFwODgqfRTvsXRX+OViDh\ndD+3+daQ/iQUBNnDe9Qx8XUN4PHxMOFxKp1i1ap5RC19shFneMZ8w3gI3i0J\n7wdhCeUYVsPRGT+RwvJ/4gbgUNvW4mfoBbZMOG9Igzw+vQJbo/bFpwXj/VpO\nsUMUtYpLm6RrX4/R0A6iRXD4u/8Ig4RvN0+tRoMPGLBaImgIzsCfJqqeNued\nZUeQC6rFTgMKq9h9mRcY3BBH4QCEBpJxhzl/xjQa1takzyfsWAR56rt2o8sE\n6aSELQOjQGa2DT/Mh/RNeCd3H9X1n8m40WUOczVnlfHjsnIkL6MjB7VA/YVV\nSzZfZxjxqOtwn3Mu5nNOCVT1edvLAhuFv4YQaDNh8bdEbNuecoyahrQiDEac\nIsAfG67U6u8K39ZHrK6BQatjHt3S2JfW6Gbu7EyGi+e/JxiNP72nyHzu3Cp8\nvVm3S5ZA0ZgoGUUmWgrFmdQRVaz/d4hUYsoOEsCeAEcjuC/m07YpqZoZFPXY\nCtI4XOMa92AVSV7UyGYVLfCC3F5EGxq8ouzBLiyO8bzJEOwi1xnJ0+T5VR30\nw6Fe9kUEG04K6ucYQH73+d8f+vN/pvvGKr9AISor2SiJpbk5vwWJGLix5aWY\n5XnT\r\n=goYM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9_1627565017650_0.4084088048980701","host":"s3://npm-registry-packages"}},"0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51":{"name":"@preply/video","version":"0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"40b22c7010c9d2d466ef9b08edcea4326243bf3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51.tgz","fileCount":863,"integrity":"sha512-pOeMqbuZ16/B1koCptR0EAQF0dS0XO6zZpEGD4sywtLxc4GWJkiuzz2Axl7DiNylsPJM1HnNPZ2qhyAftxChLg==","signatures":[{"sig":"MEQCIFVuNpb/20a+K8CCqr/EuYE1SIqsm01540cCSBrFyd6kAiB6hxr60Tikk7TQRlM2KsDrXvNtpdapxZKpJ9zoqKGKDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32562626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAq4ZCRA9TVsSAnZWagAAMykP+wc7uOzQSLGP3qXF6sOm\nsGBBzbkG4h6yAL8+0E+FsIIvGTYwZoTUGC7CxhJQAfdY3tAwYJG0MjgoiP0V\nhrzfKGMYD6ptcagVKr1SuMVUQDjO6qZS/9FW7pWCkGRuzF4Rwa7aH5Tut29D\nSrEkn3I1zHRFrJ+FXVpnJosXzSbmb6E1UzeLwraGEug9CVOj9Eac+/tfDwa6\nPnnnSr46fonyQrk/dH6EUPz/w35lFtD/Lt9+vGbDNrdd2awyb1i7RjHJv0Mm\nVeTZWhhYRDXpOK2ERqGzIP1jm/Zuej7GclRWTaXMv1pFUbktaiWsBCYaTVBQ\nuM3WwR1Ff834pNqwwXAS5Hqc7b8t63G151/aqYIbHxkovvv1vR3PVELVftFb\ntXh2QYFfDa5tOCPTXgZyszBPQyip7DONmQObO2plyDB+iQWHTJLL3KtO+Hmc\nKyR4MU1wjYPdAYgFroIvTNdwxSPouRBCEpIbbGRfqrg8hYo/zehDYnNJ7adf\nCz+EIBsHHkcDdAfIcuwHRQv6IsS4oyVxgOl9Tth2FCXQEAyMi11HUti6VizJ\nbIxboIsjwqIytB3m/s2BM/QT/Z/DN9cKmAshJn6c6uJdiimuPPO7KJYsql75\nioAnHL01pqDO2N6yxQheaH+XRvxS208dytIIJpfy3PIy9EDiOq/PTcxZCvAm\nYqyW\r\n=5p1y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51_1627565592775_0.3408969782134752","host":"s3://npm-registry-packages"}},"0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75":{"name":"@preply/video","version":"0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b5721998e250d029cd38daa431bec8fb8ca44aee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75.tgz","fileCount":867,"integrity":"sha512-wkA8dPH8J825OfUM9A2E4Y0BG8UxbJRVPMoR9FSt9deIuJrrJdUC62ROr68BTHhTb6FhUpBHo55ipGbDsycAZg==","signatures":[{"sig":"MEUCIQDOkwtjwrZKVfmNTiJ3Km4ZM0Se5hEZZBJof1wVIeDegQIgVgeQ0T3LZAVC52qzYfCJrazKYovApjhBqdz4ONqwYc0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhArz7CRA9TVsSAnZWagAAkN0QAJUPnOtj18XXV9mJCN3i\na+bpUh69q7jJwJiLs8PATbqNMYbdpcWsWsKPU7IrQqJ5H2q86xRVYmGZEc6D\nkjaSdM//iFPAqPA2umi31U/2KEOipWOxi12pA/Zfo7LQoEC5vFYaE2VOg26w\nbup+b/dEgrDwOFRcKz6mAeDLDZwWRWHcALAWjthMSKmkBL9ZWlZkOGtEQLyl\nOFW4RMdymyxkkIMn5erYi9SffgyDY6UxGaXWG7JzOHZYOHfHc1309dCT2E5P\nPPCc9uR9uZV4n6NjYafOXwGrGFE4uQe75qWetbfAAaQBnRPUpcBhBRM7iYOZ\nhaKtKcnL0vs/6jWBF8o4j0iG0Flnbo8IhyTGHNPV8jeUD27bdktU7/0HWtJl\nEOv0C/hcvJh8BEow+W/OTlPVpm3zcRahmIjpXK1/tEVRdAAZaGO0JG17VeNF\nv+7G/MQhXCdk+Ouf1mw6BBFOb8yS0mzqwriyy5ivFFjQv34OMFgUZx26adYP\nkOtWBAAG7KAdheIde1KmPU+3NDSY+ICRQQ+sCmkKRoa5jFmpqCa5ZwnssrTL\nQmdLKguljpTlH3qF+ZyDfXDG/LMlvG2XQjwauTITp2E3Y1RymFnHKxIwgWWW\nFrAjW4RRjgg9Q09qM2bgOlfhHx77e74H0yDGwJkKuazNkroqRMTjBh8cjqIM\n6Hr6\r\n=vSSf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75_1627569402909_0.633946790194273","host":"s3://npm-registry-packages"}},"0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee":{"name":"@preply/video","version":"0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7c09b3b5a78895151e2538b3824f728339a46f20","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee.tgz","fileCount":895,"integrity":"sha512-4C+jSu97DUWQOYRQQ3y6Mqr1YLtNYOyQTci5fybgrrm1YT7PfCUsNTy9q6y/IoVfXbzQFpR+9A2RdlkajtEDpQ==","signatures":[{"sig":"MEQCIHrospiA04etvx+1a04JYAu/CTyctRDZOhKdMAE6wr1lAiBrm4/CFTv8uaCxqoGFjpR7DoW1NiBzndQaeA/9eBAHJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34213181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAr8/CRA9TVsSAnZWagAA7XUP/0LscpwH2TvJBudkaSUi\nIac4QdaexUVKVe6OirhYtgt+D9hRaSsPhMK7bH7An0UpeJoyUJRG5JpTUYTK\nvVXDRoRJSYSRkiEcXL/osxaUvO+aCNHXKChHk0e1GFMFXZbt6RwXy3a5HdKu\n+niUbZPepV5X7sMB6u84JUKtrOI7Elj+HI85vD0dvblXrpLDLvoeqlOCG1YT\nZ6HXFAkakA90ZWqmzgm4jA38vaFntz4U8gEpbyO0NIx2zfFz5KP9j27oaGvi\nsywDSUI6Lyew6Nyr7fywUbyJMiJMLAw3Gp/FMbnewWlOeToNb14JCxi3mVcD\ndth74rjVx5mamQxm6ElFbD/Ch98jYaYogPcV1/9agUTP99PZdFxTb1lr1NVl\nZ2pSgm2PJ8Mv8Jw9c9btvbpNQ1+VjD5cGlfHyHcDUGo75PLwvwb4zdVIY0w+\nnTThDzkLZyLXA02iY2uzTiN5CjRkYmEaW5rE4gEQkox2F+RvZ+qGnKAO8TVD\nWcCHB27kD7QaRhhHLRXowaV+fSt8XwnqonUfhcBMBulQN4nEa2BPAMu1qKpx\nCY9J/dwQUzmoHBMKI6GocfsRryy5TvPPi7+SxLye0FA7QKZIEwRh9lZmgUil\nfC44UCsQn5k0IZoVvNJCPcS1gYFyp11KhxkVwy84TKp5BvqTjWCiWs5pQ2sr\nRlue\r\n=VPCF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee_1627569983429_0.8972922021905194","host":"s3://npm-registry-packages"}},"0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a":{"name":"@preply/video","version":"0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0d029020e7f86afb6c01f2f7692bd8145506badb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a.tgz","fileCount":895,"integrity":"sha512-q44k1Ot4NW7rrv84Pl1leq7dPjEODApsFzQtCbkQKLzt+oEIh91mRJPovzGTiHFVm2zV1qygFl6m0UIDmfrN3A==","signatures":[{"sig":"MEUCICjEhwT+D36axf2Dou3hKzhAvBmmYZJCQr1ksJL28ulGAiEAraXLgAvDgPmHaO///S9rvkNeZJHyY9QGZi7mYXcpd9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34213181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAsiJCRA9TVsSAnZWagAArB4QAI4nEznSqR/dAsJm4wDE\nEq5DsFIhbWnxcHwbTNR9d546HLmO6ilyls1gf9M2R15oR4SvPEcePcTgadzd\nY2GQfJCAY7kW7R6tO8hlcpsKvpv7H4DqQHFVfHol4Sn42HorLLVHYb1qlvKZ\nXu8mnS5DoT3dtx+VX9/y4pSFESUAvVRvyno1BDlIrpIDuRsNZaw7LiBdsnf7\nPHSjX6EsDWVx81n8Cl32VhxrXGg8pGX4kWI6ndg0KgDRrOkZgPEOsxc9Zxz5\njO1CoGcO5tj0HhktSuY1fHDQipKDVn80KLQ68hXqjG1eXu8sIAfs1/RrAZBM\nlkJUL1YWYKjDcEvhWFeJBW/BQ4LuxZZ9BKvia6Y93vIlGXmA9MLiyJELGbrh\nVxc7OoqOmWkeMORx2+O1dxR95dKjxK8irz0uKyYhLXm1Xxe9nqyImnoFcnZC\n2xMnUC4cLKbMXdxKEyBOShh2vaYU5s7n6bPP6avmgIyCDJz93B2Yi9zEwSyI\no6fmt17rSULZ4ndCA3vG5+gBi/5XGKCeKzxCeQUkvvCEry/Xm1m8uyerGNoR\nCYPF+Rij1TX+HhFBNZGkhVi9W4dTqOm/RUJj87Smjp7Vr4PFH9LxOHB5v0z6\nD17IT30Nm/gHd+ZjomvIEJMthW+mPOpuN9MnRIbF3In1QZMsUnC5xyGkPDv0\nWdCr\r\n=XEcD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a_1627572359576_0.035339649837745846","host":"s3://npm-registry-packages"}},"16.21.1":{"name":"@preply/video","version":"16.21.1","author":"","license":"ISC","_id":"@preply/video@16.21.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5c02380378b853a1bd0cb292ad0fe0757f827a2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.1.tgz","fileCount":861,"integrity":"sha512-7DEtmXaHxCnhAiNMcLNycFXQ0DxMhLNCE5UBzl6u6NPyIqLyKIu0Rf3lKRg8/AluzOkBlU9JhSwuArIbCVMLlw==","signatures":[{"sig":"MEYCIQC/B2hg/fL818O+rUsI9a8td9efhhr45hymBpN+eifI6gIhAJSxk9Envci246+7DXmAoZi8zagk1a+hbsDLz9nDno5x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32461034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAtDOCRA9TVsSAnZWagAA48IP/0YlV65Y/ipXbcYjBROI\nbj8DmmxG0Q2tQjcFdb8677h7KhpECHc+m1Fwn1b1d0NgH3svYQn/n705UZo8\n64HcD9W92B3OGI8tI5fnhcXsV4UBy1oJ5pEbYzI866gDiKZYErqqIMmjMonC\nEDybQFRmvyykIHLROYM9PsKSFGy9Sz1yYILcLotRYAPT1OBhlI1L+0BmF0JA\nl8Mthz9ZqYVmo4N8pIASNf/fVdE2w1bhKQNAbUIxd0GalUACOeSiLVhmC0Mh\nGVn9kMA7BbfcLBmrL5V7dGwgwVdXMTIQR+b9HgBoWbrnSnoGR5yOsIDVhPaE\nFi3VXT9QMWwKk6kT7owj94vzhRWAUvN7EJOhs8GfqlW+iQpqtdTc/Hrhv461\njUkxjFlPLMc8DS+5lph1E+paCQ6OMMxr82Yih5r8ZcI/ppQjNonkeCtHfK3k\nt26gf4/bwNoAeR3LGZT7Ut4ICGOL/c+BKxJ7kKA2xNh+OYMdoAKp2HqIz1iV\nI7zEJWJVWUAEOwTlwjAUu/5N9qTdkEGPSSKg+Gd8U/QkU4hWoiGHrcYvEswd\nIxoA2YiN4APFszYF3IygcBkqEkPNiEe3SscHPOqIW1vtILjs0BdxN8H9p+Ov\n6OD2prBMLI0YCDl/+zka9lmFHyUDoNOtDe0fmjyLx3+P5cJPn+UJaQ9e5ffW\nYgVm\r\n=q0GU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.1_1627574478040_0.8541001741491492","host":"s3://npm-registry-packages"}},"0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214":{"name":"@preply/video","version":"0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b09a12d5b14269d8b92fc106a2319fade5b09d9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214.tgz","fileCount":867,"integrity":"sha512-+D6QNuJgc1xPiHw58Uw21+l4DxNHP4550oFxe82mZw9CqHe3XR2V5e//HTIk7dUx6X+s0SW+ShjR5og3+iTCmg==","signatures":[{"sig":"MEYCIQDceJptC4rLLuiaGW13pQHWYm35cw0/nUPdzekp0BysFgIhAIL2t+ZkYjRDgYndEHl+vdNzjg1qpTw/pKtT+imljJKQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32558708,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAtXwCRA9TVsSAnZWagAAgE0P/3CqchUHjg9MEs2O3fL3\nO9g0ZJCx1aUMx+TFFkleCerMaFiKfIH24GLmSRO6gaTV6CXnRzearX5GVbrd\n/FkKL8rfnLBQBAvPD+gTuCoLQ3kuisoThmjlLWemIk5t3XfLhiwLl22SH3LF\nRGL9JUx6lzUuEWLba7vUK5SrC0xM2mf/uGygy1fxrg+u5Rzov76GlHbD6V96\nY5YxnVXGwGA9c8AasF5nh4Y3/Y4slmFOh+4UvxgvCJqH5QrN8eei02hQorLg\nE5aW+uFFSy1Ns/oECh5Jn2Zg8ZtljIcjA6sRTF+boPV3tboqqI25NUAme/22\n+slO3F3fHJd/U0NG/Pujte30562Dy5LUWhq13zEz+lOKvir3OnC5lRzjB6s+\nvuQ/0CoQF/wyb+W1PllzpCYx7vP+DHnV9+b0yYs+v1p4DBORSFhdE2jh59Dr\nU7V6bOx3FjV7RdDoYtWgmo/IU+Dk0wz9j3PD++OkM1EfINDoagyernca3AdQ\nlaHqPV1MjvsYz6tSj3q0+KEivPIfW3rnDIjf6QfBLjkSrY7/D7AUr4XWWcMT\n1mOYN3tNyDnuaAaRYZVCBieAscNkfuOWoF0rZj6PIevv6X45c9EGJrO5ZE9+\nrbhTyhd5AHKc2roaurnM0ptNxeNVZgqG7pHEuPlS+VaUnlfUMfssOLqSJpD5\n+WhL\r\n=pT06\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214_1627575791569_0.5833954906791838","host":"s3://npm-registry-packages"}},"0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4":{"name":"@preply/video","version":"0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"43b8db548aaa5a99eafedf84d362494f7cac63f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4.tgz","fileCount":867,"integrity":"sha512-R6CXAvdqIYwn9fIK8FFHK99tAcQMRdzx0kDEOGdvktggJ7CMuzfmqOkbhNlx5UrLHWhJt0n9TD8Zm8p8RbQSyg==","signatures":[{"sig":"MEUCIB+/1YRTfH5t/WOkbEZvnMcP+iiCdF+srLWq9OhXcRr8AiEAs6rqKVVDpSOnTdv+vtJwd0kS8B/38d98LGMmj3kt290=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32553113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAtg0CRA9TVsSAnZWagAAHz8P/1pP4+iLHw2lMne4d17C\nlWeV6MhiIuKms+olzB7CBS9cE35IktL/YpaiLVmD6IJDsCw/wrLkaKZRGa9M\nwg1a+kXrk91rOx7kIbmKQESOJTQQkZ4A5VL1KgT/KUdQNW8u9KZBkCBRAjAA\nQ22TehHP+R2/npBi1mZUlcE0Iwpsov548gNplzE9IT1PWh2/0y1LY6L2pFzl\n67jjLUGXP3iGDJsie4LIyP2NcKoWmrzuQBUhfhIbHz4YEtx2XO6WSVzzMe+/\neVGWvLi5KuMBnQesrK/Phb9QNWmp6W2l/n9QQ0I3/Y76x7D5Tl7xG+AWtL0u\npHmrHOoF6UBYQxf8/0knr9ySaDHAeMx+xeRczjWelRcWm0/YY4l8K4q0d5Y2\nTslGoqV1+hFfTisL1JnD9Qyxhin7pKUf/9ZtWMRJiRkgx14MkKJZ2PHZfx/q\n1RCu6RQkBl2QbG9QjJ+NBi0V1AKAMMgqNiXE8TS4yDgG5x1s8+B7MUTuMFxL\nH7c+q7taNN3nUUOzXhh0UrgPLFU3Qtki5rpJH8Zdn7+JRPuhNX+vHr0VeAA5\n67xGD/t8ifCmUBEKiuZv6DCV0jaUghZ3c20JtPgx2p2a45DAAfXdXYFCcVMY\nUYMecgrxEXB+oinUZErD/6kjFQY+Fa2+vpY50aZk0Umdtn0Tz6ECIjZfnwY7\nuxfu\r\n=kNCj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4_1627576371612_0.4248478815530894","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820":{"name":"@preply/video","version":"0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bed6d78216242a3c277e509d8b0ab6e11271bcd7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820.tgz","fileCount":867,"integrity":"sha512-aKAUcY3a3jxOID0gsH2cAXCFmI7rxSj9SSC9kLtrQ3llTn1EYKdNHN6SCoMOCWRNknD0H4Fc0TnQhy4y8XbALw==","signatures":[{"sig":"MEUCIQCW6THRliRMVPcH5aFSDtQUCiwBPUKzCX1PKCkforhkDAIgDZUNyQ6OFnf917KW3QV7zmwQdSCOzX+D0gM885dxw3s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32553113,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA4LuCRA9TVsSAnZWagAAS+cQAICA/LEwnBd4Lvbjs3t+\nXaIO6WFL7JD4Kxp6cHu9xVj1wAKhstDMDKNyHvwClEXittidrVMgtOLznMe4\ng48P4PDchW/I9BT3qcNVN4QAyJAcMLD+nwwJLfoaWH5N1UXR21m2rMDK43dC\nIqAFCi+Q6U8MuMT39ERLvFENp/L2UQLNXQlzsTCVxBvlnOVEYiyPP3wZV1gQ\nE9PiWJo6e/rPupQjcUm2Sv8XT8Q2HkSpgDOhYlhiVq1PVAfDn0rRNDPf+9zQ\nDXqblyFUlHheM+oIDiGodUMjF9uG8XAsXSksp1GhmUNulW/tFrtI/8Eab8WX\nuI7d/iSQ3qTDlVuD+vWfAyBqoiSWF9KfmGRRDUMQ9pfaGorZSu7b79PhnLGN\ns8kdX2IOUkYSb4OmEyHgU6T4lgYbfdtP6GHjwBDHtfIRnPv5IfpNt1SW82hG\nSKB1y3aVe81vOtQd5jlAhH+d851jsBATBHfKxbMq62+p16pifQyEK4+rDSh+\nYeDoN7mlaqkXpLV0AhsBM+bwv8ZaPD8Hf1gUhwtPF0rkNCBwUX6FgXyPtM5c\nKdCznnQjuG9rsB0q8vGbv2LXb0CE032RSLtxswqtOBma1ByJLoUxJ0FqcOJj\nUTo1FjsRASXcPlqx+ygFC2uzPNZkMJM+/yHMGvHihdEG8UtOEZJBPb07mRtp\nCfqA\r\n=XxR0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820_1627620077289_0.20465695977767506","host":"s3://npm-registry-packages"}},"0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed":{"name":"@preply/video","version":"0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a52a9efa39ac7137905e2c9fa9981318707b0b25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed.tgz","fileCount":897,"integrity":"sha512-SSwwJFaa2eNM8rJFpkVGhuT75LTbM2GiYbbzdVIcEW2B1J5foKbKRUPOv/9Q5gYddEOAFxRMqEopkyN2aV43Wg==","signatures":[{"sig":"MEUCIDuSTOXfzdfqQNJHRSeSwaaBMBSH8nHA1vZjIxGfcmxiAiEA/DdfV+8+Oe05F0bSr2WdX5HnoG+hUgMFeeTYwDkzqEc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34302534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA6X2CRA9TVsSAnZWagAA6lsP/i9lAQlW4iYN4Qio0Fvc\ngC6XnEeYJCDDRiXEz/qZnN71m6hIE8is7LYSRqG8y4VV8cSQFLMI8TiRWPVp\njPOpDNQffsvaq26zUcfWBKorYZhq7p4KRU5QYDkTcJGyE/Y7fWBCn4IeSoHd\nt4cHXLwc4+LJT2Z/kC8cAggAFYvYiUIRYxbFpDlbblM4wO3qIeClwL1zDxUG\ndSA+3ck/nX1ePin9Zff79+50ibWce4A+frCeIILj0nsuheYJjItuWA6mFf8h\n8lD68tkPskd7Ag3dxejQ7ah/E96TnyXKR9in/wuHePyf/l4rZ0Y7fV4HJJqp\nHj2lxQ7iZRRKy0M+SW7i464swsmFVXEaFX7B3+amAR0D6ztNIQhudcTOrN2u\nQgRf2qWAkqJ6eplmMsUIudus1F2UynD2DXkyhTMIoRo8YMM4lZYgao1Ruwm7\nKy67C+pxo7YiyZ7LjdEue2ZGh89rdfUpIhVEaFNrE3MlzaifqBAYKgeUJTTH\nxWbjKaF5LIgRdUQS5xuhvLnGKKmUdXlgLDrG0K72AjDE1+oCxQ1KGEW0MGrw\nd/Ig+9OOWnExGfE7MypKj+Dh/DIx2YRoMhzE5zi92Tldt1rv3hutby1tyanN\n0hnEOZGDk8xhJPYZwTfFdeUMMlK8B9dGslGHPW2WRLTlrN7SeMeYO8c/j4C2\n4LQI\r\n=TJlV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed_1627629045908_0.15699432865259477","host":"s3://npm-registry-packages"}},"16.21.2":{"name":"@preply/video","version":"16.21.2","author":"","license":"ISC","_id":"@preply/video@16.21.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c1f19ad219c1ff0b8350ff5c34fca05124ba7af9","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.2.tgz","fileCount":863,"integrity":"sha512-CpdYQ5iXgqyWnEptB0c3/mmMR63rMTgZ5Jugl1b4E9Rh8clEOamtwtVQhWngczt5O7bIBFRDzIQAszu0+WZgCg==","signatures":[{"sig":"MEUCIQCK/COMMxuZ//1ImNL6ThVpcJHjVDKx0cRamJH+dwFi7wIgEE5+LEqu38+ydCanijC86m+oq+erd+XFiY+TqMVbbPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32556200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA6g9CRA9TVsSAnZWagAAc2kP/3E1lM9Jn/9lyNZFK0D4\nc8kdsyMZCk5fLR6JL4nTWJzWNdqCbMLWqDhGgGEZaY94rREe0bh5iJfnBEIK\nXssiY6M0wC8Hv8vZfnnXZmgoBZGJFZOuH807d+/8YRxt9vLmnZ7WCB5PabVz\nPJg/1FicIRJEp37ztadjNoOOBhA0iLebO+FCnUONMgYn4qSVyQ+ysxtYjjyW\n3dA12kcJgj+RRqcKe6gGyQyHpee6M3Fv/c1dqyOit5jugIsEIOAUin96fmPm\nc5bgKyq9rskUUUnHg4SObw1S4PTZZY3Y9DwodMXOaC4oJkGoFw+NQqSwCzcy\nTizQ/RiczCvG/G1i50PfsJRHUP/V/qfQauyCBYbf2gZ9PXW1HVjBh+Rymb+d\nnqUuDVV0VqcY4H+n9ITzyEuHDPIL8GUN372KlRs/b3IjvyWQ3S/RyxuzBJiQ\naeuS3AvWcYsMWF8ywM6zExxGAj0jjerwziXpZ3t/ffQA/0dSV6q/VMSAavlE\n8ZDPa1DE4QSMNu3Apb0MWwg63LS1xVtvjyH+l35tv90pgpPp1UgZLGNCHpRd\nf1IRQbRAQPNi+Ga8iyU7M5LNqVMdkJp9qUlspvht2CR6n9EKljTzyYN1hhhk\nPfkenU1bQNSZ1gYlH+muK9QLZyw9YC3V8UxH9qgKEkbcBAIHl5o3QYPz1apx\nbepq\r\n=8ik+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.2_1627629629295_0.17327841858179438","host":"s3://npm-registry-packages"}},"0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840":{"name":"@preply/video","version":"0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdc5f9cfb7222033ad4ffb879063f637d80740ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840.tgz","fileCount":867,"integrity":"sha512-tYFsN4h6MecwyzQGPI7tcWjLC90qYhfr6e2rdhMkUfpNwaw9iRY1ZfnYCBfJfIi6EBlV48yBOhzFnVlFoKWx7Q==","signatures":[{"sig":"MEYCIQComHZ6+ePLQ2mfzBm16DCnFk9D5IEH7a4QmXz1b4gA2gIhAIejO+48qUW5Opo7oceHK1RyFdP3gNv+4nzilJV5/1pf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32562720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhA+NUCRA9TVsSAnZWagAAjfUP/R1y5ra87JaOlVj3EBIG\nWBCAZzlE0QiorhWqkJ1LkE5DZ3NCRBTvIv4eTvPfO14s3OXNa1YRkIPk5u0Y\n3Xlvrpu4XkgHHaMnmK0ysZq1ZcnAx3h/RYEU95Anqr9Krm+2pC5oH47l3gnE\nAU0xB/PHF8dHfjWsqnjtlXnepeIYGTbil3eQ2R/aXXtWOs92n+sq2z2bFFuu\nRjeMfCRUiG/AQWkcWhK1VqOA+T/k+aWnRPCyDIrbhBmoRdbHN0rG5wy7t3bD\nXurv255qqHg2bp70VD/mkk5EZ8AMMy2n5pK+GRbiJHZtD7RF8n30b0Rl5kQj\nVcFqPgeBL3Y0uaXCTRb3iMN3he4u6D6iSN8R0pmJkJZgxgTAVQxXzx+e2wIs\nFhOzgAiCjau7ZP//PNGsl96TR+ONmG3LuS5bK8J11dBlPIwg7w4IAVay2AAZ\nl/T/9PKON+O+wrOvkZ98u/yh5ea+yyyDT3NSDszDXdT6Jn/aoCYejzqOo/tz\n9CUiT3Q7gwPsQNO3/Db1X+M+AhbotoVzT3b/LX1/RNR5LKMrIfPqVCKoF5gI\nmLS/Sgel1kuLtBi8O/NMHNcdlB1A8SVWIlX7ncXfWsDCwLv/6FlOiUvSiVqX\n5OlA4MVrbM+DHC1IBnDu/FUPFCG5YDZVf4Tcic1b4xTT832zI+aW8mhG1K/o\nPr5G\r\n=2tL9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.1","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.26"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840_1627644755884_0.19633205531441722","host":"s3://npm-registry-packages"}},"16.21.3":{"name":"@preply/video","version":"16.21.3","author":"","license":"ISC","_id":"@preply/video@16.21.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"57c1d878266b7da17b185fe4534bcc91e672b2f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.3.tgz","fileCount":863,"integrity":"sha512-JmDd1i9m3+drYKW40nQOqu7fJzX7njs+fnakbzyQrWicoYqycWSgP/sC+EVBguWsN+uAU2F7To1x0m45MAXX8g==","signatures":[{"sig":"MEUCIBF3bFXJ/1pqwOjuIRDmsuN4EwBWdYVDhD2lXCFVFWTbAiEAqz5aPqceXQ8mEL+STy4fYUtvNiiEgVI5hq0hjliPtUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32560757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhBB3lCRA9TVsSAnZWagAAKJkP/3YnJgX0rDhSZ7pq5HSD\nYiHCntNBRn3mog1WMt1hQQSltQasrcC25XBTyL/TY0cHk3AN1UMgOEdXx+KM\nO5neoNE783GmC4+ShKgE+b41RLR4NN8cu/9Ig92XYAq/4hNAP6tDbElNoRtt\nxSaw0MJA5n/a09gWuOUlWjIEXzUBZX3QLsBkTzv/9dIaE4pUSs3R1PDMBMD3\nkNrV9rVd4RlCaYCfNKAcxDUAdcRUsIXm7Ofok3D0TXn/8DcTTpf4FSmzfRqH\nFJcSv1ZPK/IuAp2NiB82DmqJs75O7awq0azhe1CYEOyng8izUV4mv8qCpr21\np+G7q8Gxt/36Z4GwA5BSOQVWnbFfxO2Vd74p+aQdTlLEozF4PvE0YtClXOt0\n3b3zir1N6x5dn1qfKbHWq/PwepvnaRMJ9pgeyyogaQR0Yd5QJtjt8z7kI2WJ\nO/mL3quJ8Tsa4uTWTQvFNv4yoygA2kY4rioWQ9JdxrP6FK4dz4zLrbHIuN0F\ncHfCzzFUlzKiA9ls9oCeQwvgY9U6EAvlTmY0s61nbmpd3C2mX3UTuDdNSn0J\nl5296eLf98FJ6JZ6nPFi+Qt04zrIjAvKLsRufcTgag6NFctZGBcJpd9F+iR+\nLIDAYryxztgOUwgqbjRnlDjoVfLR5lf15eHAQ82TmB/Gfy/W+g3EF6E9ACn+\nTRji\r\n=gCYc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.3_1627659748994_0.9573139131509967","host":"s3://npm-registry-packages"}},"16.21.4":{"name":"@preply/video","version":"16.21.4","author":"","license":"ISC","_id":"@preply/video@16.21.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"162b871f70ebfd84e64fbbd8c21d7fe8ffbd1c36","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.4.tgz","fileCount":863,"integrity":"sha512-XFnxZqVWEo6ss/MF9o2AeIBQ4N62YQrL+BpepyFXhCTrgj4B2D0dXhkZUglP9mLM6zLYjCMP0Zm0vdCqA75UGA==","signatures":[{"sig":"MEUCIDrw9e8T87v6iR4Bsi9AmBFP/Dkhe1TYALt+QHfyj1F7AiEA7GFDWbi12t/x0/7KAr4wGbgSzgaXz1acSWndXinc3d0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32560768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB5YBCRA9TVsSAnZWagAAnmEP/1SWPn78E+SdfBrtCc+c\nsKv/GP6udzLSEvOKHshsASOJjfokOyp3q5xtpxcHmbpcRvAcLPqw2kSovA+N\nmkofdFXQ/mUvrN9I9ZhSiW38uJXHGtEBdWXEk38yu3cpIJZnRCKcGxgjZRiL\n+N3Sz1g1TK3mpWaqrtg5ZtW5BeKNRzxfZ63A6R9xObUvFoweVdVPCgkgSEnz\ncf31X9YbIQUs2UgK9EH8JVtfho6La21leK/SNIX1fRe3E0nR9CDFcsnxnexC\n9n3QiJT2M3F62qBym5TPGw5pStOmrOzbD/bPqiKdM1KFSqNUcLycnuaA+jfJ\nLP8MkhgZGMIy5grBFxEE5bj3Q2F64qpjw3QbSqT22HSOFyXXehUF1oAUOtiG\nAzA7Oa8grcEi/ZULmw/a/N6flEoYm6Zop/+WVqnEsOwH2RCBx6XUPmIgHSG4\n2aQKvWQeRwDt/RcNB5OaCAhiBj8+Uo5MVyeVLlKrKRAHSTWMSCwQ2MF7TtVM\n2gj2bBlzXwC12MMow4JqSpaOJAoMOBshbo9aCVFQmImHoRm48EJ8OriLidx/\n5lHjjx/ezC8Jmj2KTc68Rty9B9WsqRAg6jXStJZrgcceLK98Z8GiWzdBNA6N\nANYs5jF9tzydNOK9dTqRnr7XHbJlhg2mKCzKNzTcuRTPBRuqHX9Z1jldMTzW\nlGfP\r\n=+y/3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.4_1627887104896_0.9449780394731266","host":"s3://npm-registry-packages"}},"0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b":{"name":"@preply/video","version":"0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"983bf75d73472606c22c41795ca550254c867d79","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b.tgz","fileCount":869,"integrity":"sha512-ExSV1U9F3LtN//H8AaIDYJnLrBIhCwzDz5YR1ZvjDR9s1J6XGiUpJnpbxHazJr8qLEu0WwhwNfjTK2VOJUZ+iQ==","signatures":[{"sig":"MEQCIE86EU4KBniTuS3t3erBvfUjG2hP1K67YY4OxqQnnjZmAiBpQZVbYl5ejGhBfojP4601ZXKooA9DieNQVrzaZlkgxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32658872,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB5s1CRA9TVsSAnZWagAAkXUP/AyHnTLQJ1NZDWUlJrSa\ncf6whyusnVmeRcSxersKumk66BsKG3Rfdz1nVdzRVy/s9dIcEx1omEREwk7W\n8Vo8Lqc6Ou2Qa0TFEaUyloLTYLKVGnXlbA3dxE3Z06EwYUrsiHKvod9Y2ur8\n8CqsPsM59nIR0DCFb46ovzRYHdoQXOUhBblTI2AmPQ4ZwXro5MXj8xEtm4dY\nBMJFcNNvstEM5dGHDXV2JCk8qSrk+Qnu91UJNKzYLXSlFB0dES/JO0El1V8M\n6pRwTI8auIcwGOTrKXyxE8xouTa0DI6wtiYgfiAIEurGhXh9rimwN+d4TCJ4\n7IzaS0G/S28e63GHVdjGPXuhz17etEHBZtlA282eTAVPBG1k3hu9mEhjnT78\nu4w68Xrgihgq0MzmpSTZEQq0GC5nShtJzzacJ3Ux8uRrUhnhILXTBZWh5aH3\nXvZTjNpCEFDVYGXlZzDtMINh4fz9uixHLja8wU0gX4nIy29ElAPVLcSdl+9N\nmys4tsDXnsLgy/cIgi1xEHSYAyNiY7X57eZyoSVxi7ATXpVWwWuA7HnSeaIG\nRlUX/8UY+sA2EFi6y1xrBS0JEaabXzOdUCkd5MbheCsIgj9RFZ0Bqu1f5H9I\nMlUwvVpoRLjH6CVwjLqttq9cokNqg4xhZxXXm3fy1pLzfdOgkkkVM1UEpqXt\nh2w9\r\n=swnd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^3.0.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b_1627888436818_0.43738724008589736","host":"s3://npm-registry-packages"}},"16.21.5":{"name":"@preply/video","version":"16.21.5","author":"","license":"ISC","_id":"@preply/video@16.21.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f96d91fa1f45fa180554942170a91f33c2287840","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.21.5.tgz","fileCount":863,"integrity":"sha512-uyhJ0RoJhzJ6heCsHYQq0ygiMUfUhGCMF+4Fp/boEnvvJQWSrwo/AY4tZu+AA72T2PeUmf8WKOCTGMaMtiMsSw==","signatures":[{"sig":"MEQCIE2oS4GKcgtwMiXQppEqJBHkBpW2aV85MmkG801LeD6SAiAa0IRueWgDYIQsdN62h7h9XoyRNip6SDjOPpFt4pD0zA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32562763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB7NTCRA9TVsSAnZWagAAjRYQAIvvie7CgD02DC5pWNxs\n/CgoiaxBQ25S1t3eY06Kgp8tKuyi78Egly6rWM4KMaPNlTXSa6D/O7GVZwBI\ncOSzKoMdnjdKaT7DEQFeYywVdZhQ8UOwICJ4daM5Jpg8omEOFMJT5DPMMlEF\n5ttJMFuOtSFaCQi3TWgEFAAUMaaYVIyiThNEDDLzaso1BFva9c33gkmL2lvM\niRLCO2GrwHfcXKFmQthQT9P8O+U5XJEADL5wmyQYUGdcfjg8/cGNlpCxp+vk\n7Xk7kvRHGdqtu/mHpGb5sRMQqRQpy5kQhr9BjFa1OvQc5okLyCywHsBC5br0\nRwmqGJuzlOrjEvj/BuaLqswy6fqs/NTC/5aKssHEZIKSyhO6it6rwlFBw7By\no7J5Z9RTb4Iowg6mJwaCUgVvpbfItgk0vozS7dlRuWsa8lljyDR2up2WHlm/\n1DfLYjuSQ3k9cQW8d220NCcDDC9/s/SqMVDrIcFo27mlvFacFFv2kIzL9CJf\n2mLnRxK08XNKEfTw0KBgmj9YaZZHCpfAsRn8+fGeAFueXgFVCk0nLcOQf+uo\nYN0cRRLWhaavZceIO9Nz/HkCPk6pqcQProPIYD08It3Ub04gyqHARpxFeM3c\nqcpJGZEfZRuG5ZTQGHzsTYOGmE117LYrYpcaMbOzRTKTozpDcnAjSlMa6gNk\ncYYZ\r\n=B/7n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.21.5_1627894611088_0.14399980854534133","host":"s3://npm-registry-packages"}},"0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82":{"name":"@preply/video","version":"0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"904433e2747c28aa3b927d4233ccc29381469889","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82.tgz","fileCount":869,"integrity":"sha512-yVLG3DVUrDXHcXhOm8wtJoB3d/bEJYNo/ka6UEfwZgnb3bPsZ4ojGZu+y4gIyEcCQBV4fT8VNPke0symak/1Gg==","signatures":[{"sig":"MEUCIC39sTtuTGuEAYPeljCdbekn4xF7fYQUHmJocqvdNC+SAiEA7nCYvKlvFVJ116/9LyTRpOx7z55VX+LrtEur33yB9/M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32660673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB710CRA9TVsSAnZWagAAb3MP/R+CRND5zHzn8poxY8i6\nfmHSq2IRix5tJUhJ+GOXxSif7sik58shLYuFdyJytm9h6o/SY+/7e9JpFl2W\nvgpdVzFJmjmUkhbCnsoGnRLTBvOzEcFLNawYIVoLh/5f5Xj5KRyJInNSaNoU\nBiDZWcScJFp1lMnb7JqVAoduWq7+9zkmEdc2RTyh7FilNw1a2XjkVzWQbb0P\nxx8GH05bbLW+scoim1Y3zL9uujofZGNvgasjfcD5ND5DnAi/4Y/tYZM094mf\ncHRq1FCwnHIIcMk3l8QMZnbeL48o17e9ATWc77ozMJ8Jfp7zqIlgm2phjOke\nAkmrC4EbGBTa5MLsvuoOKxUBRXajZCS7KlcOa/LBppckRJAu6waG4mLUyxnY\nEOp2yBp/5KfBLMUGgk2XThShkW4VeyL3maY3jKnwA0ThPO7Gi3VRaK0P4Yy2\nLTlgSsSIuTigorr6dTJK8InHUxyPZmP021E2NMsGlWIuHvxMDKX3dZAziY8j\nYWKQC0u/QAHFUt9XtliasUw7viQakj/VWgaU4VsQ1sd+UTbJpjrFMFgd7rwE\nN2uaxaI6lNUF2O061ypxbVyLQpb1FQELWcT7Sr9004S0zUKlKxAQii4U9tXz\n9o5G2JptkVN0VnPYXZMqP8UMVSMDbjKb/GmNbQ7k4qiCIUPvlm0D0hHeiWul\nuRkl\r\n=r0mz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^3.0.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82_1627897203878_0.2895894138049848","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916":{"name":"@preply/video","version":"0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4a8e2090b7bb4b39d98544ee83056f5ba85d5e89","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916.tgz","fileCount":869,"integrity":"sha512-vfMji2ktV81aBUOH9fAtoppQ4QMgUnWlEDNFj/461aUOx4YMWYAAZiHz+ygZEGMNohjCWR7CWG2tpeVWG7s9jg==","signatures":[{"sig":"MEYCIQDMAXQeR8ZEoRSpSTZnIgp9DrVwb0obNGj1jkzbRS7odAIhAOcFMy5aXVpEEQbB8zdnZbYkKigBNE+k5cvrWL3fbMvq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32660673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB8SJCRA9TVsSAnZWagAAvmMP/0MX0KodY2/weONdbUUW\netherNqxldMfShHxm7z5KBsOQ4f1oZmD+pn7BT5j//UdMHXaSUzTeM3prT5c\nw2YxMZa2PqYtNrDY+ENShdKCAajhZLxZwb5dpM3hwuG/NqSVuTIUVdh07Fnt\nZKeAx8CAuT98XPU6dQZDQdzwxIcl2adxVNw6009dXu7j9ib6Z4JId5t/nkqk\nM49/UPGaH9Un2Yrv/spGIzGNErzCPIThPcQanKXq9Y6dQJrBzuBKiB87TKnJ\nj3RqLKauYdl8RAVuN6qdBqDRTibOgAHlTgex0hlNGSHIRyqg5w/3hLa7+o9N\nofjQSMuAXPthVHEF9aRAwa1Zd5j7VLda+3B6YJvGcJTLSDKbzWPnVdud6/Jj\n2h1CqLkkWVGoFsWWP54xJD/UEH9fnRqRbX7/mYpuHj0w0GDGLDf5fpKozhFc\nFusXdaoh2b96Xl6hGt1oQmiqKIKC8pvF/JgUdRGYVdZuT7cInR2mNqFbM3Te\nS03cn/PfpudxeyYhm7kqgsRsShbEVlD/DTIZrJ9Z9vvVw/19++t/gGgyCkEs\n7UR3sE0zm1+kNN52uC0Lln6oxleBAHfNTvGJvfwHaJaYgDSgt/9gRL2S962C\nfKHnEhjxS39flVPAf/ARmT8Q+8x564+SdGHKJB9IuQJB2MJ/Vd+cizvTAuRZ\n56UO\r\n=exYo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^3.0.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916_1627899016937_0.06932011521465764","host":"s3://npm-registry-packages"}},"0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860":{"name":"@preply/video","version":"0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"950bca2485b56fcdaa5d7438289d0cf2222c9fab","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860.tgz","fileCount":869,"integrity":"sha512-nbAzVJHP71I58REwsR7qcS4ZjwctjEW4l4gVlinE8h7q53xQ7uQeppB2j4G/Nujg0bIIA4ZYl4XMBKn07gjyFw==","signatures":[{"sig":"MEUCIQC/KEads5Toy3GdlJopo0HZtccFUaLkEq5biYoP/xG/owIgamdxm6iyy0wvLJ30L8XGfnIfcycfchuKX8WH5H+bCYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32660673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB9MZCRA9TVsSAnZWagAADr0QAJEOf7U8WRmbwidGu3a+\n+KTJc92G7/ByAvx90hSjq52u+hzW0FplY9jPEVKpYCKpha/BFbkQHra0eaRg\nI9M9DGVbqK9P9HlCTaxWEIpcquJ1QguiHZiRchC/PuIiSiZw82ezOM+YBGu4\nsVzuZxKfxfEWkaam+tUwJqtOST5dIB2yPciwFTGqO5CKe4ZrnTqXFSrPUf0+\nNHRnBiWEtg3CSsrnVxMZEVKhsfFYVoLmjR2G0CRNEfQvwSvrXzVXurixJf4e\nrBYapkGKdD45CPxg3f4noLbPH2YlwmfMHoXoRqK/CmnXXtgJFkxu+U0/4do0\n9Jpoyv47o375yFbD8HXqt3d9Yn26nV+vqkG0+UwSd/6tREK7ztxlgM6mGiw+\nZvdBpCb6SmsEryuAu5CTIdIf28jI+Ljo1i9YwAJeCyKGTnc8UoadXf9wM2Na\nfzTk5r4nuR2z8hI8jmXjV3f4G1GVBBWmTLeSNqEUSdMDxRmuQsc8nWHNx5Mp\nE0RjEs96M17KwS0uap75yd+7cLX4dBmIWARXwmevBBJplT7QyhGuiMzCo52Z\nWAIbHbu2467pqX87ZJ8rClnJigKmLwzgP7ByYywg7eK/3NNeq8Zy8ZybNMKM\nq3pOf3vH/BB6APac6nAKTCWgWMCZV/LmLC+NojbW8YH54QpEbbkGO0bFJ/6I\nrI7Q\r\n=7SDN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860_1627902745150_0.7536868608852738","host":"s3://npm-registry-packages"}},"16.22.0":{"name":"@preply/video","version":"16.22.0","author":"","license":"ISC","_id":"@preply/video@16.22.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"50681ff24b80616f2e2b1bbad4d8694de99a67c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.22.0.tgz","fileCount":863,"integrity":"sha512-Z96Lh4J37FC5BtoE+EzGtWyJK3UD39U58x1LsiApVqBy1wAsc6JKS1G8fomGm+RoelyXj3tWb5sgosXLeSQKVA==","signatures":[{"sig":"MEYCIQDFiiH2MEMHNBXf03ilpA3BxRpFx4+P0ONSBLXm0M5RDwIhANORTgKolgjj3fdMpe0WjlyAitQpB4rP3FKurRD1DEVp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32564737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB+RKCRA9TVsSAnZWagAAyBcP/jt9S0P61cipa4QAE9lP\nkgTtvZnTbtRjicyvlZ0mJIBOgfP3REBA+RrZTw1a51ekvhnQkvwvg9+fGNV4\nncM08Q/Pq1iA/sltlKhZbq+b5JXLl13sW7X0lxS3w830ddJJrOlnDrrNS1Y1\nMhftv+p2+hCDlHx7pwdrp1fRwbfFOxp0QjA1fsjSfV4kx4qLU8Nayb7W2Kpw\nHGGSPMwY0QEYzTrIVOd7uauVRca5bnaHwWoS4lpqo3wYL+mW5FHjXvwJhP1N\nEdleZxX9uuLJZZKNtMT5X6nQr+R6EEy/MHG0AtgVXUMUmq1D/coVXCU/ZYbh\nvBnvMmEWoICYScnzlOCcsm5IvhiOFgWjxkn6R6lbACawxoP1XlxABu4o7DqX\n1TlXnIH8DVblzfl9Svr9J5xdXjH7dFFujkl4kWQ4uF0PWCdlpfJCXPP213d/\nPivdl4OwXyOouURAWomfR4xmMesfuPxKJJZErFxQijHVMpxsqz/6HMuZ8qX0\n3ED6yGSr91gxmV9z8Ox5uQpQ+RZ6T6J0hic4DmIYTBkktoPXdw9TxchTKf0Q\nIqHmhTZJqhMLpcR5i4wUI6cHCHLrAkAB6kcQpm4gZFs9EB70JiS/39VE0HbW\ny/VV68s3Cpql2q89j0djmdf3OB5UNWiUN00O+gIidj5mxhjEw88+yK42vgTl\ntZN9\r\n=wOTI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.22.0_1627907146293_0.9532626241204647","host":"s3://npm-registry-packages"}},"16.22.1":{"name":"@preply/video","version":"16.22.1","author":"","license":"ISC","_id":"@preply/video@16.22.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bb4b252920c4e618e89b1a3597448537a28d10e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.22.1.tgz","fileCount":863,"integrity":"sha512-HSNhHhQgyieunTW/oUCPqZo0cr7jRHpI6KqWxUrWXcAIcb8S5liDM5xq0DRhbktbSjkcKhhQO/BwRXJX06sRBQ==","signatures":[{"sig":"MEQCIGxCJ4SGslK7/n6kjMOI6E5lQmxDnbQ/GhVOubCPRzQDAiAYaY+nzEDoSLQ81PiJ7Gdizhl8hDFDU2f32Eui3nZgaw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32568308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhB/uaCRA9TVsSAnZWagAAtI4QAJS1sK64NeIV9WoVnS5d\niFY/EqwuO1SOE2GitQOYveXb/Y+Oa2ceXED7/dhaSxJfEBX5jqdQ9cGAHues\njnxLaKJiOpZq+mcr9GlNidfF6kXHx1fDbHwrHArLxW81EK4/TAt33q11FoJy\ntRwEO9FbRZRrjo2iiChpg9VK9CMT8SfOqVXYkjPqGuBKaMTydpemNr2mQjju\n/pRtqU9srx+xA4smB/C2iKMXhr4Q7KcaYu/83v7B3T2cIot4HZFZZOjPHrPT\nmdiuRCN4mxy9yhyIvUagECd+Np1zbhw6Q70kfV5fhhMmAHw6PQlwAhM54jsx\nYgcGXPa+QQ/MP5KXHaiZmO7pIq6mrflvdKqRU5hbul66lqVk8/VOjo0vwbhu\nKu+oKacEM1ajJ00W+b3EP0VUblTuOIvK1rzRagppBQQcxF6IK4E6FZyEx4+D\nELBSoTANreej19Nv5vTGW5F4jK5h9TnF4Wg5BmkVRczgVm1yHLDQnET78Qgd\nSsWJ8v+z14pra/6Ev2MhwPFh9j+kpT7P0XV3HTIyHmapZvDJSLAxK0E0ENkx\np0l7eU2I6DMJDFa848ZnMvzPjYi7sfw0BX/8KbCDrexlECaQGOAhw3cDd220\nmbpfVy+EPONLIBbLuPlAzojHEDcn3gWx414k2qngRjHZAxDGUMRaXU15PT3W\nSHtg\r\n=POsQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.22.1_1627913113917_0.5015231809849454","host":"s3://npm-registry-packages"}},"0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b":{"name":"@preply/video","version":"0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1845e9dc3821c2520bb81a2421004879d51364da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b.tgz","fileCount":869,"integrity":"sha512-Vs4nUY3p14WZKIQ1n7JM23plyULYGJK1z8x5C2iXNx+yKUJqWJk8yEfe/cop5iQKwhAzyFXCB3k0pJmGUF9ZcA==","signatures":[{"sig":"MEQCIBYwoNry2pYmPJFZJO4dfzA6nj9wUiFJF9an0ZCZY481AiA78qYoq0Xq1B2QhG8NfzB9PDsfo50eb+EiVRfZ+AV/NQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32666218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCM8KCRA9TVsSAnZWagAAZZMP/2IGu54cffzGbO8TVlq2\neRmKjdqaAz5Oc5cNcF3Ryv+ny/UEpLkBmPD6dxMrDxzp0z4v24VI0WYU+bZ4\n9+QwLWhjvNVJgMYLb0dqytrG/wvUykPgNQoszq4HVosnip4cbCRKP8BtqwPf\nP38znRu2XsSbkPfjvOcfu8QUXHQiXaRQawyWbdSfjw7UKb8/wV+d69oKcTPC\ncyRUC4LawW0km4wnVTnFcNbq/0riGNjFB186+rPjrZpOqHKauGDQZCtBSfAT\ncJPL0JgypTelP1KhLWE8kem/tpEKlpHdp0xR/DL74qVIQb+L9IMcIOQxCTaf\neewNZbVcJ9WN9pbbFNytOksjzLohGzh4Kpe9PvYb3HMJtbL5Y2ND36yj/xXf\nL0Bg7ylRhxJds1H2E9dnoLdsoZWrj9ENOWUd3pgW6sbE2j9xG3QIBOHNT0v8\nlO1EXkfiL9bbTkWfnbWl/SpHfrL+CRRnqovU+RiJ0CuwT8KBC5p6bcnNnkJI\nCplI96T5ABRqk46/hzhmJYiMy+AxpAmXy+6VyR5pJApjN1wGeWgVb8iTilX3\nsmJSM+UooCU+/sgk/eJDyBxR+3ugds4L24vcweuju2KXUpMM7ZHqBCn2Yz36\nmUEEXsrE82BzFajB5GyfR7LbVbWpzA5FghAAnD9xk5juAbzzJhDmxJCzbOKz\nBR9a\r\n=x9rt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b_1627967242191_0.24832713603119472","host":"s3://npm-registry-packages"}},"0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c":{"name":"@preply/video","version":"0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"95698f87ecd314b69deeeecaec747d6018d29d25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c.tgz","fileCount":897,"integrity":"sha512-odmgRABlTiRU/rVxXGY8kI6D9dMoBoOEpJCnZLxaskQnfieT78HasVZtuXomZUcBG699E1aErE4LY+yKOieg7w==","signatures":[{"sig":"MEYCIQDgJpuFELhoW0SvaqlsMISSb8Wjran7XWV/FCmbEGzqkAIhANJKXpqbtH3QpIErFx0NQsP+i954A0E21dLtDf4rB7My","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34312985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCOOFCRA9TVsSAnZWagAAs44P/iXshEeS3coJWv4uY5hU\nyVSS8BBq2Nwt7s91+6ZEvwBK/TC0FQ6b4DtCBe2xVjurx7KB3f2nOWH+cHfU\n2lolMlMBAdO51eb0Ny4rbj0yzV4pKIFZH3ABX70LhNk9Z/Y6BxYtUFD6EFgY\nCLezd/2RRXO3AZgulMIESU3Rmk+y39mLh+16urJSb8N396AOEHiprX6bsyM3\ndYD5/jLJQQImDHrXFxbCxMHwtbjuhD9SR3aqJtVZXBFYHfqE8ZvmIib2ced+\nk0T0voBcxpyd8u9ptr9qHiej5khZowT0kIilTZklG06XJrSdXDzlUK4gA3bf\nK5mSrCth4BRg+Dq45kz+nldoOYq0U59Wi9WnOjmhKCiDqrRbJt2mUPxn1ySv\n2gLxdrFlURGyUeWVSZ8hi8e/nGMBhe62mbg9agohczdklyt8agPiorGJLp1V\n42ja3zyYagkWA23cbOs4QCwxcuppfy5phlGTwqEFhGR3y/Oe9bawEa5tR8Wk\ngunQa8Ei4SP6DuI6Tn0G198wzFVP2WlsLGfKcKx91jb6EkbSCDYJ+8HYKMqF\nCDl3/nepdO2DmjGrQ0R7vRbKW1U1al1B4JpC6zhXrQvpD0BO3i1ooJTQ6mF7\nVSq7kyhde6W+Ls5cwcZcVqIZja/JPZx3NginlaQ2MOeW8aVrhTolIjs7uD4C\n/7sp\r\n=5Mcn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c_1627972485031_0.31053714162388646","host":"s3://npm-registry-packages"}},"0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918":{"name":"@preply/video","version":"0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c3bc544cb61e12ecdc7b6a778fc4a8cdedc61ca0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918.tgz","fileCount":897,"integrity":"sha512-BzcvI4GG5e81pEQBgQQnVwdsuYJ+JDkFEAiNci7jiwrqu2S9iXrs9FU/TGkwarndIzSR67Hr2mKZ71UpOKhVoQ==","signatures":[{"sig":"MEUCIQCSe+r138+Tb6qj7sYIKQVcR5zxRk3SSiwczqflyts15QIgQHeDk27Xy6viMi+HjiLxrMGMyGsM2kxyYInjGK4abDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34312985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCO4hCRA9TVsSAnZWagAABkcP/1sPyLIib4qxW1PiYvnO\nbBJX0mVH/UUdAiD2ZTSTGb9ZBdxegZ+jr6kBf9+DaCbwM7HnewLxmHMAvinj\nJMwc4Dx3er+qKgNbS1cXfBxgGJiA7SInssuCZiWFq27DeBIc2aL+Rj+REymB\nwzq2KHr/fh5tQVQNIS7URG7/e2U8s6OkvFVwDUwt0s06UBmz6OBOUq+9EuEn\no5vnTd2iCvcQZE88u6emupgdMm28p9rba4yyFiP1DFKBefPEKsDUqdPUJAfO\n+TeqPQzxybKyJOQRXighOg3driekR/5yk3m7M0XlxFm3nGWaTKT3baugD85P\nDXOTVZESbI8B0e7y40Gj5f9421RUKODVrD2rcZqnV4yUhPAnfiNQjTNqg7rB\neIss23edH1cpx84EHlh4fhpg+JdvkLYWJ90mMsQatGSpC9Z4t3ObrJ3v2TH3\nLuGhWOsVzmzZm5/InJz+Z9h6yqm9raIlKhMNgyQZwPSZuHhgPwRmych0qCIV\nY7mVAPMPR0zyZjoLSo2rP42TNCncaGf7dAWlhV58OS/J6nf6TTxc9AL68rVn\nQ38BhOO1o5sS3TDJOATuo4TyagEJCYEzJDGbLXPCWJkkoW9lxLGVcpL3E4ho\nQRkKeqZ6mpFNvI2387upK1OmdEhFAOq6g1fTRLhUbih0CxyddUO+IziRFrW5\nFIxm\r\n=8To5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918_1627975200615_0.6052987132718044","host":"s3://npm-registry-packages"}},"0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75":{"name":"@preply/video","version":"0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"21e6fd3f1d0c5a166c99dfbdcab76205d854a772","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75.tgz","fileCount":863,"integrity":"sha512-bBMDy1PYJee3Pl1ktRCn6cIdkdgSSgIj7bpaINM8Tm7oj9fFgez3hwGXmW+aP2UuoPYK4xVc3n4SUR3aij2hSg==","signatures":[{"sig":"MEQCIGWbzM2XRISAl6JrqU5jQyKsBpd7HIOoeQ5hv/3wCJwbAiAqz8S7FNtYAaFo4ITfeD5zzygoNEg3iBj/+uxtN9htvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32570468,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCRnVCRA9TVsSAnZWagAA7s0QAJitHUuou3K4Eh3dMhnO\n32rOLnkHOfJ4CuQRPUBIvZrLB4LELw/D23AdxcQ1BgoUx1xWmbyx012BeUBU\nNPfdCOMj46/ipn9sQ9ISD+ZOxxFKHvDWwnpyBsYN4D1sR6vsl1Hr/IpW/FY8\nE8U6flLZXYOytq9mq/pbDypgRCKgPNsNie2gPxeloVhzKaEwy/Jbi2zHB7+0\nYpGjMri9t40udV9GMjoD46sRwTe6DVBOzh/ZmUQtLVefQkP0XtKFg13XBnGE\nzRdvMPcmvOAlsaAvBTVP3GGv4sZyIsgM6B4TY1Xf50Qpjs2uzESSXGGLzm2D\nUdQDWiLI7o9rS7tolR5ie+WX2+Fs2c6iCYOXa31pp4SN1dkvj4OwZapnjlBf\nbQ1HAXElE5T9iiUfbpkLJ7xwBYQwUxF6FPdhWJ6h3r3j0RYF9IN5RdIYfE5V\nA4eb0oKSU1mogaW8FFtlsU1WD4DJkya04hhiSVcNFVshqTS3cCC5WegX/5MG\nAyBA/B5cHTN+2r27653qZ8L5kzZsEbpIOetqaKUpX3+HSE3+mmLbHDq2/ysq\nepL2+LzI2QfRpDTbEBp8fazpNcSLenXUwPAw/nHc9k2WjvOlULHjLpVKFIUT\nF5sCYpRwrq1bakqzh8Q49C+/biZb5VdEXVo8lWvq6e6nEh4i+ZMx3X6fGr2v\nY1fR\r\n=vv3J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75_1627986389182_0.9311980890189673","host":"s3://npm-registry-packages"}},"0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9":{"name":"@preply/video","version":"0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"afb9e645d643356c0a8cfe65e06cebd1d9bac3a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9.tgz","fileCount":897,"integrity":"sha512-oGL3lkhXPgaTjaFovQyh3X01YCbTMWLeXjmQ/O65ofCqtKDvEXKM4YGsQxvsOww6X1UyP7/eAcpLUlOSmg0kMg==","signatures":[{"sig":"MEUCIQCJtfXWQNuT5yrC59DZS+/SoSlv1caZlHF97N/Zr/4fHwIgEcV5Gr/Ux3CvxiFpGvSAfou3r7gFZnYjgmgcGWtztT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33326534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCTEECRA9TVsSAnZWagAAvYEP/2zdMOzjHI6CH90zYFel\nxxbRH1q1WYUXBfvGfkNwunm3Ji0mGhmvh2EFwUg/LSnwftAmKeXiUg+/xCGt\nAuwCBHgAYk9pnItvRa+IqcmrO0w6BMdv/l0zs1oeD6XNe5F3YgALuXtwlIUW\nzKem6lYejOIgS2iUtqOqNURzxzw1d2jBx6LaHkWyuqBOCsS9zyqx212TAdcF\npHXyARBkMYWjHLMhvn0K5h3ZyGrBLw8Fro5QeU/pSRGZkDOOUODOszNSSLGh\ngoS04cNZtnulWbFeibCnDDkMYKNnsfqpxbtHFJnGo94y7uab8pfu5hrKTtkS\nCfLLFpI2yxH/M7QcGaev7pj2Q/jf0sIq05E/iX98Qle2SQZZVIsY4BCvur4+\n00mT4ZyGASejDU+6tKJrw9W/DVVSMwgxKKEAb5vMpaiFCcri9gf34HK5R/Tm\nRcGwm1ljqwT0Os5PsHSQyOFq3GDPS2YhaIID76DQLaIiMjT0n8Wev+QOctf9\nKvH4z7ik39KSY1vpoxxtRp1nLs4yWoUrYSQilTBcJA1s/oAsTI3b9Rwr2yFR\nmsdCVVlDGTiCP/nso2CcbLfNzTuzoip8geaYKV45AG562vCuLbATwEg9rOuv\nmVFotOM9+mZQfnhKNv5wsBP+EKdJZhA+ClApIyczWPhTqGlml10wqfRtWwzZ\nfLqp\r\n=iLNp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9_1627992317542_0.7166602237687167","host":"s3://npm-registry-packages"}},"16.23.0":{"name":"@preply/video","version":"16.23.0","author":"","license":"ISC","_id":"@preply/video@16.23.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e0bb0c55df9693185ab8e3036e9c811d2cba98fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.0.tgz","fileCount":863,"integrity":"sha512-MN7m2CNvjZ9R/6rm6khyxiOZDb6UyJVINLEZCq6/8XwIA8kunRbPsMTpKzEIY1gPPqLiqgnrxSxL6TYt5ejHYw==","signatures":[{"sig":"MEQCICagGEEmILRxg17zBCk8z/BK2qeCl5s9NU/kE2ich8uxAiBHF/V7Y5OQZtrejqOn5p7ZzhCIjE+dKuOp5ulo2biAjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32585077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCUdbCRA9TVsSAnZWagAAjbAP/jfz8TQZuY9Oa/HwiBWk\n+1v1hhVg1O58lh5D7CIyx1PFPHeZIqokgBD/Qk3/fiPqsFta+SKKlOPhPM4z\nOCEgovQr+2s7evv3RVTwRlWKch/Xw3EX56ZEFjtGQobw8MKDI+nh7sc+g2aK\nBzHfBsRHNqWiRZJyZH/nqiICHsOD897/ra6+yfT8mbGxMVWnv0vKKp+6nHQN\nb1vlRmNxtahxmnbnNh3sFrx6IAkC+avpO+SD8yd+Ykt0ZI01+C7m9gGJhKSe\nl3XPPkolXmns6jB/rmaciXl+6PHKBaZ2onAu8vEG+Qy3AS0NDhnmQeL6iDuU\noNdwShZGzBTRLYmiZ+169bGTEnipgFO3mjt4Yiqjo9qxasm9Zu0azygvGQc7\nf5E+1FR0ZmGtB/nKyz1gYKk0dRF81U5/M50505JR7u27vb0lZLcbzpDXGtf2\np4TzNa+2LUclTRcCvqiGrRVTwJSd/l0TmFyoDO89kTUHDv1EyKw3YTIxIU7v\nLhiDEOYsxKhRd3pTSYsh3akiIENmowXpkDjNgONeTIKN5j9AN4nfCCFAnot6\nGA+OIl89R67EPKDmmWPsJQWUPrQEhvjHVgee38lcx6NOMay1xC2mxc26+FMN\nvbUvDUqOrk/NV9hJuMFTvT9iqPA8TXBtVp+LOUmy57sUW/yoW6LQ7w3Sxdzq\nz5bO\r\n=160c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.0_1627998042773_0.6476094430790855","host":"s3://npm-registry-packages"}},"16.23.1":{"name":"@preply/video","version":"16.23.1","author":"","license":"ISC","_id":"@preply/video@16.23.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"45bac9a223f4091af8b5d62e23c7d1a9e2919b1a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.1.tgz","fileCount":863,"integrity":"sha512-faBZf47VFRVmVVS0CO6KkXg2SGeSbnpzpp00cnDoxNjry+lTp0b4IEBlwoOOKZz2i1IVCM039xu6DMGwWafzEA==","signatures":[{"sig":"MEYCIQDJ1Lh6TnpH9fEgd/i9vP1BiNhHWUlD9PZWcxfVwh5X0gIhAKTFMJXaBrk6GZOXGc+H77E12pva/olF8G9kzJy9EqIA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32583851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCVv2CRA9TVsSAnZWagAAzN0P/3r1sMUh8VrvMSDo4f6v\nib4ebwl7LeLzj3uE1zTVNbDTdYjukYd7LmAqhS743vEbAXFYsdPzJ0iJDDMj\nXQTCrAFlhYA6aZSfIlr6WUGckHbw9YgJWEyRAvJDVBVS6oyY28uSZyJCigBx\n2eMIChYbluhYk8gIxjru0hSBXVwX1r+Jgwu9igxKuW9sWq2VfhXgX3AZu4bA\nQKUkUuTPomJYPrWVJr4Vo1v9qdob5k0hClVhgX0mP179zNrbAPjuWa2GJdov\nxNRZJzTNYnKSwYltWlqtOd3/z7gLS5NR8VCDMvqxRS/TH9HSUaS69KWYPs/4\nCDFhu+mBp25BXrPVk0USvd41KK2nI++kLyGhNVHIjRPpZU41B4TEGCGDdesb\n9+oxiEjhego1z7H6LelwhDuMyBSWpz7n2GOBO4kuD2xG0O0xemm+nUP140Ed\nPxt+TqhCXeiMyoFkKYwK6pee0eQpyK2VcpRYY6BGksarFxiEAvjFC+pwbqHH\n6uMkWug43epn9P5TE1BCBJzgwynqyy4z83ZJhFHF7ZFFcUPlKQbxemkBKFDr\nOqHFM/fRahboxl8slHA7+ATG3BZ4fcDlicXW4FlrMj3uz2VdvHhHh5uD7sPs\nkHjUtiJE3Pjwmzu3XlaUfLUF60FzR5rICIn+vRwxtoqdtXcnTpJ7/56iKabT\nDRf1\r\n=hf8P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.1_1628003317987_0.4985905478890176","host":"s3://npm-registry-packages"}},"16.23.2":{"name":"@preply/video","version":"16.23.2","author":"","license":"ISC","_id":"@preply/video@16.23.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e56680858434dd81ba5d9db777770b7bfff32fa0","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.2.tgz","fileCount":863,"integrity":"sha512-M1Ou3yWb9Bvx9fmrQ4DmAvL8DSHSQ2xGpAx9CPf2NalTdQMWH4EhJId2AQDPqQp1ikCjm/0jMR86noeHhwMkBg==","signatures":[{"sig":"MEQCIBt8HmpjIegMCjNPEVbQP9PWYzE8+tEtUy9/3z1dug/9AiBdUXBhtCC3PMZQasDRrK0+HNIsC6yXxenPNPYbjXe3IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32585077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCWNkCRA9TVsSAnZWagAAv0sP+weFMgXrkML363WnV67p\n1AIkSz2Ta+ynpmnHtLc0Aa85N9CwCts3Dfg5NB2M1JuvDEKjq8Gezdj8dmY4\n3M/HvLG1w0lauWCIt1eukg48NB/G2MIF9Abflpz49w6rXrppqHuI/cynCbBO\ncMTaPjxE9FlqTqS+THn3CDOHbLKMfGA/9cgi42v1eA6WY7V1T3+xp/RSskeD\n0g2LMYvxTd+l5mESBenDkchBpBjRWBFCQxhFAc3chOzCl7OfLmCuoBnt78Ek\nYXkfQZPafAG+ya2zmz7XVhnKha0YEqzgtBjCAFoK3y4jJwATlL6b2CT3c95Q\nXwxy0QAae+q4bg683F6ncJgmGnbhoHtIgewLrd6GAWopbRXxdeve8GKrB5JU\n6TZHaT28kjIaDYYod4Q9P5T0G3OaiW6xBkdY1qMO93r8/2sVUdVMD4Id1xmV\nQ9qHRMQLKtjXUvhwuXBgK//Dn1ms8iDXl7knfijTIfi82aeYGwfz8qLmMwU2\nvtQiCvWuvQKFhIPORCcIJq2mJCmfPyOaWsiHbZAQmdOMJUUv/C0BTW1AwEdp\n7xWZaiaP7emQmCELRN4QHbYOEyc1d8HsHfRYZDyNmEKO2OtVSmEfq4WEwgtT\nwFCKh3cRK5dH+BBN6a1sH5nFdMNzlro569UIXm9J3o7/3nFly6BFUd+k9AVK\nzq3q\r\n=83nC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.2_1628005219785_0.9553147287762966","host":"s3://npm-registry-packages"}},"0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12":{"name":"@preply/video","version":"0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"55350c26b9484ce3f47f51f05fbc2c4e443c6252","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12.tgz","fileCount":869,"integrity":"sha512-Jsl0lrJG6e2D0nRpSBDk4ZChUkK35Psgp7n2WNHvdHDnxVwN+60NcGeCXcCNUmTmh/1Bln5hRdVeZDragYb8Fg==","signatures":[{"sig":"MEUCIB9pCt0V5ItNM03yAknfruyyGSWr9eldU/QpSc+6Lln0AiEA2XRMRdHNZKRT8sFc0dHNVzVI9bUcaoJeHo2RqEpGmfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32682987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCg2ACRA9TVsSAnZWagAAjcMP/ibrTGBq+QtVpBS8fQgP\nIC7h6M7k8qgQJyTzQ9lz8BROunnDGDBXLTmjMa3JkQq9ELEIBI/Sss/WgCNM\nEOAH/1Cc2clEucKutSFeo1+zG8OHqmsGU5GXnxOixRbK5YtQ25NzXcVO9ip3\nZcyPNFWotj3fUEQ1nfTlv2S65XMYo3AmQIdkov475d4hjIvocgOqvpXnK0iQ\nupvtVhkKOi1J2lDfaI6bNvnnKBGSg6uYUsSoVKDV89FE5/S7h3xUivu6lxdn\nMaRn6OAYk1qZcnqCGm0t5mODei7MsBYZxtzfZvYruB768drjzv4CSXEhiQD7\nctlZ4TwistZoabeUNWttNGEwUeAv5oKEGI44hlTqnYMINqRQ4oJtw6JKiMfa\ntoUdH5+YZRk8MX/Rw1Es/dNelfX611Hq4/upgk7lYjTVEkXwDFoh/YLY6x2q\n5RcqbBGPJoQ3E3/LWgdk66q2Z9G7YIB8mFfiw+UVIs5eqCnkFB04aOCjOMBA\nU3t2EmM+t7VDuL+L4N9T6v9Lmrsj1c4BE0Qi0xczlq/v1eLnccbXepUlTPKA\n3Tr84yqPqMxRNcBQTsppFEYX2PRRvmqScoU+5nBEqybXC9BQ9YjVL0qL8hHw\nr4ph0IOADBjDjQUilgorx9gDFPhnUpW+69x8Wtlt3FjUdXbtYj8Y3kmn8N8g\nHeS3\r\n=ikex\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12_1628048767785_0.7703195931327529","host":"s3://npm-registry-packages"}},"0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3":{"name":"@preply/video","version":"0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c59ef4a012ffae036462eb3ed75d0873a6bd24b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3.tgz","fileCount":897,"integrity":"sha512-lt+HQ5pGBPjQzZ3R9Y1YjGF1PZ/t3pMCrtAZ0ovR47df04/KN1Lfi5czS8ITW0/Z8tDkDL+y6cha2NlQH2iJew==","signatures":[{"sig":"MEUCICjvdLaWuOyJADSJeqEoMYIqIr9NFDq6DkW7SmelmWIqAiEAjTjyB7GKnYmJqnZJMH7p8V8JmaZKEkgOnAO75qosLKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33343303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCkHcCRA9TVsSAnZWagAA/KEP/A+0RR3PboSLSwLC4WTF\nLWzDDlExL2HhjlRRtRDU2+Oxyhi/RC3w6rbUzDjsbx7WknB8X0DUsawqLplH\nZtP0NfaA2VGABvnI4ufjCQIHs72Vzg4MLWqYPtMpUXnN35NDoPPn7glMaDnO\nX8EDnp6WGwrPWCCJu+Q28pYNRnhElblqdqat5j9QTVaDMVya0utCLq+6laO+\n/z1xNaUI1c6ZYypM6V6qtKiNmGwaokNz8XyNOwoEGWRhQL0Hx3MbvgvyhUhd\nnNgo0CYMRfAJ8bIM8mmGPo0F9rQW6cSFx2U8jz4Ye51hPH8D7bBtpn2wzM53\nM+5dA6UBMhTLY/JpbnS95i30ifsa7kcEAhcBfn6ofbI3lctJufONa3szhsmj\nadU8PND2Y/QZCcSsqEEESikcCVAILMqdl8S1UbH2N+xhNI3g0Gvh/3Ha7zdq\nVmR4nowKbU9A4qPcuLs6m6Y9RtKZXgUN/zMrbZRShCbFYGjhFMfjKLhbRUV8\nHwOlBuOnPoCkoJKczC47A5VZjD3yfLYoNv1JBsi2Usftxt7oMw0xAVYBHdhr\nYJKNHv8/rGP4CS0wlDkDh9RG7BU3RQ2pTUA5kiS+aqFBusIjCrV/G17nqN/m\nydgbI8LXHikRgeZ5Pu3VGI+kRnMdX4iFZ1et8gd/n7HhIW8Mb8S9K9Id2Yxp\nMODZ\r\n=hxKl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3_1628062172132_0.6847786230497803","host":"s3://npm-registry-packages"}},"0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a":{"name":"@preply/video","version":"0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04529d5035908f32208a81c7a13d2ad11ba435f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a.tgz","fileCount":869,"integrity":"sha512-smKeKKy4SNXtz8oakJUcT4g/0PbWA52au/kdvR0rMPQKktdopS0fmIsi79hUenUARsI9VdYPZvZTYPyVumPnFg==","signatures":[{"sig":"MEQCIF9XiEY3dxFlcAgJMrA+e52mgpJ6ZxTQ70oxfR0e/TH7AiBhOqRPUsxFNxJJkF1x66/mwQkCzTJwtrM3TURdair7tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32682987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCko6CRA9TVsSAnZWagAAXE8P/1EdOVvQLRFWnVdWvpf+\ngllrtM2AcCRXqscIn/rXxHrEoJ4nHbG68ZNfVoNnGTskdESuiRc2oPqHRMGs\n948bvloyaNOZ8lx4MAkjs/3vwOd1LOHB0DyPF+niZTM3WvAMW4Z6P9aea6R7\nZb/1WZRLoT6kECyTxVq641ifX3tCqvtwnep1Y8kzZLks2afrbRmJhE9JgG5J\nW6NCWnbIZu+tP+K9wZfy7+sfxQ4zkHKkNYccpMZK4VZglRpy8WuuQTB8wbk0\n/QnbU+vf0Z8FttjefO3kNENL11/6BwalsQ2gxEBMbFxDMTJodBEE7AuQQ0bD\nZcyftSsguRvwpkCtKu0RHsAhpDZKHGek9tNI45ZBpYRtw7kw3ouz49MLjrE/\nhXnbmbqRFtug/JADAqe5bXPKEF0ZR9v8RXz6zFHWQp4OKBPKETpyX/rdP1gq\nQID4IWUYLYv7ETuIzqv3P5AfCGI99DsBHnSo1l+kek2rMaC8IJZmaaTMYwj1\nMrqW80eu2/+F9JGgThJ76JNaAoyUVOvfgVPLqq2IBxD3+zXiXBMwZLhrJz09\nOGr7xUuF4QSJmgXOC9yZebzoLTxOV54At9LOoBm9pBjLX6xWUIeZnIiTYYeT\n1vIBHbXooNmBsQomHMkKiYqUTHUxIRC3b2G+ZxKpt2EStpPg9H98pr2dfD7g\n0fP1\r\n=xHSH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a_1628064314035_0.051859904556128544","host":"s3://npm-registry-packages"}},"0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d":{"name":"@preply/video","version":"0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"be6f4fb600e8c50b84a0a388c3c25d56a0b6cb71","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d.tgz","fileCount":897,"integrity":"sha512-tYFk3YUwoh0+di08SundC1M9vrDqMbB/iEr+m2kJMDY3YuZtT5iq5OAHPuXdA+qedc2UZXOn3MSRAs+wHzAOxw==","signatures":[{"sig":"MEUCIHStJJcZ8oFmz+EP4qY8kyKvzAViRUjdGDVD9+GR1K5eAiEAujkXSDAW1PYJwm1X1NVEqdVlVuZaxNnLAd1wXlBobY8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33344398,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhClgaCRA9TVsSAnZWagAASCcP/jE4H4/vRf6tXaJgL3Ky\n9Ep0T098NLY4cj7zwO046bGQnrg3csokiZoTcOmXQ9NmE2RQkpGQiDi2anHQ\nmiuHgN6bp1JIvX4NPReEbseIVFqVYwc6FJTTuFlR2WN+9n+uyA8PMjFZD4U8\nuWsAlFUPs9pCHH6M6Wf1OadLyPBHIeYR1c5vKkiQ1o3gHtdPGi144PF2v8H+\nqBq1uMmdb6FE9LAu8HwpWHj/iS1faZyfsL7X9xFBdkLtvZSuTM7WUcdfg8+5\nlT/iK+Lh+Z20z2fCi8CEwZXUN2bEOQIGvoqqfUBWL9XSi0xylsZC7DM7QnFj\nnz3e/aK6AOSlO5QYvPoRkASvflPqQa7+2Uvez70kfeFibcPF3Ywh35SBevix\n+u9ZO3pp8xPwv3DPUy2Ie5lvPdGYZPVDa4iueAXS1dfzDfz21ZtO2xfs4HBh\nhL65/jsZjooQWckOgFukDc8kIOnGA/Y9vJ0oVIzGzCjtheGMvKJ9JcUvRntQ\nlDJTINUb2RalC9E40G1APkbZMPEXQAHT7yTSNljVDE9E0aUxhyA48a0uv/ne\njfuQpP7VViaI2BQfvPYBb3FJ6vfwcarhFg7PwnmJDe0W8ZvBgrkrhv+xyoMI\ntUgdj+J+QjC8B5JnMBWouzWwaOzpunToCGunxSqUN+/v2hae8hPhEAFSbrUz\nElCv\r\n=1HPn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d_1628067866033_0.03964354641440715","host":"s3://npm-registry-packages"}},"0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001":{"name":"@preply/video","version":"0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f5c79fe2d2d45694756f517fd85738e696b76db","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001.tgz","fileCount":897,"integrity":"sha512-E04FDkOa+Q27HOI4nqwYHHN3K4GlDh4pEq2rAZrYLOKVdqOYxT5JVURklrQN/EWFe4Lf+yolWEDul80bUdflvQ==","signatures":[{"sig":"MEUCICUgJ9RSwuOlALBzazVg4zTYkklgbkqeP7OMd3+D5FvhAiEA8IL14dpYF1MwJAyJwRP+uu5MuSqk0FG5KMVC8nRpT1I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33345298,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhClpPCRA9TVsSAnZWagAAdTwP/2iYCJ09snt/NnteJ6yt\ntJUpzrCGfK6F44AiYMQfTw0dBfNead2nc0NTyugb8Zdb478zYs8g7uRNSg5z\n1IbhTEgVpO6GiXegTuB2nCL/Qk+Pa1vIN+Of7S6vB7tiaQwMOwiedlVnSu2l\nS3o06cCEyndBCbNDczoQR60v+WnoCq59Rors0pubjvnF8YNjUykACRvpAiTR\nla4ro9hL4d1lrLNuZaV/Asvjd3u05f9r1rBjAF4+AFbUECiXX1UqK5JFvELL\nw02FnVIpdvUNGCIasPPASmAs8hgECZWOw4Rz3JmflWTzTm4TsqC+yQVtnKm5\nWrU8ZU/vGK8sODSnmbiyHEUMKK7PeTVeq/McyEA0u9tglj4DBcKhToblpj+b\nhAukCfDMRHrB6kQCo/UBvRiQk9kLyzfbbi8G7fsPFw0KwvgPAfcQJDzlgbUN\nOQ8eg3iE6MpEUZ1GzO0CHBCaPWVHF6d8WeS3RjAic0f5Xz1/XzWp7EooFvZy\nWby3SImiTTeGssjW+F6o6CXAyCYMUD95Qhbk3dcNG9mxw8nE3QXYOIvKvWrr\nWT8rlzBz+0ny3bRL5o9u57h98c4GKMax502DjN41+SXey4qNGSX8oXTkyP5c\nDoJ/cqeqFak8LurNLSTQiXjJ4NpNRoSzaNn3vBYhtbF1DkWkmS4C218AG+oB\n7ibr\r\n=8N/S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001_1628068430301_0.3181728163845332","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6":{"name":"@preply/video","version":"0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7b4cfc15d227b22e259f9b67592f4affc665fe9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6.tgz","fileCount":897,"integrity":"sha512-M68qmGLA/IFlYGqFDUdikIOdDUvCdNSsYQAvPOK+iKAHkx8T2NoViOPMLg4HYitoZzITuG5Z5cwtRCITMsq2eA==","signatures":[{"sig":"MEQCIAdYbzhLLzXzaykNNzC4C84OiCUTrssOnJN3i0SULdH/AiAaMmw9kmrVeAZOFdWkxfHQaIIpSeQrOQsHuDUmfUpWkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33345733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCmLrCRA9TVsSAnZWagAA/0EP/jmceYIK9IFara9WNDHC\np6fppgKTtidDCSCiLpM8WsmUzK2NT95TWvvpxhryH/ELxbjQvfXuMBf4FhSW\n1Eg63Mbor1iy9Zr4ZkLIjjSGtamuQaU9ViD0xnkRihvmpiFeo9xgoSlDP3U/\nY482t2/MBMZDOBpbe19ZpRk+FxcQS8UrKdmL8M5woMzoQXVZJSmmt1L/WUhX\nQGML98XxFt1kI0a9OQcVKPw1siG+QgpVC9ElT0eBaryRhwZlNJUovg6EWhNh\nYlZ3IO5TFPStQ4eNo00D0wQeKZwozHvBb4sxougcWgfFZ9WDDE52XNn8n1t+\nITOswZ5Poy/3an+a+QyY6C/pMB3BCauMUq8/nUCmXfw6RXjl8f0ToE0TKXdQ\nQTqEz/EhMOfUJFufRKC0KuZs7nbdAmMxw4WSEp6AG6T1RE8rwA13cNMRYloY\neB6Zb68eutpC4U1Xcib6p8ep60jYI5qAjxSu0bGxenGXwRCplne1Kt5jTWL+\npTmbQQcIZD2Gg/hXgNpgbhUuxAXcz8RbVWb2MtXu+nsZ6qig4wCCLHBOJNd7\nKRe1VFV+KC0Sr00t/V93DOzaypwaCaQ1wlzGvfd9xZGrabvcMn2vGee6YZbU\nj/7jcXJJ6H4rl+Nwun3x9cLtgLpniqoIlBFTdrjjHmbB6Xo5Y84a42CwuPFd\nmTk8\r\n=KiXA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6_1628070634581_0.18902410347809107","host":"s3://npm-registry-packages"}},"0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73":{"name":"@preply/video","version":"0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fccb22b15954b2ff357b34b2094573ca2521675d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73.tgz","fileCount":897,"integrity":"sha512-3XTO5MX9hAudyXRHScf5StuMLTUi0HpOreRfKAujj8YU/NnRH1BJQzeSQVpDlb3GFeT9+JBR3HFamoipGWXISA==","signatures":[{"sig":"MEQCIEzvS82iMHzGa6k7HTJlE9BBkE5c4gjY5XQlufLK/vZLAiAeDV/P739jz4lyKvykR+6rk+fX+bw8sc8/d05jCBa6Kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33346138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCnhVCRA9TVsSAnZWagAA3BwP/0eDCWP1Ymj4QmUKUMbQ\nHP/H0OsyDt6MpZO8+i26+OcAgdFvuIZ5KNXcetTe/O/JYpIGaajKFM7/Xgft\n4ofWw8GgNg8lG+6eWhWivfKNLRMP5OcCi3TRENVHmF2pbnbqmNDdGyfBOySR\nwzSfWp6hebmZ4nsuCLXLtpR4ihWAEdNEnSdSqVViz/tGo70241PprVbomIX1\nyDHksFmOzXJvKF+RGf/RktCa1EEwgz64LcnuEMLlvBHzeW7J+opNL6t+J3Sp\nlX/Y8+xcoPnL2mxgEzbpVrQhUPDTTSQMr/otyZhYnTktUS/xcDbZ0RMleWAH\n7a7yHehoqs7+CNWFSwJpSVSFm/7zFDaA1gCQGDAXGmjrdd7j5H/3BsY/5Dhm\ne8zAAtS4arOlizkTep5ZapQp5++Npn0d/q2ninWKuloU9hNCkddLlDr3A4y7\nc64Hz0MG+VMSBwZs/mC0zdglmJt9OomTIUpeIYZp5uE/KZkJUfc1G/pVLHmw\n9DMldjpJ6wmy8/2QTGehx1a3ctRCEftV5TBiYJKYPqPBxpAmWv+agd5nXVA5\n8c6n7h4wqca9aN0XwwDZh0TAeqF6Iuf8CtfxMSBsdaq8iKj9yBToDPDK/Gom\nL6aW+d5fUBX5bVj/DPRwMoJIfV2cpPBWpl4Kga+Wk2iNH6CvrYjwwXGJS+de\n+r5f\r\n=9/7H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73_1628076116747_0.68923589421098","host":"s3://npm-registry-packages"}},"0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2":{"name":"@preply/video","version":"0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"430d232d07a5ad47198a6a9148848442a87701ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2.tgz","fileCount":863,"integrity":"sha512-1NjFqnXKmWX6aWELaLyM+librkeiPMi99xFHVSAkRrcKV0iiGAosUqLulMJJ0CrpBL4DFt1c0cCnAIIcf75TEw==","signatures":[{"sig":"MEQCHwmF858fRRRzxNdncKnC04AfxrpVLounSHkqEMaIJ3gCIQDwBxeCSWB1CmdMlnlksAKnp1Q58IIGctS+NWqILUAoXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32587445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCoI/CRA9TVsSAnZWagAADowP/RBXYcv9eUprvHwAUc8H\np3ZkUILZXA63UTWzoF/ElSLhsOdS1+Uhg8QqVPy1eKzXt+tnwSzVBaWoFRkp\nIazRI84uGlq2vXkVbsU4LyGxaPnSGKookI+I9A0zYYxw1K/AokAOTUxTR3io\nbeXmnQoCa5c/9x4Eh2ZZsLpHe2mfVYKdmKFT1agQ3lKvZ5IsIzhajAK//XB9\n3LFTZU25ODuhVcMutJi2M3mVCD+cCZdciydd2FI6zCmYy16xI1Q1T7c+DGyU\nO6UtzY6weAFIBdyZQnMEjUSeJFo8QNHNU2g4EbJg7mo+kYskqRlGNYflokUU\nCTsbxm3N7pGZ+JdqJmBhbp08h01+e30q6aLvunoqSiO1hlspLjeXRvkz3Sbo\ncAmYHd2JSPFYTDS/KpZGLOkoIGtO6QTG9Mkpspd6hsyVgWvPbr+rFTLqAiqf\nWWy8FLz5553JO+l7r7h0LlqILfDssh7Nhh3QYy4aM71COVUaibZyYJjWIYk2\n1UnSniDxi84O1KhDT2XQ5Zx018fhO3I4KiNKm55fCJKfDnvohp3iabNsF/jU\nDUP+5gu+iEIvZRcEnPyYaLCEjd83XgnEjMtBiXcHudoCVLjAlwy5Tt3tHB3h\nHFG+nl3BlHCa30gRXv4mLb8ugyA3hDGMi68xHW2MUqFuRe4JZz+p7SEwPzzA\n4OTN\r\n=H4Hj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2_1628078654844_0.7236038117136656","host":"s3://npm-registry-packages"}},"0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa":{"name":"@preply/video","version":"0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a64b5c5b26a36f1e9de772ce66d21e8dac5378a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa.tgz","fileCount":897,"integrity":"sha512-Nqu5rhL6IEUkHcxXxD4LaoWvA6UyBxwFLJt7JDxBmZA8+0HZU79PGxKibaHpjTBU4azsCxUsWybRqqVb6Z+qJg==","signatures":[{"sig":"MEUCIQDy4GYIVpEjsmz2vls64kKUfMrtZLMqznxiKis9OE+UlAIgGC+x5lJ5V4s/H9vOf6Q+lMT/+KkTI4P0Cq4XCiibTDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33348581,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpCQCRA9TVsSAnZWagAAOQ8P/iW0zZzsPGwOxj+83l/S\nB/FEMpXw5lzLjS0DHZzPAlhvL/wvWHnAjZm13sdxy3UfeWcSNiJ7bJuYRWfG\nnJJUgDGZRDlAsxt8175NTMo6ygFcTgs3SawaKv0sU4gw+gsmQrLCZ9AyQOYC\nP3U1KdNsDCY/yBT7qejvM4w53hAo5Q4MUx1anXXtrqQx0HU+/IpJ/YZnu5A8\nClwCVRnd9Oww/wxvZrH3/ZmTaGTdWdVAluxwT1Q9dZCcVqy8TSQRBLXSCKl/\nVnTOXrnw36EdFCusL/R5pDbBR8hFwVtPTLymcQiHVvGoc5N96hRHXUEBYbOk\nK3tGyNyXOxIeMAuBsA4oMLHVUmIn2Ltx5pYYGp6Zp+XlOwzlf+djFkmvtToW\nxGW3MlSTmiRsvKWO/lMu31hMxbnk1g4QqrrD6cfNF59L7uYpxh9vUiXWfqSV\nN+FrSwFsjMO8WVCdM9c15fXN5JgoBYRzIUVIGGAmrCFa66XRYvNRaz5D224W\n+SrbCPhHcZpQzhjZr9n4bchmJaipYVRqCb1nr6v0XmyPwSCZaHRHpYXeJpSx\n6h2qbjoJdRo7ZyBYM2MLDGNZ4/aaM3GMMiB2cy9++zrbCwEOmMLnsapdCYnI\nn/aVxf9l2A5tA5ksFe/X23Dj/6QqXSkYg+Vhm3PE0bMZBz4NKmnPad+J1aFB\neJ++\r\n=hxG1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa_1628082320160_0.9419743590418284","host":"s3://npm-registry-packages"}},"16.23.3":{"name":"@preply/video","version":"16.23.3","author":"","license":"ISC","_id":"@preply/video@16.23.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5475b43a4101db1401deda886d6fb96f2273fa4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.3.tgz","fileCount":863,"integrity":"sha512-JgyhK3vRynLL5ylSVZh2mFqP9ou8yYV42qRW9HBSFTS+q7rKJsLUes26+IqC+jvIKhs/mh+jTF18C91Ipa4cgA==","signatures":[{"sig":"MEYCIQDMBlQ8t89bCkcza/6w4xm6IeYujVlg7/i4zHcoCkc6iwIhAMbfm6xNuYYMiHZMRdKkkXgLp7u4oDoUBdFPRSjnMd1h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32584059,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpLECRA9TVsSAnZWagAAe1kP/jJOq1/FMfEUFRIKYKUI\nNR0BTcAOgZbjRbOqgIV05r2YYXm0nSeNVhJS3Jav3wpCawWU3pwQqEDYLbBj\n5P7BbVWST/2ixWcCesf/fEIfkFNV1NpeEdRBgOTf+rrLBxC1/wB5V9XdHtz+\neeWr2eWOTAQr3Qy4n//6tzswoxu1RMEZMsW3pibrDirHC843uGvs3OOrd4fy\nOjhuxrNLytAmG29mbJQ7PQSz95AOzMeYA40fvTCrjQkHd7x9MVvB4emvV52T\nrTe56YuNAJUsatF7i84NEhh7fABdyfKIhLKEnt7jjj7Wm7PCCGlOi2D6rMln\nElSuXWBJQoMQPw7gsbzUmpPDEpE9fQYQkdnQyoqn1cKWZ5l5auLyDXJG88rg\np/8Y3Wde6QtJPbTVi7X3YmKAaDag1tsaTImTloRlN3+By+KJyTRr9lqo2e28\nkxrEV9Mis6+UoNGr+12UHeLGa0k0nBIPpKc1UnNUX7oZQjaB6lJS1pzZu4F6\nva2HLUhrVyl4sdKYAUhDeh2ozy6FMjjYHxNAG36QSsgTYz29GVqTlcQ6QZDE\nszo6lKc3dV0gnsUnOfMUFuXk4qa5LsxYDTVchTWK+Snk9oRPByXnsjdYKXKH\ntjRMtcPcdteQzSLQ0Lczk8kz621f8R0dGvgYE+/xWmH9j9tPsTmHI2+1ZbhK\nPHUE\r\n=eIF4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.3_1628082884455_0.9890126548939695","host":"s3://npm-registry-packages"}},"0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6":{"name":"@preply/video","version":"0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2bdf9af7c905733e270bc200bb551dbe39366fa4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6.tgz","fileCount":897,"integrity":"sha512-7+5ZUtILZ+scJeO/S7YYYIPnkbRQrmLAqWIIg+efVIXfIKbgN2VD1IVzCAoWPMxs1MRn3xTK2Yx3Eh9iwM0i6g==","signatures":[{"sig":"MEUCIQD67zxv/kI/cBSz5iFBDzNIut9GfS3s/MVcR/SPMWIPMgIgOgqUCQHDmeXWRormzZohaycBbT2c9Jj3Dvb5wlXSAzQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33347563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpepCRA9TVsSAnZWagAA+poP/R1n9c/nNHcwKiJV7qYh\n7C0gb4J8SN5xNz6do3ikrjGpyAjQWTlP9m0BFOk7RpkObZvKqf2KI5ZEOIEZ\nZKpMykfgMIb3Ogt3oRsDAmHNfxKrlR6SfebV3Jjvx0nol/8/nqDK/LXPYnzr\n9D+GM3938ohwHdEWkUVx60bhit3f1x6X3vzOG9YmsgrgT2hfbj1hqxtBUGfT\nEcyyssc33e3JLjCTvBjH74dZtMwxe2SC2MFco0yOCI7s4pybbFqiXaByQ4W3\nPyfUwli7/64mx0S6dI5AlSQelKFBdrOQzmAKMK/Dqa7OpQ21dIEh2zw/XSO1\n/TZyraiJN1l+lQgpFIQlhq3nqnUs67jSlU9prCfGtaSJMcxERmuIo4BGRqcO\nQLlZ7QFC2Y2CSwetr6Ty07rcMeOWv8nQwCUtt6PpRLkVePBou2YvVP2KSDLJ\nPbj3WtPLHTP2tGezQDyCv9CGEr4uY7vBNEjgvNLc667jMBFH7iZWql+pu24Z\n45MhYFMV4Iz0Z9ciYamrTiBmLOAIf5XudCEMXrbDkHxXwU7qYjZTqvzvMrXj\nAp9L69M19gycYKsvUb64nlkybbDehAsDvrk6BhQVfuH48QVDv9o+WfEGIgRL\ncYr/7/gtlitDcC0PYEkPT8E4dtepDWc3SErB+f6RO34wBYRa/VTFEFXWSiXK\n01pe\r\n=MqkQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6_1628084137137_0.7559981427532307","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21":{"name":"@preply/video","version":"0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a1ef8deef41975e38810fbdb49c37bd7118694a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21.tgz","fileCount":863,"integrity":"sha512-R44sFFv1lo6+RFE+GCKIwi/fvBajGMpPVQJcTvlCHBYPKtCwTKGP/bUW0yOgUqcwsUHFPKvkEpO3Y3IW24cpcg==","signatures":[{"sig":"MEQCID+Mgh9odk6xwlRi3AjJZVuI4AfMzA1DVI/1OQ21loIqAiAc36mqB8lWcYShp4WRQrzwiQcZaaA2YJXVjyzSfrW2Lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32569342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCpn9CRA9TVsSAnZWagAAXkMP/20jFJ4D7jl+9NqUuBOL\ncPT+qPjGFm/j7YsymsOB6+Lae29ghYKW4sTjWVrpVNZ6VKPfQTSTwCyQTbok\nAXG0w3daBwvo2Q9kce1oJeObanpk0jXfXuiZH5ZTyQYy6yLZdEiHLwFebepI\nHpQb+n2jFmhja+cIPV3q3pdfQ3sEpJyC00CNIDPjGszpXKO27emoR3HOyqjr\n6vQ/KsCj8uZSbYt4aCKCjUgq2le9YdTraer3YThbrQGkr2wdZ03T7Xj+R+a4\n7cirsgzE6WgwULDqpfyCLBgzc25BLpBVsh02zRfgfKqRsMI0DWaQFRBviF2c\nYJ1u/jiM3pf7Z4lSg3htlcAcw6ovff6LXtA6kaLmsC0Y0nUjdFbEoPybMbhx\n32nLMGdRv3SbC6iwpql5wOO4oHqjSgZSyC3fZIYCRacHmXhzLD4VbL1U3fzM\nOTXVZq+7NdVp0/BtjhHIomwf4Icpx2wfC6SvRY8NOUAOCOdMGH3iNNdp8MNI\n/zlIJYOzVvmL2Z1APAHTYVrLkoPg5+f4NWB9DiyyBeSpZbiP9kS2U6Rridhf\nx65dBIUrd/adf1IGKcXBWMbRPK3SqOdP3u1SoaPdxUPIdJUd1SExQvIYS/4x\nR0hqjXw9tTWX9PvmcjStmjZ/q7EgBakSgqFGk2yoSDO+Fvmsf6AsCxV0gBgF\nSp0G\r\n=OXp9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21_1628084733483_0.558161460497006","host":"s3://npm-registry-packages"}},"0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3":{"name":"@preply/video","version":"0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2aedebc66b5dac2c2ca632d092b77099950a66b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3.tgz","fileCount":863,"integrity":"sha512-RBhIzGNZaClA1eLDixPmP4y5AdjuiFI4UrutFeSQqFJxM5C8Xr2qNFiahF7A2SqymSpVy8jqN1iuK7pq0KwXCw==","signatures":[{"sig":"MEYCIQChXFA7y+YiQwgdDjTU7AIKVbNtw/j2YMeBNZZIeNbocgIhAPTAb4mF7EqfZ99mwgdCQ92p3yOlL81YgUkPTrNVoPIf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32569342,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCqXJCRA9TVsSAnZWagAAiAwP/j0zGBJ4qFtv0DimY/Ce\nc1Wtv2D3V3J3/I0LKjfn3iF4+gyDdD1t8z/pkvlqA33m2+v0i+unr77q284J\nqMdAvsgqRSksN1N7T23KvgRFvNW37Ft6cXiL7OSjJnzf0qfyv2+Z8wGKSYBg\nroBZAqK/Z64TNCCaYo+3Jr+G5U0js2bwQ99lU2gGA8s55Em93UJWNvntcAwr\nf81K92gVzzcNhREd7OyFsVKD62/an6M0/vo6dq50IRtP8LfzYZAEpMu/6msk\nzCW5auAMdFxeVPrIzjBp7C0fssm9Q6gKFXg6hjK7fvPgJJJ9qxOSFN1vMUPU\nIDETKeJ5AhuepZLwHjKg1XXlJovInU6vMQ83flQ+8llbxHEnAXUI21KGI8Js\nFtKjrht64e6xKqdHpOT2pbMQ2w1ccT6z1k/ULGp4LGWcqtqvNudN/yebfmTi\nxV0SmU7kKRseLGJpklDi4U6FShaO96MqsLIE8tt6LK6LmunSGpvcmCi3IKyF\nAqWyw1GHX579qcQm6Zo46rufG9K9AjQ59Z+VUUJiWMLIQF4BaHy1mRO6MqR1\nz1TPg3LyQUwrR5WDxC6FnkT8D76W6it7B1yfNP1QQSbadqzNIyGiMK3kHiBc\noBsKeUj67gys3B9p2ltyrruz4CjnlQPd8QuD4/VlGEROXL4vrjpblG11/Xwg\nki+E\r\n=TOvj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3_1628087753159_0.8670767363179348","host":"s3://npm-registry-packages"}},"0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3":{"name":"@preply/video","version":"0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"396eac572e69ef49bf877e5b5aefdcd6ed7170d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3.tgz","fileCount":863,"integrity":"sha512-SA5jPwU4txXNxAID1qvY9SmOBRE1XEM/ABV2DaDH4nQbZZxYbCo/a24bz+8QvaPydIQu29nuSC1dpnBEasawXg==","signatures":[{"sig":"MEUCIE8W2HtfwLjxE/3dcMRzN534oIog8O9Vz1cXqO63ytctAiEA93dmVeHRGCdT46rbR4e8sjWVkp+zUnTHSVybp2gqZbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32585093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCrSKCRA9TVsSAnZWagAAJJQP/RKtOz/4n0gHxRA9JV5w\n997iegZK7IpDhVrjFwA+PdnverYDG4iFt8cCF6LNgUotPh4IgNKw3T+IaBJZ\nzUCC11FLd7u8UTNwfP8Ahgv9wdA+cSJyZHczZ6fmbKRQkERZGiAZO96H7W6V\nzZll66W/26oehWruGnbk3cu0bnMwmZshe7Hl8wKKe1/6YKdSgmYMJGGRHVo4\n8NOOVFsmd3nMBm5QgBC9Aqoq3uSzsKGgfZNp1o4eDWKqaqg9Q22UFn26jobI\nP2kTb+YmNe99wRhk/lb+59IPSh1uoQaoA5/LmY3KU2DyN07axhDWJ9kqNm5+\nOQrVyL8br1L54K8ncx2ts9oGH8Dq5x9S4MHZsw92Rj5gFWJBm4DL30NzrLDE\ne4yVjEUpJq9ggkyOo/62gFhhH3hXoLmdVsuBqptY/uEYm9ZS+DUcZnMh3UJe\nLICfpuq+VUyatU21rEmP86EyP41T01Du3xG6+ioOZVIkUxjPVwuMZnJhCddJ\ncly7tftOD5b46oxjxdJeEVGr4YKDw3dUGbWwRYlAnQkOOkDQ72DbMiVbxXKC\nFtTh8PmE0gKNDYDJ7iHCdmJBol/Kn0KEpXk3yXBdO9NGkI4kjR4pCX5bX+uy\n2D87CE7jM9ydS41Y9g94gusbETNz4ovwksWE52LxV2t3F5f9JI20+8gnt7Bw\nCtPM\r\n=0HhR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3_1628091529965_0.4078728379985683","host":"s3://npm-registry-packages"}},"0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d":{"name":"@preply/video","version":"0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d5a634195c1c237959407ac8ddaf9bcf3178ad24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d.tgz","fileCount":897,"integrity":"sha512-8O6jdzabjXo8Kctu0sRI+9ZTLdKDL/HeHyl9ZuFHkDbQG7KuW4Emo5tcK/b9yKUlPzdtCK30uhPDtVAslsvapw==","signatures":[{"sig":"MEUCIQCa2hPgzwux9RZb99T9BJukPVqCiOSIPyCtPejqhPl+rgIgd9ykXcAWEBYnFMk7hk/tbJ0KsaP1CDDTgoFBO6Ym0JU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33347563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCrfKCRA9TVsSAnZWagAAbBUP+gKSGLoXxPxxZZodyJUB\nRo456BXWxHP/D9Auh6X899Gq6S5BZ1Pqe2oHtEHkWmBD0b8G/n3Et7p7N6FC\niSVPmHFqU9QIzGT7hmIlC2T4lIPGUD7h2S2LFWRtz9KrrYUYDdUEZVKEbrGn\n4Qqby+sDZDWSIzqg+4YYnh9rCqg8lHezwyB5LT262OACfkdt6RinQQEg1EfX\n2T3qsVFkwEcLu4JNfiqSNewCANsLw1KRKPxA4RLm3WZhIeI3O/z2PhKoko3p\nI8cADqRMTiHU3KbroKBKAf5Jvtp+ECoyEsW+xv7ubcGxx9fDuoCmHcgiVPnW\n5g1raFUfd56+tOvibYh2gRlTbTSzQh1qwv5N7n1Yn7QXM1OU/sQk27MhpQnW\nrS5KRulIvvHR6KeEJ3RctYj40WNanWJDBpJxD7NPAIMMH756v5zuXlo9SJxE\nywjhi03XGkQvFg/Ey/FqcSfNmiY6vLLOTGAYb1txwUBLNnJhf57oVJPg8G+h\nVpFPY8ZvlKZmk+7ydPHdterJvLWpRyz5IntGT4zOuVLIf5NMbHcwF9LZa5mX\njPfE3auq3LVvq3Z9bZ3D6A+pGuGCIUsKaGskcoh6ZHNiPujSEghVu4AG8VIu\nf9BXD56WM8ehRo07k5rWYq9+KJOy8TZB6DZehrK9TKTU+8EEiFXb0W+wpU7f\n85w5\r\n=PTl+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d_1628092361828_0.8335092605821095","host":"s3://npm-registry-packages"}},"0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a":{"name":"@preply/video","version":"0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f544e7787d0e01aab237a31b9c500203e96d9f5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a.tgz","fileCount":897,"integrity":"sha512-mwgLwLy7pNxIuq7cqGM+iRihAPIXvXAfXxPiRBUHwDA+YfdWooCUtPN1bAscoTj0WnDfITgrVn+Y3QaRYLVJpw==","signatures":[{"sig":"MEQCIBU25Bf8UjRoeY5aJ9AkCk1hK6BbTtN9ux2hbeWrV7AmAiBWHRB7htW9b/zEhpSduPm/LfD/wNHU1rtNRgseURYAig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33347914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCszJCRA9TVsSAnZWagAARQMP/A/RUV6RNXnSbcF3FZVp\ndt9gX727XosJF+Yiaa7POURZsYRqEvDBydgs6mAXSkDS1mSmoagJHyJkWeuI\nGghlmkuBkOSQEmS1Br2x5f+i6z4HQse7Gb9HQUCy6iw2wDWKDzG+KD7dlMW0\nCgXP07GFKFrD7JmRXNmntcsV2zIGr6qFSDwpTZcoYQI2kynUXYJs24ZXKatQ\nJcjFePUAgfR9r1PC5uZDQeaCtjemavleVUYAkz0HGzrCAJ9NfHGfi0O71u5J\ndoHnGFX4JpzOiRb8dYQo3dSecBmm4ebVJgA6alv6bk30r2y+zJu0SaceWlTC\nzyIBzWz1gvh655s5ewLYvYgm/w1SQJpGunG6YLGNdSvebPYEkUIZAgI8AQMJ\nUJ9Np1TpuG4tyPGlwkgMHgaBYVCAlkvfo/cbHuwjT+Y075GgfzuaJ72LnzCg\nz7t3afjb+rp/gW0FFeyT4gohCZ4KuNkWv7nG87mLpvk6nAYBr8ouRFsNd98v\n/OrjjfttysUO2Hf98Aoy4nGUKNyHc64Do9iAHOVq7tK2VLGYkjtufMldKpzg\nqAJXs7OrOAq6uQYUKNLtX4KXrvnk8c0ingd9wtZU8q9XdjZ6t+snXHgF8U6m\nfKEdIvg8GLRtDsNp0T64jj7OK9bINiypnox0zczAslEz1aV30t9NcJ/lPG4h\nXSwA\r\n=+8IC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a_1628097737201_0.20832010257644318","host":"s3://npm-registry-packages"}},"0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554":{"name":"@preply/video","version":"0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"124e11756627b5e18b452176639d0fb854604711","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554.tgz","fileCount":897,"integrity":"sha512-8dHzkPcbm9sWS1sP+5ZXi6WOi8pRrjWUbfUfKa4rQmHIp/xWKK/SY1E5PHejaeSFQLZbMi524kkomlVnYHnvgw==","signatures":[{"sig":"MEUCIFkYv7+FRv9BguPZMeyW6Z+/2ofS/8jBNECT8mWUXO0kAiEAiNkbcCqfMOi9I3Z7w1gb7whypYyBIZMSFwfEmDQdci4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33345514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhCuLVCRA9TVsSAnZWagAAhAEP/1YjjVufl4BubC8Yq5rV\nyU8XkQ/kuHkA3VUwkMP1E31yPrPfT+E5XeVJqz8qVTr0m9FhcQn+7p9BC8Uz\nEwUXKuVKHQj67+ez4OnD38b7y12++83Xh5fr0McPLUnKiYkdeuS/ff/84O7I\nSHBK5mKrIzbLql8srjVw3666/kKLTi4clt017XK/PdEvYWOQXDicoywUU75d\ntXzKyxX4YBjQ7YRrZJkbWKrRSUcJF2HeYkoa0PUR8YDjHN6Na1Ksxca58Lvu\n6mcDGxFsiIWfimG0aJhYOoFet6JHc3BNF7YXfBX9VsisBSLNYeCrF/rTtKOQ\nzRg/MpCfQ6CDtxmxaQeXbI0z8MlnRLFe6SGUUm8jVntYtrcMwcdH6KtOyzDv\n0PcPpKqFBvkLXa60qLsqiz5Z13fqp9QxvNwtFdKwtTMsgc92ujk5YW+zDyzT\npUP1O7qgirzvOlZ+cMuCNpQ5yU10JlID8BSodtKTFKABMLNCYaTWOkZD45oz\nMxNt3lfqCAaTqH0KRISTzVRH/NI5yYy1xBSkv6k8KzLjgGdmUr2ceqBI1JhW\nhXUqD3uwnSCWd3uJCG0XzqUoquJe85/Mzqo/p3dY8NAK5a3lLIziMVv0JCy+\nkqKMby4jFGqFiZr9ZT3b43G8ucJOuhA9iSYOf2w3UHnCcfVhZFL8wCakE2GC\npFr0\r\n=lJli\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554_1628103380575_0.3144718673928193","host":"s3://npm-registry-packages"}},"0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d":{"name":"@preply/video","version":"0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c4b7925e56f008d2bc0ddde8503c98822aca450c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d.tgz","fileCount":871,"integrity":"sha512-gLM/XNDjbcaiM93vdKxw2rE3ebHSL+zQ5EL2Z74R4jL3uZ+qmK08Texskj7+aE2/momBaXzopibWDeqTquc6GA==","signatures":[{"sig":"MEUCIQC8Yo8bzQR2HiTSoahP28REW9W9qKQ0cQ2yNof7N5Zx8gIgHMwywa+ei49TxlyS+km/7dYjElN0xPatnmY8BizC+bg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32708571,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC2RaCRA9TVsSAnZWagAADhAP/1al21szCzOi44RspON9\n8fgv/t+MC4kQapQAsPzcX8n52QqC5E1Pd5NnMKksNXUCVoBIaQZcSWFtVrA4\n5ceoVW/8yAVSN1rnJf3INYxfJPN4SQ7z+uwzxn5bvxDmS0F8PKbqKDNPMR6H\ny+N7rItJbip986lYHYpOOoifTMYqt8BcbN6cZFU6EXakBRw668V0l7voSJ/L\numVZly7Ws5xHo/lcLSK5OfyL8mO3dl/nRI/T9bV8r6ukm/XBl2IEJdDD1Onv\neMW6rbLY+7i3vlqUadR2XbvSSzUbK59OVdRjsizCiemVu4RJ3hfBZn1Swg0u\nudqQ6DDPDJh2tMym0VbwsXDRWAgVDGjaiwyHwdkQ2vdaKhwocyBzInwW3Ic+\nuUX4ZYraFh4G/vZ+kYM25XDDwVzNzbUJHccHCAqlmiRWeVsXR9bkgxp7IALH\nu5n/ONAwbBd0ogBDMvHO2e3ze0PE3BESdJohZph3IrCqaGIq1wS9BzgfOlXh\n5cCcVIuw7zsotpcEFCfY4b9xcDC1t1Xt2n41f82OSRnprJFn6Wh6a1aqNSXA\n51FrZiS3LUK9Gn14S/ZSKzmXtcDY6S3NzEH8P/ShtVJcID2yMZvG3IvgMLlT\nAwjdjk+8sVq91bDoWVC6LPdQaDZDk2/u4/PHeuDNmoWaVuheVIVwVHgxLZPt\nBk6E\r\n=hT8s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d_1628136537635_0.5767038878345343","host":"s3://npm-registry-packages"}},"16.23.4":{"name":"@preply/video","version":"16.23.4","author":"","license":"ISC","_id":"@preply/video@16.23.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"965d07b485aed76d0a61a45fa4007b4ca501f031","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.4.tgz","fileCount":897,"integrity":"sha512-n2woUlWwiA7bYjy1hrDGxuuv2wP6xaojoJg/T/Hf7CqF09Ai647pcYEmu5hHEaB3UB+HCPGfIT6nvzf7JzTnjg==","signatures":[{"sig":"MEYCIQD/26DhbuwCFKxWqd1kDL5ashXq1HK+m4WdswUrkCaEDwIhAL6U4GfuLx/6Gpvx2VlnPcxfejcpr+OMBWa9K4eMmImU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33357254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC2xtCRA9TVsSAnZWagAAtBUP/0v9MDPb/6Q+7czNBL+d\nGCPgIG3oUZDm7zMRJ0IDdEoyQcnu5umnYHJHxh/qZMFLkOeAxP5CvVNA+KNM\nuPQjoInX5vkE2O59ybbEYheydSJsGBaQgxGWFwyMbVdEke+Yx49xDN6J2nKE\nX6A4PQXjVzPJEVN5sVfJzetWtPmRm9er6hQPDWBNwKfAgCGE5ien+LxxXlyC\noZNHlB8Mg+0jP70osHB8zT7O/pvAn34/lsDlob8jgQxKO2HC1fh+p5S6ElaR\nbmrjBDC1MqN18CZ1B+rq04WKQUGvNhSEynkTNDAUvXCbANZZLuDFjMF/8Q+x\nou4Td12y4yH7a4TSoOikvfTAxlVFD93Ba4CgW+d9jlxkzhKiDmu/jIO+HJEb\nGmivMQBfuKHd6lIHw2QHrt3mILkGal0dcbPx8z/R5Urjq5W1uVSPdnFSdJ/o\nPnLIFNzGp9B7rwojTdUFn0cL+M6qDl75ZyXzNnG/tdTiqAP7FQu96xtlHQp8\n/aRaop2tgJAmThdNlsWBxP5TtSM5oF9sMOfc6JcKklYhyx+5avFLwPXqqnjX\nhCvQJxjejdIySs1V8yqSKh/njcqemCzxxjEf3B2duvZ1w9kCKoVuwu8eUif7\nvRI6dj2VtqR42nT6u0KYtDxOioNj1RZ47fbzYnSvY/JCSoDtXiBQ/JNkZ0uB\nx2KM\r\n=sgu0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.4_1628138604704_0.4284475729792103","host":"s3://npm-registry-packages"}},"0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a":{"name":"@preply/video","version":"0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb47769a02dbeede1b75ebec81395f3dba25bfdd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a.tgz","fileCount":552,"integrity":"sha512-O4nUJDtWW3CahwxsZi1MdOo53Gegivs0lYXtwLngXHYrrSC+cAYvtQm452n8ldji3hNdpJ7WvVQfe8sTvDsQxg==","signatures":[{"sig":"MEUCIQDbHdsYcaupKoj8KIccXiXAAoOqo/Vz8BCEOROQrwnYHQIgU9HbA9r617QTNLQhnRCtRk/z2T14aHsUR2TAG7hqG7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":944734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC27OCRA9TVsSAnZWagAAD8QQAKUfckrEqDXWExIOuiQR\njLiYSid+/ZkDcnSCRCLjyMn2r+TR4+x9SwUbek5EuY/pgWWAie+OxbP8RACM\ne5UiQkFfRBV39Bac3//OYWHLtUTuXqyhbnkquirskMpIopXLfnMHlTV6NXr4\nSNxn8jxT1pfni1EyX83vEVoEkCUyTkM90iLUqWRHfMyhFrm6pGK2wm54G93G\nikCZuNlcYBrdb8aaNVy0PcDPHLVyTJa4xh/JnuAxqL36rDvVuQMYT5gjEBOF\n+jEkYUrvjGg+SrzSPvmVAC+TKWY1tYl48fIIXEucQEuuGvI/Fg3VW/QO5tzL\n1GzUWvPvdbL34743/GmEQKb1ZTDC+RUNtyMYNlzX7SWmEejrJCCcb9FHjSFH\nrs03BQRY8nFjzwWSIsQRQg2L7xy2Aj6VZkSGO5H0gG+phPNZmux37C4xa95U\nOiWgLHCLe/9bpQ9YeGVBqDDvirorVKkJK8IlJHOhSoDYn6XPcERh/uAYoB8F\nG3Y72X9tVCB8JMHkINbz+tQFbWcgUOYQeobKWaoX12K0cgxAh9DAhRObNLxY\nTUnluUk+0qxxM1vkHMcC6ICdhYKXoKopjqpTfC9jXMMfGyA7x4Dl/9pu6nEk\nxZwEpmc3wmoL2MEf70bJD+/aCvChonIlyDXTV6vnhLNLu4tQTQ5GOm/by3DC\naBYo\r\n=WmO7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a_1628139213897_0.42934065293316626","host":"s3://npm-registry-packages"}},"0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9":{"name":"@preply/video","version":"0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2fb521dbfc939f718cf2ad5cdd27f1fb27e4570b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9.tgz","fileCount":905,"integrity":"sha512-IM2SAWv13o6I8roP9VpWuNmQvuj6PlJg+X3EFwfI7oX20jBGz+rD+sXfRYyHN/vZvibrKEGghfLQjlzzYPD7Yg==","signatures":[{"sig":"MEUCIQCnrCCq2/lUo46Dk0L2NTTqzoxP7GTOyJcWCoajR2wmPAIgWN57mruNLiKUxAmjIBYNdTiASdCDh8/IyEX5yLIDFUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33481415,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC3EMCRA9TVsSAnZWagAAE4gP/31tsvPg3vrrDibU0j/e\nqPWJBjWObfU7uXDeTv5o3XAF/D5AVXEyjTnuw3keingNrwSxTxzfmJFF0S/c\nj496NSTmlubGlPLcneg9IeTxCSB09kDf2/RmD0PSkhz6rN6xnv5ACddrHvtX\neC4kGk3Ou2LjTqiKU7r67bKpiPKIxZc0kcSUdPxX5PUZzVKyk+u2enJ5mWMI\nFmqHUJpoQNWEwJhaeEE7IJ6F7woV1IoexqxaLlePOa+cc61LN9s1yQ7KSvql\nav2DbdcvvXSTjqFojpvae6ELNFK66FgPVfb73t9l1M2pwk845G6iSEib6XK+\nRgjHqnHJQAMpQ6ybx7JJxNIqIUzKBDw0F7UxrpjuOM6IY613mX0G3glxCE6U\nZcJc8TBwX1cQB2S3OGSWXvZaN8P82HKo85QM2nxVUBltUNnCVOBd/y8XKk+T\n9T6vmXez+WxeuXRdG/BJ+NHTqkRTFPGgUy2+r/mPmoh4/944uLZsieQKS/8S\n1LxTLSSvqcWwOGCOxj6H2zwtj2zUCQK3k262pGXPNZ4HE06aoRDLnL7s9m0p\nkKqrCwRN+39/XoK6JQHa17JhJi2bCouJfXB1BKGyucti+1MijklUkY67aUvN\nnJklz0MbnKwTu3OXtreHljMjkt64GIOcA/TLCCJrrzpt9LMVhwivMp47inK9\np+uy\r\n=dOno\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9_1628139788384_0.29938619198641625","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f":{"name":"@preply/video","version":"0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f38ba63b1fa44b4c8136d507c8abcb6e997adcca","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f.tgz","fileCount":897,"integrity":"sha512-wifyGDicKAstG/VOGBqKl33/kqL7XEH8t1Rl+PWjrpKSgNyiNabjsMflCncr1IGi6a+5U4uASOT1+ptknf8Ifw==","signatures":[{"sig":"MEUCICcpMQX2wpe/QPEJNVfQamcFyl9Hg1SX9qZxCCSe/3ssAiEA+kO2Y56zdVZNHxBjXPPCesjxWMm28AG9TS0TDsJTuKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33358288,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC3snCRA9TVsSAnZWagAAkZsP/j5WRy0A/2iPxrRuOsAl\n/WiCYe4pg20/83WwvI2GnbYpANK2382yqmowaOoB2or9MN15Z295rwFuMnCs\n0Tk/YvM4b+iCHZDL18xK2k/97/pA+vcFaOe60cwcD2wDMNcp4Rd5qT8d28Kr\n/bhapJjQwtaHRKYmj/iPGs5+wfl9jMV1QJEsj7OQPimCS2lcS20cJkJ1+OI2\nVj2ZaH9gEPt8fIHy8OEeTNMAwwJFapogu2g2rtPmP3sWa/0tYA1kgzRgPf0h\nay9bVBn2YF/+S2+GDSD2wiWVSzTij5keVRMOWyXBwFndFRG2ZxYDCsoa4TDb\nGMowyREyeds9hsUIklNWYN5sWDKG1jaz6pUe8RG0lOlCjddoslBvPYaHDuHM\nLOXnJ5JgLhTxhXuikIPyEQI/v7jio+Pm/CSyGFgOLrrubB8b1LaiSllkAG7l\nLuK1xBN5RMRJg8fFD/MJxWQFAgfVwABI+gVNH8kt5JY1cYhogzZwC8Geboin\nO3NR32jU5jgrBt94UaLdQCrRKCwiYtIJx29sn0sRpggSVHNU5hwNjd1OoKrM\nIA8ZcW60XX3i/cUsdDPgnW5C57ca8JGzfqL7sNJn3W8jlSPCu+YyWYO0pKeM\n2usIR/v9DfsZGjy3/9hj3Gm5zxZtqPB0vbvD4W9j36ZKSRs3GRVN0KGxrBaz\nSx1i\r\n=0Bvj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f_1628142374833_0.03393382777328613","host":"s3://npm-registry-packages"}},"0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6":{"name":"@preply/video","version":"0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"480b64f54964d439584ec28a8d1bc4fdd953b774","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6.tgz","fileCount":897,"integrity":"sha512-txwRrPq2NU4/JMizQ9qp6YX0RbvI8/aOv9h+O2DoKe1W3uGo7Baj6pi5PLdQBh+9BtsRRkLDlAlyQSZWa8u+yg==","signatures":[{"sig":"MEYCIQDxtuB4JCduW6W4+rJD384Pz/LoYNM5s+W0cUdtFeAvGwIhAOw2DtMBfdlDPQJSMYtScGyvwgkHfegxtuKylCWxueau","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33361212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC5OhCRA9TVsSAnZWagAAkOQP/jnap2Usuaj4jbdEJ3cF\nPhDMdhPeMt+PxEv3XfkTByJ4679f/40THCIad/n53LxQnbsTkEj7fV4k0E09\nm0Jg/q2ZTkCdUij4ru0A9FExY7rmlLw9bwLOMGLpIzeJdteEOEcFeKEIWruD\n4Ai/P2Fzt9h8/sbeQ8ID6hjYcuLOxJV8W2RfigFJlVc4LXxtO2QzIngaCNCo\njQWuuvnS3jH/PdO+CRBiANq81uTgH3GD1XpUR7YRFLAZwKKNNlk3g8H+Cxfw\nOGmvfSQiLF9RhWkTjJfN7Fc+XlxsejNWSRnA0Ovbu/FcPu5YTnopvxqpg5Y9\n53qoTNLKETMlZHU4dTGsc9tZpC959QUBu45dJE8uPzEQ/lCgs+fnFre8BFwV\n057s1anTZrtuaKiShk3/mko9uJ1qjEpin/iP+xM2QuoebhDFGKw4qSViSSaO\nSnVrmz9ofOcu0tgcl5JucvxpQQgeur7/lWl3fS86Ne2sMI8yuWALKxKm6xDP\nzFDuH9OtUWrelWmPhnx6IQpF6oK1Xc/uqdTzMpDRurmumVr0l5ju49flj78Z\nnd8zyexpk6XDHhwoI26rK+/c5RNMXlngxP0q4s6LMAympHPGWa94W0GzPYoZ\nr29CK6zaAl7oS591MLjFIN/tAxLa3IPglgNCINeS/N4xSf/Mhv5a313L2OGe\n7PQu\r\n=tLO/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6_1628148641038_0.7569933602906105","host":"s3://npm-registry-packages"}},"0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd":{"name":"@preply/video","version":"0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7f16c37fa63562fc9db7fc5f93e575109a4c1be2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd.tgz","fileCount":863,"integrity":"sha512-txKyflxCj/dXFWceuc0qOMj/MbhU7jJbJUBYGDhfQ09+7gf/3CnjlmkD8PgJTL15GgjyNVsAb3Cq2s1V1wnSdA==","signatures":[{"sig":"MEYCIQCn8xUfJONXYJiZavN1NPDmfMT2BXLduMOWxKkie+6fAQIhAMDhwmPWdRMtG3i2pXYJjFYUMxL4r+XuiWomoQP1G0+8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32588961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC5XXCRA9TVsSAnZWagAA2jsP/i2DTHBqKk6cesvquPzq\nZT3tdug5fIuCs+hlFNNrRSoR+mbFEcQa1MQoUcNU0CSA9J+sVtVN6iCQLQ6u\nI0x8l5gkZE5Ff7uM3J/4N4a/FnMkDhQ17OwmNJ6YmVNFBM8Ts2o+iBf+Aq+N\nOGxo/igvyM58nPN0ckB14D3cvB63NCNTQDZ6VqWPFkCQoJRgKWrrnw00Ubik\neUmb6y6LVN4GZokVWwLNeDF+HmvqA91XawJWokNJzlDeuvCo8J4znwrBfOUw\ntf9co2546N0Rr7hBIeo4FjG97rJD07NG5ly5UHVxaUHBu/8eyz4YJFHkzX/q\nk0d+tuBesLnb7AkQI/yBK105MsDdiX+wVH2ZbX9Ne32/Be4zRpMgVUj/6u3v\nzXiE6z194ASyeUqMJx9sU18yGI7CuCiHxQc2cr+5mrB0EuTGOAUZEFVDMqaP\nFDssK9JbqZBejpDh7velEsromVgrd8+W/yB3zEE5ulVs9cxEhjeshxkA5tDL\nxWH09FVgM4FpCXqsmL3LhZRqSNQELRXeVzJQ8KZJQwpuaId49TrD++19NRot\nydGi8CDUvvHgwLUXCI3uThr0q/VYrF6U3oGCWPKzqFNKJsXcT8aIN5RQxxs1\nTwbhh4gocKsKLUyK50oFEd13ZZr29R0B3VN+2mfH1WNyRLbUin7oi2cQNAkZ\nlXv2\r\n=Nr1o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd_1628149207529_0.5506306762323969","host":"s3://npm-registry-packages"}},"0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3":{"name":"@preply/video","version":"0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a7f3d93eee20d7bb42cf9b33944658b4d71ff85a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3.tgz","fileCount":897,"integrity":"sha512-jkylQxQutrYjt4g2g1eTfInoiGxxk/0HwLNL7zd3RrG6PElQJH7lLYpLmHmV60gr9w1zIG7vDuwD/FudIqGX4Q==","signatures":[{"sig":"MEYCIQCsjH0IlWqHQsB96gxVrjHH7n+lMdxESPv/pooUoOd1SwIhAJpXUSc0IxXz0maGXiTw9grQq4acGBWbBSHEMKP4daqB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33363854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC6EvCRA9TVsSAnZWagAABqcP/Rv+WsPEHrajP73pQZzA\nlR3F23oY840L5bvmVsjFTkOv3I+syASOo7XpicOQTy593woowHDNzcend2JS\nwC0xvULmKf98u+Y/Q7rqBkrOeCXCZylewV1zPZ75cMQ9jzp87kYJxX/SmxYC\n0zt5jwLeSEDdHUJSbNAMOjcmTEiyS+JXrkPdNliJvyH3a/cpXlEkfbWjBxF/\nPFg51DDWO+M1W9If3vLnAQh4msnzwWrK53T5JbCvYPtcBLfAyqTeFMKlWRhl\nims7Q7JNslMOouvq/fxO1+1NMjaQgRn85Ib7KWJZB43TQ2mZ7B4DZ5x13I/e\n9T6LI4Hpjs3sTBBnEazGfwP9Ex685SKVQXEc+HJsYyDJTcXuIwGZEmnn3rkW\nDcFMyBdJ7a+7mXj93j2mH3oAd392FoYnjxJt4aae78igjE52B3e1I+zXTK9B\njmHU3C/KJARQ5wXDdec++78cuXCThN7oTQiOnQfS/+/GJ+O/dFTRDpbXXIh+\nExCZ5BVJsG3PypTJHzFVR/Hp+iyVm+TKvacUr9Wb96euCAGDCkM3DiOU9y7y\nWd284ga5mkVaEHgWlIloLnCwuP0x0gtC1heNPgMCIrqjBxW+VkgsRT852gVo\nCVY8LsDzmrO4feLc9pLY9VhT7mHpK3t2St6ED6d7YHKIeVF7C7Je1uNXLGHe\n8TR4\r\n=ne7M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3_1628152111461_0.7740122400881184","host":"s3://npm-registry-packages"}},"0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b":{"name":"@preply/video","version":"0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dae672e8d579cabb0d2baf9eeb140725a927626a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b.tgz","fileCount":897,"integrity":"sha512-zVBUkzGOgv8uh5WE9nlQK+wlEaQE1D/Kdk+2rz5VaQMe6rJbd4wi2Kfrk+dROixYctyYN6/Ub0Y900UQy0C6kQ==","signatures":[{"sig":"MEYCIQC1jV2m8h6X10r7loT+g0t3Lnw4zMzVgdRGGEQOWF935QIhAKy2A7QwGrhh3wfJN30u4Lz4jTTtrTLDZ1/jThbeK45s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33363854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC6NBCRA9TVsSAnZWagAAj5UP/i0o2HYNQwJiW4+va4Pu\nbp/AD7KhFaclE7LrWIN4TynQYnbOXXJrgRT3IVm9V6/gC6RqVeirwWi3TyTB\n5XKN9zY2VCPiIDWjRey0BzK7Zwc72P9C491TP104iOlkW3Z/dvnwdI1fkXTz\nkBnWEWGu3ZmCR9hqnqtlQh/T2t/XTWFfihncbCvd8ssrdLZafGpMc2ljqaCl\nb+jXugkobj1AaBC52ddCu+rKoZWmPCteA8ISkKIY388TIBdar/eYG/Gm69uS\nOvPTUORCuT5QfWDpw/ozTk7t+XOdpkk4yWF904r5BPB2xeLCErZz4YvIjHq+\nThxXtYq1jCpfr7L1YSB/+MF1niNrePS4nszrFb/RSk3sEKQIUdgr+MF5/+HN\nNNj4soin7lipdVryfFXrQsuQlDkOH7v2KYY2/NENqkZ53U4eI6LopW3w7waG\ncFtv02YUbBH1Mx1KneGqDOa693jkgK49M0biFSVKr92AIq+iyz/f9Rd7Vm9v\nE6t6TkrSV32OdgoOco8HXVufo0HaYbtSdbuUvckUuS6Wk1OG69zrO8DNRlj0\nC2JExfehFAF+gvbdtdFPinJyNHwDaT61IZopOVPAQRBkybiw0mlAmsC6weZ9\n2fYb76QuFKp2h/Fm2N7LrcgdX2K3+mlkvkqbpJxZ8JzrZFtBJTKW90ltef1S\nf7w+\r\n=ky2S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b_1628152640652_0.8395471495926292","host":"s3://npm-registry-packages"}},"16.23.5":{"name":"@preply/video","version":"16.23.5","author":"","license":"ISC","_id":"@preply/video@16.23.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"474182fe23baf04903f4b10d646490ddbbdda57e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.5.tgz","fileCount":897,"integrity":"sha512-Q4gFyuaS4JQgJNGg0OIxTaBFHjmE4EEAYYJMPZEMFFAwtoYTyFRJJ0QfjNvVUbZ/9cRf2XSidrcfPqomIPOt9Q==","signatures":[{"sig":"MEYCIQCdl8738gpe2xyqj5qEc8fs8z/1R1LmakR7se4DKNZnkQIhAOAqbrBELeVANHx4uW4AGI6kupYfPsSItdLnWYQh4Jnp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33362820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC7YgCRA9TVsSAnZWagAAhd0P/30dxJgU4I4dVPo0S1jq\nzWYlVPgL6Bp6ix+/7IgxH7q0pWyeysr8ggiSjdBWUeejys+WGg0DPatnRt2m\nAHrwGZD+hYtV275+PK6XcwF2aOB8MyTcPtb1RvdxHBSLKO3hR4VQ/5jpaa23\no2xy+Br++3QpFNJrj8AdQWGSSYmmdWah/eWtiJ9cL4BThlrwxaNTmdzcWzhn\nz3Lose+CXIRWU9F1EoCT2UY7XaioYXAGvkyDBB2lYnlz7Jl8RLYwyzPFmObw\nFohKz8HhBB82v2VEgwx/Y0rlicG9MMDQLgDCtvYBN3QFO3QVU5rccG2bGRRX\n8HgORCLMK7PVRxhLkkC8OiXKMInHnqiuuX3VnNZzDmp6w+tUwgr4dflMESDP\niRhm4HyDq2UK9XTbsobhGo98zppTugRRBTXBiSF2pl/oTkxSp/Q0/bIvMAqe\nnTXwoZjyGKHwIHskbZajhaE6EE36ppDQnlIj8cB5cCeeMaKG+drgPv35mfM6\nJbhIpTQy5G6dxn3x9BzofxDqxqYhnVZvPw8C8Ik5XyFGtpZtwHi+AwUi1ZSM\nEMWjvrA5bEviR2LWWFHOILssqFdoQLY3xhqRJTDgVU6oLE6ks1aUl3UzhPm4\nk4Ojja58klINCinkm93R/1L3hweA7fLe7fiKD2Gugj5nBqLDURy60l8r5uEt\n+2VF\r\n=p5I2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.5_1628157471829_0.21356613323671403","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d":{"name":"@preply/video","version":"0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3c8d8a4f17f9954ce532209a7d7f27a0657bf3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d.tgz","fileCount":1137,"integrity":"sha512-C0VFCYN5PS5CL9zAA/yUkLN/170PK4gDQXm7xsMTTcYOCUjmFD+ZuLV2GFQVk7NZQzuZqd2PecQSZMtuYib57A==","signatures":[{"sig":"MEYCIQC4xb9M603zbDKbxKQpgJh6SF6PgY/RLHNqxro+Qj7wnQIhAP17O6CRDTXTR8GDHeLZUZMOipybFzQNtuIHI5Ieol+L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24226004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC/EsCRA9TVsSAnZWagAAGGkQAIIkNYl4pXukaI7KjtRj\na1QlTLS4rZKNoVFMCxDzJp8fOJ7hc9CIHFzXGuFqWxmv1CuzmOzfCTmlQ/l7\nTZ9qUoIU9wUQWHerdf35Rlq5YhK5l9HXnAwAJSNotclEp1sv8G6CC00xAELN\nRkiVU6ObMzI0zi/BZM+V8OApBpcXg0XGi5O2DkvfgTNjatFMW2KHp8wSeYjR\n07+FvW3MTvAQSeEFL6DfyhPSKvIGnoDuqoIJPYSGFif9J/nSTiOIT6FYkHHl\n+uj5rw0CVAC2A0yb02J7gmfYjNtQ4JGefekYkFE7wq/yjjatC5WqJW2I6AwB\n2FnKlPRcE25462q9vTrEkdwLXYbaLG5Bal1Bq3G1v+sEO4ZDXSoVwXmB4ExG\nCpmYkEEYyBMkqJXEJtCGL3Cb5RuMx/WaRjpJTZdqNz3OY9P6F6c+9S2fKihr\nznVNdtvHOOaG2CNGV2HqPppxnFI4cLWAvNu+ZbB6+I4NEMFbHTX289Ui7E5d\niwtUcaCCSjPHMMV6X2+8BgffH35638/9z7Ummymb4IFIy/sr5KasONfyNWCQ\nPmgVNSv4LhpXnI6fQ9dnKXubKNrpt2Bhu7uDLLvAdsmesuiYHt7QbWm3vPA+\nhmKfn8lrDxjhUtH1rxwPaVCWy32kYVHbj3sZ6sIjzhFPzyOO/iZyhGRRaEuP\nikVe\r\n=0pVJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d_1628172587772_0.4710033947824712","host":"s3://npm-registry-packages"}},"0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da":{"name":"@preply/video","version":"0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e6647f0b0ddd531649d6547740061d64cfacb38b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da.tgz","fileCount":1171,"integrity":"sha512-O6kUjOEWm0ecRz1L4e2QnjV4G3+dqCquYE13fGNYAQVOUIsWgVV2wwX/tZk2X9AXu2UL2cYzEo6nmHWwJo1gBA==","signatures":[{"sig":"MEUCIQD86ZGBqgy2FinCS3E+FFyP06wpdJ+BJZ8I1zKI9s8yrAIgERFtVCNUhNOci9/BPJwyudRv5Bt2zW3ic/f4GpGrqvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25003747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhC/RoCRA9TVsSAnZWagAAU0UP/RzaXR1dsZGBXihN2y3k\n/R4DwgpmKWIw0o+ZJEQg3/YJSq+8Fm9bHj6ENWwYyp9FLFqVmcCo++cZ9WbU\nFsTtFAbivkH1vQqRg4kJ0HCWZVtBSfQ+sWlPc1+sR/wsh87K8hciaWmkhjWB\nqvc3xfawX/0PeMTo+29Dr75hjELI9dIwDd+Bk7QCTARTXbVXV7GT9U1+A0df\nLVLROJgLM3nsX0PEfKTt1PLB6tVFg1/NSOUF4SF1soFllweAiZbjaL3tx659\nPnVnCF/NGIveV1+MRMU3IryksN815B1TahqO6+Nc80YcYHjLm4ZWfLcYmlrx\nynMoswzrWmhXAcRyfZI1kOV0IRUOn1ujIzsOtLni9Ojy3P2JPoKOeNRDJUKv\noC4Yu222KtccQimvKeJnwDPiVAj31Rf2SZkTTj8Yb0UG2zS3ql1VLypbl+H8\n/ABlgjQGQeclk/2Q1hcQn3gO+nXfqYNfCuwg+DYcfPQ6sMusqL+KmLuXpMj7\n1IlJskDfb1+WiPjrjO3cb2G+iuZG8ILfztdF4Ld5Snpyhg6an7f16U+Sxjcm\n4kttAqHFjqgrS3VRylJdG7wxw6NB1noYhnY/ypcwCXt3sUqJceMQelXm5Cgj\nUXK7jUW5wsy+AczBw6B//OnkHjbcoJZ17Gvbjmg744aoasyoBpWFp5sqjHQi\nKUG8\r\n=ZYXd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da_1628173415541_0.21059699177830504","host":"s3://npm-registry-packages"}},"0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768":{"name":"@preply/video","version":"0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a740ee26cbb8f088c0655a343accca20c3d377be","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768.tgz","fileCount":907,"integrity":"sha512-gTzmHLKYH2HLlxoYY3INpd81NaoXnuH2vid2QAZXAmn1hVaxKptIDgtNMzbgL8BCj7o0oobhg03eIp6gVAwn8Q==","signatures":[{"sig":"MEQCIHcNbGYTbW+54wQIuoTbazDgYedDMi5DkE26OL0CovTtAiBVYXBSrtDsAJGUA/9ZXPJfxAH9BOBEdHPNCE2oiI2iXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33480816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDFhmCRA9TVsSAnZWagAAc/cQAIY2brxLdXos1lJqi1BV\n+Ephu3+jO1yE7lZndhlMMcZzjybXU7UBGIxFWK9HDoyU8jOzP/VTDyUxDo89\nF1C/2YyJynJtcqBbbLCWJHiMsmDEVL6NicMZyicJTupGjzsuRGyZJ93UfKkN\nS80O/fKUdA0FNXFKBdXYbqqPQZ3uYqrqZsvdhLXyFswWyengpoQY5rH1hUtu\n2v7x5VDO4Z5wIT2wZE67lR5HELLm9Q1kKZoEQVZQZ/pbxAmBf8gH87mBK8kk\ny0yw4FzHcZobsDxdFl6nHGNEnsoJrBjsPgVvMyHsI88zqwQQnhVahm5M3lJ/\nG2uIyY2bIJEfS1ssqTRe3/TS3FEcF98KwWf3v8dSmLz2ITO7RyZmwIIpFc5a\nN0VrgalkD+gBYBD+/VCQe1HvDh/R/Iv3GFRa5Bh2f91lCL3OKGPMckB8oygr\n+rplFrRhUdFqE2G3kYwSupxUN8TvYwQhYx6f5BSmJSt/XRLufeq/7P2CEKRA\nUKVgYv79a1Flbvs9RbHpEvyYWRhGi7dK4IPOcBKI+qmkVfsV+ugjbiPHKuu9\nsw2F1AQMFC7SpEw6ld0tF6aMHBRRAtR1l5OIjE4xVSxnlpNTzqOn3D6XZO/Z\n19+tPmVT5QDyNfylnrHX154o816wfbdU8F2NBYbxyenWFc82GVyXCEqG+G2K\nXUbU\r\n=jpLB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768_1628199013604_0.5627863626202065","host":"s3://npm-registry-packages"}},"0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c":{"name":"@preply/video","version":"0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"675057e9a714a90ff89b9294c69489ac3e0a0998","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c.tgz","fileCount":907,"integrity":"sha512-HCUuFUZPXFogijBoK5S/4KrSq5WD3vVHMiRXCLaZcOuyP1SyPXwtT7TSSe6Jy/DDYXWQ8R+i7AAUKqic5OZeyA==","signatures":[{"sig":"MEUCIQClZSS5n8dtosKinb72xlqOWf/vpugqbnthcH4uTq+14QIgH5hBH9kbi/4l/K4XJ29ltYGIeU9GLtwgBf1gCBzIKyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33481002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDODLCRA9TVsSAnZWagAASb8P/A1RzV1hOSH3TCOXcESp\nBx17wzUWpccQD1aJAh4uka9cs62D6gPnF0VCTliDfmWfsm4+MPxMo1Abl2Aj\nMsOTkrJGvLOBQeO5bGLI+omVmfW3e8GeqStKwz7c239JBDGWbA1QuDdX9H+y\njo4d7BUEpueDdwuO1zm3frx/pMruGI6JJgUMNxTBCvCsEZ49zquhzvziLneG\n1Y/SDiS0F2Nkeoh8UjyrS2iTl923xoLgaSRQJvcQdvB8NJCtDEQl9ArrtzPV\nLbufs+BuC6J/YGyZQF8NIqU0S9qUTwTXp3bZXUt/iREU9iPS58HUpwB6Wy5B\nWqCRJWwxrEyCV2XgkZP/Qk2H1rNwfF4tlivinvp9LmjaLrDclnBwjKb0YX+I\nTm29bc0U6zusETkZvMXDsAb4IAjKqhpELNscKtF4LY9zRTJdZ/DplBBJrpvy\nyk1PNa5PD1fInJBm+AuvP0NRk9BRoCnMlWLM/54r8gnxcccAnirQRTidHJs9\nfqsS9YqJiEdV4rMPHzskVKPiunQCsxgF2neN5A1QXNtFYhHfv8Np+LJUxp+j\nE/IoWAPgGuOBtOU4w4bhaQljg1tCbl6RNjgJmDAZX5JTNPVMpVwX8g0KWZZg\nh52bMOga/rF3C4FZXdhrvSWrApgd9xqQVbco7SSqh/QE38njomXa+mG/XTa1\nqAXP\r\n=271u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c_1628233930930_0.9314615370608812","host":"s3://npm-registry-packages"}},"0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f":{"name":"@preply/video","version":"0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6f9ab4f802c4c9326dbfc4a3d0619855b949cfdc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f.tgz","fileCount":907,"integrity":"sha512-8GHVbygINbBr4rEcIXqpK/IVVwJFN3mvgQp/n+XSzzTtpF1Xl3Wee4LDJZc1KzGc32gyNui1JyXJSy2UJ0mChQ==","signatures":[{"sig":"MEUCIC+kvHyeoIgpsq9jvw2wTzLPV0PPy6mYFDVzu27y7YljAiEAzwmRImiBxc+5SeNpyCN003jBV2w0BunM2suQ11I5+Vs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33482058,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDPm3CRA9TVsSAnZWagAAxLAP/ignDEKwvAqUNyXN9ArE\nrdqa/HhFxYIkpC0C3DW08XeQtQW5MxGeyEmYVn4Xw6eQ4yqX42J4Xn24MCzu\nh+OKAAdVTUrToevUt9rqixUYGssY7fr+UPlCzg34lTS1oETdAEToyCninJvj\nPCxX7MzQp9lC0h0tqyseirdW7lHthlE5i2v8mFv3qQiG1Y+wRX5/sZP03dbP\nc7v0q5DgLPa4XVO0sukrGkGzhj5T2av5PyM/UVIH0TNc6skjEziaHEDHw1pT\nwO5HRGeLzZB3KhMw4RGmzCqMlO7xXQTQ3SFbepwta2YJP78vB4NTDeWPpHZd\nkpY59nE0gxGT/6Ii8mvKzZQVfqRgH82ZC1xd1PxpLeU0CzbgEKRgddB/t7NP\nRdVOGkwBFqd9V2LtPNOpoWH9xhiRP0HPlewJJOCj/E0JSh1CmNPu4Yci5lh2\nSNwo1ljI2bDnoqtRLMnkJk1PI13hHUTdCrakJEvjl+PbrUv13CwMsbc7NWeV\nLddrT8pkYvB1jDKYU9Ta7kcYkYZ9JdQi/et0mL/6NYoSOsxaKbEcxHoA69Iq\ng3QTcr2MeisgQBCWcydLeMnqkJBpUPuxyVWqgQDZb+QRUAvFuhIMx16w6oBW\nPTjrO7nl1oVbZeNA4X6Jgip3gbVtpjsBUd85td+8V1cceYVSgKCq4HSOj1Z2\n/Rmh\r\n=k+jp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f_1628240310660_0.9226916276484605","host":"s3://npm-registry-packages"}},"16.23.6":{"name":"@preply/video","version":"16.23.6","author":"","license":"ISC","_id":"@preply/video@16.23.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e13e6809795ca56662279b59bb7e4229e5a6cb8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.23.6.tgz","fileCount":897,"integrity":"sha512-MHaJqbZ8ZfAab/FHQQFhZIJ7ZpNTQaL6rveMM7IF9Whg3zhrk5sLqP5i1xkYfG4ojepV1Gnh+awfaUMe/DDd0A==","signatures":[{"sig":"MEQCIHyR/Qd3TzpRzU8OX7ga6CnEDBfPh5Hgi9ANiTGTdMG0AiAYS4NGrEOmwHAj7CO/vXM9Pu7Ac7eiY9KytPlS0VDIhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33363351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDP3cCRA9TVsSAnZWagAAatoP/2f1lrX0rfjZWvvpr+7q\nod2Ot8+Muno3m2EgCAgwQ4BR5OplRRIm9h6GqEyCBoxki4+LJrGVT+WsetrC\n/QmksiaFqBrMGtFW7WWPucxabNBSJpzPQN0ZTeefmHnwvbe87gMAcOXU0CSI\nYwpvlTe7PevQcTBvnAp42ae78nKRD05pBMKZN7EQUgbA8QnpR4iV6xkw40qZ\nORzT+1gJZaAvrj3pHkx4wioaPlLYb8Rax43woICWw1iAdx6OrDSqWuDpRdLy\n8Vg3FrQ4JPcvKfQB3afCkM2Xs4iNtEy/hqWdwhYWOBCVLwG/r6J27ShnYXFW\nMRwFdvi6d+Bhy+d/BPQj4pJ8mlp0SKKBDxjml3EoFDUgbcb1T2ot1OYwOnsl\nrn8zN+9xgTCgKkjjKWvA91D76JhQE1e4O2MBLHoUqnS9ug76Dy6eETjc2NCs\n+uGPQ2PE6eV+1b+icJ3h9XJkGyQUKu90flq02eHwjdz45luzVqNHYdjXJCfU\nJt5fqPZEyFbcETVZta2ZQQ6esgrB9j5OEgBh8SerI8pUh9jjWtfG5Bq5b5M/\nzI+f3HOdqLV+W5GbvG7zJSzt3ao8PKHzWtWxQjeuA0phWv7ziOhQd2QdyK7s\nVYAyQTq9t5Nrl4TD+PpaH0PbEmVs+yDjIpqCdsZ43FeKrVwZfb6X+A1Bi2uz\nMz9z\r\n=Uiqi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.23.6_1628241371869_0.28323046619112136","host":"s3://npm-registry-packages"}},"0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864":{"name":"@preply/video","version":"0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"244e23a8da88ecb4b2ba02749b4072fa14c4362d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864.tgz","fileCount":907,"integrity":"sha512-KnRzJ2c72acE5hxtBXJo/NEIPM5sXMWtHdZmJ1Bn9g6RXmiN+YuvQMAMIWUelOGMoN5nZoUu9BUB+o71PvnFOw==","signatures":[{"sig":"MEUCICK/G05F2T4WjEaR4tODR2n5DX+EMHFgI7WvtU14kzf4AiEA2BMnIau86+rNTeiIsJD/vDIcC6A45gAim7YGcFvcenQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33482013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDQYXCRA9TVsSAnZWagAAm3YP/0r2IavEgORf0yP1H9B6\ndwfpwrgfYNdhl46pMTdVtLofCNCOx4sn8iMt2/QuiKy3WR/07OYIk2J1mOXB\nTWrfdzBgAEesc+ji9JrsIPQHwBZG9dVu0JGTMOVESaYStZDljwDNBP0zQIJV\n8yroKgUnm0njc9mZi5ap/z5r2Ti7pH57jawMxVqhtmWHMsvmCUqw2i3n0OXd\nhWnX74L43TKsHMyVmn35Uz4U6E/VxUMcxcQ7IS8G81m563f9suCvzn64I1JQ\nppgd9GOF8uBXBYKhN1ltpj8nzTF4oqHqh7K0r+95TVszCWs4qTeYIc2mgDQY\nG4oKpS8TA4tLAEnjpluJYcilqB2jpnTfAVU+uOUYd+6dk+CSeuMncyE65nf9\nPGfIhavPKifaQ00ttcHrNndOEkaV7PVRsNyZe/1j9aqGSnoG9GTRdbGseCfh\nKgOX/wKYOMjWFxix1vLsYKGao3ULR3MfH1vy3MqzhNOnhy0CFwwRb4NnC1UM\nyqVppIf4APTN5wv7O2Mhy+wuTxmJ91F5nS/5jYkYrWeb1WWs2pfS/dLNP/O7\nfCLtFLMtKorAd4aYi3EhasXOGtICV7uNqTHqLIzZCFxPYTYUjlDYHe2bev+V\nZfrotfjHPGLFWUwUnVktY15z1mjM3v90tvWoNmw/1HBYdslWSMWVOyjjFh2P\nh74x\r\n=1srL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864_1628243478537_0.08581910887885313","host":"s3://npm-registry-packages"}},"16.24.0":{"name":"@preply/video","version":"16.24.0","author":"","license":"ISC","_id":"@preply/video@16.24.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6fe4826eb846204c29ce95fd661132a1097da9cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.24.0.tgz","fileCount":1171,"integrity":"sha512-GJniXCSGIfAJ0sjivBxpeK2001Cu8H6c3tG4AEdSbU0XQkFufYfX3+3qdgp7T7uzCNSgb3FaDmQG5S5aVqXlNQ==","signatures":[{"sig":"MEUCIQDR3aKBtpaYkvy//DfdoWog+3J+6sqc97Bp+qs4L0zThAIgQRIvDXAXNWw5FiK6EtX+mlT63nvwOQK/pIN5cc+/lR0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25003241,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDUDCCRA9TVsSAnZWagAAUzsP/j+pW2tT/yWaemM6jtVm\n90gCjjZHJoqKOgvRqDOBZsol92r+gW2/m4xAnCZ5I5xdX2kB1G58aCmi+Y15\nReopSdRklyzV0gT8Z13khNdeqwxEypc1m+LLbWtWZOz1S1EiiwnTaEGsYBtL\n7lrttV8+q+yOGtczHyzu6UQHzOPvk1gLEvjF7+81s2Rw5Ggly2fbcI0UnUdp\nIdLMk3bGKF6UpVb3491+KvHAVFkY3/J84+H8tEhorbBFKtiyWhyEh4VkEvty\ne5aW4SkHEP6hZXvpkGSmJe3IokVLnX3m++CQ8MUfmauwVh8cf6zsXGt3OJG7\nh0pv4NAzlOQfeGlkCTnsEJEuk/fzHmi24KryBhA5Mr4TJrlk+qoMCEXRpV+i\nylAqG+C9xo6vI+0V9U6DoJf+TkKgFpCfd45YJ5t3+2VJ9M8tIzbj394IqoFb\nBxc8lePuxevQa2nOBnijnp2ek6OHIPFuoe9zDy7N04vrD3kBK/Ar+c0KDbu1\n9QW3BasfwTurqq83dh40HB1zRivPMfoCL4pjI+KIPZKwucHD8poHk+K3thi+\ncQM9/d/UnhMzSe/jIOTwlQLWBh22dqFZl/8R467qBDn4q78d1Q75kZQscpbT\nsbMLiUbl9KaSFYpebkekV+0kmSoO+NwTpVRyHMISjuVqMzCE2/ftJP1xaP+t\nu5ok\r\n=/zg4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.24.0_1628258497488_0.7426411011412988","host":"s3://npm-registry-packages"}},"16.25.0":{"name":"@preply/video","version":"16.25.0","author":"","license":"ISC","_id":"@preply/video@16.25.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b9f30e02df4e0734904aaa84372db5931be647e9","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.0.tgz","fileCount":1181,"integrity":"sha512-QAf8McYiU7hur/MTcUIHtF8XSJZyzkMM3RrWoSwYzKjjF5EdU7Mjwf3eGY4cvkcmVJcwjxURu13TFraGM7o+xA==","signatures":[{"sig":"MEYCIQD4Qfp7CpMb+KCQzuj+nPuMItLKhJidyX8nsAbNy6J5/AIhAPDTXZIeEI9e0qo+eyOLHPIbn3fXwUrHszU6XExlU4Dy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25120869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhENyjCRA9TVsSAnZWagAAEtoP/3lRKR8bgHecTpAUF5ed\nzax29Hnh1oDjQ65kujhBqdJHBAi8CMqctWmjEEAJGYWuPFCdHEFrMHhz+cqs\nmakg0iJltLf3dG/GJxACLZtIVfaqDSWhla6bS4s681lnEJbk3M1HVH0qysUM\nuQIYVWJl2s93R3pM+IqtjLIPCDwWya8U5fHo1hVXGUrUemCbmmBS+yhNGsmE\nnjocWZgP7YYZ7m8ifRqTQiurz2jD0r8E62jJ4MOahelD6eiUmTZ0m9SP3IiL\nJ5RnpzGifO0gSXBgS9XAIrxJM/TYmE8cq8yjF1S/+n71F14FN58aAjTqI7e9\naxDt28N0GEYnEZ+zS64k3OZ3XQZSo5JKyNs/BtIP44NLgKx5LyWHC6Xt1g1r\nWmprxiQRUHFGI1gHqHzNYoqOpQ4Aku7gR7nkHRT6OyO4jWxzEmQBbmUObPQx\nIAYkUoANLjeTbluVrRwFac/cWn5OFFDK7WlQg9ryZUtNLvC/JHuoIy70Io5Q\nKj7XxiNFS7Hpxr8ZgvM4EWZxynKUyigSEr01QbHgZCD3xCVWDYAcy4MfpO1W\nT/GtywWyZU53ilu+fuQkiEY+Qpd/RLU3vFXUa/Bzp0al0FObHMbDWSgZoEF5\niqGauL7mkN4M+sbimqS+mokDoiS1fZN8bDZsv4wjOETGfYHJU+13tGKI0j9p\nWem0\r\n=xrnc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.0_1628495011067_0.3526692489288883","host":"s3://npm-registry-packages"}},"16.25.1":{"name":"@preply/video","version":"16.25.1","author":"","license":"ISC","_id":"@preply/video@16.25.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70d3929bd53fa34448f65ae6de3d5dbae2ef980a","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.1.tgz","fileCount":617,"integrity":"sha512-m5Gv3wf5j3hpRYuQxlZr5edrlVipPVpqBc0iHXw2FbYtKTZdbc7fg8YOaTprj7du7sZkr6G+VX3VIQRcQhI2bQ==","signatures":[{"sig":"MEUCIFyyzbP2mvVrhejTMBp9Bgyuvq00DtuH9JwHN/z13ctYAiEA/kZ3v/UINhaEgtZ1J9UjHOiBxM7ebx3koZfiqJWbnfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24179611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEQY6CRA9TVsSAnZWagAAZDYQAJr+eO53mtreSXGj2ilG\n8QdEenYbXEdZGVbRLOGj2E/vs9xlmRWaxumE3xWSeP+uy9DDmIxQgPzHtjTE\nfS6kE82Y2JtZCt3TZ29zP5kTIFJIBF3PVMI8FhA0LfAX+G80CgBwEESbbg6b\n4qywDk15b1X9tmbX+jIOBBgX2MFBeByNlB9/BHlbdxPpvEzJXqi7opLe5jAq\n4ji3JlPOEw46p915k8X8idTapVzJyZRpBP7UXOEDRO7Sqk9kQFQh8kbTOymZ\nsX70YLVpto2ldi5k0EG+HG/38OijAmhpF66ba31OZP7FxdjJ9SNrzO/sFhbj\nqnRt0XKYg+mnThjrM0zXujnn+UGPXhI+yiVV2qO5r0koWvb9A9hpygAJAcGS\nj9fTXQ5Xa5jqyIVuVq+E7S9+yFCIh8xNzKdbaguHz9fUGfRhgXqgCRFHUehx\nHzX5jV0uzhrxghmhFqZwO2lovoe8b//KqOzGqb6/QBr+UfwoXrT/BWDQ8BXx\nql7wbyOwCMSi053z93dKuatNWBiEymcxouDnMp/wksLfBaEZ6RTejECFjJrI\nZHuSAH++7ov4buuepNb1IowTOghD1MSzSEzyq3NUls/JX02rqV5U6HeGC3dR\nDDljvpctsjij7CmYw17fejH9+1QN1m4hrIpm8IQg8ceiOSDKc4IBNHOrT0IH\nrSP9\r\n=UtE/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.1_1628505658091_0.24097076349952218","host":"s3://npm-registry-packages"}},"16.25.2":{"name":"@preply/video","version":"16.25.2","author":"","license":"ISC","_id":"@preply/video@16.25.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a3dca38741a2cba58be06bd77a1a93eb7dc2ea5f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.2.tgz","fileCount":1181,"integrity":"sha512-CvMazy5lucjbaJo5KSa+vFivWyJqYEYmWGAclpq/uiM66Ho1khVN2mS2G8nEmgwVj+TlS2tA5EvNBBatH56RCQ==","signatures":[{"sig":"MEQCIB0qNi1XRd3AUtlM36eUQkuDzci4MzhtdJheEmoFZgSgAiB5sR4WwJBH+rqZiiwW5RYLRFYpKOgf1BdcRcnSadcIsw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25125670,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEQvTCRA9TVsSAnZWagAAxBgP/3na+Oa8x7d/N7ILCpIy\nOWysa4q4i4JlNYYiLrW9Y82JUBdjokAljBHU904+CdJnrB6c/x0udG/4lvB/\nqaaNzLkbLgp/gQPHkVUg518V9up82hE+P0ogtC/ZxBWhWxYAC5yPaMooIo+J\nB3SoY7wLY0Wq/cdk2Qp3CHUP4wKYXAt0DMyav5OHTtrSwwkprOTW1MBUyIq4\nk4qm2Kx9+UhNSwFDlhlSB47u14QFTMPHTBR70/5lvI8SfpuEtyoFliJEmUMS\nNLhH8eBLmw9gAyQdu24LtPU/EIfHP/AyObYXZyzQwcw8IJccRT7vvrA/s+ZK\nQ3s0G5lXeIiBaXkOVpuWl4E5QvCSVnf+GOf9Snn8iFp4UIgzr/HEr8g1ss6B\nesqhXSlWw1fbOHyi1d02Oqxi9q2Gam4+SrPEkq2Tn/Hj8pdKRJRk6RB8to9E\nJ3jQyArjOX5/EVPvbi1OOb769oGlXvsTKvs1ERpcOSKWdE4KMgpSLnTo3JjS\n6O8VhG49oxHifBSkFx+/D5P3bJEpuISPpsmxLjejvCXre+o9aXRkNS2f+SFd\nerrSeUaRJLSmDWUo6KVdG5CD1R0ii89iZ4QbOG/4F7CxqGMbJCKrdNFCA+Ub\nAp5FxooLOUiXjnegAMCz6QJlkHSmJYC2S7extfreCK3F3+4cJLG0hsfJC8Oh\nr6ob\r\n=mh8R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.2_1628507091063_0.2896812109324849","host":"s3://npm-registry-packages"}},"0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c":{"name":"@preply/video","version":"0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a305933e16aca0f4edb931d0cb3153f38125bbc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c.tgz","fileCount":1181,"integrity":"sha512-gxwO907if+RBnOrqQBQRLZfdu/OJJ+mM84Ez/kx21ZWRlqjR0OwC69A+VP4tV02K7ntDObyNpohkaCmncDAKdA==","signatures":[{"sig":"MEUCIA+u5AGfdziHiHeKzLc4tEhup4iDdzkTncxZKKH9/RttAiEA5AUXeivJsA2jAo5zy+OJGurK3s29OMFxk+N4Gt+IUUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25139534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEUglCRA9TVsSAnZWagAACj0QAJhpuDGoDD/WOVVKW8zW\nbOboKDauoo0x2AcQUniFfN178nQFplIy0UVv9OWiQv/MeLZYvd07gHwWDAaY\ngjoUU3gACzAPyr6qYwp1/drSVx1jZpq+90GKQL96Fq9tMt8fEIei9xlWmpw2\n3ZOgrqa2s9MBETaNb6UlaGLdtc04M03jGl57rSLPl/WvkOJmLdl/4IAQKXAk\nGPX/WmboDzEsdRxdAE2/mR9iYJVJD3dUxlzZmNNPEpXDOr9wMk0oOQZjiagQ\nNFmmvm4BHv+0XsfSyAUwSkyyAcFL+T58X6lExIS9JA4XtJ0EQlMRPjttIoAF\nILVB/Bzx9QyQs+nzz+DU0N/5YW5X8eEzy2VWrDFDkaN2AFJa7NYeBxFi2nU2\nhk2VXOrvbn6Nf4lYq7xhzdKsFKGLomJy+DPVxkgDX+UMAnNEQIERz9KwOoyT\nGgKo0ZHDBV+W3OVLtdagy2h+CwRnxm3igf9cyQm25PV5lgub64rHyF1HouxA\nxKdt+OKwthMEJyOuEgEcWroJlCXZUE9Ax+KpF+v4FH5X4ZA2MBBm4EZunK3p\nM8acFfkehfjN2/ZFEgOIFscxV3oL1ln3WSOJ1ZkS46XF2Xqbo8MX0MakUAzz\njl6Pe7dt2TjcLd71w7Cd8gZJ4ITdVG6l9qu1O4EzbPm5C/oS8Mx5+B7jhbRh\nxzcR\r\n=uDgG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c_1628522526441_0.19269308467912882","host":"s3://npm-registry-packages"}},"16.25.3":{"name":"@preply/video","version":"16.25.3","author":"","license":"ISC","_id":"@preply/video@16.25.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2f5938b6bd0ef46f584868b32bcf6144987790df","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.3.tgz","fileCount":1181,"integrity":"sha512-7Ptlw1HeEXDs2wwqRT9ndpl8algERsAN0OKqWMokCC6zywsKEMieu7KotTYGLCe53UZUaH+wbJeVCSQBOf0DDw==","signatures":[{"sig":"MEUCIF2D8J5mVYf6nMxLoGgn5M3yYxl5kC84oVFBWSD+/8ohAiEAw1RKASfj0OC+NxWHVRQBUVB5MGuGbxcVIn7aFtrawX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25128936,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEkfNCRA9TVsSAnZWagAA6a8P/RuFEMc84XAEpNRkjDn/\njBIHnJu8N/1QEZE9pWYO2R/cXxX2/2Y8lwvGBFNajuoid+yHoUJ0JS40s+rz\n9+U+sZP9Cc4d99u43i9aEp0OrRiQNe9vsObXXqgVUMtIS175eixalqRZJcWf\nLAoJAg8JH1NLphYofvGnWq/J+sQ1xbvSNh0GdjJkKCApRMtjcb5UT49yK7Kb\nzLYH3cQI6OmwgNCcs2SNCj5DzI0wr5YvPNcowgsy7j9KIcgIt8QbHb6YGQls\n50eLlnCZEgQq5B7T6aNrEBPXHcAqlLEwIJ0RZ4P0ppAosBDqhghz4k2oOKMO\neWVmMcHCO0HwG9yqX28aLP0Hcxf0tv9smsJGujazAA3wIfjUKTf5p1HQfVP0\nyROyN5rHGWTiDNcm6YKLV3c7VLS/EUmXdxwAJoQ7rHOs5UjiAcX1acPieGA/\nUtAs/Y1+JjUN82TPABAOtWovvUDLEvvQir86yHA+9BBF8u35zkvGdO3z31bP\npwHjcEwgAvmCUDptvQR7fDbwZZ8sOM7lENS+DVvwE8CGgK7fDZWnmE8cMg/V\nDGai0dCQrl1MlTbJo2WWl7EsUQ/iamPbFy52QA+P4zjYUHZ9L4hMRsNGI1hL\nKJzLpKvrOmVQMxerY3imxZ/o/654bzl+/9SlY5YMB9plo5CfLh7odJFGKDUR\n4zEg\r\n=/vjA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.3_1628587981118_0.4002648259035879","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55":{"name":"@preply/video","version":"0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1ac9fe332939e71ff1b919ecbb16663fbaaee11b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55.tgz","fileCount":863,"integrity":"sha512-2p2s9ZdqW+ROHLrnCXWxEdwoPASAp6cxU6EBDt8CPq6Vri0Bb3mYuno6rK4V+RHYhOjCfKmkSDCGjqmBCi+NOQ==","signatures":[{"sig":"MEYCIQCLoGwrp4tV9TZc0dsebO3r479wTN7TYcqvMUwyU1/OCAIhAP+gbJnut2R7JPKuzUhRUkzeBpyyYx22KMhikpQ2Xtj5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32584013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhElVLCRA9TVsSAnZWagAAyhEP/2TIABnL9IGuCtRAprcb\np9BUxMyUEiiQMftUg8hwL4qaNxFEAgOCByQ/UE6Zx+lW6Hmdmfyv/Y01j/uP\nKK0v2/wUoVzlVGRUNYNr5Q3J0QV/PJh4KSS3ZeVRLJq6EWeL9JX45akodjzU\nPAGGLOFT/YPItrOd6ZvTQfjL5jHcrhSyPvtSOTDR/og3tKzRzGabEfEw5xVJ\nzlGU9nHJWYY6baWiaCZeMQm+HsAi/vG+4uPRJyEWUHwiixNxd/mlsrK/A7Nu\nww9XtCEbJkI3jWXvyyXcBm6F8mJ50LSD2dGUoN0aLWoUcvxt5FB/1UEAwkUc\n9A9PqITKIvy9FWg98TVIycNkiFEPrpngXA8fw9PHS/9Ke6eJx/VTbdifsRo3\n+ZuQD10kJifj2TV7G+LDBIUUreeTGTASr4M8y2Qc9EHULWZxo/h8Sh3+mIYT\nmG0Oh97Ajvz5glwzVlAvaJqDG8uyjSJkViq7+9VMRUc8B8I4vY+8yCnHm7sG\nU0HNVnrYTN0vi6LojD4eYrxmsJjxPZIjCjWPdUZ5w7oYtTd1kuloqoPOEnAq\nmUYohEIZ57eLA0L0qR2rJVOXIKT7Nf0eEO6Co2NtqbDzNKe6de8HYJkHekVV\ndPJE+rynQmHIpqB0hDZygA6MTrD5K37A1YAoMQRgFJa1WMLJqB6O5nAy6Z5u\nMuYv\r\n=Nbn8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55_1628591435062_0.567788316428304","host":"s3://npm-registry-packages"}},"0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50":{"name":"@preply/video","version":"0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6d20654e0bceedd159fdd2e058f1417ed123947e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50.tgz","fileCount":1181,"integrity":"sha512-0Ae/3PeSjHv0ixcXW27Ei0r5CRcLbAbaNPgljhoPdcmnE1CsbyDUAGAdhm2QpBMs1nLExqZaArNiqot3ZkxArw==","signatures":[{"sig":"MEUCIE82T/k84EYrV/aiqevhJ9fuQVKHCioNBQof916aiASWAiEAqeRJ63HYuaXvGvRAYy7vSijJ5hBFkRYjuI1SQ9yz7NM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25136228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEmvOCRA9TVsSAnZWagAAECsQAIZNQxgb1d1i67UlWS+E\nCQPrd+5wDf5JHHceaGraZ8iXYWh6YprARIHv2j3qsVgr89eU+Tu2Fm1zeqZt\niagEZrfdAX8V0ExWVlqKWo9Te/hM0QP64tlW3opUHqnm2RmMCIw/bT25Ak6J\nQA79euzQaMJlQaWi+l5fcGsAD6Kt8h/dxb2S4xUIwn4d/Y6jqvRdEXgHodHp\nINS0pu2/VvY8p0JnrVCwh4ZH3MpecEsrsCaIveySooQyT0NCr5fdlYEQP/jj\nxmPwq83nXDJrOWuIiMdhIjtA8hYt7qLLJlNNW3lIMf78UBtnan8DAqZWduOS\nHVzcZ5DS2c0i1IZ/t7qjBPMDZK8oSo0iXtUhTD5iS7Zu6eF4j8CkVSbuhgK5\nOuOY97Zc0LsNg/BfTCvLB9jLW/FOjITGghClVr7iqFxEYYRUXgJ35aNCNZMw\n3UgzyzEBed5rW+YhRzGZm8VgxbagzOkrLlmcPH8lAezy28DCjJucPykj2ZP/\nUXjg2x2yQpqZXme6fKGGrbn/pFZkC5B8nX4LjiDl0vJeBsg/bnHKuX+9R6o7\n7tTYlblS9V2VE/LHlqiUnm6anmt0J6jbsQoZX5iHZiddXB4bRh8nHYrSHIRj\nO6TxIpU92XgD5/xXl/HnmC9TlYlc5fZGux9H/+BdAAPuvqwVGmj2MKHVWJng\nPp4t\r\n=Xwrh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50_1628597197776_0.8468557463957986","host":"s3://npm-registry-packages"}},"0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b":{"name":"@preply/video","version":"0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2a4e62fa4d668be8799afaf67203ee4969ccbadf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b.tgz","fileCount":1181,"integrity":"sha512-3cQwp/TC9b9zd1hti7KgOqVHQ2PEH2HsV61Fz18WSA+XLMttpA5w04RKbL+fCAC6UH582EBFbgKediN4P1saBA==","signatures":[{"sig":"MEYCIQCtYvGLIRxtH6ugSAgAX1Sfcz1dWBNseyNTAxD03ObxwQIhAIfPi8GSwtdKpN9JlvNISOJQO82UCshS4Kkgc3bHqnoI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25132043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEnETCRA9TVsSAnZWagAAbvsP/1aR4qQCAy56g6biVUbM\nGPSQuPI6dociMaMLofcDrDAyIu8YpJR//8MgG9+HFKyP18fBY/s0YJVR+lK5\nYxlRQmgpVw/2oDHISSDHE5tO5/DMysbEt9lzKgDZh2UPlrBs/BphRwgE7isH\nM5lT3GGNnTMUw4anSY7grHYLAnNk0n8/Uw1TgxYoTCk/AmiRTsz+kwbbIUEU\n7nRcZ4yjaZVK7fvFVAGme/0usscShxGKqAZ8c+7/+EPZ7+dHH4ICoCmeQn11\noBz1hInlQmR4mdxbQB2j2Ahtv4/1MrcaSyr6qLRSYBQr8pbyW8Uwe5TZPuzt\nDcp959QJEfz/EFjp0ZLvPJ/ox8MWF0uRJQnC4kVBOiLKoysCqsgRxX9zAnTp\nbkwwJRh+kwG3BjqDYEYbx/MviFlDdGoHE7awc2Vkx/wqrd9d1JH3TwaLnE2T\nH+tyrmYo89aQpgsL48FqhDcphEybQ7ZupXR9u2HcAsmTcVsSb7JpVmNepUH2\nLqHwJzi8v4WByNGPFWkHTWKvRIlNM2rr0XIjIT5BEyCPEoa3KnnL8B4vhjxS\n/B9+lE3OfPJx+lCaVOyFT+azkitsi9O9icQ5LUYm5P3vKZ4DGE84qSrvvssH\n2Fbp/73mKKtX6+RgX9EWRuFoAsagvgFen4zcTbAymlR/RYEWn33DRTJgA+vQ\ngbo2\r\n=BTQB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b_1628598546727_0.2995186615937089","host":"s3://npm-registry-packages"}},"16.25.4":{"name":"@preply/video","version":"16.25.4","author":"","license":"ISC","_id":"@preply/video@16.25.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8fe6dc316de1fe0dd50f13d9c544c7a292aacfb5","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.4.tgz","fileCount":1181,"integrity":"sha512-qJ06H8aQzZ40EqM25eZpaSbCAQ+G7xqy1q5BzrUz85OFGvXpdBuwiHFWheBw7gGLonv9yIoLNk3eWn6d0vsppA==","signatures":[{"sig":"MEUCIEEvBOzCE6TrSTAGCmh+vX8y78bYPUmyZ/ENdNpIeOQgAiEA7IWoXL86iMSIgfJ8gO95o5trmMahgHXjmzkFIavSpqE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25135577,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEoFdCRA9TVsSAnZWagAA0LoP/A35Ietl7sgy5iyHkjzz\nJC+o+19zaorSFXkfIwZctscxqiA96ziCQ4+oeFe5yxYopPR039d88ykvdwfv\nTMrd7JzRBCQpSM4CeRQK399x/j7G0UzOperdEY+76DP5fIuGcz6nId50Ee5N\ng1SmrwKx3Yy2Z35kaiBvfNvBvhN1j0P8TllMMu1xb4TQAnFN+u25YWNkhST0\nrd/kx1vOEda5Wa8OF/LDkP/OUX/YcCc0yqAmAMMe/kw+5k2ITM4ESCizezzJ\neBu/tTLtFcyL3Y1SIaGNhQqQNGXjTFCxHvRkf+GMEi9Gyg1tl5nZHdt3KfhD\nwMOJaSkVYyDxnzFXAwwpy9CTTzr3cHi9RI33GLcbpTfgLHbiog1qmZ6eQy5m\nyZVL+LhQ182gk9AqEvuw/+B45Z67e1fqjAduqhP+fE4h4WdiS3paHak8/vxC\n7yGNj0YfFmBxeHYy3uREz4FqOlNGRIAy6wNpHAC6zMiyO9gPsWahBvLy25ai\nvpYBWDKKWg+TcdzZzP4F7C7PVqLUtRJzba73kWpYTgiVS2Gv+saKDbbZYNUt\nrUcNdY2emMPjlc4+AsnPOj17M1ZWKbhSc1JtvPq5YXLyrvYGZ2q2GN3CNz/Q\nmjowGEVbDVK7rfHgW+nqtcGbZNFc/KIaus4CPxMhB6r50tFhWPKSXRjfutbB\nMML8\r\n=hrxX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.4_1628602717589_0.1146972276452245","host":"s3://npm-registry-packages"}},"16.25.5":{"name":"@preply/video","version":"16.25.5","author":"","license":"ISC","_id":"@preply/video@16.25.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab12a120b7c3519e486e698c94f58b916c8795cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.5.tgz","fileCount":1181,"integrity":"sha512-GF0CZlSukbj6GCXrSTOzzT6V7NobXkepIsC1Cr3UqousEHycpT2qtFj+utqXt8sFuOhLChbatKFgMgQeEwZKDg==","signatures":[{"sig":"MEUCIEItdkOtXI4KBnHX4DXdO5paTXXJimXepW1wUf8PFqs8AiEA3rDVTLbGCdgGXUDXqNu7t+4nBhGRBCZNkmZa/fjy4EM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25136132,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhEof+CRA9TVsSAnZWagAAejgP/1XRg+lX4dT5Z6x05oV6\nL+le8UbvQ/yQGy8X5W9XxcJ4L7M+rOBLDMDH55+J/hrYn2XHTQWVFOr4WacD\nWrPhHPQ/lc4AybZbhKnzfJyUSkCjhEtCS0TZlsu8NtBRuMyAvb56I938up9V\nn3FEEdmX5lrJFPIcvuxpbteYYA+hHnQtvn28WH2F8iE1X8ZG3/lwTAi3poaC\n+rpVjNpTG/3s2/ZXJO/3zq05IItHjtnn0w7OEQw8F4IjEfFgkjZy9pFmLUbe\nU3bObICr+lDzPwR4miOs/C7yjOHcX5UbqsYDA0OflBnBD1nduj8Kq+JECdPl\n9tt0cctAqPG5gcz/Siz5q34rKkqKT4YyCADlca78gLd7oYVvii1ztwcgpOwm\nogzFV1UqN5bASLnbre7rJ5uxewX7CBDaKdbr3Kch6vqktMHI88k7YrYFSuIm\nykXQZ+Kv4GrXqXw87dbczmg857SacPQTr4+b8EtlOlf8yKm+vpIh7Wm324DU\nLJ5hlJt9coA8i9fTtnbCqwdMpotXoVGIth3ec9ZH33dHwzoP9oIO1rt7bwW/\nxyDnpXqVqxZvM+bWutzkTYJ8bUfAWSspXbwdLD+Ulvai47SQ5iN4uSkDvLA+\n/eYSKBK9b6Ll9hqbLGuZoBXNtIE5y09GGNII9ic3tJ0bFmYsk2uHfwX+SE6l\n7W2T\r\n=NPh1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.5_1628604414545_0.286880278200325","host":"s3://npm-registry-packages"}},"16.25.6":{"name":"@preply/video","version":"16.25.6","author":"","license":"ISC","_id":"@preply/video@16.25.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8dd4903ef85134eb8d3d91a57660cfae4511d61e","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.6.tgz","fileCount":1181,"integrity":"sha512-lomRRpL3VDjNjCqR8HBQ8r0/wBThZF7wFRvDmaH2abVP/qDImX3tJMRqwkkMfOIkYYgQuiYIAW3DkVH6EW0ppQ==","signatures":[{"sig":"MEYCIQD2jCOAAi/rN9DhdN9fVCJ18OcEAoH2G4+F7MJlfpip0AIhAMQsirXRZwXTfbH8Vn3uHmTC4KiPlry6xn5DI7m84YEZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25138311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE2uQCRA9TVsSAnZWagAAQogP/ilnWAkwJKLVrkinXcU/\nGYXHzMjbFQ0T0cqBHmyKpceDkl8ArzcM8TW0CWpsEdEefzseIHHUNTFSstjZ\ngxamtfzxan0jHllWN7MHAA6pm2pDK72QtF/s/IhLPVKc8pnz8edwKSZI+39s\nWzecH2jd1yp+M/S0hjk/mtqfRsyaK6Teuqm5u1AAX+ENTdVDujgzru+ldBUQ\nfAHrQ0m6J3r1mBaqm8aik5HKmB1MMgrDnzwfYtiDKrcHspL6EP00xC8Vtf4P\nCJPQSb6g7lgtX5PD5beUNl9CwYFRexWC24/3BiJMuOJU5G3mIRWXA/OsEpRc\nqc2UjB6ur6Ap8SIdGc1RriwsE/G9sTOU7cZkc+RdSSYB/JOmL/EjKc9+nwqs\n0yM8VV6Q9d7zBStuNL3qs4PVjPREZsj3KeFoty3W3UZpXvsGAW3qvtqWSBk7\noBIBXO6wR0oA42CtHzvnexQnHVz5wf19G349VSv6gsNWKIEy5q1QGdjABanh\nS3mfwHCPtHqQ50UtOT2892hEZ7eO/XDpNeXYMxGU1pfoD7LIMPJflbjL+zoB\n/cmoAf87LAZQvBSNBkgLMcgD314VSWyKs/zRi75opRknRXtaSq1CU2tf06KN\nBgtwDWZNZmiT9mNp5znm8ESvntzzQn/03FmIR9CvqZ2uZ/+iho1UvIfi5p9h\nRNem\r\n=MKSy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.6_1628662671567_0.907487436342747","host":"s3://npm-registry-packages"}},"0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c":{"name":"@preply/video","version":"0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c14bede5234b0babbadf8c27c3dd217d758f239","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c.tgz","fileCount":1181,"integrity":"sha512-fAQqg3P1FEpU/25S9GTaa0Frph+Jzgt9Vn8VerfJK7jrHLBHDVK3tXxew5nEWDsQz4Ei8RdRK1l5E4xzaig64A==","signatures":[{"sig":"MEQCIGT9Yj0fmNp+vCOnVhTgQIV4Zk3GE0x45T3Vt5VJckQaAiAOBLUX68C+naUYOoQZIg8cvq+gWjCjt0TSp06gpmwl1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25132043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE47XCRA9TVsSAnZWagAAxzMP/2CGCSPsVb5FaBPgMSJc\nFWQzKGaWMz0NtGjewG6r3lr8RUHCV+TtDgg/cua19qpsdWC8NV1uHiPQUvZd\nova4rwyS2y6h+/bKqMK5OCCkRgVBuPPDWZYj9ycSUk6fmHWEqN4HstkEA+EO\n1XFsD9VDqPoHxruM51NsbKQRD8crg3OqKRxZh8FRCd3dS3o5U46eUGjg+ur1\nckluwN0exkjgqJOLsp+0tdiVzUWX59++2SKpOiJ0+GeV/E6tUTEQTq6tV0cO\nMBxteDMNl6IPL6UCfl+iGjafTMWRTB/Q4bb3W6LD/2n18+kuYbC7MBwU2Zq4\nTW7FPXG+ijs+/Cr/yy7JotJC9MLCoyom7hxdysOInfi7Wm6dq90UBCtt0nEK\ns3TS+Pw1mRBm9wbYLVlD/LSqUSz/7/tmVFyNi6nA/KsRsaI7/whQk1Cux5fQ\nsHXd47LZQBNWP7Z+hAbTLoeI/hAUB7ChCN6rDKrgai67ZgMIjv8PhF4B7I4L\nP46PkjQD4d/fFSzQbwBbgEGXQhathqpvE7YF2p4KQCRdgM+mFid2i2Zcw2SP\nj/HPChJE1+lSpVJus99V/QJ2wawhdF3eJ8MQxl3hwfoMM1WA57ck94ez/DlF\nQoS6N+kTpYlyOeaREjmeI/qRTzdL5Ey5+rY/luV3kqxZ9RWqwTN3xYlW2lXu\nsKzr\r\n=2rog\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c_1628671703418_0.930845192522725","host":"s3://npm-registry-packages"}},"16.25.7":{"name":"@preply/video","version":"16.25.7","author":"","license":"ISC","_id":"@preply/video@16.25.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9ed1278568f2f615d3fea396f9dba609c98fc4a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.25.7.tgz","fileCount":1181,"integrity":"sha512-LfF1YCpIPbl/66Gdtof7DHXGoC4GIYGzgxzFT6plEbYfA0KTFv/8tLCpHI/7o2b2EhlFD32cbfqhy+UWvFH6KA==","signatures":[{"sig":"MEQCIGqaZsjDZK8uga7EX3c3cM8tFGaQL7hR2H/BCWciS0NrAiBSm6a0RND7ocyA8cyCaRlql1LJdI9TK+ckKn7WnxS3Dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25138566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhE5tqCRA9TVsSAnZWagAAkUYP/As8tGKWR4Gb+rB9vj2e\nXrFKSMj389H5MUNnp5uHGENW8ljLi//S8DpMuZy8BLYmpN9dWzuNSWHl87iP\nQ5dyennzGjf09b/HVs2AFxTQbInjyJb78s2TqJhseyfmT7Z46eKrSlnUZjoz\nxXjfDftZ9+WkEKX5AG5vlk+kEG0JxmI6D3WzkHCmxWokqj0H0UlaXy4r4MX8\nEynPiguRGogbe4TUysV16i+dFQbJEK8Bbf9OcF5hph/3HthxdABBSiV/hSv/\nXS+NyWvvAj3LTZexWV3s2NeTRYwypBnx9uJBmYHkcFOAVRluxJy+BlOPLkoa\nrBOcfvN4KpuEjJ9ZA4ge5dLfnO37ORnFZ6eCkMheS7WBFsZOW3K+pjmUzmNV\nCaFjdrAQMp6x2Gwng0EDpwlWoyv+nV4s5kHiffB6qPdPN2R1Ag+iwnAwUHoP\nYisx6o+XiaeuFs1YpFk5U20tP5BooDkmY9wsxkhi3v7UUgD8TmuyrEeXm+s0\nV31s6e8jy6B69tOH4IHi9RyzosENyUeVCAWNkhFyeDQ4f5rX3lVDCvMOSUy5\nukXdeM4Hy2b26Ikc9dCMoylR0PHYSY3DpW0MyWJj2ANCcLkUWb/B5D6JTVQM\nR2DNXPS8vvJ6tBaRwEkK0zUI9EPLCp6vDw4yujjxOogIWPjGyUoGh03kbi1l\nJIAJ\r\n=oy/l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.7.27"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.25.7_1628674921864_0.9309623444528696","host":"s3://npm-registry-packages"}},"0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544":{"name":"@preply/video","version":"0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d94f5e5185eea901eeebc7ad63ef5e934c2b4f71","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544.tgz","fileCount":1181,"integrity":"sha512-qRtIVbYerB0tkFg8m4kKL2qImzGaEd18vr1t0JnFHHbiUquvXZ8NJoJPoOo5nD/nGz4Ib26wqbgBeKU+SwbC9Q==","signatures":[{"sig":"MEYCIQD3LQ6zHSeNqd7r9eDQOWnj+6esm5nPMqNgcJs0H4j/ggIhANpcR+pQBEwSZIj37gsGFj69adkuA9JaLeC3LF7CY9cz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25150314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFkZlCRA9TVsSAnZWagAAnxoP/joLZdaFDWxzO8hIR2Yc\n4/y6CVDohdcOvLNKJVFisFiJP39UnciPdQsVL2YYQN2I6gys0ykLWlT3Kxpv\ncin/exi+BpmJl89ftQeqR+3/doFV89YlP2y508jhrYfA90EkAT3os8lh7D6J\nK/TPhs/6x0egwlb/AB+z5ggx0Ccn5QVD2qZmA9xAnvFEjJo3H6xzNQJfCkLJ\noqJKyKTguCDu/wAYNZexvbny94ceGNQL/pXZAHhkWJlJHzpXc8pzEVeXuvqf\nDH7D89PzVcUrwU1A1yj8hQEAcYY5NjCodcxgrxsOyFUwBrFCvjKOrnRovY9h\noVZzy0dX9Wd0ChKYzPaXw5B2ZP9B15WywUIzWs6iqrpC2Xa3RNzQGUzjrLnf\n/4xhYkzcnpzNMTV53jX5t3rKeQbi8qcobOOvUYjWqnT73kCKk2HtY9HFeNjb\njHfMZ/h0Jk/tvNG9A7FFve7JuqqfyUE4HCust0FWkEfcyYdZrEYGkQP1fRjT\nswfg17Ip4N86GhpFtNccI2aTGXY6E3H+EI/btsBaff1ihO9kPWEhxsWBbPZP\nU2GUe7CFvK+VLo2l6Kd7TKIdVu0YB9NSU2T06pLNfFbEIk4ge5QYrJMDs8nb\nHYkU0kqS6uMW5Ff3yQG2QtyuDJxMSpgO0WaR1ry2pO1UfxTPl2lcD2SP9DLx\ndwbX\r\n=BEbw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544_1628849765037_0.846804009852506","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31":{"name":"@preply/video","version":"0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"452e2cbc8ca3306d8cedc0453ebffd15e38cfeb4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31.tgz","fileCount":1181,"integrity":"sha512-mv641v7TgUjjLZnIX3HUdIivfXDxdtmtXiNnxguLaVBbXTbnAhvZWfvwTOwymC0UPKOQrTjcBasT44Iu6iSwPw==","signatures":[{"sig":"MEYCIQDVWThSgL58n7hc0CFLWtkiDdqL4rd8bGKNmSk9IC9tWgIhAPmlsLfLZn6fhMSgw9Lgta+Ns+1t1Kxw5/RtZeOy3QkQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25147389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGh4LCRA9TVsSAnZWagAAHroP/jR4Qz4gcH9aoT7XlijO\nFiw6p9FoglaJ/se+dBOa6xh3LGC+0GSDuhhAFmTOIsHPxQR55QvwVMu4fsyW\nJAq5ABqpEdR8so48FqoVFYXLV5HKcYML+76Buf2tbB8Ggf56FbgBRHsopc/S\n8cFlVgBEahcxkexNyqZne+EaRiCaJZLIZsfY3NAvkQcKTvnKYXv3cx0LEsAA\ne4gxkaSXcq80P+5WlTkGKjDmVecrJCIvMCw/8czdNe3tHGoksxL5egTB6EB2\nROebzHrBl3yuJ0ZCV2ZXRD23h4trzzapvQOxc52Oq1oRwiYaHvL4AwA0RdOf\nU/oDJlpEZhGRduSGZKByXBIln/OMzDytV/9Yobytvlnb+LzPXei/dV6E90Zp\nvqHLqALm0Vf3kSOJ4G8ej+gIKcnjihy/LZLH1QxQIiVgZleMpj38SA81YRq3\nUNEln1lMKFvVzCN0dny9g1z+a7geTddCxA1c76EI7MdsFaQ5GIMaiLu2ihQn\nVkF6q8bw8Qn595t6wT983fjNxlX+q9T5mmLLTXKlp/lasnhQ/+j41YV7BZF/\nUBWJMCsGUdgf34Z2ouF4aU6Er/MjNVJN0pH1dgQvsszimEfpiYEmN85TZnS4\nNiA69E8s++g9AXEB0pvyLZ8NgBcR9oqqijzcnmxBaacTHIJULewF5B3Lt0+P\nZ8l2\r\n=v2vR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31_1629101579308_0.5508754734892034","host":"s3://npm-registry-packages"}},"0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03":{"name":"@preply/video","version":"0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c220566bccf2e150c16499da190f05cbc8f2a59","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03.tgz","fileCount":1181,"integrity":"sha512-f6SyW3SWuJK2PYG9nCkYBLbMkNNh4tSdLXJbXGBcoSmSlk8UAqlg6Q4SV2UuWa/8mXHoWe10YJ4HbkDu1k+jMw==","signatures":[{"sig":"MEYCIQChwSDxzOqLu2Tk287LaODXXmbX6H78pC+j7LSWs96bqQIhAMMUkDPMTkUGgQAf/LThlXb303MtIOXo8QMmghJDRA5Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25150185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGiuvCRA9TVsSAnZWagAAPBAP/A9beHLnGtVISHZPg1he\njkwH6SX/x1joDRTfKcOCLkGjTPRnwBKxy90cc9XAvftLyzwmAJ8pjJzzha8a\nbWFjVbgxHnv6fTTYqezCsL8PON8JBPNVFHJUAHM1Yk43l57mJ+j+btZur15S\namA4LTm1VKzzwMiIxd2RL9LKu6BIwlG5St+qRXLKJBrJgVdBiDffNIivPa3m\nzselDCsgqGoxAejg8k0roMaCth4qbmRxtdwliu4o33q6nQr4phOKKUrREmoa\nkFV/UgiS3262FCfhQjhtz6F3yG0j8oI7vv1r2TKhLqhfiv85/z6ZXiHd2rIT\nH7ATwtAsLZVn5c8pIDsqtpufkVmV4ySynAssPdvzbfRq+V69w1jtsy+OgTX2\nl1CxSonkQHPjDtaLDYMfr9je/5pKZqx97ky4HFEtUhCTUcIR6yyHGLFZEsOg\nYYbHo0f8zz18FXv2+GRqkT6WDp1hFPMJSoMiKsQVSMBdNmP29emeSP9yDahR\n/XXZunJ7eA2vDtUUMJ25mR74sAogDUdc2pduFCcC3KrJXYaYRDZP2m/UgQvL\nwyw5JH8oD26DihVoNAvMgIhrZ+8ipZ8EFy+fQ0DlnyK9QKpKKMF+Dd6SbiJp\nj70UZEjneuJNDH4jHFbNOt00nZg5Dh341ywiDSQLBx/OBtZIUxJiEHCTArLL\n7N+P\r\n=44+n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03_1629105071336_0.26406296666085294","host":"s3://npm-registry-packages"}},"16.26.0":{"name":"@preply/video","version":"16.26.0","author":"","license":"ISC","_id":"@preply/video@16.26.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"97821ca64a6592741c98edf9555b141281aca288","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.0.tgz","fileCount":1181,"integrity":"sha512-73WjJk4Xg9uJdZz/Wto2PFN/7SGgTy0a1upzJcKbs/jyETxsLhCQKjCveyF5Im/HGeeFLD8lAqjBnX05nLEsSA==","signatures":[{"sig":"MEYCIQC3eC1mYfr1WlNdgTKPtCEN3ACBCjA1mRf92OsJbfBUxgIhALop+w927J0jQ0zbowFUOIqrIQY27WdbjKvoJL3jFyDd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25149076,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhGlPFCRA9TVsSAnZWagAAoIYP/ijK0+MjwdUQI3QAjXaA\nUIjR46C/GGQqk2YXs3maz3lnL5QTB/hAWnMACPkIeoaAAeUuolVUauoeTSSj\nNPs+4yGBvvk92QAyykpZ09CqSOeVzQg9Ez4cW9yuHUg88jkfZRSDgKVCk/ds\nXnuzmaW+faJM5xPYaVCPkeWvOK+TFYqbwi0NxZjKbr75dOUIu5M1slaPCqbG\nT2YLDxOWyMCgc8p0JJiyDgr6Apjtd1EpukJ60fVPoE56ev+qouAVBKGwgaQO\nGnrx2Tn26g7q0Y098e8XcHG92LtPnFZxM0EoeF3UpGp897Atlmhm3k1hHwVG\nQpLjnGNq+3zLYKUATYUMTeNUaNnXWUFPS0ySiaUNbBVNQnZPOLG89osLm7HU\n3nHzskR3LoJIh3cN6Up8vnuwpIOF1+wM1gBvO10HaTtMb+YCDratfiYvwKFp\nenvu8zDdSIPvTMuz3HB0VKR6sx9EhJvGgfuoAuM8aMVW/EMG2pwL7N+E/gh+\n1YcEUjDgwKiiDGHvud6WMeF4hwgfJ3Z4vpmGFvLOLa/nQfZoYtOxbAiiAJjK\nN/4gy1dN7Y58i3KRxCJVqUGGUm5xZAT0JC7LLix9bU9QkpBHSFA/N3llL1TQ\neKbqBzd8SEAaLtrLaJ0m9DhmAS1gU8JSRTffyQBVtweb5CXMNJCGxPnJYDqH\n+CM2\r\n=/Ff+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.0_1629115333116_0.6241817552844509","host":"s3://npm-registry-packages"}},"16.26.1":{"name":"@preply/video","version":"16.26.1","author":"","license":"ISC","_id":"@preply/video@16.26.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33b34acf62e12ebe408adca527163208a84b3118","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.1.tgz","fileCount":1181,"integrity":"sha512-Kn3qQ7pkfI6dVditJR8pB0AFJGEF9/f0jiiiZ1U/+30/c04bvSKfcOqLCtua4RQMm5igp+J6keF723l1Zbcynw==","signatures":[{"sig":"MEUCIQD4a/kcToYfGNW7XjYkKJoc7M7uc41hExd9kr+nYsewYQIgImTdJr0ZICURkavSSNIRD8/gwVQ0agmVAw82yBKVXOM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25149559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHJjRCRA9TVsSAnZWagAA/7cP/1yTB/3c876Y018VfIk4\nWkSM5EZwDNhFdlRlg16SVtMeJ4aUQT9nbypLNdyn5bISzM+6MJkM3XWFXo+M\nej5M5S6my4PuZPkn0yj+jB52nJLQA7mC2w/mqbSgqxRBmrv1oBvdHHJDEB57\noh2jmJNSFLPUweQrSFhmedGkA60FT436q5gT4AVQ4VJxTD3rRVYbQjruz3uY\n/ra6EuGMZdQ3XXT85FM3I8HAkZgU5VPIJ+Xg6y5lxqk5MRvcHf+Q1+gW+uig\nB2LU4jMH7i9LRnEWlDnBEzgbXcZWFxga8NE7vwpEINlrAYUWiUr+pQ1Y5z7u\nbFarrZj5y3KalpP8IHWxLtE+7rwHo7imavduCXP/g2munS5toQCxljPVBapu\nG0ZCDznLVvBlBgULq8jtOFu9KYlEEjF1sGNAOA3BbODn56k+so580707QG49\n9qIYo3gmDjkv7FUNY6PiQIMSbiJNDVaWkIhQcF0wEG86uaHAoIh7pM18EgUX\nHwzJRLVf1bwWofj5quDmorqt5LkF5JaqOeYFENE2t4IqxdtNrRU5hpIiV/PF\nK/B/XGpA3Tfn08gLwOOgcfoJeTP5FSLCn2FNHuxUJ/6AN1G/NAF4njHVgwf6\novQsF3xoopljhVKExbVCQo/TktsQa7ynUr7aaLgoRJ7UwMr7qdAjxSo73/hf\n+W48\r\n=U+NE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.1_1629264081181_0.636950414952778","host":"s3://npm-registry-packages"}},"16.26.2":{"name":"@preply/video","version":"16.26.2","author":"","license":"ISC","_id":"@preply/video@16.26.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1bd000457e809ae55b7866d41714fe020a87f84","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.2.tgz","fileCount":1181,"integrity":"sha512-tswLMisv8g9I6fzze+HueltsYFTDjBUgwUeT5ny8QQG9qC8+wunMtVzrsy8Rl3AeCrZ4KjOSVNxR+cfNIuY/sw==","signatures":[{"sig":"MEQCICd2/P1veSQ124vqM/33TQoNtsr2P56JT2MC6rh8O6DSAiBxctblELUdQNzSHGah4wT1S3jyujIO7q91WEIqi1ecMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25151769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHKVGCRA9TVsSAnZWagAAKhkP/2TXzC5NyzQbPzhDu6qT\nKd93HeuEj8pqWrOe+D7j2SBRv4SQZ209O6gsiXrN6l+YbuLI9RmA+14Uz21Z\nDqUgJLw2kv33ZiXJ1Hvrna13+AT949dvK7wmep73t3RlktFUnscROYx+4TqD\nJvfD25gpDSqyhAO+Nku6XQ4noUPDGzEzhsmq7Y+B4Z68daEimxUexnFM5zgB\nj9zTNmfWXEcbYnvxTG/TFYVtlX8ZkziLDYusYLjDkI7TqtW+7dNi/Ui0DB+z\n8kzzjJTyOO95SJY4KBb1hU0cMT17iY2CP9sY2IvULc4l6dFKQ4VQMBhYVwOz\nbSf+wssGdrdcY7MpUH05n9BgKxQbMjQqLCCQyPDpagqc9nRkfUXUQHgQxkv5\nG+Zh3tITixTgWxeleXf/DkDAhGhtVYCjQZ3GWmBwU3pe8/+ERyBwCJug0As/\nW42Sj2ijaTGEZLyIFH1eQc+mCf02kflTd3OovPZmAcPvlnu59jgajeR/4pYU\n+Q77AXYyFn9RzK1KvrhLzSebNfHrUZ1t7C8c/nfsYkYCUTMC0reQdJMvA/Hm\ng3usBrR2FdP8oULVbA98pCEoABsH9QV6ZR84TMaFqhm/rysG/eT8B9woopBU\n4plXtooCigP+nAueE/Q/BKGsdHZvugohNNjpM+AmzccrKdSeRPsYPX9SuiAD\nOL5t\r\n=ypu/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.2_1629267270374_0.9790365541170847","host":"s3://npm-registry-packages"}},"16.26.3":{"name":"@preply/video","version":"16.26.3","author":"","license":"ISC","_id":"@preply/video@16.26.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75d9914a31776057a8c3e3e558d9db8a474fae64","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.3.tgz","fileCount":1181,"integrity":"sha512-Axj1B7HHa8CJs0UYT9Hib46JoJGtJBi9p6rOuWFHReTZ+1WOWVf4+qxfxI/+mYoEUpaqksDltTOYglRzfpG2zA==","signatures":[{"sig":"MEYCIQCfMbynpPmRPCFF3rBD4kRuZxk++Y6C/JP8zahMgCsx5QIhAN/AducMWbZz2Ot5t7fcdb4dK1H5T3A/zQnTOvFu07Hx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25152007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHL46CRA9TVsSAnZWagAA3rMP/3JLxYmrQ2eqorUmfqoE\nfV0GSi6qqoP36RoQk8iT49bnpxJCsdN9EqXI5+49uTRcHKlEwG395xUQMxRw\n2h18XdC61KV3I+NDENJBUjAnfNqrmDPY3INjXgr33h7jlv4gXiiDzX/fpS9S\nkSTNjysIZbwyCDbyLYO2BunyTCpgNjSKK/whPXrC2RVsRcEnpieadVfzFi7l\neI8mtuC4Hg2/Q3rpBnf1q0pDrQgVs0uKuIx7iu/wnTmQLNUTT6h8NIFPjPfN\nysHUU94tfxHVMz0Juu+8Cg9/6vne1sXYfcWKGRGmPgF2WF6gltIG6slRCgRi\nEUqP10WkfjnSzfKGRkTj7xDodaXAJY3FESwzFQ6iAqOwugfIUDY71itqW6Yr\n8sM38CW5K6aQJobojhTfBOWbOwxOu+8b71KNATp4ZffqeJQeAkjDizZESfzK\nXAuzU9I2IaC5B3vOHYniHjbrqqFTsCvBA7T8t7+Aq4g5bfy7P2UPAeb1ux5J\nMxKR+/bIlE+DtfihhS2S/frYMoEMJBxqm4gCtm3yWEiis/SWuuulNReg8WX0\n4CxveCiIZ/xV85Iew8pGPMZnG8Nv37cL2ZOH2x2HCbWbGOAyScH/PnN1TKWU\n3rrMnjB22NyNRI9zzH7ZplWzzKX1hl463tM74HGFbEm0HxtxZCc+Sxmigyji\nP2rt\r\n=ZZzP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.3_1629273658106_0.8101340841532634","host":"s3://npm-registry-packages"}},"16.26.4":{"name":"@preply/video","version":"16.26.4","author":"","license":"ISC","_id":"@preply/video@16.26.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0197277d4e5f5d4b87e81333565e349670a241ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.4.tgz","fileCount":1181,"integrity":"sha512-D3oRznnaeFezIJ/WbOsTmEiIs3fVkhgF7bByL6p/EdVk5bOMa0uFr2OSyeGjfG5TxcVtZn9iq3eXln97lT7plw==","signatures":[{"sig":"MEQCIBbJDGSftLgb7nMlRdBrez8MJ5fUqhYS+9DJm7MPzCE8AiBOk32EEOt/ZuNmHoMR0u/HLRqwe0ZzkUVMKpzb1ey2fA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25152281,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHQp/CRA9TVsSAnZWagAAg48P/2G1ZsbyTuQP40oEsQAz\n756+rz0iZ3M4CvVwq/1HUHFvHMRg7SeVmnkCDM6H5wdg/Pi5AJ30UDCJ4r3A\neEkUlXHr/3YDrMAAtzfDtZuC32k8WGgbBw5Ka/vwzBM0R452fCkVTjiEyf3Q\nLMG7eb9h1yzYObextaw+MaitCep6b3Atwz14E2OlelWThBHkr8dK7nS2OUmG\nvyblxjLEyKNYEOeNdwbZBnJCigfmXVvSY1D09bYgaAOS7Awt1xp6TYODC5oD\ngQ/fGbIBTeG/CJTFw6MdrZ5kz8vhWaXpC+rOmpnkJp4+ed5i2e4WHPPwOOO3\n2CezTFh07h3hIeBLsCd1ZwRYuWSMfKyK66m1uvwjsJkuq6zwYpF52NiCs+S4\nwroY+5y6lje0LPhYtKd9uhQO+vQbR1Gx0m/TMNTJc3VyGY4Y5rTJcpd7yepP\nUcDXhMh/8HQUb5hB5En9DBuQSX6GHVUCJwc0mYzPdMxFVauzO3pSkzM/liPN\n0a9UpmC+dkAdN+cyYBcpiKYE3WBH/MT9Kb8PVetgWyqwH7AMbZP3f8Gku/Dq\nH+sDorJsIPHzqAiHRalvHRh0OcDyC6Mkoyk9460ThOJ8wnwPFWudqRSGktjW\nRvxp29zmcaiJjHzUcrXfaMXQ5AKxB3Mm/dINZWN5irY42CDrCZZcV+HCgEw4\nIx2c\r\n=Spsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.4_1629293183602_0.5683631111296557","host":"s3://npm-registry-packages"}},"16.26.5":{"name":"@preply/video","version":"16.26.5","author":"","license":"ISC","_id":"@preply/video@16.26.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1888d3da598b66d25af2b8cab445003ca524c347","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.5.tgz","fileCount":1181,"integrity":"sha512-J8+ECPWMwCldy+F3c813mBtEZZx+2RtbOh8SJcO6aK3KObsAAAh2xO4Hrv/KEaaJCZ26F6uyZat+J5+R9FQ1jA==","signatures":[{"sig":"MEQCID1mAIrCzxbCXfA8d7LvoaGs3ZCFdEc8qEmpjpkpt75wAiA9XUXzQgiS02dT5t8KrI+zY7PtAU2UpwoVOQYs7DIr+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25161964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhI8C2CRA9TVsSAnZWagAArlwP+wW3KI8xrv2wpTez4cJ1\njoWqqEhIcJQiEc1q3ntPrlzKjhrSXOO6cPMZEYFpqrH09OSz4rrQQBfSR12J\ncXBIYQfJqdOkDbTjU++mIWAG6twQCWqmnhIwn9/i3N7RBqs32dU50TuWC3FI\neADqyvciMbftQD7DTZuDWDRikVUEgyMSFLvPYDFykwD5QozelP0mVTjOpYv8\nQSD3jrphk3z7E2VlnbtbfNNOxf6+ejkKV9OM/B7ALE6GA3MVdjS72ZWKHdvT\nwhdWq0ouCj1B3+xwgVBwlbtesIXp7Bgy/Rs6jzO/qsIFlH7b2L1DwChpoNgf\nC9YCkHpbiaDiKhq+yPdqoW7gDJAMcPmWODlHnmIEpmHma8aZnBpxKlyhsKPw\nglYtR6KUTKgIUQNzltsazQyVyMjwn0SA5jEk4s8JhCSVtwzACTpYtM+KUSYY\ndRIlFua6phIzSX9geMSy8mEk1oWz+Mg4iMY5EV6Kvmk0x90If2Oq+0UJCu5r\nXCVqOZ2slVTTObonSO49n/XBOagM+EqEu/5uPojASbLOTDpyFZUPvyKY57Wn\nW23Mzrbzn75A/C8Z3nN38eQxJM3NMs/QjrvsVvOZ2mjCvAd+fZkwGIUK9pLU\nZlE2mN2jEJCHwN3GH5BkD2xEGKckKJH7nx9IchWoyQKJq9VTmgmscHITGuLj\nUv87\r\n=RwzG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.5_1629733046052_0.42521566969723845","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c":{"name":"@preply/video","version":"0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"558b5bdb78c99bbb7085dcc7c089f0d193febf64","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c.tgz","fileCount":1183,"integrity":"sha512-FXVOs20Ne/0plo7Gauiz1jABe1pei0rdsSGJkVaUbJQ8Mb0528nnxMyXcVIJQsXNesVzQCi/ilNrn1OiQ75jhg==","signatures":[{"sig":"MEYCIQCc79UijGHHmBRjQJwjNHVCQARRHymwa4yF+djnGeXzxAIhAO3ktPElH4B6+XyNP4HNR/KnfJlXgGw/hbQsFt+yTvtz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25264838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJe6gCRA9TVsSAnZWagAAWkEP/RBLP5UNSuYDGY2reo8e\nvzCCjwHk3y3NYV1pw2/2Mkr9rrtg0osbySP0GosAzPtrI24q2PenoSFaGYOp\nNiifsU99KZistZcwVv7mNMbk5lRvNZGthCPylxMB5SUGtYne1M1B/8CdW5PU\nZ5rJjglJ8WgtNcFtXgfO9hzpMT3ZB3oMdPacZcZ2kHfUVPxvGuFQ3EHN4nTE\nd7y3jYzw/1h3GzA53SqZH2gpANDCYliMcFvt2Kuu53hDlz68iqjRcrAGwkre\nQSoOhmFQpWG4U5TqqhZnF1Djq1TXMzK2rN63Q+ivkL0h8pOVzC8jq2PlcaeE\n+sjMDt9xIqvCVTz0oW2VEkBT8fu7M99U5OCD24XwKSzn7Z1zzKDt0xAhzvHz\nUZomQFkee6xfrHRLxQbepmhQzN4TXI1xVdkQjerpclr43FzdrqJ0Ohf3vOSG\ncONL9FcDVxjpvyyrqhoKCqPq61jnNovAJD3Cch9uTZHjMkD1ug5cLV8F7nQn\nRoDgIvY3PtuKoin6WoVscYRtfpiShO3CPO4brYNCU4ga5ZPOjVEREkCmWs1T\nNpvn/5yQN/y0MKqA9MWsJd+0xHJe3D+ilS0+6Rnx4TiQ++47QOQ983b86qgy\nCaGpdIt770IdEvVnFHWM7PvZQsiskECLIhGSvxj6AEsvAioZUoMAdkayhtbz\nMzey\r\n=O8kh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c_1629875872355_0.869558680910884","host":"s3://npm-registry-packages"}},"0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d":{"name":"@preply/video","version":"0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4558ad61719f0aa65dd4ec7e534dbd6f8085bbb9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d.tgz","fileCount":1181,"integrity":"sha512-MZeDtO/ZkrEj1RmpGRDshFpsThepfMhfN159KSzgBFqtmxBalbP5wVtwcOxLz7i/aDvuPcJO+miqbhTjc9KQ6A==","signatures":[{"sig":"MEUCIQDbCpojVLKm+OqpxZb1EZ9PjlSc+RbG4LLbKCOJRC3VzwIgQT2wXCBka6hFQp5CHmVgjuxI/uUr5WWZ8cQ24IPCKbo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25164427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJjg0CRA9TVsSAnZWagAA/1UP/jLPsdPHH4Vp2d2eTszo\nkYfN1PPsc4egX/FRCPqZAcVhiEfBxmjApKccubkznCvjVydCou65y/FuG20k\ndza0c3N5dK8njqfHdMpaOXj4oF5qqAnwmg8nc3P2vFolu1LwyTiHBPIhwp1W\n2hm9/5mGKgLWA2E6KarX+6SMP3/loj+37yViUYJL3dVBxzxIHMa4G6X6yl1u\nNJh2Ph9Va8lfpx82NbxOAYbuorwb772lhwZqlX+EwX0BR1ZCy6i/q4vRvZ9x\nOCqGXTqCqTaxxzEJq7wMiCvPhjSLoty+1TAvvrsm03OwU7ATEL+7zF8x/tv0\nnDrDd38UuhLzDmAegXAqNr4kZM8WFWD120+tkBEtpdcb3JMJ4pwuT6vNm+iD\njKj+RHATExN/KC6F6xrbslYafJDPegy777dVCWCQ687elkz4rj0Okiqftm6h\n6Zy609WCrRJaZK0EHzkzrgkZjg9IInAd0gAp2H05m/SoLCB009Yr5H6nucnM\nYxFhXL9VvrBob5EHO95sngbDubFdE4b3vuk76C7eQMxOshBwDhVHGJNLXaR5\nHJzZ8nEJP6+AsqTNnSj8kix8BkeUn/ff1YLrGDVsiicZAiiiXjBR7mQXNYNe\n89ylip7O+t4Y0od9q0G8iUnMJ2CbIv/JdrCTFES9aSCtBmP7BOtyT/mpJS30\nt5ZX\r\n=mr2W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d_1629894707654_0.49348002404091984","host":"s3://npm-registry-packages"}},"0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c":{"name":"@preply/video","version":"0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"402ea4458159dfcdd94fa1a7620f2f143442f2d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c.tgz","fileCount":1181,"integrity":"sha512-0EtEaw6bTYOIV2hndA12jmZ8Z0XgAjAWfP9EKjhfrvsZk84sBw18BIcltoZSSgEN06mGIqZVFzccDLs3NVLEkw==","signatures":[{"sig":"MEUCIHsXHlS8s1HNNxQQ5Jn/V0RH3OxescZdj3fqvodDBZLZAiEAxy6DaW0JqGq+TwdJ3pQNpjMWhZ2lsOeEQtsbilsTmoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25164427,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJjopCRA9TVsSAnZWagAA+VsP/RsRnJ32F3bhwLOH9u0V\nz1YsdAmmGZ3QDn3sVk7NZq8S4s3AniW9XKTA2fjUlbsSjShAIMvgMmT3MpDg\nsoC1gYH4udHioBnnQ53B0jSNfQNEaWXhuFfdwp/SO01KBIgMIJmeRxELZ57c\nb2dnI1+EhAH8+CRtciHBtKjKD5HbiCldw0EsWJ2Sv+GbcW2UpQQgfib7ICdp\ndR/9ltNG2qDL5etlAXobU38r3vV/jFzlPt3I5ncrMxfPcAuj7v4d9lucgLkU\nOCKU5TEzlTDZuuBiByPH7ack795TiEOXRzAEENPKotDuVFT5cYS5HZd/X2E7\neEmED6ecNAt252Ox1liuEcW0EhPpGQUTcsLBk9jEISs8V79ZAHbopoNFZBwV\nJsYs2F85cquZmDLmC431+GsXug9OknE268HUeOGk0QvL5fA9hFBC2Rl6DP+G\nkW4BS2hZSaT4fipEXR95ESnAPKapd/C13gx3bxMVUNPkBzLtoB/M5Y76Bhdf\ncTw54GeFb8HBo6JR5XtBgeIGuS7/AoeGU6P1qFfVkYHbK5+vMaSflhDXFGrF\n7+/M65nnJEG2unzJo8YtGa4OdJZIY2pjGBuNRuXjABDpbwvw02Hl0rjeu6fe\nHlJSsi6zJ8SC6WXHoErSmLzeSA/RVdSho1Fz/A3t4IWUBbq52+pQKNUDZcF7\n209B\r\n=RiAb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c_1629895209359_0.8719079355864554","host":"s3://npm-registry-packages"}},"16.26.6":{"name":"@preply/video","version":"16.26.6","author":"","license":"ISC","_id":"@preply/video@16.26.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bdcdc8ff03983898f8aadf3c15a77840dcd9c296","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.6.tgz","fileCount":1181,"integrity":"sha512-ZB02X+bebA0oefY/kWalbZMVeL1Pu1eTXaUqOM6VvuiEicIaApeUjkzmS6XorEY4M2kz8BJdXwJZnkdiYQg/4Q==","signatures":[{"sig":"MEYCIQC1K5CGXS5CgcgacljDfPWsF3ACU7Gxb4tUGmmWbv+ubwIhAMVAqu/asLeFm+9tDKYgbHuB74bTfIfkWNACjdQrkGeg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25163496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJl1ECRA9TVsSAnZWagAAtU0P/AtIk89SdhbtJ3NiZP7B\npJtub1O8UzlEFAZ/9i3ZBg3ONkJg687rqU0FUneqqf3XCBgMkr5Mvnxv22a6\nu9HQkNGKENjXrvIRCFaab64T0hvHfr9e91WuQVYUQBbffml0ptlqdlM8+gpB\nqx+JKW8Y9hl4yQ+lujO80q7sRCqhvBJ9OFy4tKQpHFcFwrZ2ygxzRQvYwx63\n1kL8kNn28Rbdsc9Ar15po4nBL7MdmNsuXJJkt/ZFe0I2y14u0Wi5zYIdcAv5\nwF0EQ7aKIf3jraljxlg9E0ugD8PkcGacSLOFCU7f4g9+LT3JBxmmCun912pk\nJ1qO8WqKlO8DfgLysTR2JJ4GIOWSNhf3q70wCcUsWrgGgxrJ5l0PieNXb0k5\nOQSWx53P/D7NTGBPUOz0ohRGa6LfAYEyyxu+IlTKla2ZoxzC8PKUZjRZfs4V\ndKDb9RO1p6rIdzCD4jR3GTx+RYi8Z01fgN6MU0HyAcluK1RV74+wj3oU5sUi\nBO+dFlwMPJNFoUlOII4GsnbhdAs3oc+4SQ9abQkS2xOxgfVJh/IjuhtfJ8sB\nDcmGqn9oFd1X2eiiZ2BTInHCaw+p8HX1Kz4sseE6pl3lR9yROg8BBXqyluIR\nL/dJvWmKVRmBzNnyKgm4JN1dPvXJZh+HAf54BPlj7/XNor1Uw7sMgSIZZKrb\nVVsm\r\n=C9FW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.6_1629904195980_0.3836363609883664","host":"s3://npm-registry-packages"}},"0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4":{"name":"@preply/video","version":"0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"726d905ed209d79c4c23db1e98da820c4b045066","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4.tgz","fileCount":1183,"integrity":"sha512-u+z3ZlikNlbcOTFgeQtM/HF33Dt2QLTHb7kWtNLZKTqhG7X2+B51olc7yihtd8kSemHESdFKtCwJePNM/iZqww==","signatures":[{"sig":"MEQCIAoSCIcK/o87FWt0tOXucbVgum13no/dcYwwHOMHWvOMAiAcdMj6ih07DOEqBk4BCTExAPkq2zM7rrzYfBwzY6HAOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25266370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJoyECRA9TVsSAnZWagAALh8P+weumLgKYAVgAWghqbkr\njFx/cg+g40TYK68kqSe+izIyLISlN8Sxg5+1cVXFL+MRSGmr1Eps8cZHF3Rg\nsClM6VNdJh6zI+Ks5042Tn1oHDeMGk5vt+8ka3sNaHdTX+DOFouWCA+5YDke\ntKE1T6eU6HAIcI8Lmg0R7JflnBroqlV95gR+qp8YeXes6Ihian3ZIIPgpIWX\niStQ8LrU1HwVnPihAH/9+2lSYmItWxaO6V/sP2ZV7v3o2p/rrZ5zFL0uJD/k\nHjShR7fzfthfohEDceyiMweRIO3lDmTq8d/Y4Jqss/M3zxu3YYz60fYzsQBR\n2a/Db69OfuZBNeDZQ/RoKS889pNoqDrIXDUr1o+FTuD1yXZKmEWILD+KYjoc\nBYTJG61nkYPOUgEje8a1ovvkgbm9yfRFG7dlwHstWy6G6UkyUkm1yQWYcBMc\nXhwvbDcwgfXbCBvIG7dmiHn45kWe3Az2jLnj17JAaBsxRRm/TqyWyq7rzYZi\n8BQP/a+2DEE+uVF7NeHS65p1onqxgdpuFgQCPO+1sMGkZWPSP68rUBHEYeC4\nY9Iq+29uSz1FiOhumwnNP/MY4sUC0FffjLyYCTVrXMHbbL65zUZdwEUSdFLM\ndQpBoLdw73iMdfD6l0siF0J46sxKU9Hk2bNFhf3EETDR7Ji6C4EVeT0fppeI\nWDLz\r\n=8qE3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4_1629916292072_0.004224880933445085","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823":{"name":"@preply/video","version":"0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f62d3a6737b99ff8105b62e0d96b56671d561167","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823.tgz","fileCount":1183,"integrity":"sha512-YX20h+KpSnArRUSLjBKT5QXoZY3NbFTVKlGFgdHtk19s5zL3dWKCOtFE2dpTfpTJ4UGW7hvwSGJcJkfiLw/D2A==","signatures":[{"sig":"MEQCICMXP/pXwIkiSBDVoM4XEZryR10z/lxel3ZkYsM9mt5/AiA/4RgEcj5KOMoHqWYL6JUSY4mSne03YMCFuldimegjsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25274308,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ0GWCRA9TVsSAnZWagAAybkQAI6YedG86sclgHi6PHrP\n0nS9Aqkh+CtcTbkhkhiPVCgs7D/q2vtbSEaNzrfYNM69E1SuDfLDrGLuCq7N\ny4eaSqPyIalD9nkS0Kf3pmBEbF3Kw/xHbGUSraOCGnfnIs8YGy4Ha/ZdN52y\nzUz7SAQ+ATxtpbhllggEbikYZon1dYyB66hHr4dbFgjQyS6lEOxonjJNWMXp\ngFBK2lTyeD4WP+RDOWpkCJJQROeHRiR/j0N/9K8FXlqY/6XBU/J/QGhBPRjw\n9mX4zJcnGNOidLJdT949hKt3GaNNg0CnlIgC/bLHFKnJUfZQC5TUOWf2ORVT\nG7J6p/NDNpZMFwGevMk94kf9/Jj1J1vISj8rKWkVxyT15JvGW0f3euE8D5Eg\nMeFr1xIW/7Rf2Okv3LVYwzl8x3pB6q2ZL9waaa5MTThhNerIrty6RIK5xdFP\nTMv/HApHdnuaOpkKlVArpystteD+DHAq70YV3clD5mA+zzpliaBkAzitMFqu\niPuxthzFms3C007eIKZeudr6XGBs6oQLhFZCaf0SpS6EAkmjZs+wLVvdbGGx\njQD1FMXsv0aL20j0cW5oJqe4whLlwHOOpRAXHp0TC08nvhsamj+DyQS+7hKo\n+0HGhDHuiwv/d3BUbfyv78vVsFcuRHgJdduLIhfjanjEVNM/NFXjKyt9EBhp\n9jpE\r\n=Q08R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823_1629962646103_0.7240564105994014","host":"s3://npm-registry-packages"}},"0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd":{"name":"@preply/video","version":"0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff2ab4d33949af4e919815271bff2c4b9b54b8ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd.tgz","fileCount":1181,"integrity":"sha512-VosjUT9q078N/xyfftChIciObueFwICvNjF5NpmHUyYJmhiwhTDVn3sf5UJmklmuAb2JVDp6bgbAP/TyDu+FIw==","signatures":[{"sig":"MEQCIDcRFPCUB2QCI5aB5CeLCpRZRGCQdeqRC1yGloiM6u3KAiAe4bM5n9RJy192zK8DKj0TGaNm36MzYhjgoLc6rFmaag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25164576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ6+5CRA9TVsSAnZWagAA50AP/0lL2DY+pkv9W2XlQBue\n8LPATZvWQKs9Astkh/CvAtsJRpqUwaulMQu1ZNXRFEqzrD3mxBEXyChc4bRe\n+ZH7levUmTRAcZvlMDC7lAJfrP3Ff5FSY3/mvLwsNZf2CMCpLPcL8G7ji1Sp\nDIoveJRyKPPl2+j9+sXLnew5i0jUvFrr1SWFWhXTysFlCdCfJzmF9iqLeB+c\n7tlzAp0iwKLfo9/vmQLXAip4RvbIxR7/D9oL3Lrhx9a5I9IjQGQZJ+OhAGaE\nNvAqzN9zy0zy4bPNB6dJuAJVzJKaYHOFfnXbwe7qgF1V1ae7QMtsAGaL11ei\n6DoyfY6VPPt5JmJGfGxqCWInlO6ejP8ZLzTyCBigf8Vl+nSMwXuCAJPZq9a0\nJQwvMWu0mLgHVDqKyMEH/IEVmxVh1LwYVvWg9ERGVsUUkkZHidqu/dom1RV0\nX1IQnIgKYAuxfHMGerFO12L+dA+Qf0fvVqhUAVvebm2Xdo0CXdFwrrq370me\nm9XT7j8f8c//1PKxnP64w7ICtIO7Od66hxdEgb2+mwUO/Zfi2lNQI+UZFKwF\n8FJ0erDkfQpRPc7Zgav5lYEYL0acNzVqP4liQIiw1jElHFnUcVmegFmq36JG\num6Qn51OPpgufyNqeh8MLWNamAOdazXcj83AAhmUNAuT9YiE/pkMQJ7PquBB\nI6nw\r\n=XVOs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd_1629990840623_0.657158332125702","host":"s3://npm-registry-packages"}},"16.26.7":{"name":"@preply/video","version":"16.26.7","author":"","license":"ISC","_id":"@preply/video@16.26.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"39a3c11d58605fe7cb0076e36557c1fbaeba025d","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.7.tgz","fileCount":1181,"integrity":"sha512-5DJbCkYIqzwJwG7MrupZ9sgHhzcubYVu8XyJkkLBLuobOiHqWlHWFPVTngotNjTUnh0Esb+8qP2787U2Konp0g==","signatures":[{"sig":"MEQCIDs39T9DBTsZR4+rHU9+ByiqKJf0u31T65c9Z8YjWUBxAiAC+TWVvEURT3VOsBmf6bfspb3b1Xw2wxAGQRUgQHRdpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25173421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLLoSCRA9TVsSAnZWagAAk8MQAJ1e0a319s0bqgpC/7c3\n5fHhsbV+h73oTEoEePe+k4cwlNimpP0F8GdvlEPt9KYExZW2RakBF7qm2KXD\nW3/wWdlhD2hssZwrs2rbyFJvcO369Dr6xvOsn0OEJ/FvnaU8npDbiXCT2Fpg\nPPpHG2+wLy1xj5msmZP/xlvKATIuLPww/4Bnbs4KiNTvJXBWtrLNK4HWhOIf\neXJYg/buwAnYw4UMaiDhDS57fXae5cF5/Dv86MqjNeqBMu2Vne9+d3NqE3ts\n1hJoVHr7g/FH11S81U8xTKbP9NVuze/ki+i7xJRstnNro6qc6klL5CmAr7/j\nfLZBbvjTFOLQZ1Q6cpd9QeA73m+skpSBb3/jqj2Fa2qxlAPauWQJHSiRRr9D\nOHMnJ9VN/GmIN3lo32kYbIfadbSerdxVgJaWY2o8OV240tRaCime98uvLd1f\nyHRs7Hl+MyTRSxaF60huho5XIbk7LwwbpOFQWRZ5kMHEGHxWkiT/uraLaSwA\nkkdqJDkbKaUqd+tZk1lZx6mDv1AiRoXZULaCrE8AKDmTNgTR18czAkd5zYEA\n7zw7sFJM6AAIdlisq/9HcNREzFrA/7EJdnzOJt03DywRlhqpe5gTbEJTFLH7\nkyvhiKqWk+Kfu8NUTMJxA8r8dptC+jLTEIFtI+yuARFJ4u/U2Z/kgjDk90Dd\nkMPg\r\n=fjnR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.8.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.7_1630321170310_0.871793709558786","host":"s3://npm-registry-packages"}},"16.26.8":{"name":"@preply/video","version":"16.26.8","author":"","license":"ISC","_id":"@preply/video@16.26.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"90c6ce212507923300e1cd34612293cb92d849d6","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.8.tgz","fileCount":1181,"integrity":"sha512-TEOu+/dekQTjJSUvcKtYr+e6dg+VmANGUVIndrv66R4kZoKDU8DBdzGkR19sYNgbJ20mCA0DTnlWctA3L2rNhg==","signatures":[{"sig":"MEUCIQCatAh+dTHaGwQ+Et8YjxSp4aNfdmxE27KHY+g69W/JCQIgHe/0+W+p1AEnDAiE4mq0JT9lBisBBw4Kt9TZzyLxlXk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25176229,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLNyzCRA9TVsSAnZWagAAKcwP/2R2OFqjHhcEPnkxnEHf\n3OsAWPiHRxmE66J85E1BHmWpqk8ucUFubLHO+kLiIoLtZ1TEGEd7VexRo73P\nPd3ZxOMzbSgCMgwqdheayioxTXr43y2xxNSj5aP2H8R445GvpKNY4ypS6ZPv\nzy5k47EZ/iMHocJa+OeGp9+t7ut52dzUQjnJVJh4eXayLbh8sBq7psAUa5ff\nWJzet6Oj3TYTwmzfGpGVlPlgToZR8wf2Vs4c6wertrvVfGAzXFIX4NBMimSY\neWqtoM0i4sS+kYr16mpvdFjHzYQRh5JKUW463ECxG0CwYHpsDjG/FIiESwa9\nUtQhBDUT6T4eGck/t9epfOGjByurDi5LQ6L8MK9SHvqCToQuoYMLOdmqQMPq\ni4t7Ba3qo1dZPHYnxH17PZsl1LiThTCiQhU5Z7TOz1TtNDykK/ZC514wlw5F\nJ+YyAIbyiguxdcHbBcpqAjbSNjgX0Y5zT3YTZXPKEf7y9mKTcjQnVawDtvZB\nMIc6DcBdcKk/XtWs1wcEpPVEhv4q25YsPHob+1hxXIFoFiOXNJOvYpQC5cfw\nSBZFnOBhERxKTtZgZBYoD6tTiQHXGhMuBWD4ePGPD51zAXaDeNdQaZWveCVT\nQcQr7Q48FMl2CQdosUhV0jm1Z9llHRMLIOX8toN2Zne7BsHY0XkWzuggueo0\nTY24\r\n=8Q49\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.8_1630330035322_0.8508073259579254","host":"s3://npm-registry-packages"}},"0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7":{"name":"@preply/video","version":"0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3783c9734398372091890f8d21b2b7709451afed","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7.tgz","fileCount":1181,"integrity":"sha512-6Kh/zDuhJcubUvcJ+JdX7vSIQmS7Llvv9h0mqs8TbHzBaxOt+HhIDqa0nlt63VCyT7IBvG0KK2NMdVZ8+lJ54Q==","signatures":[{"sig":"MEUCIE7xCKprzksiy2d3k42CWd4HNub8r7xHLFHhLJuiugg2AiEA3n1rQFFC6ACdvW7ApNxvE3wv/6F3mKyffT6vDFy+824=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25177550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLQ9/CRA9TVsSAnZWagAAa/AP/1jt3aJavS/ycskrMTXi\nZJEiH4RQHnlXHIs4ef2FBkLZUAyu7F3r6QysL2CISr9pw3Rk2UVVosl4FSwz\nXELoUW3uHBLlfGeMc2bfNH2QoDHJ5az4hcaM5d9qDCkqwi+wK4KbqmgZF/KC\nyIueUkWxuS/PJR1h7wio80LbdhLT14lIcxYHNwDxWCyyy3l03m2GhsRlPc0D\n4eDLkfxh2u1vtPcU8M7z35kj8v9cAtoddr1r4RMjIB56wCT51X9sGWgFTaoV\nPKUxAXNnS+fGLaK7jCh+ZyGEfHI+ZhNWGzCn1nKSvyzB2AlNzY4QvKO+teCc\nBUUoh1g6rVeGogeWIbL4Rlr9l04FzsJ7+UeQDdtVB4C+PULl9ISTtL4BSt4n\nQ+HGnBvBWCjTrfFRP38JNGchgoyLzVJt2TPtCh5ZJEHCPUtCDf2VKM15RKal\nXOHSImfPU+4OvGpWt78P3GCloWSn/jfBjiMngiF1Pwyxx0VKU+7pmyraEvLu\nSTdamITfZswb9+E/u48ZYkXIRQ6WfEj50CSArpRA47XMfaA7RoTu6a1KY/8e\n8h5q3vIjLH2Q/gY28Lzdpqt0H00IU0T4GsOzHo/PDS5qTAP0wH0l6bNzveBT\nLrb1J+EXuVwMDb5mZ5C/RdvPvDDC6rnWPFOqGGaI1IjQO2AXe1qKtMcR8ene\n/9SX\r\n=d19z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7_1630343038806_0.779666368973438","host":"s3://npm-registry-packages"}},"0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be":{"name":"@preply/video","version":"0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a929965c8680747ba7840a00fecf9903a33bfde","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be.tgz","fileCount":1181,"integrity":"sha512-T2wgp8l8R/35RIk70t23JrxXaMXqevOxuRCbyLGxQmvc6FrMZc0VS7Jd4HBIu+mU0yIsmRBlUzvHuCsJwkB91Q==","signatures":[{"sig":"MEUCIQCUXSLJDSjKZQzzF0rIEWYoDQR/M10RIgSjna9J9lDrGgIgPrACjJm+MtkM/yOZJg+LkRkw86BZC3sjK+orYJ7QZj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25177992,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLhNECRA9TVsSAnZWagAAPM0P/0vy71vt6N0T7vGQf0ld\ntoool8U7pM/07ItfIcCXyz8Uc2HD/E8xxAFFhTYPdDoEWIORFL8tUbaqoqxy\nQzmD2i35678sQL/PSMQVbsjUW5huxWltlPv8whLKvVirjW9HDU3CZrc0VFlP\nhDGUkiUC3d8Nw0++3lHea6ulQLdE14BYYyLh04BjxIhPW12DXQ9+g5Ug6Bm0\nysmAGjstfQRUus4pXW4InyHAkhXSdzjsOaiSf/1vlggKIByYAKm/XN2gEigh\nDMdqP+WCb23fdPcY7GVz/0tJpOWMAXSik2viloeYYZqqrgMiTRipuRKGPCYF\nKgxycXqTwJJgB3IqXVIDQXYzP+06BKxmfftMHWzLAa6xsuLEhuObQ+Lg8pUZ\nqSCKqDhCE9kFIHdPAjymKQEHt1ImjJ0KmlrZoDvv/VoW5zhVgOo8EvCoIPSc\nKqqC8hwe21JmkgtZO27RIVVkrCSU+gCPQ55srCfqm8ncSdrWrMJKyrZag/Ys\n5DXUhSMydh0RketxmYkEKBFOPGFB0OLANXg8Nr+Z/nBr+uD8X64MtFdNmKcz\nPHkQ74k3MrWsrlq/bqNmcdYsExLYkLONBiTQhNokyo25rUtMbc8z7Bw/8Qox\nT2ExNlLlK+ck8oMQmcrqXxRKhuCx3wv2KoN3OH6AlWWEQRQoVrlWUrU5xc65\n7k6m\r\n=nT8J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be_1630409539587_0.9981039598118713","host":"s3://npm-registry-packages"}},"0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047":{"name":"@preply/video","version":"0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c724bf242443bf59e3bbc8aa309e9f73c22c6f9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047.tgz","fileCount":1181,"integrity":"sha512-trOBr9Pmy7hdyebkBglum2qdsfmPN/omso3P2zZAaYN2jaQ9tR9uKyaTarUMVZP7djmnrnIfflDu8FZ/y80WmA==","signatures":[{"sig":"MEQCIEcX2j9+qjdrRmJoNhnESzI3crDAYiEdmRXCxLlQSWWuAiBsQ3ldXZ7oWCMiz1zxorvTAyn33ZQaCnypUnbwFP+8Rw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25177932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLhgdCRA9TVsSAnZWagAAeeQP/3h/xfbaMAsryLbvAbb7\n5gVmgsm/zfxXrdPZunI4Aje7gThP1dcgzG9Kw/02H2tlBAIuyKsKvgaUD3cf\n4MFnctd4aJZhTQob06MY1NdPZBWtyRY0rpoV9fg5zGl54tjgkTDn7USTsInH\n4O/1PHzj5RJhnTW4vzjj092gRlFJyKgkivXRENDBVqzzi9KQOx1vx87cYvau\nnAUQt7Yzhg0SXBCXAXC7YDhc8t5LOwwfYmozzlQuqPCQy0OOFQrOFYHTq8U3\nbmtiGjE3xzL1fwR9oIgZ5YdUWpSFSYqVbV1RWblujNcLNBEm260RnuAJ/VL9\nv8C9bYMtioltQeoGlEtlNfdg2+Xv6fo2h4ePutxHZeRY/9v9eqETn9pOJ5n6\nLezJy9BQYWu+EIIVrpaeasXkiCfhK6A9LlwU8uAuEU+1z66wNZOXHy6d9meK\nyfoSyKjdgnxCnRkk+unOKMy0JsD4GUekZBXXjxq3Z/TcpBjB1kSTvM9KjMQ7\n5D5ETfzZRtgxG4kLq1+x97WSwaX6YRqi88lwGpr8kk3IYXtiM+bMZeMBeVMp\nhi4O4lrKS/P7xhNDKgMyYbHqyf8LXHkOhlsnBdD3RjqksuSltjj0GuSkGP67\nBat+y8qJRe1KjMtdXEggWUnZ9//6wPYiRpe/dcPAmm8oqrwP3QYdIsMt1UDd\nQd87\r\n=KF+x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047_1630410781423_0.1337415750077977","host":"s3://npm-registry-packages"}},"16.26.9":{"name":"@preply/video","version":"16.26.9","author":"","license":"ISC","_id":"@preply/video@16.26.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d0ff323a09b4fa986ee5c537d848e6a2f60dc1ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.9.tgz","fileCount":1181,"integrity":"sha512-q3Ow4DxU073AKe0yxEVZL0VgRjs1qXZH0Yj8L+rBvvengwCggwwCMeu/AQMbLzT6zHHjnXNDZIX2IpphRfFi9w==","signatures":[{"sig":"MEQCIAe4u/MBe2GERdV+LdxYNrqxVc3tDNfhnvzS3TA5BA8GAiBXWmVBemrUkrE0J30HKVMX/sifLAW7KRcwGeeGCJbBfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25177239,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLjXjCRA9TVsSAnZWagAACDIP/Rj2psvOMtZOb1a9AH1F\nBZ/U58NlbUApnlcSRrmlcyTdV2oheu36DpndzHGZJAqVDqOxPM+fefMeS06V\n2nG1T5k/MvF4mxU2BMoXlrAMm8qbCcewih3s0fW0aCemRjn1C6mySMJyJpAw\nkEpNgfY9afCrWX0uUW4qdmVeBlIWCg/0OeVgIUh06HwX0PxY105m/oXJ0aB9\nU2fQPbGwVpEBszKazWd2+qmYTELZo2rnw4QadvjCnB6K/bMyK6aGemNbyGuu\ncnpcfvDmCoZAYcZEnl//Ta/dcs9c2FJbELuofDnluO0ghAZ3/2bbn0wWc3Kj\n8D4nbRKzCK9Q7LyPTP72EnQeiwLYGzBKGaF/DDOA/GFC+AH2za1k/A6AC2tC\nIt7foe4gZgUAsC2RgfnAwFeVBAD8akL323gWbGR/oezV5RrTGmeAQ330X1aG\nER0s2YJ/1ZAPuUUiVHYuHGdgdHWmfM44QD9ylR1W0VKJHUmlM94otEFMqUbJ\nYmTYCX3HptCXt+xRcYAM6eNrj8aEKPpggUQe2pK5clt7DEsZv2HyQgBKiLX9\n48MA9nbsM0YdS/7Y3wXEeY8pviNcUud70AsM3629Pt4o5nRgGKJJeAuwjaz2\nYsGqMDm3LSbLdbKsvk09pEJVm0yUmiLWuSIBGNH2X2QHyMRWJmtlyAfAi/zo\nOtbM\r\n=oNUE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.9_1630418402240_0.39961683533943737","host":"s3://npm-registry-packages"}},"0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa":{"name":"@preply/video","version":"0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"51f138195b5e45594ebea3f7cb5412f9143e98a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa.tgz","fileCount":1181,"integrity":"sha512-L83pb/yNowZ+83nSk8q41kaCBUkT/Cc6gphJ13D8jTbYODboTx6yOgJ3qyz+ioorLTzJEI69wO6M/ZGYt4pKgw==","signatures":[{"sig":"MEUCIG28Y67YGbD1O2hrMKb6pIDp66ejogRxKMIjuP8hLI6fAiEA/7EGHULHtJn30XsYesDbzv3DvqYE5fVbLzNmk1BkN4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25187035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhLyn3CRA9TVsSAnZWagAA1SgP/jpNybUzj83GUoh4bLPX\n3rbIZbOVoIC6fN+h7Fm6pMf/TcoFeatX5XHYgUZ8tGnjdB9bO0IJgfO0Jm78\nWbPT3G9JzVUOKhFg7nWBqN/pE8Tw9FLLqpnyzckiTCWj9ussLKRwxx7kSPwX\nlD1iw0lt9xaWViE+4GklF5mngleEQltfEDrIpqXaE0+Z7P0UFtTQ7WGL0ck8\nT1nfKAdGXbKv348CWr6wF1/MOTLbT61LaYS2o6Dug3FeKU5r0ouulrhyu28+\nWBXUMqIqbzcVF8ltJk5HssvKWwWPathMVs3c55qwFPp7HkXvIlrRMCiXAwkZ\nci31OiMCJQ8IvFovENqHhFikJzVKkNkaWGkQS50MA678lXmPdMjBHj7v9L3r\niy0mq0Mx5hj2tGHUHIeFbeSNTa/BbK/dCEZ+ArwF89Igke/sdil3zvba7cnq\nVHLnabDTEHHcEyWri/OVSu687pe6ZX8No8whGgVC9xVf0of7WxGaYqFReByM\niEtSFTtZI/B6kSPp2bJRl7GV2NhwvQKbis06TAqrUlHUtHN169t++9yBIqZ2\npWEM/11dsyUkfMIKNi5E96M9f50iDJ0n7MLGyocsbsohOAdOQBEvxNmr115s\n2M7BRibo7uSsL+Wvg0DW6sxwUj+Oka8E3unvZKo//y/VdxVVwMic/wDguZf5\nLNWT\r\n=XlkK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa_1630480886323_0.9604114096647731","host":"s3://npm-registry-packages"}},"16.26.10":{"name":"@preply/video","version":"16.26.10","author":"","license":"ISC","_id":"@preply/video@16.26.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ac10e5badb11137d75ce128a1fe7cdd62f1c7cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.26.10.tgz","fileCount":1181,"integrity":"sha512-J1Rkehdg81CoHKc6ptnIbbw2+vjQ9Y+8UD44nocvOfJwfIUtyr746e5ELSKM0wJXorjL0yAxCbIXQHx08/JM1w==","signatures":[{"sig":"MEQCIFIsTBKbm2R3rumLgb/K4aa+ED+wEDlAbTJjXOji38/XAiBzLwaPyEa+hBZq99TK6YqFvIDVDpc1AZ8UdB3xBSjgqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25187364,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL1MsCRA9TVsSAnZWagAA2UoP/34n25npEZqDNzMMjqYC\ndDoIaSdD+iaEdW5RbP+5aLT2Q6kmsHmqg0n+eysVlJnYUWksOab3gM5sqdTd\nKjabx/U69KAen3n5v8gBXYETJtjZM54w7faWvzFBPN/E2cHLuI9p4zkgy/yf\nxjUHLSOUeeuqaKfgov7JdWUU+8H6wuB/O7uua8Upe3b3lA4fq0OixA6hcCl2\nMdLQ4tKUVNF4tD1HbaTAdcMzmqSkYANn4Rizvmv67IpAHo+TSulvcmZd2ojg\nqpy76WnouW3YwBzkrloSiGoXmRB8+NT8x9GCAf9bNi1FTwcSthdM5GGRKzH2\nEwjyHsbsRH0Qje+DkhacVHCmKtfSV9lpEtGVhWSKLsd8yZ1hLWMxo1A/+b66\nIrhNjIoMlP7MWbyzHfzS7njQ14905j0u8nE0Ma+cKswOUPBN118Dmw8g3gTH\n1keLSif9DSdZcQS3UCeJatjtpGqGOgOJPr8Cw2olcbITHKeFCatBHNoIopcY\nR9Do/Khxq5ItKxgHrdHv6ACNX1FBrCQUUMxUTD73I6C8qefKRESzPHCy4UvM\neq4ld5EribYpdqGOm2c7GMzY7h/Tc0TiTVHjhsJZDr5dmk619AZGKCOLC0WR\nnxslfctCikF3R4sI1BCOJ35+KbWUQ/jir9uHciwH2ZjPjYfv7tU08A2IGY5+\nz8Gq\r\n=QEBo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.26.10_1630491436267_0.8173442986860884","host":"s3://npm-registry-packages"}},"0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a":{"name":"@preply/video","version":"0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04d802d39aa4420536c58f974e13e91ba92920dc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a.tgz","fileCount":1181,"integrity":"sha512-oPv75z7n6i84gfHCbK3lXNvG5tH6DZfdjD8s6pogBYfsMw0a1FGs3xyhZik0wHe3vIjEzBSs/jI9JHLY8DtCXw==","signatures":[{"sig":"MEUCIHxhhcJXKopy9AYBYhQwwKb1Xb667Z8T0O6NS6UlzTygAiEAt7oGB6yDjNXbNaJw/XLk+Bjeg6hT7TzO0qHhxMNplVY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25188037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhL3zGCRA9TVsSAnZWagAA7loP/RCuACl2XWWfF0GUJM/7\n8QBNvaOnI5hbuMoJGi5t9fHHOh43lkiEwu+4ta2DZMKIPAXgci6XC9Sc2MJW\n9pO7WMNXLZSUlM0/mqA4RiTc8IDePn9W3zfSJguawjaPBQtBriTt3v7EEFy8\nvY7sNnaQ3HnUPImrAeOIxTMZfx4HCO7FLnWcXCv/ClFpWLIQnoeovkeA/KxN\nG3f/NUsVlqgfqLNPpKUh4PlBBXu+zLiNadlrGxxArHTeuIIGhDni9YVrCOLn\nmmBlW/XdZh6QDK2hCVgv+Oh6YUC1UeV24VjasF6qTakorw5AxDNVLgxWA8kb\nBMmLykm5Pvky+9qsRhedV5l2xBS6N2wVtOE+gnE3T8fOWvtNEjDIPyGaBR8o\nTZkRoKo+u0O/4ttqEwKVDMha5JLZLoRUf1g9rpvUXs2t301s4tddyOZcmr4q\nzESWPSoaGPdL1y8MRc+3wbrPuNTFwjglQUzvUM6T5JmMhjO5IkQQ7lJVYb04\npsi64r1Ac+nJ3BY1ZI+Ytb0fUsdIYFjbAUbJdubP3ejX5GRf7clH0YR2jJcw\nJ5weO8esRxQ1AfoOSPcIU3J9dCaXZgzR9ZT41rFTzJ4AWDMsPFWN95uN5xdx\nFdhk7ub0aOwzEsPHGtuUpWX0EtxB2+MLDuvumM/GkUEaI7B2XUs+r3Mrxf/c\n6SEm\r\n=uVMl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a_1630502086374_0.7103289434012556","host":"s3://npm-registry-packages"}},"0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736":{"name":"@preply/video","version":"0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4257d16b606d949c9832a3c6475147ff6f81431c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736.tgz","fileCount":1181,"integrity":"sha512-Qo0sDyvHGuC4OgAhy/S1pE5LdoLrJDcIYz0ZK7A4D9tscTUVr4vFY3VGkJk1nNeVsivLNNEFHaVudMAe7/KqwA==","signatures":[{"sig":"MEYCIQDe+ED8IPHlV76Qr5van9z+ZA/WcCM0zjbhF45M5GK5bQIhAOU2SdH+g39C+3jwTK3yCVw7ZNYEibZ30LEfzwJMaAYB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25190127,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMIhhCRA9TVsSAnZWagAAm8QP/3gYFU4bliIigQIvrmvR\nlJyG1dNz8dd3b6tV2k2l30vJ8TfEZ2HiXTyj1FvdrYyQMCl43q2yQ2LOT6IR\noaHY0j2B8J7+Iv0fjd1q702zPnbO9nhZZo0sQ3DnJKoXo8mLWu+JSaiTFtMY\n8sdaj6xXIQK5W6iJRDiA7r+sRD5AJBe0o00MlkhqVQR4h40EcE7vKmoLRyRw\nyg6mlbozmfNAsAv1BAF4/VfegB4o5xUczzXJadyBw3N9CAs+DKZgP2v7aVla\nxD/cSW3dCVr9iHVUmOpFByvjWfUZYCXB7JEQqZ+ptjs7zj2Enp8heuPO3xYa\nragvI3MGy5CiIvkj8d37sBFVtmfM6Q3xxGCXxmInHJnTcqNDFah8UJMoLAiq\noxSvpoX8rM5L5yme8AQ6MEIjwVomDiDsOpxPC10uWUkxidY9z2kZgSq0krg7\ngL+RSxaNdK6YAOND94iUHkYzFMvQbOojUZMKsdROZpncyCSS4lpkmMDg8mfT\nfI6CvK8n0cjgEakALskXSxlzbEUCwn+0cX8n0mn1rz+nqmjGmHmPB+rKHlWJ\nSQ4lxFRlLdRWtGOyb/LxRH0cOoiYpB7FgnnE7O7b9zyhxyVTB4S2l7awKdqP\njHQhPIIXdRvGZcqTSxgQf353Tgi99c/l2jhxG8GkHV4YZVLxdThaBA/R+z3f\n0c9/\r\n=xjjb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736_1630570592712_0.382168277050539","host":"s3://npm-registry-packages"}},"16.27.0":{"name":"@preply/video","version":"16.27.0","author":"","license":"ISC","_id":"@preply/video@16.27.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adfd327c0148b55cad11e69a1cdcef5538ae6c79","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.27.0.tgz","fileCount":1181,"integrity":"sha512-aF+8jl/h7y5Q18yWg2UiPp3ug7bfuR11Fnzj7rT22Dic4pClTb/HSLTPjHgQsKfWJXPblQeRz27LXfBk0xq7Ow==","signatures":[{"sig":"MEYCIQCvRfH3D6OlQj5oRMd4kkU9IXOqR+PTkEFY2vOJ9f9JmQIhAPU8XXW/O/WgogU42dOmf6Qs5CYPQDQcRuaY9HSyV6bF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25194244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhMJ+BCRA9TVsSAnZWagAAqQEP/R4QunFobLrEq2GVDieV\nyhTWOUb5hdP3IQcLGUpORWAPyCkGly4ppnV7DrUcbweeU4Mb+yUh7YBWiPvb\nztgriEZFNucqlnhwy4kpCrgqXLq61vx9CCz7wlZ+JpGPraBxigJCwF/EpOB1\nyvOTIyydt8c4iKdBP1xpaRWsjn3b8S57gjuvpaaPBImIEneVnYRAZtNWGDB9\n1uA3ix/uhhUx7ZzURfx4/plAc4QFjea2gZp9cjVkt7VUOB4qX+QTytat8t4N\nb5T8ybd18LL95kbmW7RNYhouznN5vnlH+84nqJg9PjqfzIMqHms8FD8yU2hf\nktMLW0T2yZx+YFzfzd3QSmaM9e6nQ89CKvAqZnRbvYTj29GmApFlmsTj7WAA\ne5islorPyPT2mgDn5VeftpV9WP9cgDCQw79gpIB6XBgO4TbWr+mmSng7qblu\nsUWmB+ZeAC445jRTjafq0hrtlqxh567oroTLu8Jay2+E+Defh5mKa4Bxnrx8\ntEx3crYfNj7+fLTQAxD29xSgxzW8VkUaUWejcYUD47KRicAetXOjvM4Heydb\nRPMyRmzKV4/DUaRp/ggfYnfJreo08vHRbjOVVMmtCOmWpXsKrf0xhl6HTFBk\nu8XN8ZpI+w82uoSEZWUy9vMlmibsf+UljoiNaEIMH/C2tkEqLwOBTrCFt2hQ\nVDMI\r\n=U9TG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.27.0_1630576513107_0.0972294527576818","host":"s3://npm-registry-packages"}},"16.28.0-alfa.0":{"name":"@preply/video","version":"16.28.0-alfa.0","author":"","license":"ISC","_id":"@preply/video@16.28.0-alfa.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9c9b2b2aa97a1feb77eba5104c9f6e03421ea12f","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.28.0-alfa.0.tgz","fileCount":615,"integrity":"sha512-fAXd7cNcxmdA8bO/eDNRuQiP0P9sdfZvq0vY6EiFPzvdJI2xkg2hCMYS7EXvu79qvYn25nO4tczq5T4na32ySA==","signatures":[{"sig":"MEUCIAGGLgCI5Gdjykyamit9xjHFUogPnpuoUeb4MXS5dM6gAiEAnApIC0X4UH107deZuKFyEIvexquEL1w2KESiPdyu3Oc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2590251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNeXICRA9TVsSAnZWagAAEdwP+QEIqDhbqgC3qflshuWy\nCW3abHhakyZCDyuuZ3bo87MIYuA9JZxcBneXBbYqiGGMwCl2PCenOZ69LOAR\nFGGCOlAFlQToC1F7AH9mL7MXJrGmFy/fOmPvO4utQw2BWKXkYBm/N0iNxCw0\neOvcyn60CVU9ZBt2ZS2xPBQJzVfbXGRnF97gyrGc4xbRaD3pAPZ1Ar+ixEoO\n8TAhz8vcRLoLY5dzQGLzvCwVnp61Ps0J7zZXuqIZ6fNguL6/PBZXZMG3WtVB\nJYLyDs6C0SIcvd4/I3TAUjfmscTrRwVmLA3GCoi4GNlvm4hk71DawEuf0i3u\naZohyhTYlMLGuCE1UNf7/HdtV937vUAvPzSpDG9nzSDqYaqRtPCzHpImiNm5\n2n5GYv/PE7f1mBP+UYl5u6QfwyjVJyzr4OdwehKfLcExMwKNY5Op6UHIRg5n\ncwyPHFiPtgez3CFyF929VBTBZ9XBTIMbWZN9aH6rEre4Hgp1ImpTggSG4P3c\nnrjihYdl53clJ7XMi4g0kvWdzpcgHXz5iI2uwJ30TKpAEWvFk45y+NBfdkyU\nkS3B2nSrDsBwp/8cyO9JSOOVty/SWHW4ch8awe1WOgJzzAEAv8vyidnB/Q+5\n0vfMTQ2TmiYsnbH+w5ng3Lf7VBB/z/24VfuQcevqASt3eWpZtlpgPhhLJH9r\nJTnB\r\n=xbfE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.28.0-alfa.0_1630922183876_0.9453707765937511","host":"s3://npm-registry-packages"}},"16.28.0-alfa.1":{"name":"@preply/video","version":"16.28.0-alfa.1","author":"","license":"ISC","_id":"@preply/video@16.28.0-alfa.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fb151ef26dbec21d8bcc329ecb2f310c2b3c2826","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.28.0-alfa.1.tgz","fileCount":1189,"integrity":"sha512-/OXhTDcisWyjteAAp54Jt44kHzV/agHwWmZYyYYEANLfrH4CM4mn9qe6a2KNQVW7r5XOsW8ER3LPHCiIyyIPcQ==","signatures":[{"sig":"MEQCIHNe3yeCEzMY4FMF+5fRKMQN7gcZnkja6BXLR5VbNvC5AiBche3ZnBrhorb6fluATWvuytIhPN8n6bSrvGzchpieEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25252185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNekxCRA9TVsSAnZWagAAiekQAJ+FXEBwEWLryOQCeFMl\nQEL8BR40fnfR4LT0IGOxy3ToENdGuisL5AnWARP78XYA48GM02t6Zkh4Qsia\nvF8ZmkI91AZyB/zslIyDFTVCYF/G0ivZQDEih1sBvKrcVgRzm5toWqZZgM9/\nZo0fnMjoZttgYTGLwRxlQAkE6ot38BYkN0BSCpG5eKEnJ8UCZ4Jb+EYqGHl9\n46ptf8+hodauiX8yrMtOX4FK1yK0xggMiYB9RbUv8KN2PAkE1oR86v/9zJp/\nagSA+qNTM65WdxuqQQXWDR37+k7wmhnQtVY8/GlRSj71hmcmL7+KvzItW8XB\n2kqlMo4l9gm7/vo3ZGrsh1OcnRDOrbiISBCpFiLdUYhaISLk0wSGTlBko/zt\nAoVS4PcQDX2YCRDnlAF20chJLF3dSxk7GzGCMO0VzWoGk9BkMoH5nLAaXm6x\nGgyBMMkw2R3/Y8rdioL4pWsuORYpluJb6WJ7kLcmK2m/x7xJG5yTcqbkOWi0\n9+6BQbMWZ30HTq1jASubJuTPcGqI6qZ0fZGfXGZQR7k43ECxYvNtShryUhMP\noPTqtTf8Y1SQm/M0WIo+GTFpwhKduk7ceS04bZgFBLmhXfnC05OV3LKaZysJ\nLSiNzjNP1A6+ezX9jcMmqvK4KsOtQRzJh6X2QMKTMLf83WMZEBXQdc3QHOHe\nmRkt\r\n=qIMU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.28.0-alfa.1_1630923056765_0.9900253593696786","host":"s3://npm-registry-packages"}},"16.27.1":{"name":"@preply/video","version":"16.27.1","author":"","license":"ISC","_id":"@preply/video@16.27.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c55a123761c2738ac87ce7765853e1b83bcf2a03","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.27.1.tgz","fileCount":1181,"integrity":"sha512-uN97e1LA1S5pLuOlpA+60GrUW2p9asaaYkHznL1AJLBHOkp5vO+5wgjgFGJPg6CvroAkXEW/cirxBOKaQK7IIw==","signatures":[{"sig":"MEQCIB13M92xPIoszmEIQSJzmFG2/YAI0k4KUm/M02EYvTU3AiAwk2l1SFF48MXrPAYeOVIJ+LuDIfWSosO7vOiLPVPq7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25197866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNgz/CRA9TVsSAnZWagAAI7kQAJbzWYNFmMiT0URN37Ol\nhuesYKRLFnDYQ+axtWjU0M0a0jUaCIYAWQMYcqbjZg2mfePO3BF7ymVy37if\nGivftSN1t27qj6Sk7pRSwkWtt3lVLIncWavsvr/Fs3xSHzrS48EE5EJYXROs\nXa6FDxg3BP85b2SFTlQo7Wmk0gStk7+rzoc1U9sXeQKtPmJNi5DtsCOuY/T3\nmk55fvvMvQuOMwHKmNfBrTVOlqvPMuarl8HiyWuOJlBWtuc/fy3WSc9PyCyb\nhXiQNsddJ/ChqDS/4UI+vSAwzf5LT2KnpxiXWZpnwlEBZgIVCClWkVFA376d\nikN0obnbQnJpQpGo2w6DkVgEp8rpyJ7lKrX670Y68wi2l1ERdm/jmF/KXuPE\nbDi4JPxuavmr4UUBELt6Tx9CRwqGSqxq/UI1uL4XgBSgv/oErcOk/JDFwL0C\nuCiDREVhUaIlZPfJJCXmVcGbriCN0gkuLsEIyWlyqdemgZAM7/B6lzN0zY/N\nisSrvGJ17m9wLmFx6ZZBqEG0fSMbDSHTKNaVubmw0KZZRPwGBkYGxmuFkMxI\nrqke/GCLpQ1IIAnOdcTrgfiUEKwbrUkHmX6BCcFUqZ0yy1cHHjUkbXelgd6S\nMIuS1Hy+P2SqiUxnbmbz1tQ9px5oDmBSEKnxc8DUr4NtI1ubhadXCW2Q/UiL\nv7rV\r\n=OBMk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.27.1_1630932223514_0.9945556735496062","host":"s3://npm-registry-packages"}},"16.28.0":{"name":"@preply/video","version":"16.28.0","author":"","license":"ISC","_id":"@preply/video@16.28.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cd250807400c7e2a770a191a269bab9a74477a02","tarball":"https://registry.npmjs.org/@preply/video/-/video-16.28.0.tgz","fileCount":1189,"integrity":"sha512-eiCDXtGlq/Pz/1hrV2eQvCuFoxj9dTUpsjNPKPOU4G+nyl5dOqu6lvYnNJ948h4dBoK8r88wadhlCJJx1A0rQA==","signatures":[{"sig":"MEUCIFXz1bPEqamSkVRMaj8XYkp86rdb2B04bdEr8dWAv7nPAiEAsQl/0bpazrKyaKo5vPr6DfpZTw0cb6PCQbPDwmsdDr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25261144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNzfzCRA9TVsSAnZWagAAiy8P/0aNXzJ7rupMWT9ClZKK\n+QRTK9ctTz8LYsc/vfmqa8zJLU+CBx0vcdk203eNQWDW6Lckxpeld7eBrTgM\nkTIglMsYz3hkmDOy/uAGpN5YhE0QjoF7oAwgx8D1jxLPV81DgR9lxSjjATn5\n//ji36uWiYmXMJOtCoMDuI2gBRIzxEdhHe7mC5LbeeQyrjAu2QsPjzq5rdcE\n+4HKH0GyklXqs2rAC3l9dYFsPFvORHFxPV7VXY+OD2Aa5PqwWbFfOLhMQB6z\nU+kEO9kLZ9fobdBeLFOQd84/vI3Tus/7IsGafAy3lG1DRmED9lBSGPYPduLe\nAv/aGqtVdm9QQpDSxLddkvLp2u/FVhmhXWDF5kuDTUBpif4RgG/OZyzojXFl\nsmUCqywbOYw820vuL7SA0sC4xc+yDrgmBtMKsmxQWbHhgjl1NUmPXMxtkAoB\nXY24faNRWxJYvq7iq4tgifqc+PjHnZp+J64y2+LzkKkfwCHGwewdlCcs33Mh\nrzEvZFcp8CMi2NFBTEgYcE/XrJvyr+RVCvz3k4FfDXmvgkm7OLZb/UFPuOdz\nRrL8D6FJOcxukONmSu3ZpI6MtQYUYDlrev0rSh+L/yD1cZ53L0fi/4K0ELgi\nBYaYj/cyme3d4IAKAoTC/Ro8CLjPxHsn6nKHqxycgH4WvDVCVAr8lpGc5zjw\nzLqv\r\n=zRkG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","agoran-awe":"^1.1.2","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","agora-stream-player":"^1.2.0","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","@types/agora-rtc-sdk":"^3.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_16.28.0_1631008755156_0.5488573521944589","host":"s3://npm-registry-packages"}},"17.0.0":{"name":"@preply/video","version":"17.0.0","author":"","license":"ISC","_id":"@preply/video@17.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fed554d139fecbf89b47896dc0dd20790eea2240","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.0.tgz","fileCount":1151,"integrity":"sha512-kk0C4UmzKKIphEOanIgQctj48flAHaVmFUKl8L5A5oW5qA6+EdG4NVSUH0jAEcK1uO7p0YZ52ZeyUCobImNzNQ==","signatures":[{"sig":"MEQCIHctRxgY6eVhwfQOb02iOq9TQy8lsAwG09KfypaRRdoDAiBwOuHoSHr+bJCXlG72RXYaC8GuRwjpVmjph8lTYSt/kQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24354166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQJklCRA9TVsSAnZWagAAPwsP/jErl0X1Xn2cKuBSzzJ5\nZB/odtbqICmhdyGvs5Jpx07wg2wTbEXmYRQ8RQ8sMqrOFUQcHKPqeVtkjtHT\nENygHSs3Nv4Xsng5nunTm9kUGI+LPeh4f1l4fKypxpHQrMzuegBDZ60AcSxD\nw9foFPI4djLwLxy7x/i4HYDfXmsy4pb2d1qTBQqOrNqkmJ74TCySUihYshWs\n7ls7vyFF0UfT7V7O5HBY186kRE7GyINHvLieUa+Pc4Jc68g59y6jDg8DajEk\ngzgozls0p9q4oL1SUL1cTNus3Z8dzT2GJYHyXQySeMM5NFGWWpXI9mRWqn0X\n4NaOpEPxc8pCaxloh23lwBiITo/NUoOrcja4NrIzogWycqDtuHsN0CIPyTXt\nQdMPzqQ07IDh86b37teWX8vv+0TdbGhqX+5ifZjPPrpWtTgm6746wgbEAisU\npfbpyhZZiAfIBKbBfTzA/x4U5mI+3KjIrHyEpC4nqavXY+f+18E8hrhhMks/\nhd6MFFbq1LY+OQmLYgZZyPZjmUjCb/kNh3fhZ9MZJ2reJ6xuZWlWGfH4/peM\n99P+rRecz4PLdVvj7NPZ/ZY7LoeEOOsF9xUJo4OH6I6xM+R7JFQSMVtROfxA\nbyapjM3hOhvgyXotdWlBVESochPh1ASrzgDiuwXFQUK87ieoms1BDd+xKa5o\n4jf0\r\n=2dbY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.0_1631623460529_0.18857922015515816","host":"s3://npm-registry-packages"}},"17.0.1":{"name":"@preply/video","version":"17.0.1","author":"","license":"ISC","_id":"@preply/video@17.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9d81d32c31a4f4a47dc2d4e3a9ae4b6d843ac0f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.1.tgz","fileCount":1151,"integrity":"sha512-5ozJFFvYXbxdfNL+AK7ak4v0ZN8khaSXoTrLVfiHlXNvvnZoHkU+vv4BBDyE3QWN9t8WASBho1mxYcGgVwDYsg==","signatures":[{"sig":"MEYCIQCG6TEBL6toebJ8qPSEYUAOre7fhfqJ5mM7fWe15hkpPgIhAPLMdhPxO70mmQ82DF4k0t+r/rAVw/w+DR/alE8kvyxv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24359735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQhWZCRA9TVsSAnZWagAAKFIQAJX1ve8QTg6eqoZEfmfM\nNex74fEcb9YwTr9kp2h0NqBViVJv1wUD82I7/B10OzA6sPo3taPla4EWKZ2g\nGLzUX1/Y/HiTggv62y0AqGR0Oe/6vFp8wi2bjI8lx9PbHoSzlQSYRLf+T7DA\n7WnBZk10xkS+8uPxi7tS4Dhc7oRP6rqFB5Y7JvXWI9/OfZzTFKK2NqOzjqMK\n0uyohS5lgxOEUpIrpemGp2GKxLUyqGJATT9vcY/3YTQnSPXSBGUnqAJQSUEa\nne4xpP9c7aiBJd1IRgC8WKk/uBWJ0TLQIyGoNY24SagBgZWpXLIj6yN0wapy\nPRiX7bVOF3EUOtjj7WNYdffakEzTzKW/xmycfPUZFMwreKTwfwTd73fKmuln\nEYmsXnn9QU7hHX0EItJu9M++UqwIAvnzzX7WmA6Nwa8eOVoCI+JdLJvsr7c0\nTUHfk8gQd2JzfGuLHRd79dU8zYxoyAQ9/WOZCICcy64aQQT1e2quRcUwtXs5\nIi6nivladn63ZeOIYmIc9BPdeUUE9zGP1CiMzamKJ8dn4DLWWvOQNLS+O732\nBMFash7XTvubNUMnsdJc4/u3U44uTbmL/O3AEMx3Ad1AjqLAi5LquInUkjnK\nZ+913DTXkgVMz6UagU+cCRPDQkpBLfPuOOLaIHaoJuAeeO43T8IXcESJ5pLW\ntIDF\r\n=WPGE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.1_1631720857182_0.9612979348945272","host":"s3://npm-registry-packages"}},"17.0.2":{"name":"@preply/video","version":"17.0.2","author":"","license":"ISC","_id":"@preply/video@17.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3ff766114f362ee8be30e2e63510b567dace7b60","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.2.tgz","fileCount":1151,"integrity":"sha512-AtC1l15MLVlyLIGBRmDI1MmurUGgDmxKU+lrPI4QTZLI32t75WapXNipJoTSbWqWuT3oiNLMBO5o+SBK9/iFrw==","signatures":[{"sig":"MEQCIDi+0eKpSqKXlK8f/+LJ+nKq+rhDGJ2h6vUPi1qrIwJYAiBHRZ2SeB77ac8GnxgrD7XQweolFL6cHMIKReNlfUTDjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24353619,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQzzMCRA9TVsSAnZWagAAKVsP/jbReZh8dis56jG7zB4O\nd/sovTPNh0vm+lh5J0YjLDolypcLZ2PdZc+Vkg09Rma9J9nHFtPjfFAeniku\nJ5IfZ+bZKRbci5JCkFxcNquxSBquyvFI4fCBCphktBnhi5BbS07+wqJngC6M\nW56hxsic5u3LsQqH1i429ZONkI7cyDI6bFeDEHHsK1caIdEH8ArUFXkZ/tHJ\nKlOi0mIok6GeKpC9TiWrjCMHxSd9iB3jRAX2Wpc+BkDc9yerAuU+/rH1SDSO\n09xldEB425Y4dBytdX+iDPTe9cl0Nl8I5KFJQEal4eI9kiqpfj9RRYN0RNTM\n6Sl8Bkx6q723HSj+T7BZrLKoL8c8eb4u6qgBFyOWIcg9GJMCaCKJgMQOzRxy\nHnKo/12pnMhp6hcXb3v0G/qXQAbUWutgv8Qj83Zys9pCXsAoo/ayUsxRtT/Z\nJ2yBekJPti+rA/HAkEbZR55Qxa9qlmLVPiY9S8IrJkcTGspxmGFZDbgh11qJ\nEPl0lBw9k2xOOrx48g8kUTgrBQK0+TjQ2Z+c3YMi8JpTu9DG4UjXQamRsOg/\nXMVVrA7Sq/D8/NITDr2OYD/Rnz48SRPvET1Rjcrl3yvGI/gmyT39RhYu/BEw\n1KLQHpWr4QT1sepERKaa5E3y8VZxehihNZZ2C6nP/v/YZBdqo8fRsdR/P/rU\nQOXD\r\n=Fz1S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.2_1631796427611_0.214466575393921","host":"s3://npm-registry-packages"}},"17.0.3":{"name":"@preply/video","version":"17.0.3","author":"","license":"ISC","_id":"@preply/video@17.0.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6eab25304d6f38c2cf59bc645ad3e1ca957e51a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.3.tgz","fileCount":1151,"integrity":"sha512-7ijllyHBg2XIuRrXP70yH4AaVT/T0jl1OEjgKLjQEzcMZK8z5sHjpYXf/3sD3YDjElvNH61yyye5tBpVpysmNw==","signatures":[{"sig":"MEUCIQCqaE+BtQTJ2zaiByrBpnnIaSq8I7F47Isr7ZmQi+TpsAIgTlUQiMUwXzRqQEStBp7Ah4TQIjLJZTq9YP0Zw4bNugg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24361825,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhQ1GJCRA9TVsSAnZWagAAuKQP/1u2ZpTtGrslnVsg6aRu\nnZ0qU3kJyDk57oVFZyjrbTvtGi3WTpnlETVdqtSbiEDNGDKN2rLgboZY88rf\nDbOzpKz8+1/cq44+E9dNsAOve9+AiHT4Apjys24AhzPtQqFLlA0+UfP9rm+3\nlX8rkEqNlGZptv0SeRIlgR8i5XzcQGITZ7F1n/9qe0FtlzbzmqJ6kLvNN0zg\n8qFg62m2MDDKns2Ic/NJTN1OEW6odB2CKf49HLQtMz+2UGKjg+NyS5Cb3qt1\nZXhfHsAWqdj/Gbm1kpo6KOhXuUcdoWDV6vmYyDuSjTYNqcc9mFkfSaLsZevc\nQ/HJjdnDOixoHuakF8itPvmWfaW3moVVt5Y5v0oXiHvFSubdMwKeDhiCZYC2\nZlNfZvZHWDzaFStzrdsFBUIAr43GDEaLqj0hq8jvfj1WhsKMXVQzCn7iTO48\nGPzBOa3Z5dRR/fS9EM7yycMm2rE2bSFBhuUbFxYCMXuDH99l9nOAwyYiw1/z\n/yHODf0LFbA0tQIl3eJ5UHjpR+znzgk3owkoOQOeMZX7FBjgSV/breS6uPnU\nhWxIxgJoZY6gc9eclbr4HDvOe+fwPCxkIBtvYYKZFnEyYCGKvQ2oFMqCqTKc\nZUSJFFj+J4zqcui1F6a98yJfL5D/O2AvtHvIzfgQxq+nFXqy8nIGydQ/1Mwy\n+/8a\r\n=Jv+t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.3_1631801737298_0.4959331628520913","host":"s3://npm-registry-packages"}},"17.0.4":{"name":"@preply/video","version":"17.0.4","author":"","license":"ISC","_id":"@preply/video@17.0.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f088af67ae5620ae3dba061d825e6a5c2b3b0552","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.4.tgz","fileCount":1151,"integrity":"sha512-fOkTn+5hiSTUUdJrgGa9pFrpUU90hJMARebB/ORH+Bti/IUT3UK7szfUs4fBk+It6g4/OLMp1Fk25OVmPGqeYQ==","signatures":[{"sig":"MEQCIHv1d934hZQ+d5l7rT6b/j8te5eaFPeXvHmAYH6ZCGRUAiANVqO26J07K9OrkK7sQboAQxycYPNhUUU+86WDjOQp4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24375381},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.4_1633431801240_0.29371906796997127","host":"s3://npm-registry-packages"}},"17.0.5":{"name":"@preply/video","version":"17.0.5","author":"","license":"ISC","_id":"@preply/video@17.0.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5430391523704f543bf9137b31a8107588722d63","tarball":"https://registry.npmjs.org/@preply/video/-/video-17.0.5.tgz","fileCount":1151,"integrity":"sha512-j5bVMYrnMv/V7i1S6HsYN4k7D0y7+w/UWL5BeHK+CYLC66/a9X7VokD5GgGZkGntF0HQH8Z24SCfEsdSGMnEVA==","signatures":[{"sig":"MEYCIQD2z6vhgQfjEehqf6jMrOqD+wj/BWlP0Okep6b7aXRJKAIhAOH/DG9LC7xjLE+bccqPkBI91jTudnZw4FOVn1oq/idq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24377322},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_17.0.5_1633458090049_0.47571132473175926","host":"s3://npm-registry-packages"}},"18.0.1":{"name":"@preply/video","version":"18.0.1","author":"","license":"ISC","_id":"@preply/video@18.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e812536764e11a590898287d909156e7f00c2fbd","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.0.1.tgz","fileCount":1151,"integrity":"sha512-eEpTUtd5/oQy5et9/RaeXOMj2PXrom6f1jQC7uU1uNphFaEeBc5LFk1LcXqfMY9nSDWY1yFlP7xjJqIljI0+JA==","signatures":[{"sig":"MEUCIDwgqHDaFrvqcSu5wg1spbgP+MZE+fBOxG24KCv/qq6rAiEA2Up/UgGsFl0C98sOEgO2xAHiWWcGeuC8l1s6GnAWPPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24377322},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.0.1_1633509809824_0.9045530259412815","host":"s3://npm-registry-packages"}},"0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e":{"name":"@preply/video","version":"0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"339e5c50207938c59946df31ac2455fdc3600094","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e.tgz","fileCount":1151,"integrity":"sha512-Y56WPDvwifdFdi6uDuZYwnbu7Aby4qUJZsP5RYVTteRIoNMODxxSe73HDKpadi/9wJ4Pb6snDn0P8U4vtFSbQg==","signatures":[{"sig":"MEYCIQDI7IcABd7SduB1XcXf9SjN/ZX2l/yj0ToNkXSLxzi48AIhAJKtohJF6O0WLtbK+RfUK5gp1WomAaUB1MJSviiOkjhG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394787},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e_1633513443833_0.032506042743234875","host":"s3://npm-registry-packages"}},"18.0.2":{"name":"@preply/video","version":"18.0.2","author":"","license":"ISC","_id":"@preply/video@18.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"647f159cc1a7b008ba50eeca41c4dbdc524ea08c","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.0.2.tgz","fileCount":1151,"integrity":"sha512-o1bUEdXsFbgNDQBgibGXVEJyy8tW+4Ex/JbiiBOl79RbdnXdM8tIQUWqkrd/sCYYcownuWUX7BYln0NdiM2wsg==","signatures":[{"sig":"MEYCIQC4o9jfuxGdrNxIe1oNVpYfrBBhIULlFUjzK1k41U9nxQIhAP2l3fVgJlE1oVA0FwPGoFuIdRclXU0svC1mNZK5o4iD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24393617},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.0.2_1633521418835_0.4561234468983224","host":"s3://npm-registry-packages"}},"0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c":{"name":"@preply/video","version":"0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3bef61bef10305cb41c1f742f5c467fd700c32b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c.tgz","fileCount":1151,"integrity":"sha512-U2N4fz/IxMvK+2ibjBmKSjIAI5DAcpThjQGmjffmhe+uhAJhD7OCGvJP/NyZJhKv1Q0SCc0VrCuHkOskdni0SA==","signatures":[{"sig":"MEYCIQC+0PZ2uS/Xv/rNmsd/1kmlm96YgRPmeL6OcyGWaWLRHAIhAODX2tpi23r8En2L4gbqnhPii0HzZHaVpICv++WPOK1i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394787},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c_1633524963107_0.20287242726382382","host":"s3://npm-registry-packages"}},"18.0.2-alfa.1":{"name":"@preply/video","version":"18.0.2-alfa.1","author":"","license":"ISC","_id":"@preply/video@18.0.2-alfa.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab535aa64c616684b00252bda719289f61789852","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.0.2-alfa.1.tgz","fileCount":1151,"integrity":"sha512-aGF6Q1K8EKHcO7fn1jbFtim/W5QnoKUrbyuif8ni015JQ6yYgmpGYVyUYiRSh4IsqdiJZttZ+B/VMDfJ8GRPmA==","signatures":[{"sig":"MEUCIAu20HFM41OpC7HoKkypuyC8vE8IMZNixG5WsGObXQLAAiEAw157e7wIP9N0/+pAxObKSbx92xBuBhEzbqlEC+8PQrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24393624},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.0.2-alfa.1_1633528730715_0.06751931855036619","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe":{"name":"@preply/video","version":"0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5ed4d274fdbd9ca2b1455365b2519a432eb14aa4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe.tgz","fileCount":1151,"integrity":"sha512-ZhN1e12cBumyhbZt+vv88wCusdsKwtK2z1Vwq5F0/sxFV25mSAFYEBcgj6Ken/mN30mo0p3Vz38D9XY4EQCWfw==","signatures":[{"sig":"MEUCIH5gpzQqHWggeiO/sUGZmESkV/ZyGuFhdhYytbim/W0LAiEApTVXQq9lG9nISj3eO5SDPqGP5nTmxP/TRAut/1B1Mq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394787},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe_1633543322332_0.44563475413782894","host":"s3://npm-registry-packages"}},"18.0.2-alfa.2":{"name":"@preply/video","version":"18.0.2-alfa.2","author":"","license":"ISC","_id":"@preply/video@18.0.2-alfa.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7965ba6a2a4c89811d520b8a5c670c9026e98913","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.0.2-alfa.2.tgz","fileCount":1151,"integrity":"sha512-kdXkMkOh8pDEmnlfz7/KZdz3EOCAMH7SP1twutnO8Zod9wilvdgXDKn7oNetZjqXP7afTaijwPdV8K6CzCTe8A==","signatures":[{"sig":"MEQCIDGpzd1vm+JOJ/1Mk+BYaifR+QuwuHaU2qzojWwaklZxAiAyO3JqzlDbHiPQ7kRhf4IJgt/O5AfxTVQQyQsOo1/WBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24393624},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.0.2-alfa.2_1633590884614_0.5393822208801435","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197":{"name":"@preply/video","version":"0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"db3ed406b85ed2dc7c05c1c4f12069774e323e6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197.tgz","fileCount":1151,"integrity":"sha512-hyf7ppPi/TbYnhm9FjzJbQG4OGm8xiKkkEnTM55z+c0w8whrcLaxvh+R57SX7sHk/j4tlkdQDenGy6ID4MIsAw==","signatures":[{"sig":"MEYCIQDYCbi9sZem+2OwJbghYg40ATxVCz6aOarpPz4ga4o8xAIhALSBOLedKyyiXdHzAXeAONAn6Gmb89I15KlZXJLQ93Ck","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394787},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197_1633595548250_0.9005748954299719","host":"s3://npm-registry-packages"}},"18.0.2-alfa.4":{"name":"@preply/video","version":"18.0.2-alfa.4","author":"","license":"ISC","_id":"@preply/video@18.0.2-alfa.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"587849132642eed59a874db05b8be88d3ef052f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.0.2-alfa.4.tgz","fileCount":1151,"integrity":"sha512-loHMsH0uGWG4LP33R8fxQSuCnAKAuBYCOGWG/+2xbPG1s/QG0PqyYOXL8MJwc+w0P2sb/L2QHcMGQlqg6V/ouA==","signatures":[{"sig":"MEYCIQCvq46lvss1iInFNIPoWq61fs3SUsAxLu5jhhuHPn2u8wIhANh2L2+GIIHmAUB7O80cg1MeH+KZ73MwpiV+AoDFRbGm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24393727},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.0.2-alfa.4_1633600597522_0.46282851297018346","host":"s3://npm-registry-packages"}},"0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6":{"name":"@preply/video","version":"0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bf977df777068370548ae5f1427c19aee07cc4be","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6.tgz","fileCount":1151,"integrity":"sha512-yyeqhascZPSexJtOjpVeivWpdbTjkl17DOA3VFNRvIDw/BUZu2D9XMNGCYcv8khE2cZxSDlkKQeWYtW7fdjTYw==","signatures":[{"sig":"MEQCIACW1LrkN1IknJ6yIUQywt5wxIl9bhle4/TVunNS+w/7AiBpUu8TI2r9eaA4Ist7vh8NB50X8k/QgeM5Yv2Xh59Skw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24394890},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6_1633601176868_0.6284557208132988","host":"s3://npm-registry-packages"}},"0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876":{"name":"@preply/video","version":"0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1287ecd3f08b9eea4f5113fd786cad6ed4ae2585","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876.tgz","fileCount":1151,"integrity":"sha512-vQSmnqsjRx/q/RhrO6WIYUQ1rNekZSbS6dX3VLGLSTyr9VPhQ4KMM0sj7z0aiDPWwVFeoL+TnGgZUAa/7+XUCA==","signatures":[{"sig":"MEUCIBfaXnEoo6uTT8lmac7V2zJ4RBsiDTmWq982DT1nPj2SAiEA4o9Ff+8C4fxaUA6I6DZhzUAsPE50M0OYTPCfJWyaixs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24397143},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876_1633686465901_0.6477863469464042","host":"s3://npm-registry-packages"}},"18.1.0":{"name":"@preply/video","version":"18.1.0","author":"","license":"ISC","_id":"@preply/video@18.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f9f13011e8b9cfe85b7e9822a949b3ead04952d","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.1.0.tgz","fileCount":1151,"integrity":"sha512-62xnm5iLgeod2RPn7lW0n68BwnKBUuLXwVyD3cXO2xAqUsar7STT51Yfwzgan7zhIbtjQaW8B/9EViiY9loCAw==","signatures":[{"sig":"MEQCIAKrK2xFRdwfLaIdCI0cD+7qSfwirTzI74vdb1D6hbN9AiBC/BRMg9KgJHNG8Prxiv9P0136EOnY+Av2Uj3jOrYl7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24405375},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.1.0_1633961443787_0.6579167371111265","host":"s3://npm-registry-packages"}},"0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477":{"name":"@preply/video","version":"0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a556bdb1743f46890987d644b48e6757eb905b78","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477.tgz","fileCount":1155,"integrity":"sha512-qn37L0IasEMYA0oz0qv+/7IJFvNhj5y46+j4vB+xBmCVjWd/txIbqH3xHg+OZFcI7FWdA5x0UQzqkGykpEdIag==","signatures":[{"sig":"MEUCIQDp5li2U2a5W6A52RaOik6yeccfbJ5mj69ZZB+ubBPFZwIgZJFKsXAeIQfZufilBe4aYr2eFYvxV6piCNJgjknlgOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24463016},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.9.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477_1633962793714_0.5115905385999187","host":"s3://npm-registry-packages"}},"0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276":{"name":"@preply/video","version":"0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1a8baae597cb7fc8dcee8772d5d33d4bcf52c8e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276.tgz","fileCount":1157,"integrity":"sha512-+fo2fG75iu9qdhmf5xPHuydCw55WmrHmu3VPPghcAmhbtnew/Dc15Tl5r597oIKgIKK9VG4NNNtOhn6spD7rgA==","signatures":[{"sig":"MEYCIQDBIwFEuYcmMy4VRDgL0S0B6Nwck1PN0PY6rVKL6wJV/wIhALifmWSeSEDoT2xhprDB5WXWewOc6bswW8qPCNL/9C7v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24492703},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276_1634031413445_0.8662314142148189","host":"s3://npm-registry-packages"}},"0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9":{"name":"@preply/video","version":"0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e077de80b5a3ebb0996cbfbe837356cf060f7dc7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9.tgz","fileCount":1157,"integrity":"sha512-bY2RjNEYchkEQGZGblfXKYIpPZTM1ohiccg6KKHRxQLaL1/pPs1KpMXaekNsjWM4sVJwEAYDMiUL0+aYcRNefQ==","signatures":[{"sig":"MEYCIQCumWpAhDywudDez6Y4dicsucjCDB7BYQqbPbnF3aoh2AIhAPLYlqr29lZtbKOnOWeAxpno8MY4NYLhSjU6JySJKUGR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24493612},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9_1634036890845_0.0014350861434686557","host":"s3://npm-registry-packages"}},"0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1":{"name":"@preply/video","version":"0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f921b98468c08068e1b21a349a82310115478262","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1.tgz","fileCount":1157,"integrity":"sha512-QMtIVvDz6UUtO9dTOvkv6pnf7b+7zlpAXAieXF8aVvEL4l610eseb1qwDy5XZrBrrXHToI6SnVc3iurtTnkcbw==","signatures":[{"sig":"MEQCIBWHzAOYr5sNUkXvYyktshqpQWTa5gQgQMBkwsbv8tmXAiBRUUmUqQwUAUCJfZgm4+XTShIbgIxdQFoepCMRXJ8OEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24501003},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1_1634044643576_0.9611403512499077","host":"s3://npm-registry-packages"}},"18.1.1":{"name":"@preply/video","version":"18.1.1","author":"","license":"ISC","_id":"@preply/video@18.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf31a83a6dde57a79064cc07cdf7709d5356afa0","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.1.1.tgz","fileCount":1151,"integrity":"sha512-kas1Iaort6sLnBgL++wtRw5jRUVBH/psCji6apaNlaEHb4roRcXjkflNDY16UlIPjBjeAiYGa8daIxfuT2KBQA==","signatures":[{"sig":"MEUCIHQC9QkBIzKoZq2xsw5u1Io/tMQHd9tqTEx1VsdbA0paAiEAhrQofu7MIstNHqz6+Hp8W11gH3D0x8HCcLiQoLECAXQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24413262},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.1.1_1634045327857_0.28679338548790745","host":"s3://npm-registry-packages"}},"18.2.0":{"name":"@preply/video","version":"18.2.0","author":"","license":"ISC","_id":"@preply/video@18.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"10069d1822391e3c936610244cdc92a93f973401","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.0.tgz","fileCount":1157,"integrity":"sha512-mDq0r0yRsQW+/b2nZn+Ap2hlGQ+8rJi7dVUbjF9BTfUDKVnDlftwYoozz4zNnmUwGgMl+paJ/FcEaLqE8N4CGg==","signatures":[{"sig":"MEUCIQClO7x4734wu4la0CJXrRfRXD7JP7Bj53T3yC2GplHjpAIgcZWENiXxXXrU6birTfmTWDZAmgssbyjNTcWcr8nHAN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24500660},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.0_1634111609455_0.9710219837678857","host":"s3://npm-registry-packages"}},"18.2.1":{"name":"@preply/video","version":"18.2.1","author":"","license":"ISC","_id":"@preply/video@18.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"68a74c5fe3a1dcdd57911d3feafbeb28775bded2","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.1.tgz","fileCount":1157,"integrity":"sha512-lNBAUGwbzHf8K+WkiXfoq6sI8CvXXsl/jnjsxepQYQHfIkodudafYvwBA/6DF5eo6h+MHrxCAlnyniUcF0MGfQ==","signatures":[{"sig":"MEQCICni7IB0tsPW01bkJWY4iYPteOAQRSI0Z+gygnc2uyzDAiALuduackdHTCcJi6P1SAjkK+mZr+8SJEed+d9l6E9ITA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24503211},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.1_1634290956266_0.17659908136118863","host":"s3://npm-registry-packages"}},"0.0.0-beta-7390c48662847022922641fb5929265015b9a047":{"name":"@preply/video","version":"0.0.0-beta-7390c48662847022922641fb5929265015b9a047","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7390c48662847022922641fb5929265015b9a047","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5c8d9e9f2a86179772e2b31620adcdae0c852217","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7390c48662847022922641fb5929265015b9a047.tgz","fileCount":1157,"integrity":"sha512-A6Q658UXBhqqpIfHPk4o94uNsg0U39ZJliH6Lc/cXvz9fQHrTJ4ZINENTeSMDtZ7a2lXAqEbTpWE8QRPpdZolg==","signatures":[{"sig":"MEQCICqignuZJCbl1gAdg0OVUYK7bMYs4hUGcIbICVWetSQ8AiAsp1/6SsM7Ii/Tg7Fv2gsAi9TPxaDXu/wamsW5PZCAUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24513324},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7390c48662847022922641fb5929265015b9a047_1634311151385_0.4136831477425924","host":"s3://npm-registry-packages"}},"0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58":{"name":"@preply/video","version":"0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70a4df7e6677444bef30ff7bac466521a4dfb049","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58.tgz","fileCount":1174,"integrity":"sha512-mbBTi8H7CYlsuNXmJybW5oq05uNcwkGWNxnjb5CvOtEH96ghAK4eCxMB7bbnlJmaHHzvU9FDw0PWgjqIkApKcw==","signatures":[{"sig":"MEUCIFKpfIhmgSaZ/IUmeqjnZV4sv0Q8T/VnYy3Hwe2TLLSmAiEAxg02mYoDthD200euer2h+MAIsxKnc/DLPj7mFSX/rJc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24607432},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.9.4","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58_1634548779293_0.6426052385521099","host":"s3://npm-registry-packages"}},"0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082":{"name":"@preply/video","version":"0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"86d645ec3232572d0c902d9a36590a89800a73fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082.tgz","fileCount":1174,"integrity":"sha512-suvqTxXqHqEdPff9+LjCdkOqqOO9HDH0eycLm9DCQVaKmHrlms6gPnUQm9eF3RPpe454zYOjl6yGA43e08EfIQ==","signatures":[{"sig":"MEUCIA4v7H1pr4KjRJA7t07yH1bhQUOkPYxKCq2z4FcyTZd6AiEAyfmekkKUAnidKxIwUqncFOp8BmlQMsrS28j6/iPEVXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24620723},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082_1634553262066_0.09975205468123405","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6":{"name":"@preply/video","version":"0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"350ce4a7433ee28100847f0a67f18c97d8ab4471","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6.tgz","fileCount":1174,"integrity":"sha512-M7PO9Dxh7Hn3kAPzSNEwgjEZ4TgLx21bNmIcDIO74E9TR5foNJlKvrXY/jpyNIdUTk4Un2iDBrFELpLTJNFYeA==","signatures":[{"sig":"MEYCIQCM2WBxtrmvE4iDgZbTF1I0LE9z86phViQ7Hb5HizjlpQIhAPFF6yFYTlrgTJyarzn7zJ/3YzNYkwIGCuNmHpzS2pDQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24621398},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6_1634565255436_0.021436780039387537","host":"s3://npm-registry-packages"}},"18.2.2":{"name":"@preply/video","version":"18.2.2","author":"","license":"ISC","_id":"@preply/video@18.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d6e74f350d5061b34553dcf4ac8e894ed39a0667","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.2.tgz","fileCount":1174,"integrity":"sha512-C3jXMg/NNP5c+w1QsjStlOIj00MyxUxQrYUD1OroNyplPgCHmNpNvPfCTDTuk9LcaPZyGzyysm+L5g8fYfy7tA==","signatures":[{"sig":"MEUCIQCoTpPm7Ow1Ku5DnCRiirh2L9o4zZU8YtQ5HlAfh9wdYQIgAj+5x7lAfr0JyPrWj0i+Qq5mj6HNmri38pwGxQXWjaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24620498},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.2_1634626792596_0.9626748243596321","host":"s3://npm-registry-packages"}},"18.2.3":{"name":"@preply/video","version":"18.2.3","author":"","license":"ISC","_id":"@preply/video@18.2.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9acfd471a466f7e28cfb8b32921784f6308c3392","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.3.tgz","fileCount":1174,"integrity":"sha512-eijZQ5WjQiy7Dvv/kNo9BYIeasvAzB8aYCaPPJRkY4LjDrzFDbJnZtcpjxpN5vVOdBFG3/8vOYDYBpx72e1YPA==","signatures":[{"sig":"MEUCIQCpg2M9rQHNSjY1vARmu2uuHtBeJkrfVJ6f/Q6khAFKUwIgZhR96LoflWgIhl0bFCtiiLgLG+JpVKmmYH56ct85lxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24617661},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.3_1634664234222_0.9657916153872168","host":"s3://npm-registry-packages"}},"0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe":{"name":"@preply/video","version":"0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fa3fb5068bc88352a2b671a7a735631a73393a06","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe.tgz","fileCount":1174,"integrity":"sha512-h+nfJbiM+RqNENxuxpzBqwjL6QHxOTUU3Q5oe3wRHQ+cekxVs2B3SnI/8oEMAspyFcGvHkdguhZmbOPwUAe5Hg==","signatures":[{"sig":"MEUCIG1DAkdzA506sDPg2tVOUVqoUSMdQO9gF51AlJv6KpSpAiEAlIF/ts74QeH1JTErzqQyjPdCIUmQCVYrvbguAvam7dg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24618768},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe_1634737804337_0.9612366179743457","host":"s3://npm-registry-packages"}},"0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c":{"name":"@preply/video","version":"0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1c573f88da8808c54448cb363a03346c7171b8c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c.tgz","fileCount":1174,"integrity":"sha512-mwfDD109hVEt7f5ag8apRS31d3r5ocbjSOT7CL+Ky5GwDZP3J0u668yDKTHkZjVBMv65EMIefUnJ5BqXPgM32A==","signatures":[{"sig":"MEYCIQCm+TRFASq0Y77IZitmdTWODMSZ+j7SjiSsvLP/zROglwIhAJPrmhUIKqSiwCDl5jpRorg8iLeRJmIKfSPHsrCMlC7B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24618768},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c_1634754598142_0.9165542309438166","host":"s3://npm-registry-packages"}},"0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596":{"name":"@preply/video","version":"0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"48d98c9e976cc08fd7b105c15ee0084f1817b184","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596.tgz","fileCount":1174,"integrity":"sha512-nNrpcrtLY4fXPEkzRDf0g328Qa/XbmCBuwqz7HUI4aBzNsj86zzusQ/T4IR1Gsf/zdp26zQH7Zxbs/AKmxqHSQ==","signatures":[{"sig":"MEQCIFmitUrIZffRKvNb+ZhZibr6NyTfs5WlzqZdNtTwDJcXAiBNwB6dPbQ4mYQwuCkAivZbpWWm6A4+bHu7br0jTl0jGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24618768},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.10.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596_1634770991192_0.3391490475276919","host":"s3://npm-registry-packages"}},"18.2.4":{"name":"@preply/video","version":"18.2.4","author":"","license":"ISC","_id":"@preply/video@18.2.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fed11955c2b802f7a3f3984b71496dfce5a4240c","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.4.tgz","fileCount":1174,"integrity":"sha512-Lx6TlOphoXnrawLFLRDJ7A9xbmKjz01aSRTcbVhxTTJStjqNZXdI57ySenMIROLqDvhDg4Xahvc1brFHNAR6uA==","signatures":[{"sig":"MEUCIGbuEHIoDKyLfVlPLnCAgmj7rvLD1WWwohPU6GYxRppDAiEAv5l+tj8RQh2HrIExTSpNBS4E26KTNYtI06lpGF9Hc7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24618162},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.4_1634830748958_0.7334903399689934","host":"s3://npm-registry-packages"}},"18.2.5":{"name":"@preply/video","version":"18.2.5","author":"","license":"ISC","_id":"@preply/video@18.2.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"382dcde5607cab874d8300a6340b95e88809b282","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.5.tgz","fileCount":1174,"integrity":"sha512-2J3MEVLARwWAya9eiaccOZ83wgehBETRxCb4eYDLcDCu8L/+I5/Qn4qdJ8ZJy/11WBpCLVsbIefif6gS7qnfmA==","signatures":[{"sig":"MEUCIQCwoNW9XyUzUkT/RD6KVhe0jWHaypk7rC626CWas4odagIgMitAEInmNErQcwqqUO6KNVZU/IO86iWiUe/+/B3N6dY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24620849},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.5_1634908307528_0.428322304598753","host":"s3://npm-registry-packages"}},"18.2.6":{"name":"@preply/video","version":"18.2.6","author":"","license":"ISC","_id":"@preply/video@18.2.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3082a59b5e3698c48e0386ad759cf47dc0708f9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.2.6.tgz","fileCount":1174,"integrity":"sha512-PFwy2Hn5n8Np+C8ZXRW/ApiBn+TiR1vZw1Nr8kgNsl6H4mGGAvv2WkNNlIifnagK9AhXTCAsa8R0Z570HamIGQ==","signatures":[{"sig":"MEQCIFQgmaHhstPsS4AVYuDdQwSvWw9G8rLLARqV2W96z4qnAiAIwili+nUqL5Xw7pEO0LjIDuJeMzhxa8sfasBEV2kSGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24620771},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.2.6_1635152447017_0.844110998964861","host":"s3://npm-registry-packages"}},"18.3.0":{"name":"@preply/video","version":"18.3.0","author":"","license":"ISC","_id":"@preply/video@18.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c56f918ced57ad4b2ca7036176efb3b2216b0efc","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.3.0.tgz","fileCount":1172,"integrity":"sha512-Y3mqhWFOlF5WGKfd55S5VEur5iHCnt6ji7RT4o/XpGd+H8see1ehdfLqkW3puPg8VfOaqOK9MQ5sAx1V6IX5kQ==","signatures":[{"sig":"MEUCIGpOJR7XHv5/G2XqT+YDJoA9iFw5jaj1R6gYHdep5g1xAiEA8H9cCkS1ZxejbSP/y+WNth8koOceOdZvYoyWKC7BVTE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24464379},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.3.0_1635168672401_0.39831882648574424","host":"s3://npm-registry-packages"}},"18.3.1":{"name":"@preply/video","version":"18.3.1","author":"","license":"ISC","_id":"@preply/video@18.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"64af13efc09dbfdbce1789f82316aa97f6946737","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.3.1.tgz","fileCount":1172,"integrity":"sha512-M3e8exL8nWp3qXhSfck7MGUbtA5TPGDOqzo5yQ/JXUqzYcF8RAsw+0YL8bNrjg1RBMSetZq1uvGJhonEOuF0OQ==","signatures":[{"sig":"MEYCIQCUtyg/H/4cEDf/jUciZmdU4UNVDNP9/w1wKqcCMvG/agIhAN6mNIE2BNaJFcVP7veGta+dXXs0WTl4AUV2ixOBpH4B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24441585},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.3.1_1635329495541_0.35568205363129324","host":"s3://npm-registry-packages"}},"18.4.0":{"name":"@preply/video","version":"18.4.0","author":"","license":"ISC","_id":"@preply/video@18.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4a59cdbd7f12806edbdf5eae11c05e6526df96c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.4.0.tgz","fileCount":1174,"integrity":"sha512-+BIQyjvORqbVK340QfSdbMlwfoeWba7z8tNonanbc9OenR9gc489n/6pIm4gaVx/ga4J+0ZQyzzf7JfAhfTiyQ==","signatures":[{"sig":"MEUCICeL5GypCC4SiMvcMkVn8sRt2VNWB/qPCiZuJsaG/QtlAiEA092HmjXtp+a6IoxWnqC2ONYsEdLTmBmYWg/FWoUoQz8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24448554},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.4.0_1635335697395_0.7735821776925382","host":"s3://npm-registry-packages"}},"18.4.1":{"name":"@preply/video","version":"18.4.1","author":"","license":"ISC","_id":"@preply/video@18.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cfa5b3874f333e6774274486e4b9d791a5060de2","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.4.1.tgz","fileCount":1174,"integrity":"sha512-OqYe91dxvGzjrzUJI0cDdfA9IVBJZmLK79O1UVHWhKgHZynX3pcqUx6jUzAPP46/HU1Cp3iaQhnRMIZ7drEpwQ==","signatures":[{"sig":"MEQCIBlbEqaNoZNWzhrSX3FqduwWuwf2aOy1fzj6CPxymHUaAiAViM3X09d2iZ20W/azzi2I8+WLgbB+8OA8rMtzBIoSuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24451599},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.4.1_1635432048456_0.7327555847270939","host":"s3://npm-registry-packages"}},"18.4.2":{"name":"@preply/video","version":"18.4.2","author":"","license":"ISC","_id":"@preply/video@18.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e819d76c232987b5a77395ad04ba50f9ef81481f","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.4.2.tgz","fileCount":1174,"integrity":"sha512-qpP77WEDtB0+PuYiKKmdIyEcHVLVgTaw3y11iBZun9qVvaTL2RfDuxwgBq+zD2Vp4dshkm7T5zJHkX8JU0Qv1g==","signatures":[{"sig":"MEYCIQDF6iYusjh21HZFDbGVLXRsyBAfgUZK5gweU8fTfWS5ZAIhAIP9pkcWZNaJXb5+LEFIUIozv0Okibfjoo+pqdMUzaLP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24451339},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.4.2_1635508055049_0.34942390723907146","host":"s3://npm-registry-packages"}},"18.4.3":{"name":"@preply/video","version":"18.4.3","author":"","license":"ISC","_id":"@preply/video@18.4.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fbe8da080bf9d6a0a64f13f1783522ee5020fb32","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.4.3.tgz","fileCount":1174,"integrity":"sha512-juBBn1JLVQCcuI93E8UpV5+eCXQLq0aj2X7VYJkWxKKDiI4El3Rs7krl4pRK1BNJL0zbL8mGAql7O/heeU+Vxg==","signatures":[{"sig":"MEYCIQDdzcQo39bh+XVClaLTw/c4I0ehG7Dv7Vhr9GGxt92ezAIhAPCJEwk+5ijkaLtBuctR4h387i8lI2mfHLxn3/PFOtVz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24455680},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.4.3_1635759138489_0.7510742693715886","host":"s3://npm-registry-packages"}},"0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859":{"name":"@preply/video","version":"0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75ea7604eff04ac93c0b3ac533484b943e8fb666","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859.tgz","fileCount":1178,"integrity":"sha512-CkBGhHOtHnE0otV8VjrmrkJbTvWtiCqAx2dtlnQ9cqoXDdDCVNyzLCNWQTLR3/cr7AHbfZpzMaAfbYIXkRvUrw==","signatures":[{"sig":"MEQCICXH6b3r6DHP++Crl8v8zHoHrgHNfXzoCwFx2Eylqy2mAiAmLEbLv9iO2u2tH4GvPAJzSOnDy/aIpD/setIn3ckNzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24491405},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859_1636012131477_0.20310617984045454","host":"s3://npm-registry-packages"}},"18.5.0":{"name":"@preply/video","version":"18.5.0","author":"","license":"ISC","_id":"@preply/video@18.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09d1d7646b310bff702c31797a23277f051a2202","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.5.0.tgz","fileCount":1178,"integrity":"sha512-JHQnyb9lldtg+AP1ilh+2KU1O9g/Pnhh2lEUdX6QV9cRGiKsEsoNDUQhEJNZYfSwvpIr1eU7E+GyzFq/25NE+g==","signatures":[{"sig":"MEUCID3E4WvKGNHyeKqPBpoL6ahdgmFEe5r6VRMgjDt/NWNaAiEAm6iaVkShs6KQkozgFl8nBOQ/vqQcE9mGdH1MUw1ROhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24489972},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.5.0_1636030433081_0.34989263500116485","host":"s3://npm-registry-packages"}},"0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1":{"name":"@preply/video","version":"0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b32ead7836cbca0ccafd3e2354919f37acd6e8c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1.tgz","fileCount":1178,"integrity":"sha512-ZcaQR78soiaQf2UKfjypIDpMHJ4u+d7YgRLLsr7NBDDlpklQA+0nFbyU1YdzrvlahiIvUWhxA7eIRbQ93mM1Kw==","signatures":[{"sig":"MEUCIQCuIrjDTzpkBqOxH6SXZVMcU9lr+STprc1uh6K9dWQfWAIgXV/9p026LOMEp3J1MIW/1l7iBfgPcO77taGS6nb8bgY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24491457},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1_1636030993762_0.35483472316333176","host":"s3://npm-registry-packages"}},"18.5.1":{"name":"@preply/video","version":"18.5.1","author":"","license":"ISC","_id":"@preply/video@18.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75b215c357ab6aefcd39549c168728e16ebf8e3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.5.1.tgz","fileCount":1180,"integrity":"sha512-BeVKp7S+bQOhs6BaAfvV5EzmW68yi+YTlybOL3SIidg7ML7PcigK/loB9IfBDSylqxd8uVDg9BuLffH8KyYcfg==","signatures":[{"sig":"MEYCIQDHXRxLgIjG7gEdbrsVSzPAm9U/pjuXfgODB7BiZ4BupwIhAKuW5Ax0AWMp0oqOix5+3tyRsk6uLAksS2mcyJJW2r05","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24495107},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.5.1_1636102485008_0.5703889602347656","host":"s3://npm-registry-packages"}},"18.5.2":{"name":"@preply/video","version":"18.5.2","author":"","license":"ISC","_id":"@preply/video@18.5.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d8beb5b80ae01ae3d430453cdacb1092aad54073","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.5.2.tgz","fileCount":1180,"integrity":"sha512-IQ+wOZ0qhADxSZHgD9Lwc6+2vOG+16J3MUR3YUjDJxZKaRRneImPGf9S6Pu+4mclHv1JD35fvXHv1t/NvXGU+Q==","signatures":[{"sig":"MEUCIEVQOneMERVp92rz6IGEF3a2J7yAcPYET9EE+5yYamnjAiEAoe2vb/4Ve3/dBfby4/e2ogOn2RLdQ7BCNFYpl71NQGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24490648},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.5.2_1636368610839_0.9784553187091891","host":"s3://npm-registry-packages"}},"0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd":{"name":"@preply/video","version":"0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"036201a0a89c17e04bf614b2a905301cc39e04ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd.tgz","fileCount":1186,"integrity":"sha512-e0AGQkP016tVeO3f+8d4w3be8VKAXmI8JKExfwEd9/+kXHQgXtrX1B1JCA+y5LTzuqc7SdxlBN84OhNyO4QsxQ==","signatures":[{"sig":"MEUCIQDVJvRr2KHK0M0NWwKZiBp180spPyMIAgXNxbtArHzS3AIgM5xBeR1OXMC3VA6/v6U2rXNfwuLxySA8zpSwdXCip8U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540019},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd_1636466161459_0.8018758513703683","host":"s3://npm-registry-packages"}},"18.6.0":{"name":"@preply/video","version":"18.6.0","author":"","license":"ISC","_id":"@preply/video@18.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"673ca49e4d36edc3be2af9be5736d2d920223686","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.0.tgz","fileCount":1186,"integrity":"sha512-U/USkgheAWmUqc4gZj/bZ6PxUO4mP4Fn5VaJVtvhte8+uBELS86Qy4aOZpcWZr1ESMvskv5/E0Eivav6qckeFA==","signatures":[{"sig":"MEYCIQDq+15eL/ZT+ugtuYoQExw98bcGvNhE/3M/gpXi1fti8gIhALa4IZqU8vL4Ax5vNqe01+6r6mvQe/LXjZLfcGNIi/bK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24556345},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.0_1636478341895_0.013699566358044368","host":"s3://npm-registry-packages"}},"18.6.1":{"name":"@preply/video","version":"18.6.1","author":"","license":"ISC","_id":"@preply/video@18.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"024c0b77eafb00e6aa0f9609118c2936d15a0eb7","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.1.tgz","fileCount":1186,"integrity":"sha512-bpsl01XDEd9lbd6A3+FGSnY9ZGE29aXNT2c3Z20Dz5Wjn+y4Hvis8bf7P8h5qvDXRLXc1IZkuRgq+/qVWqCPfA==","signatures":[{"sig":"MEQCIBjfA695CofmD8cCojb2R0jaPZjfa5IWVO7xnd0Jk17VAiBSNdjWehW9OdlG45MtNJAI75+vafy+DITR0TrlavTgSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24564037},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.1_1636558730101_0.2520349319918056","host":"s3://npm-registry-packages"}},"0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b":{"name":"@preply/video","version":"0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b02bc656cee1751cda7af5d321353e5e6eef3f82","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b.tgz","fileCount":1186,"integrity":"sha512-TyxiBFwynwxoKqgSokFmOsEiQswLGzgEcVFhxJMjjNmKNpG1p1Oapxs0aGuTsV8pdDKna1LFfBz0krBYhIh5kw==","signatures":[{"sig":"MEYCIQCJnq10Q1PO4aH2TagWCjKGw0n9E/lrgG2uHFnbYriMdwIhAN2oM6BETKBv9Ll3nB6dfb1nOATEAdQTXew6i3d+lXLx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24566482},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b_1636564942046_0.8929417581305745","host":"s3://npm-registry-packages"}},"18.6.2":{"name":"@preply/video","version":"18.6.2","author":"","license":"ISC","_id":"@preply/video@18.6.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c203aaed50d2db41062261c5666b29cd07d234a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.2.tgz","fileCount":1186,"integrity":"sha512-5whbtsd4ASWgwqvSuzYy3ki4ORUXeNeIbx4PRxS+S2SOXULCmLU+DJEEWaY0ompCMxG6pLvGyF4/nuctoTBvkQ==","signatures":[{"sig":"MEUCIBY753WkSVIwt1cHD88Md94rwd67h+36xXJDXrEjWUrQAiEAydIYdyQy6SB93kep6o4EAkPNanVd/W0MDDz6sB9QeCE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24565119},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.2_1636565891001_0.9895451590245354","host":"s3://npm-registry-packages"}},"0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e":{"name":"@preply/video","version":"0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f136fbf9affb3166d002183428d0daab125c3a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e.tgz","fileCount":1186,"integrity":"sha512-GuXofB3rTe+JEg0VDdlAxy8Qf8jf9NyDTmAC/EDoSk+iEvDvkqdfl20e0jL7V426LTXcSYl1JkwL7imoyK6Clg==","signatures":[{"sig":"MEUCIQCXlRRlJRVwB24CnQXXWURj3feitNRXthpwdp/9hRMdoAIgDqoxDqz2XyRooQOBXlr6gC5M70wquRG1N90AnAyFg+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24567403},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e_1636577363939_0.4276232770164037","host":"s3://npm-registry-packages"}},"0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272":{"name":"@preply/video","version":"0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cbb7a98def3b84f685b5101e7089fd64e804c70c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272.tgz","fileCount":1186,"integrity":"sha512-n6G/VmaHSFcOmbMvn/3wafMrzisO0DzEH5aCxg4IAEVCB+FOthbgn8y6lDyiqAQppKOj2EAmt4681B5E46LRXg==","signatures":[{"sig":"MEUCIQCCpPeLwCu2oS4y6k+YkNoYo+qnKWvnDPZ8YFk6knEUvgIgfGmJu/5BfcMERjoBDoItojlO5NteoLJP3+wAe3aAkB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24567403},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272_1636626382179_0.10064300588754138","host":"s3://npm-registry-packages"}},"18.6.3":{"name":"@preply/video","version":"18.6.3","author":"","license":"ISC","_id":"@preply/video@18.6.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8bd062e4d8f7ac4f032e6a7cfb1459de387f939f","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.3.tgz","fileCount":1186,"integrity":"sha512-+nH2T9GwF/gFCgYpzg7v5QXDzyWpihf4bbzXAIVf/L232VyxxAXxjyTW/5iqeFwN1ALM6f/XtTkYCMUNYHQwgQ==","signatures":[{"sig":"MEYCIQDsq40CPRlWzgyVmYjsQcq7OCGauGSHoM86Sk3gq2OIaQIhAI5bnVN6XCZT+0IUNXCWYfB8BJPWbA3XZrqSvI9iMcAv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24566020},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.12.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.3_1636629543806_0.8564224577526522","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c":{"name":"@preply/video","version":"0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6bb5beaaaf2a250d7baf5e0bc9ffcac77398ff3f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c.tgz","fileCount":1186,"integrity":"sha512-gxXS7fQqtFGSy4SIWmRJmaxjArwGNjZKj+sDcwz46hc0tqQCRI7aXT19nRyGqm6YkIerPeqzBjJbp1Dk9nhbCQ==","signatures":[{"sig":"MEYCIQDnpLWknUq3vV7SdBTYgZZS8zIcanR4DJnnovh7rbcI+wIhAPbQnTpQ31sKW0+IfVCEaYoA8gI3ET34vI4GTFlsZzBO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24578455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhl3eECRA9TVsSAnZWagAAZW8P/3M8aeWcUyx8BRXHD4Rl\naK9ehNerfmE/ETeKLLo3wSU9sIfq1idTf99rp2lNacOMWuNhcPYBYd88XSXP\nNlKhl3ywjVTgW5s1jB0K5d8AZgp+U6m/3w2u3iReOkxK9n2QEM/7VVFJoNED\nxXOQJRSnSGLxeQl8ehH0lHvE0IsWnEHScvNz4pYZzGGpF8UV75vzLk7m28x5\nqTADd8w+83TUpOR3k7vaahnUQWxGatVLCQOVydmf1gx6o89JYCNJFXNRcPTv\nEVFI+knqXLtNKovKK13uxyg2cMdtud4W09hEJYZ3TWT0zWi56NiutEeD8I7+\nu4rUNtfN7ovxwdrQ3l9Tff0miDfml3npJgShvaElcpR9MlFs+UJhAjJfZCdQ\nxb6DMD+Z7d8gbj0YQF8SztYxvn/1Qv0BZOyZELheNf9prK5NbriqX6EGlIou\nKTxPPdn7LVTRvaoyFi01xK2lC8r4/Br3QgnD7gESN9ZmogQtkkD2LXnEi7wC\n3kGnn59RroF1I6/dddxA7ZStrwnlW4/3560a+hkvwQI65o4uOyYvheMG4ewc\nsmtC6olLUP+2OaSQLEglGBg7lifUypg2oIb0YPMTRRb/IBHW1GaLLe5JzFKs\nIPfWsfi5IJIDHs+u6HvxMTuFYHIIVg8ity7tRR8cggnP+NNA3YGRQ6iNbhub\n1V1o\r\n=KXM+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c_1637316484266_0.2568614447895008","host":"s3://npm-registry-packages"}},"18.6.4":{"name":"@preply/video","version":"18.6.4","author":"","license":"ISC","_id":"@preply/video@18.6.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8acc75f9f4b9be65495046f5599b043d3988cbe7","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.4.tgz","fileCount":1186,"integrity":"sha512-/vT94oJMeXqe6cIzeDy4qdsga43CZcYlGi/MaB/Zr1CcdZOCI02x+s+TkGLLj5FjN2x35/mkgIj81cVUqO1e7A==","signatures":[{"sig":"MEUCIQChfeMw8XtvoEd+lnm9CZ+FoABXKGNSTdet6H225r9xLAIgf+0KuMluijLhK5kVJj/PGd4L9i3h8yukGqS4+zfR8uM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24576970},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.4_1637329321925_0.410563558877882","host":"s3://npm-registry-packages"}},"18.6.5":{"name":"@preply/video","version":"18.6.5","author":"","license":"ISC","_id":"@preply/video@18.6.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a6fcd8a15d88b128f8973b08428212e63b65aad5","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.5.tgz","fileCount":1186,"integrity":"sha512-L/IhBe7eboRMTVuG1hvNX9/0kMVmR3QGxP7OMUPMMM5cJcjsIdepYiRgzMdyouIWVOnHaB1hbHKG48cz4cdyqA==","signatures":[{"sig":"MEYCIQC+19VWDDp8+ulBjs9x4G7fK91XUhyziQT2eAJaG9rYHQIhAMsUPJqAPs9aqNzv18Gnwhzv8Qnsmuqc4M6pZjjdUyo9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24576970},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.5_1637334284719_0.6470834669827263","host":"s3://npm-registry-packages"}},"0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075":{"name":"@preply/video","version":"0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"21369d294cb76bf3ea50d32382ce24366ec9b9fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075.tgz","fileCount":1186,"integrity":"sha512-kZDDZL6QSInVdzNJHcaxkA/fCDZU74pBqqKfh13uFaownlzEsL9+GU4trnIs8T/4Y8fE2x4HBSSiBhaSDM13jA==","signatures":[{"sig":"MEQCIHcFImqwUp+v852RKc/KVgCAM12oQu4HmfxymkJD/fOQAiB+7kYaYr+yjFV4Hb+5K98CI55vL/BG3v5HcI7p51YvfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24579732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm3qKCRA9TVsSAnZWagAA/CQQAJojGm9KIr0SEweRADog\nqCBIi1LpWLQmUz6Idq6Bj12QWpqoUcOZUCNVxXLhEkxmvAvb4FAqbmud0xZ9\nwZSfJnA3C4KaIUPaAAes43cNNaIT/CA/OYNxMwLJUYXXIIJAkzCRZjWn7CuQ\nlU8XVuZfZwE4iJwJSV1nI/BvYm48vTvnvzP9LpRv4VN70dqX8oVCA3iwjcjz\nM2qm3A7XvzOz+DJ1h8Molf788aQG7Py531bV1JOWKq4R3ezR9ejSLuqn1bFa\n0kBu4PtDiNPEltHbLAwv8l7qKcbvnP3iybWsnZJU6gaeVVYi6EuDUgI1d4Iy\nrCH2EuiRIcRMMyP8O3hgWJJcDlI8qEnWuYe6Vd8nyLtV/jkCwGxDXSwFG6Wl\nQbh7r0NbvvN8TJGPkLazElnzdwPFtDDBWedkdS/xbf3dwMJoGLdOrV4ULnpa\nc+RADqeRDmGrdXbp9UnjJQWVL4g3s4RYlqTVjMz21zO532CmJ4IcCgdfyrnX\n8wBzqGRg7cFSByKafN9zop5mumwN4cJgaU+1gS98AppiMpOSWdWFJQbTRiBy\n1a0C08N1rCAhU3OZIcNIs+Z3vLHi3/AbTg2yxKhlKSjSgZ5tKs/eqRpfsD2o\nzIeQwYTeS4MPTcyxFRkVFCKESaTnyf634XN8HdVlP7RQs8zrEreuhZVzJl66\n9nab\r\n=xtgy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075_1637579401698_0.2526396271121989","host":"s3://npm-registry-packages"}},"0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3":{"name":"@preply/video","version":"0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c7f6e9d3fe1c67d03a9d5296df0900d2e66a4904","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3.tgz","fileCount":1186,"integrity":"sha512-Ks2nF/kA/NLkSPiusbVg05TY3aF9P9BxvyHm4+Tsu1xORkXVlIPghg8o/D5llq+qcvpSmXcyQbzFMoAWCKDmaw==","signatures":[{"sig":"MEQCIEcGnXcXn8Zep2mZ5lSqXUejE7IVzWXFYB4D1FajkA8bAiAvHRBatQVD0HKKHVbXg0n2e9OGfMHWY+Bjw1bCM8Wvjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24579732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm3yuCRA9TVsSAnZWagAAJ5YQAKLKxJenKw1/WIG08LXL\ni1ncIcfHCaW+WEeKB7+SeRFOo/3wEYoMQzMErC545VfoKPsQFCyQUasDAgVo\n3/FkeD/ANy4xiBDwkwr/l20Ny3/n/WdfVNs60ldSWUmwTvyaQDjb9oXCu1q6\nqre03P5DRULm8ST2V+R7/wr7661ej4CcraQOElqUW3sAQjSoWqZ4eiud+VIx\nL/AW1iOR1FJjHHE/l8QPmvan3EGJqe3BWr0TcqUpBcTMt6tFg6CZ+lSQHAL9\nT3odYMmdVlglhfz/M1Qtz3L8XfRF9Sp9gUJcH9bsci5qyX1ZrCDjWwBWEgsO\n1dT3T4cX8NZRa3VIreDz7aMoLhbto1ECSblrX2hK9CsoCamMEGxVQDPVC7o5\nnrvi33mdgZHCAVfo6cyHPODVmHLIRBb1oIM1tRpDs8wwGGVqdQ59V+tX9bUb\nd2PBAkEF/WztWDpKmPgCQh+bPH4YO3J8vBSYIwvNohr0sDQAAxrqoJVRArjp\nHO1l1wo2ozC9pH60i6BLF1xFEDrglZeAb1x2YAOroAvXSlo44yZN3mwYNk52\naPnhSotELyYtnnrBzXO9sIlBnvSh6KHS0+moINRo3qelq7XlPYzgsthE9chf\nlhcRxWhx7hFLMYWiZa7d3FtcLgemD+9dU+ivB1KfVIOHR5XJU3aXBut0XL02\nDcUf\r\n=RZBj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3_1637579950245_0.13365584290537713","host":"s3://npm-registry-packages"}},"18.6.6":{"name":"@preply/video","version":"18.6.6","author":"","license":"ISC","_id":"@preply/video@18.6.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2659cc91d3a3eef1d1acb1b0b9f304fed32b2fa7","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.6.tgz","fileCount":1186,"integrity":"sha512-7/OMIZp/N8ONJ6ONxglKV5nJOEl1fnv8y/vVjfLaW8REjI6a/eyHxSgeHb2ACxDbE6vm/fn2lyajn++FaP6IxQ==","signatures":[{"sig":"MEUCIHuGEK7ag79IdvG4BRtgs2aeAMdEmmgbgIor6jg+v1esAiEAjMoz/I3aVMRFtVQ6BUusMgObE37+9ucambIQi51vmXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24578247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhm4v5CRA9TVsSAnZWagAA9b4QAJ2uass/QqOKyDVB7PQ7\nJhIEulLq1Lzjr+S74any1gCaIomqV3/aQBSeRe48/Dk6ByGM2C+bhDlXdbzN\nfAmiiFBtGrgz8J8MIaB26icAlMYpruiCaXf/vvDzKGyBhkUE+crZb1v5QsHi\nPBnqmsQdfPP40UGti+NYo1QvtujaEavgJLgj1hYgKI4skPyKA+dwJ/e8Yecn\nYV1H/BA176Oj1RnUcZe46HmYq5S2BeY/kQti1zfdoC+s7Z2NINZ0aNsE9pv2\nmJW6mt8qoBp6R/iDFyHYr1g9LyPTMRVIXwMVk/6rGdrgLVM6+RhtN8MrRFhi\nZC71DKToKGuIwn8eTLJkihfiR5KNloMmA0fuS0vnC5YhlhCsotRzfmVk3OyZ\nyR8776IxAqtuQVoeNLtYyjhJGEM2GFmW+OyzFYeLzbYunCvcjkHQgS+jSReM\nRwHrTCJfYZ8IClgEt0TGqfEUMVFSU3Iz8JxB6QXkHOCjP1GKr3TpRZ9Wc5Wc\np9C/K1nKQ/Oti2mycZMc1lMY6miU6/j6rgL1pD+sBeA3mBy7Q2MD7jdsLSWd\nPtL0F4kSGMFHlv4Y7Fp1jsefeiEduCfL+mbqkDDHUNHakbXclHmaa+BrQfvl\nEYqYvw3nvUg/Vl6iM+wwioD3bAe30Juv+yfXPDWJ5RPLSDCWvcqCZJoiweAW\ngnOV\r\n=MmDy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.6_1637583864453_0.27819736406991513","host":"s3://npm-registry-packages"}},"18.6.7":{"name":"@preply/video","version":"18.6.7","author":"","license":"ISC","_id":"@preply/video@18.6.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9895212875cf0a7fa8b8799f7d3803ef90cedb17","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.6.7.tgz","fileCount":1186,"integrity":"sha512-IGmHO8ggoFVsjxQ9rZddaPysfNl7y9smbCvYnUKzdRVIVGvwj/lcXAHbqmx3c3LK0CBTZecJNiOPn+AxwDD6kg==","signatures":[{"sig":"MEQCIEgmsZPhX6q0wzyIZrjtQ/C/hHudiX3EQdNcAaxZO6dEAiAPOX5dpwcxk7pS7ydOZvv0RbrntyGay8qiFbSpRde+0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhn7JLCRA9TVsSAnZWagAAiEkP/3YsadKDBELyFV9NQxek\npBJThtuHyr3MljHRW1q6oyIMOD26Y+vMOtILOuYvkRZTP4IuOetk3d+z8ema\n/jpbqKMttkVEuR0bz/nRhOGCIOOXL2jFLdiK+5UJWRM33+oBVZjMM+KcHGeV\nCAF1CEsKPRdAtVc9YqEUpa9jB4nwpFJNPWAbZHgPmw96e0Ej77Ihx8+GkGx2\nI87m/k/pX8NfQKQ1csLkCsLPVZa3ReRkO3itZjec8nGhym4mAEAwlqci6cug\n8MGkkSUfNMqEe38JUxitzc6uJwcvIrrhxqKeoCXQ2L13kE9X3klP1Ww62fOV\nSeVwWjP59L8WVUhQ7EWQcT51rhvZcsCKHBYi0jMUrfxlCVg0rADC38NCXMb9\nHnDT+ebxcpLwpgRaQovVs8cKwY97Hyz1BYlKg+4z7RDQvxeGRQGWG0CO5ji7\ntKUbMcd/vdcq54aRCOIn3yWOa4yzKgASdqlpcKzXYIgKIaAFKlfdfEc0Lqmj\nUhnEeaU/edGu5AvRzkYo5EmzmrOP6SvsL/L6llwdLJfF+BDvGm6XSWcVouT7\nK6mXwzSWpd3kWB/l1WpuR1m28RjeaFHx9p/eCnBOqSnRX6RAx+dApiUnurs6\nY3r0PPFNg7KogScpKXBPvdNIyrF3YlHzS9PpJMXsG3dRrf3yI9DghJqXnotZ\nVEiD\r\n=hWIh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.6.7_1637855819510_0.6303912204500934","host":"s3://npm-registry-packages"}},"18.7.0":{"name":"@preply/video","version":"18.7.0","author":"","license":"ISC","_id":"@preply/video@18.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"615645a32dfa0fa24ae2f19891650dc7329e2321","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.0.tgz","fileCount":1190,"integrity":"sha512-1OuYWCQu0zaUDRL+cYCBuVshWLmaRpJyVUo40VYmwsT6q/PQ4PVObG7R5LbJkKswGJEBJMoRq9fpIsplbWFMog==","signatures":[{"sig":"MEUCIQCHLZV0nRYc1X8LLjLivHRRQ3v+i4S1JCkVHeHadWuQEgIgd9ol1tbgOrme0eZfGEATuYgvRbCz4UV+kp/J0uGzVD4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24580808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpL9+CRA9TVsSAnZWagAAN30P/1VyG4QqxKICvUHLc5Ky\nGQbM55jIYHOYJyzo96veaW1LRk1JzIyAB7uoUk1M5lUYJKoW/D84dXe8v9Wa\np0FHtcxoNSRSRF6TWJXYLtOTnd+EjsIWVpFV4eZJfne8Gd0z1bv9+tPLZ2gR\naFmCjZHkjh3hLgFGrayvZJGae3dPev5hxGKiXMXmxBUkyejCj6qONrrMsoro\n31+HUgdxPZyX6XmRqiA80FhltX/TcSvspC8fHkomWworIU3im3Llr++A3JcF\nk33434KMZ4B9wpaLFHlCHkTmlmcYdsCJFFXZq5pnr9ZDKKocmA+2C/MiNoZX\nJvJMFxQ0cCH4id0Hmh3ZVJxXxt5EUMn4448S14omcred5eYx1bQ5g8S+n65F\nopg1aQXIXGOpcMck4GvRgEG/r4v+YimkTkCMVNo+l1UuSAWXX7E7dfXRZ0yM\nwO6IzcWdGp2QoIgoC4KJJfSoOZr+Cm9vaIoFbBoqI5uUVwFEIkLp0CNmVPTb\nAFmiqQBgnEiKX3RiUNSowHjxbOcJ9wXafW08DGlee7lAUH9pEALTcGjScfL0\nbfrYY3ZBuKuPl/Tq281HNeLQOqsBEyw2jv4Tk1ga6FZJWchfSgIdv+NUyA0g\ns/dxcHRbPLbHP86gL7V9TN1EqZRjLv37FEkaHTYMFcSIDhiguGqc71BSfGtg\n7hn1\r\n=dbGN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.0_1638186878076_0.3844449872113933","host":"s3://npm-registry-packages"}},"18.7.1":{"name":"@preply/video","version":"18.7.1","author":"","license":"ISC","_id":"@preply/video@18.7.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"61bac8681f46ffce5c12e8664c93f2a106b01977","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.1.tgz","fileCount":1190,"integrity":"sha512-VxJOnUTMNMQD5hkGWniu12AFEACsXf3cfnHIv0Jy8No+KEVwosfBFWkKnlRAcpzFCEE1QVvrnULBubhdAUfcbg==","signatures":[{"sig":"MEQCIFmLMs2fnQxugR3t3uCugCOaTM5o5o2sghW88HtSXSQwAiBojlahGjM+dDRvM3A2ajFDEWTwP+6f8vJ78Xqsy9FFpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24578273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpM+UCRA9TVsSAnZWagAAdlsP/2+KfJnA9v5ElmH8PT4v\nNxkgCLOuUIIfn+zx+WVBGAG/XJnHzp8RlfJTEa3AI3BGEZzee3YLkM8V/Zjl\nq4oWAelkuAQObgYTg5IUx+vmgs8c4K9rSkRodmtVDkk1jjQQqW4XZiWe6/d1\nXcFyYUZYfGuzWDCwFbw0mChOcNhWV5pgDiSDUEoDsFbfrxPNEPNsX2Ce3vB9\n5nDD4GMPWaRKZdzCKMYHNO0GNEgm2x4yaHce4vqTk6qpGfecm1ux9uwqF79s\nI8kKymd76AdJ2BOHz/I/khFvkYhEn+Xn1XlXsx5bOR66SEfM9z6zOQY+Y27d\ngX3wKUx3jvJvEgYNECEHrJNXvhfCuLqTSPb3+r4p7h5kcsdGGW+H/ejqfPDt\nhCitawzk19WpUHUwWKMp4TlkpmoUCqo6UYK9GEtbdJVhWkj1LAJxhv7QYMuP\nGSgRjKP9qgn8yLXx/zVzOWXcG0QbvB4wOFX5t+8RFSNbg1QfbQiiiPU0ENER\nlb0Nq+XJsBL31eacvHK+4ma4v3KlS2hiP9GV+oC1c1A0t4nu3Iz6ywpbpRze\nBORWLhCSCIFRIfrTg5rap5K5t2bRTkye2f9QdnqpHt7Dtz9IwbrSch+yz+Kx\nhFWnA1lcwJGC4aad0Qwb4y5fsSxQZKPfoo3P7iGx8bTKJvbUExyKdH8KxWz7\nFldy\r\n=8rwM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.1_1638190996035_0.6001343655310718","host":"s3://npm-registry-packages"}},"18.7.2":{"name":"@preply/video","version":"18.7.2","author":"","license":"ISC","_id":"@preply/video@18.7.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d29278ba191f92f8d899e5fea3b0d8737364548","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.2.tgz","fileCount":1188,"integrity":"sha512-HsdXdQ3zbXSx76QRnpzyuNv9UDfkNhzAbhAbT68rmBrsxOA4k9dxnRCYbWaIwHCL1O38H9Vcw4omN9QOVaCu1Q==","signatures":[{"sig":"MEUCIHCqPkhaUrtlASzK8Ijvl5POyWDrx28KPQWI2GqdjXDBAiEAgAWA/Rf1ojudIXsUAx4PEjOC1KRyUujiJe0xLntkNHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24439760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpeSvCRA9TVsSAnZWagAAhTMQAKOk74lgWes2doomhZB+\ng5tOtg8304yqIWCsji/9ANH6LXF4V6ByQMqD1Saujr8VctA3qAsaPAj720Un\nZ+pa4bMfONBKAzeEfxzNuqdXP9Ee9t7YL3z/567VBG/D02h3A6xS3W4bR3Dc\nJtnftdh3diVaTeDQ/bcNxEG4sMcNAIS/rjpKh7yaR1FFo/Kbqlwgog9bIFDp\naS85L2j/qcjyfAseo7AdHBOtpQCTxVfG57/dOx0pLJMPPC4pe5K4p3duuDcp\nhfsW9UmWizyEgXpfhVSKn/5VcnSJREflpBnt+fbhi5d8U/gSDVsRBjaUALlb\n0yCbQv4vULDCKF3kdHZN8APoCTFf3OZBD47VAZdCL2F5VOmSpLv3gD0diLsd\nb5Uy7qXiwSE9wRQf72Z/J5zcb1ZDr4QZbPDJqNipFqkoxRn5L7GWAhORjzL9\nD4YHN+iDYjjJt9HSy67u56PeMTT3LWZCw2JzS0rbzaw1zUiRL1R9oN5hs2r9\n34DvQNwIwNN1mc5FIuwPIWQXlK5yNed3QgHVFj5YPKMTJVSn7BHFbmT+23aD\noc8q0cTAsldmW1tTGDJxnHx3fxAJ4R1/0DbJsczx7BrBf5EJHY37rojEarzQ\nCsTJOj6uvpBTIAJ/CWlMZBof7+lC6anmBPkjrrU+jExYcvS7ReddzT2A09kW\nxeHK\r\n=nm3/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.2_1638261935021_0.7179187652937189","host":"s3://npm-registry-packages"}},"18.7.3":{"name":"@preply/video","version":"18.7.3","author":"","license":"ISC","_id":"@preply/video@18.7.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b0f0cd2cac0344dd87a82cc905c760fb1c63ee0","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.3.tgz","fileCount":1188,"integrity":"sha512-6hmihfu5WGtFyhIQ89fqzDMByrVqft+sn9wsZneiYlxckyF/8T0qEtLuJpwLKW+EQFYzNyLZw/UgHvAvT9QC8Q==","signatures":[{"sig":"MEQCIHCPMbJRGIn7/iKAS1QVBYBLbeMhoF/ddWKfdrhJxiYTAiAaAVGxIfl7nFerTSPRJIr9ezuwhwYv2TOJxQgQx1Zkrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24416400,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpysVCRA9TVsSAnZWagAAqnkQAJ//unCSCsoulSGnxMHq\nY3THIoVzB0xDTaKnN/79P1j3Ev7/MqadevQGmQPqy8jo6ooSyQACrmut+y9s\nMPF92tE8b7RmJVuUBR2vvQBaUGhaMDUJ+Oh2/pLcAQ14XFF1z0xADcaTYCRx\nQQYhBj1azGxIXZ/73GxIzg/0ZMnoiBLthMVuTBAlPfBj6LYztCbZPcttcETH\nVO3ooEGR2GK8hY2Gm3p5pOAEvUTE1+svoFTK3CwDV7ViyhDvRg5l2sMrz7yw\nZNNl0KOGwRgZG9ePaqsp7n+v57VkzwfCf+j+Vn5AE3I8Q0WcNbqO7CtCyp1n\nFvfXZh4RpfymeXpZlIqkYqCI9M9wFAv74CyaJkH6CBMAZWisVwPEyTlcV466\nyX5T68jD9aCZ1KjlbbcRpa6rIWpvUWLCEgK2m/6NeGO7KYn/BaKLsFTyXLd1\n8RTZAc+siS80IPQxtSKzkcTQIVpx2eFhRM5p5BZnlmrhaQHn6KpHh7h+owbP\neYjiyDZmhMMVt0gTkOXgQo4nmJuxCzCEWjPjpEGYSc/B0cT9337tXs1rx7qf\nEceoeiUh8kMZ7Nf7sepiuiues2MqeOgQ1PJju/YFGFwo4Ibywp7laseIyYB0\nIhsv4DHa4k/DrfBzqG+dDaAqQonV4e9+G/6hYgI//G4f7hvJwFLDOofR3QsA\nszXv\r\n=46LG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.3_1638345492745_0.052133474822453785","host":"s3://npm-registry-packages"}},"18.7.4":{"name":"@preply/video","version":"18.7.4","author":"","license":"ISC","_id":"@preply/video@18.7.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4b51684cbc0d8b50faff9219f1139e541e8ffe81","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.4.tgz","fileCount":1188,"integrity":"sha512-49RBNPOOuied+mhNvn0XBYmSXBIOwOk11xFqliXBqOOEkWzXSxmnBLGVfkAH5mB1GQ7X8Wwfo0Bwfas0gW4aLg==","signatures":[{"sig":"MEYCIQDdvC+DPBmJ5luurb3J01rxQzL7xwjQxNnQqWxRjpGAXgIhANPw1wSzAHNOfaM+bSVXb62HxTnUOQxz6UfBF8Se4q7y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24421372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqJNDCRA9TVsSAnZWagAAc0EP/RolUItm+gh/ZxbxK9ge\nb2KasYjFdVpx7pB1bsiuvCjyNGfeFBV6zYrUNoJ6Gl+8O7pQ8eFlwL6C8k8x\ntfuBDmNj9bfkW8GKxlaVaHBqbPYI8FIkYWiltev/p/yE4LoKvOaHTBgLJD0m\nwSMwU+xkYnKwIMPxjTV4qL1/ldzzwrzuAzbWOnNsHbH8gCEInEHg/OnV/ba6\nYoTqFrv+bZeAMeIRdh/1LBebcRQeSWfZ6S9Lod7158GvUdFfQwjUvPy36SYQ\nuUUCwGg+ykHeyWFoRWg+GP6YLa0fyQO3VistPyD8cDrzTtAzGLHU6mUhC4dR\n1DPUyy4HVwEOghDWlvsFsV1sKYveHsFIvlNgUP0MmOBRlR+JW+HXoq440R8/\nA1ydWipecxpE/yRCwH8JDHi+wDlohHFJ0eu4JFtIYjovOnR7jC9vVVc5H7mA\np2eqUlb8w83m3qN1gSiStpFioSVTfq38HcRgBiiQDWa5KcxE8DNrcxteDHXS\nurQI3MpZsKIN37v8lX10Ln4DiZ2cDBHW130zJK9MQhRuVObRymKa2nNTMPT7\nbt9X3Nf4wmaxuXqnroEk6l2ksBo5QuEFG3yQlX8q5MkoJWD2o/zu5N54Jn/6\nd6tRSClguz5zjrxmHwPBOhAxKcb4x6IQk40jvyZuA92Cx6azXR9bZwfubB8C\nGdvs\r\n=ZNLG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.4_1638437699228_0.5001733738493579","host":"s3://npm-registry-packages"}},"0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967":{"name":"@preply/video","version":"0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e9123fab5536834dddc5946346fe246cb928b62f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967.tgz","fileCount":1188,"integrity":"sha512-r0Px17DOdYJE9wUxd622HjFONYMRC3XOx4Vqqf+iytlMFcdv+c+JX4H0QIcN8+xc7eJYPzCg30opsBkiK2jcoA==","signatures":[{"sig":"MEQCIC+DG0Nbn8vMZgI1JgMULw1mCiaU57B12VTPraiketkkAiBhL9ze+HIrPedGuF5NmjaejvNVTQ6MDc3p2P3G2nEtMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24425052,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrh1PCRA9TVsSAnZWagAA0IAP/2V4i8bGpoN3/Y9DLa1I\nFizCeMiDRFxzj3cWC6IkzrdJBxR1EhJSsWdGyYNMYZLNFu+Y7l4Y5ze4Iuh2\nqj1oHhi/QFAIc1u9fAt6fAZHm8YbEKTVOIEfh+gB5v79FtvYeVOoP1pNJFdp\nSZbXMxDt3vIz/5t+DAm6wJ6F4EeAC/d7UD9dOoQwAwvIZUFNuGkL9FdQbO5C\nFanfaBwMT4KNydAOrGvYFeA8F8QNwCRcq/oUioVF36b/zv9rH1QxQImBNqsS\nmOB/d/yrnOndKchuOAAkaVLs66sI8vvsyTdOPTpqBxQ3WWH8LGHJvrrStXNR\nRfggRF82f2ZgsmQNcF4PadOxWWPbCm7qEd8WFsrmUy7Pm4FcxdA+Wk3mI8wA\nQypwYu33JFlclm9VxV3bdwudC5/VA7yz7zjD+Uy42e72mapLy5WqlJVBAiNi\nXxRQzynB6LlVsy/NvPZex8Dv/AeR+fBmJvkMrxeN5TSEJctHUr8CdHYGyDJF\n9KPIEr08Nvcz/kG4fwRmFM2b2paORe2f31tvt8m7PIEwSIP4P6tBJYMFi3hG\nsXWROka4ABngrXie7T49imjB1Cd90FjAkIAXB3BotwBjfswCd9Pw4UrTGUoS\nNZU5lC+sfovY3dQAkSUjEg8tXIYhVJNTD8OA0GGNK+kMUDH1yhF0Dtawc6/f\nmhgU\r\n=1FLr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967_1638800718681_0.11110311194691236","host":"s3://npm-registry-packages"}},"18.7.5":{"name":"@preply/video","version":"18.7.5","author":"","license":"ISC","_id":"@preply/video@18.7.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"52ce32e591ea6f65881519002fb6bb2b5eac97c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.5.tgz","fileCount":1188,"integrity":"sha512-XvKjV2LqGtZ5HXchwuwISKn5fQLmWOF1/bK+USuYgx9defGPx5hueGMLZx9mteNcYp1NCPCT/2v+yLWIctCKWw==","signatures":[{"sig":"MEYCIQCM8OdEy2AeG4Vk52Bsrr5UqGeOC9xpZYmuAl1ax4k/2QIhAI5JYHsvgM17U0LVcvPfWcVCgRoY6fSZ9YzsLbZP3K9N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24433462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsjA2CRA9TVsSAnZWagAA+jsP/iAtegfkO5c9Jf+9omW0\n13DotdWN2Ff9eWnI87sF0Uhj77bAYHv2JMLZNxIh/ofAlXgfGXuDpX001a9L\ns/Uh74xACcptLn9kVYgLQZf/ohkbWm9aIiC92jSy/36Ov2zhrIJ3MZ8f01bk\nCYQemnguriIiF25O+tu1D6Jm+ngIWULUtHsNc0iVnz1G8MWOCDh7QxeGisti\nextYUBIMSix6FipbksUr+aimHfc2SXviaolpbQDPGX5pBHbetUKnsvxnhPrS\nLqzxqFPerLIBnXLA5utR0zkCDUqCgenmuJ0QEaYv1oBOgP0S75XlReKfR12A\nbHEZXkst8CpRtS+pjC48eTq8DR2IITwzfjPGcvlD8u1eTCjujliGT7aUFF2V\nJszGvDYVI8z87SJOgJwOw+IYsEjlYUkZ6NIb7NsrSJnFF/4qqI9zk/F3ItZK\nzncfO50UnnSE/awJ22piMnFd5/NbxdAR7c0u4jLtXkC5eoJYQx2qquA3RjEN\nIoeWB1uMuqG4J1VUdsi0SVMvze8Ntfzvk/4PG9ygzghiXPjeGeiuF7Af0EuD\nCS7o+tNvb/ppMq6eMtguy295b+KsHwP3HCLWTLdqZejlbFyFklG2YnX2gChF\na1SjiMSjEgKAg7ShMkKmSSkyoS+PcSNK/EE971flY8hNHb0pqFPqKDHIQ4lQ\n/ca+\r\n=y1S9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.5_1639067702067_0.7717892190568163","host":"s3://npm-registry-packages"}},"18.7.6":{"name":"@preply/video","version":"18.7.6","author":"","license":"ISC","_id":"@preply/video@18.7.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3f33987cc993cb10a8f0be6771c357e3521fc756","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.6.tgz","fileCount":1188,"integrity":"sha512-X8ZolqHoDYBXwlo/r76gxgceDoqbnrY2IitHDcIDMmMSTm2S3qxb8r0jBNoY2TsdHEO1zUwbjRMkocl2fYfNHQ==","signatures":[{"sig":"MEUCIFD1xW3cidW1QRg+NK63ibhyOt/mHx6ZSzWrnpVDjA3UAiEAnm3AQmc6Mt00xlo0OyJT/S0u6o4Vm4vR7ur+L8BVIT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24433482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsw7GCRA9TVsSAnZWagAASFQP/ia2Id8kTaquQweHM8JK\n0vCDnXhhNNd0wmDejkl0Fyr4lzj5QOWSApDiZAnYFsReCHn3iHd76eaokxzZ\nk2MUZrcwJcHojqSrxDDp7YqJEfa6SImbs+jvmafhFW3V8tEeIdCM0Mn/skNF\nAlvqtLvy/B3i5mR9v9yCkqqTcDRvwdnuFMckN+I9aYkc+YmH9pqhzjDn/YaE\nC7PgDfbRVh80ROTSzWZaGV0rVjxC3hwEqSlDFhqrYEopBlL2t6fQ6ivW3Bfo\nhLXCD4k62LXB4SZWEBe1aN+73BVMIEPb0H2KRxuAJKFbcBHJl0BRBKUuRD1Q\nQmbesAFlKZaPWbW2mUPb+enILdzSA9RiRB2I0mPZzrcAVuNtXs0VmUDBp5+A\n03lWAhDZhRhkcB8vOgt50srDw0PSIQgKfkkZs4GZaPT3s3Qy8SsiYVM9Ja7F\nQNmN8RRI1F6SWJkVI852bz6dkNo4bkzJLGLYQPKpCSHOeAcew3B9GrWXB9GO\naNsn+JSkpgEugP+nGUP/tq/j1C35vBmI5wYZCrpDCmpFZp+CwoHHobWt4rxQ\nxz0Y+TE5FHyiphZ7gSnPaO4K5arzR5kYH5W1l6OQPlrLBlBfNfhFDxwmGj4R\n4T1wyF9DlQNtLsJbquDk2/SkUJlWrReOYxIV2DTi9pAOCyaJy9r0zvXDnbeO\nwReo\r\n=Z0vr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.6_1639124678274_0.711216580807783","host":"s3://npm-registry-packages"}},"18.7.7":{"name":"@preply/video","version":"18.7.7","author":"","license":"ISC","_id":"@preply/video@18.7.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"25117cb9efa8c91621f418400d5b4524de5dfd84","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.7.tgz","fileCount":1188,"integrity":"sha512-lpKebQNpKRUEBe/AvQQlAN2xc573H1dkhLs/DBNHAFOEtEGbISoVD5R5PiNXQzMhez2d8XEHBOD6k2qye3a8ZA==","signatures":[{"sig":"MEUCIARDx5e98WlOp2m+ryjaqPahNd4Pi6IRU6I7cf9lruY+AiEAvDz8U0NnGiiUy/MTPwADgV/VWlv7TC9Uv3SuKvgAeCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24442900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJht2suCRA9TVsSAnZWagAAoKkP/35qNs8roAaPdY1UMgCG\nq4ds3d+ZIokRNa+ZlGYQ2pNch8UFk4vyMmncGdFopxutn32a1XhppQAcAb4F\nrYwZ7zmg1KN6RLGhfkTsMwEBeKvVjoCS2yrGO45gL1VTh6RmO+PpH57nm1t1\nGVEYitoIlOsEHeqUkFQxMmjEY/53lrmOeYBUh4BiTIC47lcDTj0hLJNb3f6L\n68IQR5Hg/kxRsU+CgLptxE58C9UPCSbamMzPY4fq4STrYgjhvBTb3ioVd7+X\nyVb019TALOVwxNsc8O1M5wMzm5tZDxUtFkpRp1XPgtKC5A0Ym3LgUYxV6NZc\nYldftJrpoSxzNeFxN4jGONh/9FNLRh3CDFeV3F7Ev9DRm46KrAUUbQvw9MW4\n6B+6Ac6kIHIvtoNxkpX5WKRUbVdup1SWAONn1urKvE0adofbFUB7dVfAlTAS\njZzywKNmwTsslyui10d4s8stwYM/BpVPNYzHRArVXKjiCUYVoaiamhdxeO/F\ngK1iLItHQzGU2hjSbOGqLzZcdCmrPsMcJr9AISegg5HxidMTAh+mUjCzvoe/\nG3N81/xEqwbPK8zmSuiVEgGwOPpKWJEuHT+mrsSg2FMv3f8arB6tc09ZX9uq\nnovZ/b29yskcMwgJGnkd/pRJK0Yll+DfaYXqeUG6rY3u+bFDLWYPFOQrZv6n\nBYHR\r\n=r4nP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.7_1639410478066_0.39318007192519433","host":"s3://npm-registry-packages"}},"0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18":{"name":"@preply/video","version":"0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"517796f9f973ed848d11a3cc3c17e003dee12a36","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18.tgz","fileCount":1188,"integrity":"sha512-WG2RKQ+t+z7NmHwghGCg5SKc5O8VVxn8E4CgWkDE9YlJCHWnrqcqoEDxCUqHmbi9BfAbhjwrfbEaktucJO+CMg==","signatures":[{"sig":"MEQCIHfoGUmQt3BCFoB5YxSko9OBYuAhRGY4fgia6FcLW4UPAiB4MbF8DbYpwFliTPAVYMnIgfMkZ0wCa3AhyoLHx3m3fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24442056,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuEzUCRA9TVsSAnZWagAA7DsP/1w9c343nUJwPss0nja9\nGLRTIOwx8fV4US67216d9nn0fXm2Q+D8pZy9/HBpodT77J6h7iW0+YOQhDbv\n6rnDfLkbaY1CYyhzFnCTynkKtlOYbQRUYvz14zP9r5vSaWjdc9iON3sJVPHx\ncPoVmofDovhUF+nuOurZG+en59muqqYEJilrcdBkg4VnGveshz+0WL7NlMLO\n4C6JDw2MPpdRpzY5fFFZ8tefa0dgHMF3x58VH8rkHZ4WLj9fA4wYIAvXswbc\n4yPJ0iaQ9oPCpUxTXEB+hZkRYy2UJg/mKYa7Qb5CjoASjQsT4ks7BJSZN7Io\nVNI532mLfs98Ez6UNlfRWK2y9hkdJUHFRm9kCCT9jxkJlievhYItV9xSulQ4\nw7m8eOxpTYYfaUY7B5cMnJb1UWJfK9UFZjqnqInOybMyvleYCf9Fw0XMCuep\nq+9IvzMEu6Iubefk8eFfhuuqcwwdbbQuZh0UP0LSa6sWtieILZIBCZwAFWHi\nZQm/l/BdJqxVNfK35t6CvSiT8AHI7YdOaJNj8VgFGrLvzxMHIVYvTHx7hmUX\nFBWEI72y6AL5K7BdDVMO2kdDev3UvDO203H9N8L9+2xxY4LUS3f54TjjPCQD\neUW2nk0DM/eaeILrsvtf2EEDSPE+Pyt8r+1ie0lznrep0ITDzxCY7FfMc7yu\neg6V\r\n=gvbf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18_1639468243769_0.9399557171886908","host":"s3://npm-registry-packages"}},"18.7.8":{"name":"@preply/video","version":"18.7.8","author":"","license":"ISC","_id":"@preply/video@18.7.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bbbd126ae91238fad99c1a73bedf06785f8f7b2d","tarball":"https://registry.npmjs.org/@preply/video/-/video-18.7.8.tgz","fileCount":1188,"integrity":"sha512-5JmwMWZNmqnPOH/EuUT0RT4cAytPRNLQBIJTYgBah8iSlr503QvTOhyDvPtWDDVtPH0r2hLgBfS4OO6yhDU2Pw==","signatures":[{"sig":"MEUCICCAPWPG8qDKqZE6zcAtqbbYhHD1S4eQVvSZxZSTt+YjAiEA0YI83S/aKQw+r6qH8dLjqWrobORTFv6gOSwGDhsJAdk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24443009,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuLkTCRA9TVsSAnZWagAA6sQP/jfqGRy7d2FMBY9ch8sk\n1mHHK/sOHbqS+DbHDRQikSrbWUAio9B0OVnuDCgq6NKklez12GLoKDlMyUhV\nj1cpdf3tqx5OIz5hfxpEmWUzht8rMYqafoGtxWIDSKm1mKphxhYLyOk1o/VW\nxbFO7uFfHN4aFqrIoW6JYFOJmB+Y8tOH4mPwR7y4Lb77oZ1fIFgzkTDp+2wF\nIYgi7PLjVc7RJfhMqvL+yf+hPbgnsGRS+mj+lMLuRz2LvH3c5/f8nBUSKCGI\nZB+0/X2qj7yPvZI0XKU7ADUF3DV7s8D5WZNMB3CtAPAhS7fGos+aCzNjeb2c\nkQotumgbClpYSUieiV4i+5YxNDJmLs4q666P9UNJRPBo34Sv/cRT8ivup9Ur\nfUQYn2Tek4BR47/a0/db7LWlmK0kIfQa3CaLX+GBlMQ9WBBKv5eNHP3e+Gc9\nDX9QcWDv5VqpBFMwGXAmQdlwi9+QKH4rj8i+NJEb+ExmbdkqATYtvblyGeS1\ngB784Q3x/DnLiG3mYtkaV0KuVjjDu8wZKmW1xSpF5/i8Y8GIrYZtZkbZlrUp\nUP1dRPj9s05k0uZ5pXB4W7FgY4T+wn3Ewldnk4nBSp5eYwIN04l1Z1HSi8qb\n8OVnGXEFDL+ICWlMMHBiATyr5SPmkizwDevKadLFcA7cFxWKONmFMcbUTl+S\n3TvK\r\n=r3WF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_18.7.8_1639495955147_0.8393272460367194","host":"s3://npm-registry-packages"}},"0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a":{"name":"@preply/video","version":"0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"affa8a3547856c5b33ab1b8f411453e9b34d6061","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a.tgz","fileCount":1188,"integrity":"sha512-zPrJrBTaYArZ/UklaxkeD3DBovwz5AScwGmrr5TVxu+icQCwJpkXvFQYNYp6jm3x1yQnrgDFQyRV0iGCHfaohg==","signatures":[{"sig":"MEUCIDhcZGJP3Am0xrma4xBR+ZT8UeewhbqWNxp4eThHCyoyAiEA22wjHVm4SLTDirhdEsY6TaMbREaUejUNuDx0bbTezUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24444524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuMp4CRA9TVsSAnZWagAAIBYQAInqiT2MO/tsqXrkMM8C\nukFDHsLQgg7H2f/dVmmhu5Iv6iUB6r7p2ceYcHIwp+t+C0B8nH1H1LuMjlR4\nsnQ4ALSSwir1ui4W1Oe4dflgqZCnd1flGEf7hClrCIyfFyl9tm0vqsZxSx1Z\nJTgbKX2Vt+rvFGsDSP/aYN8hy9j1wueHkKlOUZb7YN5zGf/azZ0mxmkSe+RZ\nUyj4QkdTaNnPKJ0SKb9AtBUVJwVjj+WkXSFUxhafGvhoGuA9v2Ti1WOtksuC\n4TSlajQEcaF0izEcGj+QpPzK20OaCxYSZcI2I4GZjuk0Om7aybjSZ3tRx8Zb\n+MgBkRPAKsg9cnoIig1s0tg/E/WfpDq/GTN6z7Oid7AHRki7rF9r22xentLB\nn3TVsbomFrVEJAqFDYhWsrWdnz61xCyJraDXAECbaBl+k+krKm6Stn5qD7Eu\nefh7Yn9QtP7hv/hbUCMFPXvaaxqgyvYSWM2rbdmRayrnU6Pndd3EzZdHu4DU\nKtHK6uGFmVGPyAqhaoNWHRFYBnbOtcFGzoBg4ooIeX7lxQPsygl/vLJojBwC\nGPuUa5GBrULkgDb7867ydG7L8YRTmR8YTMQu8oQEJLDMAqXPC1FeAQMbupcu\nOH+UyXZ8u0wqQIPUiykADmmJg3mCcpLJgi5U/vCvbmvzxvMtJzaN29L6dLop\nnFim\r\n=9iOM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"^5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a_1639500408277_0.7922370655266067","host":"s3://npm-registry-packages"}},"0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548":{"name":"@preply/video","version":"0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e8dfc32080cf32fbeffb1f3b64ea919b2ce40994","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548.tgz","fileCount":1188,"integrity":"sha512-UYbU9W1KPPtDk7aeZ83Fo02Z5D32ZcF+4GOOrmWBTBajQ6jSVKYEgV1Od0lAHQ7GDuWlyYOgntOwWp4XCkaLrA==","signatures":[{"sig":"MEUCIQDZN4u/lFqcQHkxZbTg87hueaUZtnk1dvQqjeF5z3iCEgIgA9u6ttQL076mXiF83dLfmjMcs1iapLhOFXqNkYOJ8RE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuYnhCRA9TVsSAnZWagAA1doP/0smd2aTkxVyQirCH+Fg\nPvmZaFdPtU9VS+KDL9mbq1JW4+JA1t62N7OcrqOCdnxKUmGBVNkxNy+G4wTh\nbQp4sjECh5bMEBoF074bzt32LB9OnNv3Fovt4Vy4c+Tqhapzn7iBaQ2UnWYn\nCZ2iPnaUeQyQ1Xjjd447kUcKeu5yx8mWF+6bs+2ptfqkPuB2SxfQGQBkzPmp\nJ0EvsLXwLH+j9DIWcsXdfMSoAn28MtatoZOVpAgIQ+nfx3wcBLid03okdloS\nIdCAw60W1JVr/J0Whq3WNwbuFqg4PIcDaCCzU6CvnHaLP4Ob/q+P5t1cAEY5\ni/eq0q6OSpqVpllRUlcMOZV157Z+hnE9bO8jXREvDDMWitud2xDV+TFRIGcT\nubZvK1WG499BvfsJGhcse4Y2wAm/lGL/1W4YgfjXT5fwqWjwSQ4xTfNZEG/F\n+xXAEtMadqfCK2OhljBTpuW5SChpz39retNbN98ps0UL6PkV5/Lw59ZDR/yc\nqe15ZCHgS+uNwLJflntmiZB7xk0rO/Y06AdGcakyAiktrNuYXDFtF8bls6GX\n5dYymBlo7M5bs+UqZbWP5twwAdtUI/TGauQeBOOlixBtKagk9pd6LwV7s1Jd\nooJpY4nLOYg3wjI+0d+AGvrNDGa2Jx0qjbsAlFPNid0ZZFe0LzyjPC1eW7tp\nsx+B\r\n=Ne3H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548_1639549409368_0.8198122110453474","host":"s3://npm-registry-packages"}},"19.0.0":{"name":"@preply/video","version":"19.0.0","author":"","license":"ISC","_id":"@preply/video@19.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4bcb6f48bc8da8f3c98b4387cdcdb5b68cecc037","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.0.0.tgz","fileCount":1188,"integrity":"sha512-lRTFw2QQ0fb76tKtoXpdY42Ld3Av3OptsWriPMKt0DpkFXqng2Ojly9F8PnXWIQe2Jzz8nmrwYpRLhaTQgIOig==","signatures":[{"sig":"MEUCIAufjM9OBs2NnL0qdfJ9QH6rExQsAJ6cpyNIjTpWcY9eAiEAkxDt9jeWo5OGjKDJtnkWYcpC5FnahUwWag6MoAmxG9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24443038,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuaHUCRA9TVsSAnZWagAAPokP/0GfpA8Ysm0f2TC1Bb3u\n1Wb/c8+jAwKJTJqwx3w2+5C69bcGucDQhb0uD3Z2CFou4kxjgBW8a1whUP0j\nbmW29GVTRF/fWRU78qPMCVTiX8vd4wrNKutFpNTczGdd1rstKRVE05tQ9Qmv\nZzhCl+kdeG+FSlKhMJwRR8UjwaNoWJ6jh74u1k1VJqSdLoJA+WHSvc88yVvK\n4EyFGOFolUtZUx/IT/2UzM12sUfZGc77XZB+kc/6wD0h0PoQbhZo4+YlMYSY\nezxZ+KNEw3JwAg3fh4Knb0SN1JhxLA2Eqlm6nDGSMT/FOBeMttXNH0eJZCOZ\nVQh9bHs21W98Crgppm/FUX5FkWBIYEJxa8BOJdqhKfUhjCPbZ1bQaNF4PaBC\nSpJlvlI1NMyr2DDd/L0gpNIzde5Q9LHp1STSfVmddm63tt5eET8L7XEOCm98\ndHLuw9qbUj71tZG0IZmHq5Gg3RG3cZrH0TMQTZOzUnDeNqyJJIbiXS6NV3+a\nSgt5W6OzQeH/wpPJ9tFRsrkm+EZV3LF3MJsndNn0y9+QnREJKX831bwii+11\nMoxNl5BGScDbEWNVmMRlPmAU7OqdDexdJ0YZgZSL+zsRoAB/goii6197lUe1\nZnD2We+vEvvHQ7HT43/Nuia9wanA3vfAi38J3cUWXM5iFc+ZnJ9RSchto+c4\nAIaq\r\n=AbtQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.0.0_1639555540209_0.07769348807703924","host":"s3://npm-registry-packages"}},"0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337":{"name":"@preply/video","version":"0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7e1c440453d36766c330314bc5a17ca0f7cbca70","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337.tgz","fileCount":1188,"integrity":"sha512-upA8ihLb23ogSMOuln1Fjng3EMsW0UdLFBW1gXCbu+zxql/qE3G1PjgmditEYu2UtlOrqJyjznKcrXYDQwjqbA==","signatures":[{"sig":"MEUCIQCceUNE7ukT8vZeAuOvqT2gOEmG3WSTQaBvUZs7gK1R2QIgPJM1FXa3LOjeeQOjCa2ILgDgHt1xyVSS6T2O/MfA8Is=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540651,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhublRCRA9TVsSAnZWagAA6EQP/jfXSEPa0X+z51oRspR2\nRf97x7/zZJMYTS8KXf7lXv69TDfTmrR91Qn6IkPNRhak2qPXhzjsuuz3TSXA\nmiiEN59i2GDuRladQy7fjqGBpBe/ugjDwMEscHLJeHdWgr7xY50gNdnt5dNs\nXhcZuchOw/CLTHZr+UgYu9loxerK1RrVUL0u3zJbrMpZcmtIFMDU/2rdGunE\nN4BupGKJkLn+0l6ICsNFDYL91EFXv4j0zhslw5bmlsoUGF0IysTlw1CJYfbU\nCajquEbFs78W4iz7t13rmCTeCb2N1woMP6FqEAxINzMnmEAPsnIqOiSRTEAQ\npEBduAZTJyUn6k72NHld8xoFb9eVtYdDPMEXwSxSbQkG+k43gZqO+c19kwEs\nhiOCECPsgpO1ca9I1IMTwARxw/0d1wI4TEY3cyV4rmoP+cQbCAYdvpxfz7pV\nu5phhAxGBPjIafdSTTQ3gKTqpM/KNWMskkkwzey3dktmSr+4wn1bMSPB2ciZ\nV8210u/obTmu4yGNbLkzzkrY+mxt1mOf4/pdRwosI4uAu1DpB6jDOAx1ISbi\nwvD5Gx7fJsKh03yTk+e/TS0GGGN8JS+K6UvCVtEpXByOvRzSWhu8dGosG0vq\nz29/9XGmCJ+ZSLLKE+y//tvQZSpwPM16G6eDoOFSHPJNqyTnWxWFzasdTekZ\nbAre\r\n=tD59\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337_1639561552857_0.5467629841676209","host":"s3://npm-registry-packages"}},"0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690":{"name":"@preply/video","version":"0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c5caf301f4c1fe230ee1d8dac8da677f2ae13935","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690.tgz","fileCount":1188,"integrity":"sha512-PGGg/uucdOsyLrE+1B+YRrlyCfyg2QtD9OQQ97c9Gpa6i630+kXmD90pDNpHGDsijCFlG5c13HIyr7S90282hw==","signatures":[{"sig":"MEYCIQDTkW/KQ7TuIKNjpC0gbYdtEh4/W9IwHZOF/qsRxlXO5wIhALfk86usGZOc2rjlYmZBDRpg6NbN/OXuVFkWNDkCm09n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhudyrCRA9TVsSAnZWagAAFA4P+wSyhQYM5bjgCYwaOZWG\nx5w3RbSm0sIIz5UzEEQc9Ps8XJGilz1BVLvGgOyq6t9vVZwvqK9N/LJHSNkD\nytDdBgdFeiyFUYevM03V8vWrgMiqTCpV3MdNbPSewH6zr7ZTo6qbxk7cQqXL\nAMnBoUG64ZE6NafQ2X0aVKOO5htMOZGlYTitN5FZmh3SDHjEgcGIYsvrAHnf\n9aEmOmHvJZfw/TIXeNRHGZr+4GDu13ryybZ7/gD9+0b6bOsiNxNT5L4N495P\nHlwGSfPSEf5KGSEEDGz0ZE6STWCFRLLrnUXMJw59sobdzrSWt1l4yJymwCXW\nuhrBmAiFS0Vp5Ezs8Mb5cuhl7jmslbL31QP1Col+c0jFAJu0SY4FCkeDTnta\nBNbkyosuoZbaWOrJtzwX7xeaCN0T82b+AqCSdWTXVabgYsXoMso29gi9Vl6P\nnt3dZVwT9UumuG6TvZBswCHq/q7QwGQxeEM9Vg2zPyy7pYKzqXbhpfRP76Cl\n/Xzme42sYqJgZIu1EWWUfzsRvGE5MtXFZJH94MVN6yL+FBf8TAL7tLy0+Zjf\nx4msubRdaanjD57eQqT7QnijC/eTCdaaN/wYHIBZly+8OPWZl1LMyi9rvQAP\nkE25ljw53LMT0nTaa89Hl8SdwkP+h7jd90IV/+jSqPl3MM1RJXZAYMccVUFU\nXCgn\r\n=J/pO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690_1639570603427_0.05527254721568653","host":"s3://npm-registry-packages"}},"0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e":{"name":"@preply/video","version":"0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"696800b0edbcbf71f4e3a2c018c71ff86ffe7ba9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e.tgz","fileCount":1188,"integrity":"sha512-TsZR6DbYQgD3fpF9Ns+zplYCvRd2gDZUvDovXWHndyB9yUxb7Q/hfybFwTIaCRr5KsBZvfDKiUJIk1y5iA4pmA==","signatures":[{"sig":"MEUCIGuzSGBM7PQBCEHJ4mxkHJrMvC30S14BAyooL2EitewUAiEA8GovaiUPtYLUzX5xGLgMtDxj8rtENI1ohi98wIfae+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24540951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhueX4CRA9TVsSAnZWagAARIUQAIeJ1uNurLrcY93w5YiG\nWYv/gfDcldy6DrqK0HHOFJXNI7fEm4gKpJCXPv75npnjILnGgA9RlSVFVdmZ\nwPGPrr8rteswXbOgH0Nj9NO5uEgNd5jzZmoio9YEGBuInyL1DA0W3rRNAEhG\nSkTxrP6rDYqcw9WJbEW4yI8fzT2MNBh7nVgtPakT5LkWAcT1ZBIWRaE60Gwb\nOL0sUDmrgvtSjW+Nh7vIUSbBe2tjSBB/r+qRvc3tsaCJkHaK9a4I2PKy2Cua\neCVJLnOXmekbdnQ4VD28/QNy//hcmA7xkRirIsgPe4PdkznK/dJuImTxJE3j\nqwvTJZeoULHTaifcCnbDJeDaNMqhKj4PRjdhV6nSjSLZ9k0xiR8Prvvks/8a\nKfWm7nmdyXvhTcqO6oqJqc/plS80PD4N9gotRgqORZ6ZhKEMnX0e3QgEzOlV\nUuZiD6nrQyHBpJb/+1M0rMsiMGwzHxncrBK04yhtlt3pdWknBocr5o1bLKDI\nDWy6FQPp6/zlKoDfunW5GflKPTXPcm9GJHtGCUb7DRP4xMXxRGZy7DwrWVJg\n8YHaNOompUlyO1Aj1pt55wp3pmm/ATNUOMx6qYxyQwclFo1Wovl+vVfqKcYs\noNDlHVU0Ig3/qvAFjnVfTgTWJWcdNQhOweGt9jx4Sfl30kHkcvNqx2PDUiwe\nnOJp\r\n=Jmh8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e_1639572984314_0.2551818166283877","host":"s3://npm-registry-packages"}},"19.0.1":{"name":"@preply/video","version":"19.0.1","author":"","license":"ISC","_id":"@preply/video@19.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f45e8678fbc0b7ebcfd5344b177e39b762ab9785","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.0.1.tgz","fileCount":1188,"integrity":"sha512-yDiIo6ngK3rjx1ORmnFQ8hT9j0bveIXeRofWruFMfTiruMsYaOcx/OLkAp8zt79IuJItsabqqWTIsi1RWkqDIA==","signatures":[{"sig":"MEYCIQDbACih7lKtoUJxhfa+QDVnBzKex0g2EUIZkFvnK1sD4QIhAKKWGXMl3UFspd1oIT7ChaB094TGgGfcmsIxYMeB6Mzx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24436499,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhufr3CRA9TVsSAnZWagAA4h4P/1b3LE58Ah8c18utVivI\nhhlC3UFs9mn9e0/y2KHas7++pZGzwV1NhtYW3I1K/di8nWgPxMnOj1wVYUUO\nn0TTqTS+AkZOQtCnkWTz7FBfr7p97O3dpqwsn3Pq9w6rogjlZlk5smIJvtta\nEGB+20hi/bavPzYycC3D35AilxHBZAqTXWy3DxYttrfW69pmvimu48P7H4sw\nXK58PAqxJH8U8lTMlYck9QWA8HreJJJv1eLynwoH290bbm/zufO89xq7yO0X\nzNfwwG2VsY/C7DV/bDJdDioidu1R+mWi7FsOXBi8NWcRxsG4rJTYKtxQs4zi\nTwATfHsdIXG5PlV91ukNCtCaN3gHsmkYlIbVTLdXrInO+lrUKBXUD//VC/GS\nN1s/NzAuPSrAec5YNSuXkyvjUHLSZ91rJrrUp24Hpu0tYkIwe2rAPfHVf/yj\nrVMhO+x9HXi4Q1dvwmeLgDLPMacr9PFpkai56KnMNUzeIcyFcEOyryIlfmJk\nUq42Y12zCGoKOXrivzKwKTpKlg9bNU/Gkpj8xAekcIK1GXKZ+/eW3I9F7SQ8\n1ICHsu8lr/Q6VMdJuH5icM5hENXo74X8yKpzXp0W1h0kJaPuWuCzymTI3oVx\n3jTfrAbETfrs7hz/GoxCC1TgWXJN35rjkKy9J8fSemEFhQcgYNrE/Qq74ep9\nhMjY\r\n=capY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.0.1_1639578359267_0.9580449698599334","host":"s3://npm-registry-packages"}},"19.0.2":{"name":"@preply/video","version":"19.0.2","author":"","license":"ISC","_id":"@preply/video@19.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"38519c837a69afa1f0b0587702808d693f99d7e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.0.2.tgz","fileCount":1188,"integrity":"sha512-Us01M00d0xPLA7pVbGlDuKR8EbZJeuo2VlDhB2/vu/5QLt+salj6xWxwl0YxLjDiAoMV8d0xeaib4OcLTSgKhQ==","signatures":[{"sig":"MEUCIQCebud8zx18aOV9U+42j4+EjaUx+bqtmH6Z7v0/c23nFQIgWgreIlqCIYGhumW7gK7gIyHlgrrIj2JjspbHZQ6gjxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24435033,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuhF4CRA9TVsSAnZWagAAdzwP/1HnHej0R0w9QV7EJzDO\nAgfVXKoCGjVeZh6PWKmy55FdQ5c7ZgV/DoACEQiRNoykRbW99nqWAR2DZ1Y+\nTU8H1IM4vyECeykELS2P2lS+o45v5NMTWmu86PSuF8a9i9KkIr3m/bPcPTF8\nhdSI6iPK5qgJz+esGTm0jB/+2XGsj220Bc6UFk3FEGHtH3y+VUdBe+ZnV5dl\nB24WNcOyqJwJNcADCbumuqfM1BnV8cohUoFnnkhPkJKOTzfWL+UCsfS8LaXX\nlhll72LPx1pRcVHxR1rny2zsYVahGSjK6JF/uAXxc3m9qE8Aa2IE5r8kORMH\npdsdNOxjNn/r5x1Z20GZleJh32JQno/swip984xTiC6nEte/UVVWkyGhrBUq\nV4bHGmjd+plq7zVrvnhQCjhlcWd+iNrG1KenJSABZ5N2p9CDMhp7xgdMACrq\nPC/HwKlIFd99cc7h53x7WP1pEwKmAGVQ3gdWf7RgIEvB2qYfZ/JZfVgClMfZ\nAOGcfbg8PCut8Pq1fCIYpvWKMoXzFLLQE5sr9JbZjk/5K75UKPTFfEq7q7dX\nEUyhvn2OHsyPbHprOOitJU5b/l3us5/2Z/en2fOLvKWbOtmZr2AKBTwJNi9a\nd/ITtHOBNrp4DTUzGSPyO3p/9+UlRFlcZ/+1sd0OgXBXQWtGuttazHlLstLE\nQByO\r\n=88UW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.0.2_1639584119910_0.3136660436043879","host":"s3://npm-registry-packages"}},"0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1":{"name":"@preply/video","version":"0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"047bad7c5bc1a80541548ba362df8599daa64653","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1.tgz","fileCount":1188,"integrity":"sha512-lguJYPIt1QzYP3+aLuQXE9nUvP3loW4Vxgu5qXZ1/2krbv11upQ5z+W5AkT6SjG5uAvlmmo67yJVwNM25j3T2Q==","signatures":[{"sig":"MEUCIQDAvPd8HpCJ96bOzGjGL1jjd1p/+mpygwYWwF1EtheboQIgP6j1Uz58hSd6FzdVPcdDfdpy2M6LkhxyIJRQD23mzwA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24542774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvC0rCRA9TVsSAnZWagAAw2MP/14qOJ1SfVDWHcxbDTQU\n8+a2ryUQFnB1xuRUKAdbLphaaPy8+MwTTrEBpcE/JmcUKoSOcBhqTAGQJZwm\nJFyXdIJzL2jI9qlFAB3dftWPqS/tFXHHM8djtTstDWn8I+vVyU+U4WU5ahJE\nI8lAtxHYWgz7sV8TX9TNWiEhx/Xeot1umnlQxiVQtKKhnL1DEpArNRi5kwc+\nbCKYfMSwLuXJ6grRHUpLPLvvtY6tHUTCYMjRRPzXn6741A3s5ysYxrwPULo8\nDR4L9VyLUBD3f8MRUO6Z2R/r4QPe9wDWHKofkNDOLoKcJwkrlgrSdcT198T/\n9LwZiL91UUcD0238tjUuB/0jbdDqIJIgPKuOU5QgK5oME9sNoKXncc1y0odP\njEH5pZNWToMXe5Mk9SS0UzAttrqoamIN03NDo5Ogj3UO3YYs0DHPvu5RSO1N\n4PxfIbdnkqDodnRF59wTADaU14OYBTfIsK7QQf0BsfEQMJFXUpBteR8JboNG\nWJeCnxljqZnjBbu18RZ8ouUUHa2ZbboNOdmXRGavMi/uICEBM3DFIn3qO3l1\nWqjRHVxCTYvP2iOI9Vpt41bTcNMKebqLJruPPzRIhIpxf+UajfmoHumFNzUm\nCyeKwcIicM82GCufT+yU8/I4vmqm2g4P4UsQHnYJXdRgOzNiylNyJnv82/jF\ntSVw\r\n=8qFK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1_1639722283310_0.8143913623064203","host":"s3://npm-registry-packages"}},"0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62":{"name":"@preply/video","version":"0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ef0c391a33ba511cae2c81c5a2e79ad7ef7a6e25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62.tgz","fileCount":1188,"integrity":"sha512-OAI3AC5NGnVcFSUSwaF7KqNNUIFqd9xabupzXYI30oW9mR78IWbQpOI7jzzN1xtoFSbJzKN82/G6zLlJmodv+Q==","signatures":[{"sig":"MEUCIQCesFooQNTY4gbsrUZvUB7lz5oxvUsVJK0vjVUNPM6kOAIgPLBHl4Gh5OpPFxFvLAbx6NjPxzb+WFw8soO32BoGDLc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24542774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhvEVICRA9TVsSAnZWagAASK0P/0YXiZZtvEp9r3VjxU5Y\ntARBJHcJCdHceXPmyfOdQ9MzD6G4msOfL7yhyMfk3OWvS905XFPEfjT4MDO6\nPFHzXJpvf/ZLL4n9TwH0llW6cf4gypH1bzPv0V0Jl51KRPOzdZiDrRdS7AG4\nNW63EtgpLyaU6OhJbmJxZEE+oRJIdG3bMYYbBBQ1WdSitn5daWUXPy29Am6c\nsOx4y/R000RpRakgvGpD6QfUu5dH1+AwZsaEu+5GfyiRc6hd1weKuuZN44c4\nBm5qjGtFyiNReB+qx2SsPO0szBNyK3ePLUq/DMzLjKZCdpsQmMvClqtEsVvU\nGCysoAFRn+wAtWzGdMhemYaD07TGLBB50XkxegeYVns4vjAvEocZw0FJfMEA\nZ8i+0YNKs08tzLSJ+dY13EaE3q+2AXHkcAH/Qf3s8Ed4JKbdZpqQnxb1hmwn\nOxOLm+f0vTNc9FeHJ9vUkqrNHYMJ9QWPGck71wOYidCGfG2EqNdZGGfJwRQi\nOOJ+T+8oSf98NuXMjAV0tyb4iEuyQ+z0g8JrOd4DgwCEY6pR7ecplDlv8/jj\n9tp9QhSCXxsP30N1ELrmkKuos4AGXfrSXW/OqWv6xuHCyuBdj4u+n1ABW3EE\noDXdrtPgZCMhi4rTpQY9Es2qdT7i5/EvmD+vQ2q6CRui8YG+vFPZ6mQ4f3Vv\nCzsi\r\n=hmpZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","@preply/ui":"5.10.1","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.4"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62_1639728456143_0.5085186155303452","host":"s3://npm-registry-packages"}},"0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c":{"name":"@preply/video","version":"0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7bb2564d43e5a61653f0df4172f54d426fdc9e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c.tgz","fileCount":1188,"integrity":"sha512-grPfxhFH2ZwFPb7ATD2C0QnOoKKBJiEJTjWqnpud0WPkBnBEN79bktZAnJC60H4JMnz7nvfd45Zcpa3jPrJo9A==","signatures":[{"sig":"MEUCIGq49xRb/QGE59wnv0YrnhZ6vUX6mhUYfGkf/mq3calUAiEA0/UxEzWoZdFAG+mrHH4p2ZVRbsUERzJYiO3JCvHz7ZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24544898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwdscCRA9TVsSAnZWagAAgAsP/3MwXFisgS7e9iAZgRKL\niKyy0r751IKeWHgf1pUToUWhIp9/N3FdSn3CKYiJ3xicWkWFwnC/MzD9UAS3\nBsxLQLr+IRcibVudTgW0GoTOb+BATLgfjX8+LwYffTEQuRirjpXd52HaAR51\n7bhkSd41GG/wz6a2CCYuHIgiL2D9mthVrgjEloyBtuykbLy39z/KS4Jcx4xq\noA42dk4z1OxCw7tLrV9C1B9VOovTYzX1ToU1u6sUF+1EiXGKIPVVZLRaVfPn\nvBgeDDMe4pgvctFJXUVPkDQAdGXFMfBS/Y9K7UP10ZmXb3XMZT5isJtO9QVB\nVdASpDCkPnmYH0nH+0iDKwTRTva27eM0/shLuYOWnSGEiKXqszUuh0tgTJ+y\nhDG8dRbB1E42IEmEjQsd8K8gNSEdNHvS15XkuowRZC3fLrmmdhaIVXpSWyM3\nnxifungcv31sx6QAtipwVt+UO7jbCIeiHAtiMbNq653dHJRf3zCzIgl70Sy1\nXKWLhMpqCrUTMfRk9wM55JF6oYTR5FDvEy3a9L8T9FPrqFVcB58QuK8j34pt\ncbZCt5mV/rZ0Q2J7PyTcprl/KByg1O1kZKgsjiAoqsieldUvj9k9QZqXOBoQ\nrEdqejY18q6STmkKSNhBb+p6lnRjBaPERAJGv+hURsPTx5mTPKga8ascDkvS\nYYxS\r\n=tPEr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c_1640094491789_0.9526236968749331","host":"s3://npm-registry-packages"}},"19.1.0":{"name":"@preply/video","version":"19.1.0","author":"","license":"ISC","_id":"@preply/video@19.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0139c7e430cb1798e96036c6864f455c54e88434","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.1.0.tgz","fileCount":1188,"integrity":"sha512-OThEDp0vcicWk7kRztpctxVV8wHRJpXX9Dm6HkXOYIuWgraFH0LgdK+AkjY+QADHLZD9l2qrDTfuSdXnoKAQXA==","signatures":[{"sig":"MEQCIDeATLpdG7cO0D/2ArcqNTktKU9fr3C4XyrpLvXsuvojAiB4VhZEq2mKMF69A+PTdMaZrnW24mhuFA5mX7N/WbDc3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24544064,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwfGOCRA9TVsSAnZWagAAJeYQAKHfzClz2F9d+W7vK6V2\nwLXTm+G5sOSGwCe1QFiL1Fo+jZ7DEyNZKhr+EK5qortq+1Ec/DHgoEQE7n04\nEuvUBdRaPVwhhEM1tNFm4yKbvrMFV2KSnJOnSX2P0LNM3xL69ZyC3bTP79kb\nzkC+/8RwFx9d9Wr6GnaTdRvIY91Q1DJGG6+M6TWjUy/98FY/n5OGtCPMV5/5\nyTiLd5uAzCcpSx4cGNmacReu6bfbYm/Ppf3pT9kWyM8hsW/Evo2V0EmHXAD1\n/1/Dxm346zGPpBAcQHUpmWvozNJNn6Zm3SYrx5FS5OEvkDbDbSVnLyPI7c1m\nl6whSrxanDVnSEzHyz1F6H6gF9uJ0E21jWTcN1G9pKBOXSPDMi70U5d4l/l8\nYODG+O8Lb5xgne6oM0rroNPj1H95BiHmRPCkcuiYn/y1WSL7unZSwDubeOuf\npLp7JEhpYKmkAPjHfhv9n+mFzpkcGwKiL37AT62dbGd79WyqO+mDOknip7di\nNs39dxWSJXD9+ZTyejz1EN+FVqqG/SSxlhVIwcBwp0tgdBBxXQTlQHroHIth\n9DlGy1nq/uyrIxyVm5aCXRQ2DzKNiWmsyurzOxfGXuvxg77mDe1SxRDGRn8c\n+ldKgI4Yfng2Uzw9+GmiR28bhgVjdCJjxx94NNJbu9VUPrAR7WG8vXCscYDs\nTXkC\r\n=9ZMr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.1.0_1640100237574_0.2136789757698898","host":"s3://npm-registry-packages"}},"19.1.1":{"name":"@preply/video","version":"19.1.1","author":"","license":"ISC","_id":"@preply/video@19.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4cc3b83ee1a25e2f0915cb9b641f1d960c0b03e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.1.1.tgz","fileCount":1188,"integrity":"sha512-u7/tXbR1IdzuGBUF2BvJRmkmnFccDlJdTNfDB47xx/DHyxwRCzwcOZd819GRS+C5aaEYfA8jjeHxmWlLUQf6rg==","signatures":[{"sig":"MEQCIGvpX5feqvQMN+/nOKg6lMpq2InZHT5ImSs7/nUwyYKiAiBg7XDK+crtwFMTx+TK2zLfDpv4wzBtNmWgrjqTmvnxzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24548399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwxuCCRA9TVsSAnZWagAAPg4P/3i1ruDzKvZonDMQ45PL\nGBYQKlzGMdFP+krljMABy0DSAZwdtNjhtGsUben6Dk3RmrrNjdGLMUcgTdyu\nLPoCrVFHWSCIhPPbPhDvqkG5g1vUmmKTmBo7aa9RNCWnq5DrnV7xBWktv1hB\n0VcSqF4TWaHEIQxkt5duQvenM8jGSN4sMJIts9nMYMIaA51shQArBVjGuqvd\nbArHDkgfojlbcr88oguvfiNYHlkLe2D2t0OZqq/UMRlU+8/BFqcY5hZtLI24\nmhHX3v8J6sZYnCa2E4xlrQyYrfBmDtTraGnCGAECHv7mR9PTN0B+75NAlYBO\nygcfsdZ7XlA7DtHapVDXsQz3FSNjcON3G+ATUh0Xg0CU7oKhFnxH6dt2p+OE\ngmerNHXhFHmvmyYlNgLiBZ/5hy3Jd50jYHnPHXOU/5ZbJUG/myQZUh3SKTt3\n9Zwupf6ypP8BPXMjxS9+A/tP6PvUzgqqvZ8lqpky0nH+Q76vHfJdgqGVWOy9\nUSvk/gLzCG6o0r5bg6ZMcJSnoLvnWs6Qlzl5ldChLtu3VqSSxa50tDRn5bXF\nOjyKFfczUcafmcgtYk0u++pB3LaAj6AZ3Qeq8gHUg30DMcqh5WFKFF1T8zAx\nbwQTlH55sNih5MjFZ85J6Y0cnwAOZ8UP/oSSJdrp5OwFwpSwS2NXI6qsLG1u\n1rTv\r\n=9ZPN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.1.1_1640176513601_0.22074056519013174","host":"s3://npm-registry-packages"}},"0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890":{"name":"@preply/video","version":"0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9da109eb618d31a94b6fddf083c3f36bb73bf8d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890.tgz","fileCount":1180,"integrity":"sha512-DpBDr641WFhw/xwJ/yVHqe2juthZ+RDDde3VeQFRvLy1vzMeKsS9rwGpRUvCbq7E4tj2wH8Djd0APnQHNI9aUw==","signatures":[{"sig":"MEUCIEwCDINtAkXeQZ1yG6tURm5p3FToOajdjRXzTpYiMZVPAiEAjxiUmdgbygnIKksSk5GQeODYC+Cd6aj64z3G0fDFjTc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24433248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhw1NvCRA9TVsSAnZWagAAbNgP/0Z94O5Y0GTUmoGoO5EA\nFFmPZbvFOvl1gkCVLBPEkovxLWfLSqbftaAGd6owkTG9QHzLp6KUuhLIo8uN\nGm0ablr3XBWMNDS+0oqsHtOMkhI9x7yfSoi/wwblpcBqpvHrrVnh90jpE2jQ\nuMHyrs/tmyIVyEIIXVT0p8vfDmnKSG7Hxk8Tb9Oj/yv9O8eRxcKINmErs5Q6\nSSsldRxfS3MnLElmGf38IIc3EFaIVkifyMiohPd0yJSnYjoCsuAdkU0QWUaS\nY+tQ/inLCQOUS3yW/bkIjsYCBrdQjjh/a7iga+nVnH0JHcDgBP52UBAG8mTC\nw7+5gIveFkbkYy487vK96VQEwYcY3xmRe/0gbHn/lDls0hfqKl4mn2ANn9YS\nZDQW9smU8fRmMvBrKyXgQqJVumQJGWncFAnOkUYhdCCcn/nljbWkl/+yh765\nMnVwFuZAcZsOMVeu1GDH4NJbqmaghFxMWRFl6n80dFnvHNWrSLCeJbdbpP1M\nTYNVrKMbNtpGRNjKSeDsPA7+8grWlhtGq0WcqZxJ/Tw54bo8PLCvvDMFb3Bo\nzQdaSx5tPNlUxcRKv9E8+2lVE9UVP7Ny9rwOcPknYF3j3GUC4LmEaeEDeaNP\nlTGmvlwd+465qlMmY820dBXDTW9W6tnso06xj4bRMvIOq/20ozeqAFEGBnMX\nlPCD\r\n=cTJx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890_1640190830673_0.6460443671374665","host":"s3://npm-registry-packages"}},"19.1.2":{"name":"@preply/video","version":"19.1.2","author":"","license":"ISC","_id":"@preply/video@19.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5f288cc1e12576d5564eae746fa55b1189d964da","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.1.2.tgz","fileCount":1188,"integrity":"sha512-w7rxDPPbIn7YZCVPuU+bF7f9xck0vDpGAleqsF8K8TX6bBQ4SrNkc+7Ly/UEifZkT02SzVrK/5jfCTO+vM07hw==","signatures":[{"sig":"MEQCIFf/1E9EglqOdTRo0wKTBJ/pegmcPzRfLYw/dCOJHN1SAiAw/YVu+HYJx8qGY2A6yzT78/fHqY5k0S5CwRSa4Usndg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24549781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhxJ6GCRA9TVsSAnZWagAACE0QAInplZwWuRLIAz62oBf7\nZfYoCje98RYafDT7Wlg0W5mCTMz2qG+UM8our82017U8PvlTqpiH09brGB2t\n7//WSFI+BX9jQxI0Ytn1aNQMSPXvpdmthr+6sonC4gp5SZnaa7IBOovHL9W2\ns1OH8zX3N7Jr/uW3i3Klb51e42cVmn639A0+ueZTZCCVoR7E/sKuWu0hH7Sb\npbn+4OkylYJgw3aaOPjn+7GcWgWY3P9vkC4HrbyN3WStFh7OfUIDLSloHZMY\nFFsMsFZFV58IUn9uVOH7SRmJ23IPVAZPZ9QeJSSet4Yjn5yFaetgK8i4Z6US\nHmPqsfLmt5gOmXyCk699bZE47DdLUhG8CWj4sBhvL9OxRKi9iD/RkzIlf7rB\n7myK3N58aBvmoncSgsxPMZJVi1osit9SCXmpSGTiN0A91Fgx0o/WX5qNt1+K\n3YI/G0OKdDWRrYglly3HqeH7I/Kp5t/JI3Wt1j56920aMjhmJgWkOyGVVRnH\n47n2XUKXWwDYC991lCW2oMjl4KulcEdEbYtFJgQXMnZDcNrhlj7Zax3CVHKh\n0ZM4cN3I6NEtt6PkR7VVF8pFuvVD/8aogHHTZ15vUxDYL3GbtRjoOjqxOl1v\nFO6gmrjwQ/xASuMV/WOYCeP+ct71ccr84PsN2Y/vDjt5j2UNK3bVArA3DjDZ\n90AQ\r\n=vFv+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.1.2_1640275589864_0.13339222066235656","host":"s3://npm-registry-packages"}},"0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688":{"name":"@preply/video","version":"0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba653cfd8f89bf1ab08563c02c37c4228da816d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688.tgz","fileCount":1180,"integrity":"sha512-nWanXXNPO0TMrhYOxIC5EA5S7dmK5ed78CGtMDAkum9fOMEZUtrvy0Tsuio5UHV89/xpqpctc8oxytTFnfuQeg==","signatures":[{"sig":"MEUCIQD8pNnSaJEsLjoPKbGMC3Lc/EXe7U0CMrnGpxPTL/gJaAIgaXbuKSH7x5B/FtU7v1kT/1GdQf9M6N/FZ4t25Pm0I7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24434630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhyaLECRA9TVsSAnZWagAArdMP/3EYPphnuJnfUVsOSOh9\npBQiQaPJyweBqtMU1hU06BV8S5AwD6Q6/TvYE/7A0rgMRaIiSRvZzrln2tJZ\n10XDjeWAGRxS/Ak/BytbFitsxyZTXPAflzJKrAd8xb5r1pTG3NCwuRK72CDR\noiysBr+d1eWQFgr8NJbvjdTFRxBzSGJd5K2DYzVoasKz8pAR91lrIFPinNNh\nB7t911GUWXGittnnAt+CJaTgHVsXljrdqvAcFgw1VUZkh0NtpVattVqnLLN6\nWPJhqymtN/QkG3W67pMSoXD4Dizn9KhF1rtsMcnHWJ8avMHzEHrPhXxeS1AQ\nJMEf5PdLd7gM+i1Mz0ZbMSns1EkCERXNW2rmhXxFGbN+9e5uDdc0cuvOe7Yj\nvIssLZPrnQkl6usn8Emi1CW5WEj3KR+SGXqk/00TzQbluPCYroqy++WGfQQd\noMsvPEWeRr9+TIN9KGhRb2U0ynjbySDbFZrkSaQG2PjE1FxTPP6Fu27na6De\nfhxtFYLiEgk7/AjhBqw66mGjiwobDMpqd+hy6qxtgyaUyJ1fKd1VjVcEZ4jG\nXhS+SaWoIz4hiXpYOLebE8MfbJ4h/GFQD55VA82TdwYyibV2KBfO76IiVCnD\nm+sSQpqw8Kl/zDkfdQsQe4UaWu8TnzBQEW4UZx4rfp+h9w+xMU8IcnClM2xj\njsAC\r\n=Wcvc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688_1640604355664_0.08382443537178008","host":"s3://npm-registry-packages"}},"19.2.0":{"name":"@preply/video","version":"19.2.0","author":"","license":"ISC","_id":"@preply/video@19.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aad96a8d58d6b52fecead5aec7b32a8e59afd202","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.0.tgz","fileCount":1180,"integrity":"sha512-ZqS4CG2Y81c8/whqu+AKWKWeWw0Ce9YN6jchX7p6pdnGnPDnTMPsYQwh3uGifkeYvAnyTOUPITzWQzcQW1QiIA==","signatures":[{"sig":"MEQCIDLT4XVOmDV+nA6ghlDrxhivy4yt8NH5cuDdQAwB1yM7AiB/pLIF5fF4kiDm5a/N5yNbzzKUpozpM8IWVjPwEfJMgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24433906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhysJQCRA9TVsSAnZWagAAyn4P/0XZvZ3CpNS5bbIRkSIM\nuuLiI9LY3XTkYXllENdL2K5muIzbHxJgLEYaMIA7uze2Sb31ZKCGfElPYMwS\nFx6kIQqITiEk3XB3ksytDkLS+fSySrloOIR8xxMrWpqaNR2hMGBk/nZ+F+Bd\n5tpKLuOXdziSq370U1QhlWPFePqa5tPQEzUyxJbGABqal+ujafkN9UwExSBK\n5rZnEsMDHiLOL/FE8Xv8NLsr8VZ6KrbIBQfdpDCg2r5NrwhHLtPhvVgxkK4a\nJrRAZRd+KMavlRPS0X16I3sFx3i6vgtzxas+Ysoq568d687Xo4glbEHagPd6\n0emY9MIvNZERjfnscg/i/fkONy7EYphFsdWUtDSl6rQsPOD+yhSmAlwsvQNj\nNhFRJNix6cOxce/56cbxoEc/tdl3txeIUM5zoh4jwVDbouVm0euAi971vMt0\n75X08B90JyGfkl5vowZ2aeOQH8c8HzNh7LdYDdIIod0xrar1TOrdnW55hbna\nF2RRoBO2TKXrWBnWdii8IQ0KjjSst86xgHAS3E7zIWQw7bXVIWzREOsWx08h\nuAOfbVjpHZ8ZCQAMfF1Vj7FOAizLq2eWYd2JBLzw5ae1Q45TnOEtLFsk4rMD\n8FMfzj6JmBBeeTBHgzwmPSKzN4kYz2pmH5GcgC8OkFcejB6jIc23dhtkOq5Y\nmRZq\r\n=fZxO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.0_1640677967950_0.7960239029862957","host":"s3://npm-registry-packages"}},"19.2.1":{"name":"@preply/video","version":"19.2.1","author":"","license":"ISC","_id":"@preply/video@19.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"79b7c68c58a1987cc92237cb3538273f9a45e57f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.1.tgz","fileCount":1180,"integrity":"sha512-NJ6j7TqERjblFmWdSRGSzZqQHjKLBPIUA2+nyCvahtpq+E+nu48oerpZ7DNFewX0H7clchvceox1eQ2FyK81nA==","signatures":[{"sig":"MEUCIE+uZVTClVgFzI0Zb6FZVeX/n89m7/4urbqJjKG7TSs8AiEAjWag9Pnuyxs8Vhtx86mlWUs/I4R7QXfGhYsflSTMDoA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24424318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzBmmCRA9TVsSAnZWagAAa48QAJAQTa1T/bbya6kczhSL\nm/ApaDV11NYFD6gLSdL2lE0l4zCg0c5GdUTrSZsdT5wzgxeYzcjN/XY0diGK\nJUlAOX610XtJuETU4+zuqGHIrXWBQCwgGyrvrzNiCFxvDf3/5VWJtEXtSpy5\nU47vlXtJP3SjPS3i2K9Tg21NPsf2EpgyFYo0ZHVeVEFMyBAaWGkkqM8tPW50\n6NlPMaefG8yzmp53xoWUMRGZs6TzDKmEttAM3fJN9Q3hsNLKZohRGpHWPWYh\nM9sV3ZKFGRFnrkPci1Dnsu/qMC78EifmVs5f2I5X2CQExFo7NQbWjTfguUHu\najUgIvljjcKhYGZmHjYtOgJcnMoAByy0lIksRCh6129BkxPtlcjcDDO4RSlW\nJQbdQYJSh4YwCsh5OR5qKw52w6HRWB4Vhg6AOwncEp9qMtXzJhpio28kQam1\nxQa0NMIsF7kqA0whoaGqH+VKSGyIqWYeLhoyWUHhrFF7mgqWQBapgFc9GbQO\n1AQWCvH+hiUvz3qWiobFH+YZbGqXjs5t6HNC9A5zNpgB5Ja4CfvVl1sgMc0g\nnkIuQ0ryPo6Ja1ViXOFVagGQisjfJ4RmLCgn49plvNFZICBadmr+6HEay3dN\nbsbWK8ed/dH1gQnArn3y+0W+g+nR2JnOnWR2DCJ6bll0Ff5a2Q575DiOQfbs\nlNht\r\n=a2fJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.1_1640765861783_0.9571144483756495","host":"s3://npm-registry-packages"}},"19.2.2":{"name":"@preply/video","version":"19.2.2","author":"","license":"ISC","_id":"@preply/video@19.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"12222e8c0d0d4dd51db82a7c5e349226f5a72d6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.2.tgz","fileCount":1176,"integrity":"sha512-Z5GUvEZwz51jxpYbfBNhAzAlnMll8TB6hmsNPoYULFxQBUT2cIAZTXkr6H+8EGCyHR4NRcM1v4I8iMk/RtvF3A==","signatures":[{"sig":"MEUCIEWU958CdhTwuB3QfGivY6yMUDdbQGBoKKkpy6cBPLxqAiEAq4VCFxPze6lddJHJJUgIUkGrA4r7ZRqnYTtqcinths0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24364599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzC3lCRA9TVsSAnZWagAA2v0P/jJCX5W40nnvYXPPakme\n+VLPVn9KwAZB9Y5/11XMnyBVtYaX/q8CKiGSOzjDFFnnmsQEr7rfT2SLcrkr\nERMvXEm4QCj149FmHcvUOOn1wNuCUnx2/rLoJiyZHk+jcFwEPWFDBbMe1L5i\nkqsb89L87ZsnzgsGdyTUz5Pp+HqSjjSvlGShY9Vn6nhrYjFaWcXUrH7vzryR\nasobHluv6H1yMsNl3d1c4aBxBbOcoGb8MTBOLi5GCSyZifzzG3OXigdUy3vM\n83IotVNaL70rMZi1BM4XKiDY6rWYj/+4kPCw5ZcxFxd8ADUAgi7l+56eFH+Q\nYkeHtT27qrYd+5r6x2+YvDUxOJv7u3oatsuFM/VZTBltZC1tOD4NkPfZjzu1\n44jo0kynJoSomIGrE+IekX1H6RPi6Xuv6IYGufK6BzTd76K8bYabmNbmPUOG\nbJUe39osN5sYO1I8T+oXBnxLJhdkpnaMvAAP44w/Rc+xB0ou67Rxo7CtH06T\nJD8uMZcHQdsZKf46PYBH2JgYksBFHcY9kBwBR0EusheIlvLj++sTCU1Pfaio\nexoGgm7JrjIYhGrFTnBzph4VbQUvTs6c0cKsVrqa6YllCu/YNo122bVCCioz\nXh6i5yQzUd+Jyj84QZ61oBqtfYaXV7jzRxPFluwKyD+gRYlyKFdU+0hKvtld\nom+Q\r\n=SkXq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.2_1640771045271_0.8865975357694647","host":"s3://npm-registry-packages"}},"0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4":{"name":"@preply/video","version":"0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a7daa7e2e87ae2dcfb1cd560f0d6644ad40e0926","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4.tgz","fileCount":1176,"integrity":"sha512-jKVrK2np91dBZXNaZIEA92GZTIsloVglcM6KrpXDvNf8xNqppE44h8T1YhGr33J2/5T+ORqqeu5gVn1vKOyjYw==","signatures":[{"sig":"MEUCIQDUx//J+5Yl/foKQcoscoDh8Y8gVr3SdvFwSyeuea2cuQIgVWKW/XV2dMmGPpBHYovO3JtDKu2qVOttJc3k9+z3ong=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24365424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzDriCRA9TVsSAnZWagAAwnAP/0OeExXcdMhBTS5YLSxM\nesTu+NqrbdezHGCtySk7/pBJcnTG3owoUzx1uC1A9C0MLy4pWvfKtsEzHRCS\nL3cye2XxLoqJRPZDeNtc37ehJm+Fh4KpkhkOl62EjEFbnB2PoYFrWhdS/qAv\nnUIevosQ+dSyltrVt8NQjZzXEOeO1Q+iL+cFlQs5mMbvDI6Ry3uyFAm01E2V\nzgaAM7BpDzELjZokxe16xVKey61mgcOFqtx6D53oHtHxCVJg+Pd6ss/DJzAB\nFrCjElXRgY4xXV3tVlrpvcMWXrgKjIr5dP3Mo5TxUtoW8WWWctoxT777i1No\nNLHbdTLMx169PWv/tCoNbdWX43MmAwmBc1FrK7IW7impGepkjLLknhnDShPd\nT9XSpymNc0W0ooh4ihuxLzUhGcOpd6R8W83HvLAlvQt9mlwWBcXW8oDre0m9\n/BIhebMMienltjUBQraWe9UqmgBJh2Lg/K5cMY6I1336zhwLbCTq/fi+dbC4\nd4BWXcoNJa3s52eH16Mx+MaMETa9khovmh3FQg+IwT14xNGcJeIEQQJ6M7k/\n0fEQTUGtRX45MLlphViaiuw9aNU/Y0GUeWDqgV5UXWx0PrYG/sKrsvwyRjtL\n/HU7P06kr9PTMDfaqIIKSgfAIU8t9PdskfJpWiViQI2lCMwSOizAwdiGU5z6\nxmSw\r\n=6gLx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4_1640774369720_0.5688066260517697","host":"s3://npm-registry-packages"}},"19.2.3":{"name":"@preply/video","version":"19.2.3","author":"","license":"ISC","_id":"@preply/video@19.2.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bddbf82a5bae0d804a01bc7b8a99899eea8bda64","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.3.tgz","fileCount":1176,"integrity":"sha512-j2U0QEAGcGQlS0VUMXKn0XNdql62Au3lM5bCHrxD4qyFupMPB2zh2xNH8fMFhOk+cyDGTN+5y+9Z2Uw1ydJWQQ==","signatures":[{"sig":"MEUCICIkpdcweMfYDHdqGUz59ohXfXIxYJVcO+tq7X1eJLqdAiEAnczIGxMC8ubVcqCFbUlJa+2ZSEpKzug3T+KJxiySlfA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24356250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzW9XCRA9TVsSAnZWagAAUXIP/1wJqGYKyfHRtE+AOYNB\n05Qe1gpXUG+/w5/pV4h/Zg1SV7Mle/lWgMZp0rRIifKwlcaSj2Bsxe0EgxKN\nYXk5aFRQbi1C79rMqFQnLXNA2i6Fl03pao2xQK5ydsAd/MguUqjqUKO8sXDr\n/ZABTeHLg5djmYwasDD7K6zZ14jxlGMMod3HyS2jFKgD+iDRTYtc1PH28UpB\nraj/A+4taJ+u5sAeqJzD8WAsw2gCgkLeJeFXmTh1WIVOn9o/Ysen/HEAoo66\nM5wKV+PtknvBGwq52RiYEzdgVWM5I3gEBwG4C3xQAaQtg3b+1a83Pyg0B/Ze\nYkFZmqk9a3n0VZBiOjOslrgNjJ0w2NETvX6dkSdG1AtfSuJHYO0hP5oZjYGC\n6mQkU1IWZV1JPNnjtdJ3hXL2yThWPCJUWFlyjFk5+DuWndaigSAccMV9FvWR\nXkHpmIAssqrn2QRnlMaJUi4Qw6kRr2Gm65rSlpz/MukbtDG4givW+ljgUb/Y\nle/Xim388JBWZ0tGc8P/zRu6AZVYk2kaVvl6nxslw3DSuJsLIxhV6a/oJ0sE\nO2NTYEFlF8dEHFILZITeHi1kYwDlh+wDFSLvn3t69HhHmW79ooRJtm/F+8DU\nGfjvrs1g+9lDfnZw4pjpp51UQH2PwvB5ASpQheXjX31rN2BsnUZ+ovVu9V7q\nNImt\r\n=dASE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.3_1640853335533_0.552672997662107","host":"s3://npm-registry-packages"}},"19.2.4":{"name":"@preply/video","version":"19.2.4","author":"","license":"ISC","_id":"@preply/video@19.2.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"20ebad72d3f3e0a3b41e7ec1f57cbf9f255cf2a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.4.tgz","fileCount":1176,"integrity":"sha512-diT7gI9BGmObbrMLfFKTf+WrrC8jTSOH8QreO3Lc3B5FiUsopmCGmU4kLIEZ9ctIrB5fzvZ2w7Zp34yWk0/JFQ==","signatures":[{"sig":"MEYCIQC1j56TVBmD8cglUebLScepkAXJh8wxYqADNTDrYiax2QIhAMM7M3+l2Oz7OkA5iOn8mPlEWP5ofpstk4bb41Z1Bu2H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24360775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhzYs8CRA9TVsSAnZWagAAZgQQAJMnuaN82uZSZL6Tp9TE\nOgK/saKfNhR3kuYaeJSce4fk37C3dxJJTS3U3XxtTBX8NYrBQZc8GdWgtR93\nrk2Supac0QMsE2y+UUNq+Csc+K5SfvpkaG3koZmEQpwauGAAhm1zpMuKivJK\nP+o9lGJ2vHQdJlCpuMewqB946tmqJ/N/jIo6VjxAtCTYLouAWht8MqtgjKQE\nFCMTRsuzBq6M3XQ+12/qXRi1bj8bgD0i9PymsnfFbYrOb/aAmHUuZlipa/qW\nyZOEXziufRDKEDpyD7F3EALE4RVEpbg6TmsYAciLFA3/GbYUsSQ0w2H4I+s0\nGcP8lM1Nu1gVmnqr1vdRkj0ii69/wzmUu7lzktzzVnjzJvCNVbHSW7W9a1Ez\nlydRbpvQkRaL3Q6/oBK03ZyArKaeqG4Ejx6MY5icEXio2Zrobc9LUqbGq/Qp\ngIj6Bnh0VdrFZtCcPLE6ItWCyo7NAP9dRMnyUTmX8gAoG02sDmpmFgNdgopz\nZyuOOcvbn3kU6TGJOechdzQNSLpPaopmW/JJL+HJ7tbq+z1QccQGLEAAz2D3\nm/sdcsiEJcJZXyDBiuxqqzPzupeqxiX6v1mSVTYuWzODvsDX54YfK1yT8vbc\nmQkCjEPDtVZlwn9eYg1IzMtShFvxUTcc68xlcM02yWWD8s8m7nOKGIZc5M8h\nrezF\r\n=ROVK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.4_1640860476351_0.571153203073804","host":"s3://npm-registry-packages"}},"19.2.5":{"name":"@preply/video","version":"19.2.5","author":"","license":"ISC","_id":"@preply/video@19.2.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ce19dddd118d43108fb97f5b70cfbcb4803bdd32","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.5.tgz","fileCount":1176,"integrity":"sha512-JpJOMZ2IPR15Dvtmi6oBhRElRBAAqoa7EiJnpVFZEULQdNetlYhWyrMAYKLUBiOzKbce3ZJctUmp+5NompRIiw==","signatures":[{"sig":"MEYCIQDu42lGYfdHZMYVy/mmFRvlc5uhnHKocqZOv+GwlcehfAIhAJEAx3sTWH9XU7pthu8Z3i/LVsgRAadUmgilR6KUyfC+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24363131,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2+tuCRA9TVsSAnZWagAAQ88P/1FVVqhvXRUK7H1ip37q\novzM8abg3RmJL2c/FboauGDW0K/P+SLs6AoLmh1uJvcUqGup5rzlfi0tMgbA\nYr1tPIbrw+lVCOYu+J96aM4P1FSgDUm59+mkoh+8OBb2Rrg3gvpWyv7/BDcf\n7cLxEQHXPZN4EzIcPsvKR+YNyOanCVvGh/E9ppSdKodkybTIQb/1Rme4zONe\nduc7WjnR9KAsoRXU2MzH9JvvfOSUloO6rfaK8IXLoJjoH2dnnigLe5OYyM75\nh2vjiWwI2hPYmqGsuRZ1E+Q6VnlltNJ2HV0cl45f7+CWk8kGa+zgv9Dos4MU\nbXWWYspzQwteQ5b7zbCilSiaRwvRfTcLnpET7kNIzgrSTgi/fC6G7Zbnegf3\nP2rHBvskc3cI7wfKLWJ/O5fSC1rFb35PyXT/elc+TVhi0kF7zesNyGHdvObt\nbyLefFGIx4JcLSPTj7evuyfYCla3dZ5NC/wrZTDsg43GfxNuchReFQqpipE4\ncrX1ruQMpV+IS9KCDdaMEQdDzNkOQ7mnn7kcHVqqup/Ihs4hPgCwgFWtZBUY\nXLKhGosZ7d2kP4aq0IsxGf4sNQcLsg54EUrvGhV1qmuj6utBak8nOUu6Nd6w\n2CZHnFXmCBBOEoZfeD+taT8Fh/RcbDw7xl+YPFAFIHOO8lW2a6yRd/XqTziZ\nplf8\r\n=ZFPw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.5_1641802605660_0.45833009303329386","host":"s3://npm-registry-packages"}},"0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576":{"name":"@preply/video","version":"0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"935f89c91504e9a83a4616edf083cb5c1f6db40e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576.tgz","fileCount":1176,"integrity":"sha512-CWaxDXGFTkcWbd0lpJyPbmz3Ipld4ibX2ZZOJ9t+sM6pTWOJk7gurKjkwDd0PaALTPktEffUIuVaGqa+Zvn1LQ==","signatures":[{"sig":"MEYCIQD8fYDhWfZX9cIhKqwukUUjQo4m+odqhYWGWyG10/QRlgIhAO42vNeZ/t3bJtokVKXyp5PuM9j9Z/m7Enw7bk7CXqpd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24365105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5bAuCRA9TVsSAnZWagAAK90P/R7HX6l4rvLyWxBqQD8h\n5tmwwnTQO/fvgS6ZkzADwomuzqZyBWCCdxOfMfLdRKHV9QKuEqzkUavZyeld\noIzHzPhieQKxvZ2vqpRIwM6USp4PUgPauoWqJaQQK2o3UR3xL8hQLWyGG4u2\naxxHjXzwdtZZa2r4/vAnATi40ubrKDAdv+yqbxrCQ4HreZNaciqzU3LcN3Wb\n9fj6wJaT0LxBH5RfYB2K2ZmjR1BlVXDTGeRr7OBKz9e4ZIL7OdqrM2TyexSn\now7twso8Uo0C7K6EI31Wwc6A0X1ZCbK2gVpBEjDikppGSRe8+atcoZcuvKEO\no6v7Sgb6Hqy/mb4ruoSlkgQ7fXQ4X9jgx4OI1Fra6Upe19IdopJ9ihtMYMSK\nJ2rCMKsHafD/dHoN34jQrjhg9Tt3LPF0AEUXfhE4QLsHMKd5e7ygWzuqy4F7\nE0t717KYgGXSTNKl3aF7V9rMvrLgwfs+eo/aDi3qZR9pYkucD6VmOie9qJK8\nb7nwBYf9IzcE6AFLtFXx9r5oJMy/Tl5JVJ3FapLt+v9BinTm8j06J63nnXYI\nNadT5Jk8nXeR5pmWva/QBl5k47bMC5NjU+qFuEqT/Ac4aK7mMcL1jrKgMMDx\nmd5tEqOkPU9rd6IqLzd00PjOO18WXfwys1VZ+2RdGX7q6hc9CgVhgnFLvOZ2\nHft/\r\n=eRC2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576_1642442798362_0.3354732251172543","host":"s3://npm-registry-packages"}},"0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8":{"name":"@preply/video","version":"0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fde0f43987110503b3922d6d63fbdb4662f8b7b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8.tgz","fileCount":1176,"integrity":"sha512-owwp58bcb2JBUO2WhXhghJ+lXwrKnOQt6Cvsx+MqCBczOcBu5wuBksV/BnIltNX1suzPhcy1/3LeraC3WVPC4A==","signatures":[{"sig":"MEQCIEEBwOFU2aRi/v2kipdUjUACeffmZqtkD1NU6bpQkPSrAiB/zM9QkdRvx6ZdGAIfjaQZwW+hDPXL7dGVlFtnveBzCA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5cj2CRA9TVsSAnZWagAAuRIP/Rhu2X/kh/62W2MzAAM2\nJqlI6vDdhDdVHjz/2ddqKSzezVE71R+OEU4B3bR+iUXBn70+rB0BYs9zm8YN\nHH1DJmGWUoheMPp4fKZRSmNoK60tUtUp+oGTnd4WKIcBPoqCi3K4XwBRVLiK\nlpDEPhvzwq2EvUVsosHU3GQEqhZ3LeT7jsvMWSJz8b9fo7ulW7wRv1q2wHmZ\nE8+3lwO9FtQ0De6w+cg6op15/C7icD4sGY1e0oUY0fguVoqwmi37taSvQWar\nymZTwXDz4eRbU2gh9o8hnSXw4bGB93ijQz3rMCDNZBdq8yMLvmjvDmm3I9Ul\n0Y4bwhytKf7iBDxw3udiJ6kwwSwRPWVMygSNU7a5PhZmwz8pxUgt6oilHksj\nXN0YAZIdgikUnHFv6lSogzBqM0gjXSE9qQ1fzm5vx3sP9ALPFCf+wThFyKoK\nwveSZ+MAk1b2xJAPeZFuUT5Gmf7JXyiCP0RSHMb/ypvFptUDm9JFTOjR44Dp\nc+m/iijwVsr0r71945U7EirmK8Z4jSoTs+9XZAIfyBUmweHmb7tNpGmTqXxb\n8BgY01l0yCkG6IHNSE0D/1+GIF44PZZR79BA1xgnPRKuqUIJowx0k4gjyKOM\nLD8NhcE9D+8sFit073Q2rqv9EpjrptJR8/P7P3HI7LFDXeDFj2EHI2rBTLGR\ne9LC\r\n=5x9l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8_1642449142396_0.4279402174473683","host":"s3://npm-registry-packages"}},"0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af":{"name":"@preply/video","version":"0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0bf961528fe6f08a445b9b203d34ee8bc926d56f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af.tgz","fileCount":1176,"integrity":"sha512-lcRIKoGT9g28m1H5nAf14tMcgaoEeilPvEPPB0S/K1gh9Nt4Z75ZZw3FK8RJTtktIOvTbmmmfafrLgwyuWDiUQ==","signatures":[{"sig":"MEUCIQCpmw+RoSp5P4Cp+MMFxJF7dvT53rGS/KnXhxLqJHhIlwIgORXl073S3nKiLQErBe3FCHjGVFvpDhxddz7TufcQEsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24365434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5qK9CRA9TVsSAnZWagAA7tMP/ivYopDrhNnvxmivJ8Td\nQerHFxUpkoCKMlj6+hEpbwEUZoaCfnFstuO1B2G1oxextOuQzjpUgakrrq2y\nYE7QqrvrqrxJ4XHY2Wz02YW3itczEsD/cPn0eVu0GWHubOrwy3OluM68HCiu\nlEpDeHV0ph98FNQjYM7iXsi0YhD7ttTHCCxMOJ3WmRAbukkyT0gCLPuIGX20\n3m8jC1DotmRn6M6SIy1Js71Jz3Pw5OzuEGh2+bJvDLmFlLLCc7KB/uW6fiqo\nQc5NdEHTqxa3acc0BZOuyHg0YRJASAetrFjpHEVEvEgP0U48EggC6NcmrL9d\ngifv7l00yGwRVh2+8J0sMO4MnH2hN7NH8RQ4WSShZecKqqO2Bsy8vcOirdVH\nahM6wJDed0Q/pdwY/iOSIbqumuTKXcui5THVugst9/3orfeFaGfnpUMTKK+f\n9T+S/2S9YShh6M8lgypzPsdHH14uJSZ/MKXq3ZahmxxVhp92Ye4KKtRIzFww\nJg5ssHOpLZTb2hO7dtbxr31M12rctzcKd/p30zmtUc/AomwYlcj/70UrIlt+\nfFYwHcd57M82/jzhBvviY6oh/7oRbj5eOxjD43ODtMlyO/u4lWAHoKrlZNbj\nchxSxiiPyYlLxLf9Tsq3Z/2LILBFn75iucjLm3G1R6zECEI5x0Cbf3ZIsqD5\noqQc\r\n=lMEn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.16.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af_1642504892895_0.2923731806778336","host":"s3://npm-registry-packages"}},"0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e":{"name":"@preply/video","version":"0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0e344adbf3285e51b48b277addeced8849bf306b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e.tgz","fileCount":1176,"integrity":"sha512-DQFKz4Dnm6zHO0Rh/y7WmVscautvo/Wuh1PYN+Ewvsh0j8n25pSQqQefQ7pG1vjQAan26lYz0MSltwnvy11DpQ==","signatures":[{"sig":"MEYCIQCYPW+FWpR+iBez5/Wp8C/EvZ9+KrdmfWHvR8UcO6rGbAIhAO9d4gI8/Zegat876xOBtWfXZ85WxfVX5pIdL+h/cg8Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5+j1CRA9TVsSAnZWagAAptUP+wSckslALbipFNrYZaGf\n4olta/pvz3wz5/0IPk7TMvXEVGP20+BisuBgEj1vrW6rccu0/+w+yVzKu/uk\nPlDHUvkcCPS05FK8U3Or3Gn8HI+1awuvUIE+uN6A2CrCb8N17ZaWc1ZcHevu\njfx5mk4k1hfCPFrzP3zCvIKYicjdyDyASROHbusAcEX6g0aGb0Mxu58AfX/X\nJV//sr5gV9mL+FBNF7Ds6N1IowtEEeKbwWET482GEhQySXjgDBHNZNG8sI65\nXaJ/RSZLEu3Fan0P8+olX8+qzhegML4bMyTbYqi+ZhWyE4xd06RsJTOCXRzF\n0m86aSEZk+cpjsTcMRP4YXuAXXJ3LygLZAM3CW2D41k5KZ8R2qwtlauoDw8s\nJq+AWFf9KwFVS8NM2QSvLYU+dSC26+o7uneyNDr7wZFC328zpZUNDKVIv9Jc\nyVZcNAckwlAayYBoezsj7ljvRmHR1+iJwiWc9Kb/rW3K6hoZq8HAD0oeotbQ\nBOYCvVydcFNf1ifGglgJIAodpJYKQMndMO2KHj4hutXzHroectXp1QSH/ln4\n3Ez+sZCPRo2h7ndZwDH8I5AR7UHj2qdwjiKcxiMSMeNVpEiezJe5y4B4AI6U\nucAXL/K/DonCk4FSmtctRoZ1m3ToFdse51KooYmGkyHleOAFfub8M3FAnW8Y\nvhqN\r\n=Pn2r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e_1642588405572_0.6319267584197008","host":"s3://npm-registry-packages"}},"0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551":{"name":"@preply/video","version":"0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c17eae1a32b98ae2ec72d92fa2a4b609f8e70b01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551.tgz","fileCount":1176,"integrity":"sha512-FA9xUzBtOZpxQV2BQTxMkko/JaBUp7HB/AxqpT8yz6BNqm1mtpNr0L9KTbuiVAGmQ2ElZGBbbH18PIbor2EUQA==","signatures":[{"sig":"MEQCIA7NxafZ90NmLgPSB6vwi5sdUFYZMnzlu6JGt8MDUh6xAiADiXbrXI7FGUuxunUcG6S6jPEKCRm0eR4eD4G0igZwNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6DXsCRA9TVsSAnZWagAAwiUQAIZ+ZsVycRJIS8fPn002\ndCw0Gk1x2jQkv5SpZGAMacPNAxb5xzkbBYl3PEkj1EtdzOUXnyehFBaFMVYy\nYuFPrODDOMjWEDK6e8LYWcLcyENyWEY5Bfc2fRLS4ywuIbKDTCfysxNbIr8/\n2EXTaYLW7dkn0g/V/C0TaeEOQY6l/aaAHbHrl5KxV5hb9/gt3axLsq5PEbU9\nj9SWbV/rGqw8+FKXHiiExbTb5MWOIOySSS84aYXoV6NHOKcf3/6DB2gXO/sh\nmH1YNvb3N0/iPhFxAvmsxBfvExeHRL1s9B5gvSujZNrjYp4YLjf3QAg/2BSX\n1cqJbV2N48qVmqIvg3gbT/8905hDRSBR+eNdJ7ePkBMxv5d6xzanTO/JhOP4\nHDwad9UYGPTWBhOwHAQXQTl3JA3VFuMK3lj6Wx5mEix/3MZQPa1Y1eRn/IDU\n/K81cWlL8n0rBLqNkJ0OltRxSrvP0+N0gjTGuDhMzBndfn3Gr8IdpFQJrpOG\n/34MQCB+TNP9CxJrFIKmw6U/VPflXDtaUtEgU8tlREKgy9mTza9bdhSXzkdY\ne/XX89kjUgsSY0jbDR58xORbHBhQu41qPuDwIxeg91QEPyaDTOwfB68CWbFh\nByBFOfLy99yV1xc0Gbd8/oPByZ/WJ/DKvJr4r02YzNt08j7on3OfGje8iO0S\n5dM6\r\n=sTq5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551_1642608108245_0.013522599213033448","host":"s3://npm-registry-packages"}},"0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f":{"name":"@preply/video","version":"0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc4dac1346e5687cbbb917c68380affec8b103ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f.tgz","fileCount":1176,"integrity":"sha512-H4d9Fl3feDZkIjvlV2Po87hCqoaldVoBUlrqDdOch9tWinCum5ocBmVac+jkcQ5OMV9kwW2yPJb/Eb17cf+eqg==","signatures":[{"sig":"MEUCIDx72rRbw7r3ORIjJpTKw8T16X0F+g9OU4TpiBgT15ixAiEA8KDpz7EWGyenaS5bLuGGZs9lkzo9qDn4V+TxDsp6ziU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6WCeCRA9TVsSAnZWagAAqEMP/2jiI8AqlWv/tBAzGLHT\nrAExO3EREZze4FG3Jt9Vc665/JLcMA7DysTGo5/O9FOZKgAxV+xgkr/+m6lT\nvTPQ0WPdLW8mj1bcmHOb4diiyZQsp8O+Z/EjyoYifFGRCOuLAfRhTy31wbNc\nyzh4obSNr1B4UwLSHO2xKxOQ3GIgJ9xrFMWrpBqRMQzXgFjfMJBbdncG/YR1\nFfJWxfawjdkHEruTcLoRvcoiI401inktJJisrE3O8XcM/aR3NSmWnDGKkgB4\naRPMb/jA7lNsTu1BKoszGVK/WaE4TaOHWEc8Gwi29E8Kxpxtu8P5bCIxM9rr\n0EMjHGiTsUdLAMej4Llr/lOwHC8j9v/VQSo7k4afY6kI0eqt03Q0w+CGaj6+\nzYtbsGfURNQ1KStYvlD/mGzLzO7m/OrHz8sEYIDa9tyiDpD1BMnVk4MPU1tL\nshy3OXqxLVgIFGt/LK3eM2vg9ucALZRbwrgQeLq2JguhckcUF/MRHK2OJJDG\ndpMiuWPFQTvVeq3Y6z9/bVg/jQPxPchn57ywRpwYIwIDHRhAWvN0YswWFA3U\ntCTY6QDMHhFR5C1nQV3TpDeU7zngFgRexsDArzn+qO1AxMNB94KkDcpqI6fN\nkrEKxahoFMH004RPZA58RejnMP+VHTcKTEvfhBKyXcln8Ed29IUZ+bitcUcF\nHtCs\r\n=AnkI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f_1642684573517_0.3053682386485359","host":"s3://npm-registry-packages"}},"0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa":{"name":"@preply/video","version":"0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2c93cfe578010ed3656320e0ba627d6263f545d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa.tgz","fileCount":1176,"integrity":"sha512-YUNGjzfELAdKc/BL0FuYQypNiNjabrgGqMfR+db3OMeJ+t5kBqnwgI5+aXiI3+/laxgwKfNu9txnr1+dnydWsg==","signatures":[{"sig":"MEUCIQCSMMdzDTe4wLCzd5GfBMGSE5n5muVr2BdzzpqRBEiqjgIgZz3ZZBpUWk0jaEhDsWhA7NS6nmhmGefWgc3ovGVt6e8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6WQFCRA9TVsSAnZWagAAXPsP+gL+p6cNG3f/Fe4FywYF\nDFyTq+R0i9IWY91GfWzNFyYkg7zElZdBG2Jc8IdJdJ+oaFqixh44mXEpSTK4\nuByJDVmDlZ0vopmvPTazpzPk2dcKHNYbLwHxvnXboJK00XpMWcVDFhKKsxP3\naVINklkueHOxW2DSYbyG47sPefPeoiufNlMjgAltbWMTYD/Zax9aupIJaghQ\ns48ysL0RBFjSoAUoje07l+DKKYPfXA0UKZI7HSVWIEf/2ygHBvRblXvnZGd0\nE7P8eSewFVTj+/PnNOhSKMjWW5BLI4YMKsBmWazEvFauFv09Z991174Rw/I9\nQwsEbuJUYjp/gu8LJ4lKQ0+OOeYX60s87qdXkM/D4c5LgSMR4uenJKpDZiNL\nxrQj9uj0YpHP0Y5gwzYqxdwf2Gsysf/VFnQM2h40q313lPIymyLM+PzyqpcP\nJreBJDh/j1OivmwY3bxyESSfa6E2DNwcqvQ6ZuNAb4Ej2ufHXdmyEseFecY8\nBGStop2lF/XKvlEfZeinEJVP9idn92TE/yh7QfeN+SnI4uE1bA3uwF4EMSqy\nWD3IEq8MbQF0xiXwqSRoYVjYpyiYHHuyGodGHWHN6XDb8zqSQ1IqvL+8MYLt\nPE6IyYVqr5b3II3vPntwlbBRXKhtVcUcPUGkvSrtAjUJ11elFlxbYaQPOghx\ne1yx\r\n=lE1U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa_1642685445351_0.1752058621737136","host":"s3://npm-registry-packages"}},"0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d":{"name":"@preply/video","version":"0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1df5c019c37a18fef46333f31cc0e93c4f822ced","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d.tgz","fileCount":1180,"integrity":"sha512-QQO3u4RQd73hT3PBvc4CxGMaTCIbfW4rxWvVsjHnrWtabwMRbEr/Q4FRyP/TgZShAwWPm2ZPgFbUhzZBrSkkjw==","signatures":[{"sig":"MEYCIQCwzNMvQQ0EH1Og+VP0II6eh4qX6+qIEBHXzNe7ZpCg5AIhAJ1nMVnYhtGGlN6sOHp1kafexcCdGCgcZtJe9DEZThjN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24400434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7UmbCRA9TVsSAnZWagAAahoP/1KLumLFV5y1Qt4ZO+7I\n4BLlM3kkGz575WIyGT4bCMhJXjMNiDJTiS9eCJNNlFH0Vy/BwjOcL1R488Ey\nr1vU0a0t/Xop2VElshOx83PqGvu5Y6EEn9gsRzHP1MPGb90q8BfPalXNwhXv\nBHdIFYLkvlAB9K39OGvW7CbXY3iMYYKwOHDOV4jVx6fBvLoLhBOWavJy2Qco\nMgN8RTfbOOKFf1YpPkFSvQYVg0V2jCl7bepWTK0xGCE+DhYTpXSf9K7CDR4z\nTKPPgoZncsgd5doOA2OF22caIfs077e44fNlYf9QftewOLhajJY9TR7zZFsg\n3d1ueEjd5HQ9vEbxAq9qO8O/jfCCwFi5xTnmBgMUdGUxstSm7lrxWI+SIrgO\n20lOzE1fjPLGpF2ne7SfB39ZpLPTDhA1vuWIJF05ZKONVjS7GGeZOxna50cU\nmy7OH8LXTZsj2eF1Ikc6SntSYZne0jKvqaOEG6E9RUm+6NcakATEPacQjn7F\ny23DhPeevWrvl4SDULw4iNFXd8YBrmNl+qlw4WLWm68GE3FthXpD8LlT5gCv\nLgLCn2Opq20ngzPLLFVpxolFj5+L7qv+REoTbfDoU14fqjFa2Ql9l9+abERE\no1InpVAyJIcvjr0UI41XgSK80lxU5GKoh8KCPsVeVqHAaCFSWWBk84/Pu7E8\nXjGV\r\n=vQSP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.16.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d_1642940827301_0.16733759366235912","host":"s3://npm-registry-packages"}},"0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6":{"name":"@preply/video","version":"0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7cdb95543f9a9c73c3716fb34db6151a2b5bd22e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6.tgz","fileCount":1180,"integrity":"sha512-7JXnZ3Do8rapdgK7YE3jDx91pxhWZWlWvoBMtMfobc1sCGb3weSiHaZsKUkz8WYqgMeh5jievPIsUdYeVml7JQ==","signatures":[{"sig":"MEQCIGeZF5vTxsr5F1FAqn9mPMcx5GBVo1Qvne3li5DU4gQUAiATAVYnDsR8Dc4yIcZvXHYAaihtm3VA7t0yansWuezXBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24407967,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7om+CRA9TVsSAnZWagAArc8QAIjhtl9xT0pSQs8KWUlQ\nB1H23bbXXVHOUA/uaE50Hep5PEz7DU+PSHP2VzgnYnpKCgQTuxU313WEEcmq\n/+o0xAL1lPRQyp4whJmFiMO23Y5bAolert5Dx6aahSyCZXp7uKY9eSHBvgZy\naGs32aBFmDJIIiW7nhyrRcc6O/KS5zjOttWUlPm++0aOf7TurcYD0gTvaOJe\nGk/pkKalgXyTQpEw346Zim7cMDzpUC1W4WgHr124e6njv3qdw/3PijxBeNhF\nPAqWEs4ZiwRzg/uG+nwfsm2jF+6U/2/pGbfXZn+adfjx7h6nGMYY6si2Nly2\n32WhDDsqChVH5er0lJafJxzlKrOVZJ2VSFIP6719T+NX5D8pqkjzUMDXjFs7\npvgcOdCV/7o6Y/YPMu7vu2LwW2wr7vLZS4ozA+0YKuX8GP8OFSLm1WRe4Cmn\nSN9/layAWYIz2fH1+y2AAH5CF/eMcuzO5f8iwQeysaIQdXG+OOsorEKUPQlp\niDBb93PtzNRi81g1g2jJ44FdBXdPlgwgwyf1est5Aq+IAhiAHPFMYz5YroLk\nmyaiPmGZP+HVWHzgEeXAIOd+1Z6Y1wJWOT0qH0w6ZNb1ffqgx2uQRTM7raRy\nvJ9jj7C2Hz0o/kbnIhpwhhWOAo57VOuU/VsPAnfinlQni4lx2A5ooa+he5Es\nGQMY\r\n=DnEc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.16.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6_1643022782114_0.1776820368200378","host":"s3://npm-registry-packages"}},"0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29":{"name":"@preply/video","version":"0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9844c64b64c19f301841989146ebd9c311caf60b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29.tgz","fileCount":1176,"integrity":"sha512-b9CYd+gKVn8crfPk26FZorLyHYz72kFlm2oTukGSeydUfgS58OiIi0M/QUWHzOSrLusw5ATcGVxZqloR3pi5Kg==","signatures":[{"sig":"MEUCIQDSlv5tKtwJAEvVd9bdj0IsDV08oOfWPq+tQS5xLWqESwIgKgW7PlefinvvC/KHGwWGfxoeV94layKXnrlhwaNmXU4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24367880,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7rPvCRA9TVsSAnZWagAAI8sQAJaouwnZNfXk2EP5Wv1Q\n/jOJesKpB8Y2Cyc7aP49R8kW4kUbkNznB3PAuRz+oseVs4lv7zMyzzM5UkXR\ngiPepVAle/6FFA4qy0Gx57d7vvGsp+JCmQMATCtziQ2tf/uDOmyVCbN6hiUa\nUv95N6gTBWfm1ZvoJWNhaMRGl0PmBkaAXQoBMdAeMQmIkhl8aht+H5XKt8ec\nQrZZTH3N8RZXSA2A+MBrBtY0j5qUh5TUxzVMCxOVRaWZnFulf7F6wokxVtdx\nS8EQtWmeDLNRwiNLv7r5Pxy+NfGtKap2P5ufONnWNihgtVNwbKeOxdZJSMMM\n68xpkhs6z9P4ITQUBmhmZQCwxWvSkWRKhQa5A1a3CFdNlNE7hZ9xgtFNLGJE\n5wJRrVN4RNNyuFDng5F7PxbJTaT4lbcjbis0tK5hT3T4XuX6/MxKKZqAtApr\nVZlHelQUfW3rLbkUUaMVONZ9O33ogUkPzlrhXW6ReOrSAj686jY6NnVsSO6T\nZc/hBfUlpfJpOpIuTtuy8NGoGw9FUIIIwW53GmOU1y3TIMrMi+pvLbRx2NYr\nX9UEFNHSeQSdxokyntwkK1E6SqkkRlbneOcT5G6mWHAnUWtjeUkx+cjsbGXJ\nXBlthdN9B9KbLp3mZYYdMcKQwMhOiktkWrxbvcmyz9UFi79KifhcAjna9Cjc\nbGkf\r\n=5SdD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.13.9"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29_1643033583117_0.39457792610038145","host":"s3://npm-registry-packages"}},"0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167":{"name":"@preply/video","version":"0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"95fe2213b13ee937da004597aff864e2404ee07b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167.tgz","fileCount":1180,"integrity":"sha512-vBoJztOoZZj1brnD2JPxqWfsNmIXM9q7V4oQzWgwZVtJgXOCoq6YgevJsnBrAeiIHZGTdN7PtDL5WaRfERyPDA==","signatures":[{"sig":"MEQCIDWeDdGbA2uPPXWRLXlBGKE0UyWWnfhrizHxL+CkPj5KAiBYSbhMA0rjozk0+SZ7MtKERjVgFF4EGH4npvitcTzscg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24401765,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7rgKCRA9TVsSAnZWagAAiDoP/juqHNb9aZAU86BvvKG1\n1VGiTRVwSgC86gFHrrv1E2/vrRD8hOG4WWhAvDmujwyz5GJATF3VXiMQoWfR\nsSpiiu8HMBhEvB0cQljBMoaiXsoQzZDMbFk8hvdJCk6Fzgo181o8MIj8N8C2\nQi4axSot/OkZLWOInqM1OMAcOYC41A5h7b43AtVcZ/egEg7FWlwXau4EPt58\n7TXoRcbJazGaHSFGuq50OC7RlhrbWbYw4CCVqYcCFDkDcWO8wBdwVWV07jxE\n+iLWVY2TNkvxzXrs32RS6NFRUqcjfcD+JmoXUwH2czBo1zc93HyH3z9M7aBe\nF1H2DLq2pLo3S89pyi5i/t7NZzcqOTuHnjBqvXfz1gdZOjcBUlscMslCcj7i\npPtTEaCJN5Onlqs5BR3gIR1SGrYwwyE0SlHNyL5u+Z/zebkinlFMlzDA0fXn\nNtSSYXSLBs/uJp2WKiu9hjfoVm2VZMqaFuD5bWtxSb6oQVMiUJIORse/7lmP\nim3aX+r3fMIR52hJu0R68ifeFgnekt99/VeIPf4lH5vcqpK5ytMLFmB0r3Mm\nd0Ltkqa8IHphNemHdLWgXALEAi7awZREkNTLjUEzHSXG7g56MYg+JB4iD1Ys\n6iwHnoE07mgFHF095H1+Q329ePf4Awoez3erUbXbKcg4sjQbIVl2VuYdl+X2\nU9el\r\n=6oi9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.16.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167_1643034634325_0.019544090019229854","host":"s3://npm-registry-packages"}},"19.2.6":{"name":"@preply/video","version":"19.2.6","author":"","license":"ISC","_id":"@preply/video@19.2.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ed42fb5d72aacd3ac4d6bf6192dd6f968d3ab370","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.2.6.tgz","fileCount":1176,"integrity":"sha512-cqegiP/v0cf5LzVKabHDjDQPH5zsqNM1CZMdu2h8iq8sbslc0cJRY/ze+5tz4CrqGzqlutjNw4MZ/pDTNxo6sg==","signatures":[{"sig":"MEUCIA+FwTPppZV62nB0T3wE83Xy+DbZhV2Wo5MIlcKUfIivAiEAolFf5qfPP0IH7hsMPA2t68wk+Ff5bTrBPqEEYTAC5YE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24369703,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7tLgCRA9TVsSAnZWagAAHLcQAI4kYyBO8xMzlx4HXgYR\nkm5eWZVMOdr5aj6t7kg8lDPreO8WTIpDzO+monYTa7a3vxnnfzuq64xvp4KA\ngD5dExJXbyPzPzF8UNGmNEgDtdxUqyvkD4xGU7wwUspTqo+FRqINnIDGjvFT\naKMUD//RM8oeZCg+l+G9q/ee4R5GCj3sl47MrMOxzobIbij4LbsmWVHKan4m\nO2W5LhGOZ7faDipI4QKChopFzc+KvpeHZ3e0RMnxyZ7IR/CZRjHmL4FlBuZT\nFaTugRMSYiiRKQLtTdXMML4ihANaReHPBiy+ltkeyDYKM+uQvSJtXaXusJlr\nhGWHmPsIkhSXyvkhCaXxh+gbj6ex4/PlKZHy0bW0khVVMGkimMzSZqqDueKm\n4ALifeeMCplm6y0vLPwZTNSYL1S12OVLhxRlURw15tdXIjrYqbowNYpHIYcu\nuU1Zv2DA9PlqJcBj05g7qPVMj0kU29mkMjQVjO24Z1mUYi/3kFK0ZEcEB3li\neLOclue0vmVAvVXUzD78i19dje12w+ivjqr+idwEXtfYsaFLg5qyl6AKS14V\nn6W1EBpoGyfXnZ7pEnQZeXrEaukIeZ9sp2Z/AbunZiqM8wgTR7YXd1uHl/MG\nPw4JlW3yZUBQamuCOchf0YQageFhzFnWLGjpnfbN04GBzs/+pUBKfSV9WvXi\nbPsb\r\n=BWiZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.2.6_1643041503357_0.10063268991111562","host":"s3://npm-registry-packages"}},"19.3.0":{"name":"@preply/video","version":"19.3.0","author":"","license":"ISC","_id":"@preply/video@19.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"16115fc97d0bb08e5e7dab0626befa0d4848cac9","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.0.tgz","fileCount":1180,"integrity":"sha512-qucKNBWfjB5yKIDoB5t5fDt2VLCjDreEgnj2dywx8vdDN8Mani38mymRzVw3WOI6kUIo+Ku+AkvrCfhMnHuCkw==","signatures":[{"sig":"MEUCIQCqqiCxJDVp4pQISqo8Rxr3JKFSOEGQBMlxYko9f0izFwIgaQ1Hj9o7UhNMZf0lK4Pqdv518/NoOvPfxzBzUgPiOL4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24404202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7tmXCRA9TVsSAnZWagAA1d8P/j14RXq4kj/+Caa0XJvY\nEUyRbtgtIxPlqoZ/SlefgrN4fLPAT+xf67ZZULYA7VBQhoID9T3SzditR0p+\nteycXduzSzqh6hI+1gzeyHVT3tczBsJgDGiPsh/rAsEDEK/V7Ef61y4cNhS4\nrIRtUYLjKp3GGMAFxAY0o4TrFp12iLI+t/1ZHwyoUy997VWouDgz+NJ4yOhO\nUPofTl8k+iwoSE4ABtVOUBQeOQmNFJjV7sYE7nZ8w9rTIfj7UymVn5kMmXQN\nIOpp7wmVaQMyh4v0ZredGJ3LvzBSaLKFHtoucH0cwnwmmWovSNP71H20td3Q\nysrJ0w+Y2X1bGZxjyXxzh+/RV4j2Og32HyY3u/bxzT/dqyikhktblIVyJKB+\nN427iYMG+AKjoxiOcbux7NE1JGzUAiEInMMPA5z2JolhS5nZ7XGX7z9i4Ir7\nyi32EDJLKof+1+AOV8qsjOf7FpS7VB+LQOYA90X2EdcS4YuYOeE6lWuyj59v\nRVOvvlzh8fwbOOZcTpVl+jbnUr0/AtXnh+L9u9nvc7lxSAX46WxzOwvXu0Jm\nR78e2Hem3MUOCGj/dEqku3rPLq/BsAgLn+OD3bZWRv0FmVxSPHi6Et+FGfOP\nIZVihlenj5sCzpBkXTM/zLv8nAIsohDzgCJx+hnywtFz3foC3L+wHgtIGzgw\nfrXy\r\n=tqxN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.0_1643043222738_0.41272520872794427","host":"s3://npm-registry-packages"}},"19.3.1":{"name":"@preply/video","version":"19.3.1","author":"","license":"ISC","_id":"@preply/video@19.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fbdddd5f8d7e51fc94c1217f5ff1e37150a8ca78","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.1.tgz","fileCount":1180,"integrity":"sha512-uucQ3YjMKj56mXF8c5a2/4hCuUr+MkA5IK6HE/ycUZlG4WDKnF5Qc1331hQEreCASM0/cboa/icO35NTCYjvaw==","signatures":[{"sig":"MEQCIH9m+azxUXhWrbNNUiY0BsPomx5MKX3Hd7BiD84pMDIzAiA+JDAanP+ltrphuOFcMRrJjf1KSWWpwazxLonh5LDeug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24406213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7xTPCRA9TVsSAnZWagAAzuIP/iQu3JykDicuOG+PmS9k\nPjtePWP1DVOM9WOV9Pj1kx+MiUzeQwQslb5t1ieyK/GkZ0x4+s1ZFLeziK4n\nu8osSXXWmLsVQC4zeYTkwzQXAEigP/GQf4bHt2SgaGuhhDIxjxQWRaFEOzD4\nWi7Ikh3TjYP48KuRi97yty/qS+s9CJG4nAMd2nJr73/k8Ahvn9PQIYuOlp1a\nGBqZhEs016zP+vYAfXilEwgYZg+A4qjyNZm/Z9E/F78MWbjfLRQff4Wqum9I\nckBXu+nxDvf0f8CjXnQjGJUaY4g8eENI3BAVpGDSCwwVY1F04KwtmSn0L6he\nK+VgkasD4SimYiUUELAxYnQOxjl3baTh80ZYjgu0TJlITr412Xmci5HvOJcE\n3oRgDVrQtGj4vo4QFGwlYFciBMamtN/O1BSrYoPKoGFEsrb0gXvtZuDfO7/E\nWvMjmlr9M4O3rKKN8+6I/ME6LtD58bpgHThpqbEWYpy5X6nw4iBi+I+vwrbJ\n3nM5pc8KJ6ETuvGH9Zf9SinWsQVhW2bdoPAMwuJDFGcNe+6ho1NnW1iIWY68\njpGDNthRwuBVpffkbNY9MWCvQU7J/USJkyGQ3lJYscSFCVsRjzfuZwqkdc+S\nxTWk91jRsAs87ix0HphKobGKsIEkNMQ41AtE7I3CuGS0SA4C0KHW2g4wu7WU\n1oVo\r\n=zRQS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.1_1643058382748_0.46099271788470775","host":"s3://npm-registry-packages"}},"19.3.2":{"name":"@preply/video","version":"19.3.2","author":"","license":"ISC","_id":"@preply/video@19.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f4f2349f9af2dc50039d4a52f87b93c982a28598","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.2.tgz","fileCount":1180,"integrity":"sha512-Ht5cCUBYXIUUonfg89fU2DCpTk1BnnmYumWQ4VaVtQhKwFB3H3n01+369X2PdLmzv2yIBYJs3LD4aLDkD7FlJg==","signatures":[{"sig":"MEQCIBgidmEdMZphecVNB8KL255zu3Qo1YNFZXAJgPbLMWmpAiBsTzqr9fxa1ZxOei4AcgvddwchUVIfDeIiFKeKSboJxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24408141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh76wvCRA9TVsSAnZWagAAkzoP/04GLizY8khqT2SrwO0t\nfet2NFMlPRtwpXOXjJqvhOt070MDUJI5ix7MZqQ7qCwCtjvHImJIexQ8+/cM\nl4pRHObbdoJgIDJrAQLVpveTvSEzkFpk4do3+OkN9h0YKl7WGGDe+7IHg07q\nygbUa9b0wQLiGjwITwi/3QiZ3UEjpsowkPNnrixrvkHrdEw5M5ntGy5xGehx\nEDO3qf4DM3xwGnyZDUFh4WdvapyTjhqATaWiE1CTFY/S0kSEVlHZCxeLXUoe\nEhDnuH1LzeTh1nsoTEUv0vAYMBjy2tFxVNgr0WIUmHpa+aZ+44btN2BI7y4N\n72ktqQkVONEoB2sp6EOqcZvdLB3L3IcCU+F/NRYV2ZgajZNGYJ7ae6etYSRM\nXZXDBhqNFrOLxFuWFoOgi59mdsJ4D/J0x3AIiosDbJCKqn+O72L4WH8TPsId\nNCzJzxq8cFpyKRjkkhMg6evnVrakLSe5TTp7uEqSn6ky4HnPWc0PJxx7pWiX\nwQ1sGQZR85vY6Gy2S4dRNIFwZxhJeGbLHuplTk8/VYwISqtPBXITlNXxV7Op\nK4ah7LeL/tv0WRODXoO2tvTMkWCZ3A/QNxLr+9ABtlTvc51Ur4ZulIUNzQiP\ndgMZ7heed0Twnsc0MSqMeXNVpfQPe+MFFAxj3GsyccvPAtNUlhE+0steGbly\nPs6+\r\n=fLu9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.2_1643097134896_0.09273659878295382","host":"s3://npm-registry-packages"}},"0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b":{"name":"@preply/video","version":"0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9475a5e865b7f662ad9570bc2a745f014c89e712","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b.tgz","fileCount":1176,"integrity":"sha512-cbLAnLdosFqoKttbq5aN3FHA+2VzLvZd+b1AcHWkDrrLdDjrbO7lrK4xjDeQgbWl8g+1ZS/Z2yOOENuWSUcS+w==","signatures":[{"sig":"MEUCIQCV8ba5Oo+4xFjUl3MG5hLGwER+GaE4ayFuXaufsbT+WwIgDi+FcR6C/TR/jb2SBjxhgFSoaiu85rk8zh9jizG3Bo0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24362478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh77TjCRA9TVsSAnZWagAAOa4QAI9i6KYa6S2UE7bgk1UU\neb9D83o1Np8kbkdGCrE2o+1H1YSyhnL2yNxOvP6OUB5V2NUJoCXShuVuSULo\nYr8lKvaKmAGbcMn4DgfToMA5xRUBMKAqptD05603VjoBo0+9YNN7yIHSpdpi\n5U46aFAi9Or1kgpAWB+YoeJ+fpZ46mcDZBYCfF1V05xqhUHIK1WDD3idmsw2\neqPSG96/Fg3Tu/Tt9elUpFFNf80admUZZu4fz2xePyoBwPIqhvSReSrgfK1x\nqqv+O2T8+upJIwYhtGzRSgBjnTt5vlpS5jv+JouUVWEAz7ZyO8hTok0K72i4\nHmgW4dFs0cokmP/BJtljz9jTySHjXEJ9McFJGZ1KYBstLO24zIwT5SU3aYns\nYUlRvSIWPSsgEUGinyc+6W/3HAmLllYJ/SK33JfyGVMzyGZkmbk0Bap2uhcL\nGJz+MypH8Df0XR63knRs4pUxnwTHS0bH8Oew6JheCusgdZ3XnFcBefkE/5US\nmSrvqSE7whmh3Ug7pBwaNxqBC4A/HMjABgytFsez/IF8XVwyhJKveKTqgJtk\nPxvpgcRSTdVVCpR4YF304aK940DewOpWDggsyk5ic2101AblaPfwYFXYpILZ\n/DWyvJ88XNMtt8N4gklG0xpTgtIv8rkUBH4u8Grwf3infDMwG7MjF7lOPPgF\nXptL\r\n=bzCz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.16.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b_1643099362337_0.029099415896498115","host":"s3://npm-registry-packages"}},"0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5":{"name":"@preply/video","version":"0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5d25417227c6cfad15c46c662fc3dc9d01bf6ea1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5.tgz","fileCount":1180,"integrity":"sha512-n2HdOET+VZ0rzEUzmn0cb/0eWNDh6pekj/Oe7chUup2zMbkKJLnCwLT4FD6Z61G9K3n8rSY7iihxthjM9XvxmQ==","signatures":[{"sig":"MEUCIQDi316kOKkLMcCfqABmmWbIHwAHm52dfQs0XGytagWJBgIgZzzwb+n35Dx3ZZCMfh0Dc8uAA8lIY/zRl+RTXPdrcrc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24403739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh78yDCRA9TVsSAnZWagAAhg0P/ilHws8c7ZWdas5lgokI\nJuNpE9iKfRdcKxoIOj/Y4zIKJGXvLUSfNBAY3G18JmdTUgGLC2JNQm9qulkL\nC56D3wq+02gvzVzcvfqg68EYGxHh19ip6T+JUtxmogut7jTXzBgVa774jX9D\nkP/9pozMwBa/33r2+VWotGRdD6U5aerCzBovyMZjr8pYq+n0A+pKTdese+16\npAxrKj+DXnB0/z7LlD4RnsZ7TEo1NhrF6SHWnfKESizLOd/brMnE6HecU1YX\niE/tlQLRHEMduixyEpWbm1OzmWq7L/FwjBCrHmpBPbyTpdq4dekWHxFbzFin\nndArjxv9IHyiUdgVeZNi58VVKhz2ENcKZuSgjaGvSLFSOJQ5FzwzWQKjHYDk\nnRo5gW1AOX1qQqjg6VxNDwQOaPsr4cGLxT9JD0QS7lOIAlAj8WbUZHomJwf6\nJRpyAcSM0jTr0V9huUTAhZbUtse03B7ogfqyp489/Dg2hUXtAFavwaXrDvv9\nPqygEJUfbw5+1KaJjzj2m1/UzatF906sUngORjL/hMUCem+rMh2yTEkKIEyw\nhr2Pbx+oKmcJZAaZZr38KnqDrwBPpus1mf42qwlgi9RqQaSRhYisrFF4YZ+O\npldAiQLX907lFXERcwDk4GYPBCnmvH6uhSxWBmMT+T8Xjo9ak65QXseh2bAQ\n+a6Q\r\n=3gqk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5_1643105411452_0.40884563288615783","host":"s3://npm-registry-packages"}},"0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386":{"name":"@preply/video","version":"0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ebd9ffde0d749b6ad6971af3c24270cc68fc82f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386.tgz","fileCount":1180,"integrity":"sha512-lYmCtMsS7sbk1v6r+u+unx6ShNSQovJ90QWXHyyISkSfW2mkHpzkG0/1LNVkkObWWT0ciBbd/Pl1puZMItoQfg==","signatures":[{"sig":"MEUCIQCwbj6ktmG9eRw5lJ+04eS5BBgq6IVq7A8sGO9W/bf2XAIgGbU+KVTqhtyu2GUQNDtkadbrG7pAO/lqL/4j7yKevws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24403739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh79pFCRA9TVsSAnZWagAA1pYP/3+hwMU3sG2lQT9gTJUt\nJrHyT9+gFPT6T3MqDSvkMMUXtvoW4oDMDGwHdusDlfQDm1bJSZ/PX66LEbO0\nsmoAS2JG/8a0HuBOEWPyTtyRN+NzbNNIJTAGBbYjKxPVs948A/Uc8WxfIrhF\nBEBJbHb6GUriwZwTPyNwTODLuryqryDJGtaOYWcywNDz48/oW0OFWgeDyFTE\nQMqW0xc0skULXopybBwyabRGVQMMKOuCk69LkwmZwANqsIMtN/sgRoC5+IMT\nMJfVK3Kvf/+o2HN28Q4+AoYFWUOraQCFMQ9pePTpJW9EhcseSemrEjqATDeZ\nFWHe2CbBP+kfKS1NdLByoXGFo1x5T4ToW1qmcFgy/zOZU1k2l6Eva5H0yBDP\njrptUt+OZqyTNT74M16tloPF4mlgbrgKy8ryqq9hbAmmSItwl+wyJ+qz+lUU\nQQ6VDmyGKNOb3/ByZ70+NjwuXSmKjeKXTEw+CgXK9MErgMVU4Vub/QKXv9hJ\nI49LJEvScYInbn16Vvo7K9/zKdbS6S69F6fgkuRnGI0WR+Ik6tEnWLTH/kPZ\nVExWsc6wjwOiOh9KCDWz5e9XIMNUZB0RNvp+Ic6VgEEe5Lv3AkeXJfvp09rL\nrdCNtMcZkCBmuRE8g0CvmGwoJ6cD59Y0A6yNMoMCd2JhSsoJfAtkku6Vpblb\n4Mqw\r\n=Pteo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386_1643108932960_0.9493797298439908","host":"s3://npm-registry-packages"}},"0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b":{"name":"@preply/video","version":"0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"024ebbca606cbdaf1159121c51b585cc2f6bc6d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b.tgz","fileCount":1180,"integrity":"sha512-49c8jZkm/dLniJbZqfI2VFD0yxKtPw/U3VuHuJGQ1BFySUx1J7mhnBwzNMHRnVH0mDWDSTGbDJhD259jqEagGQ==","signatures":[{"sig":"MEYCIQCjiQCiSO7Xs0XvGrnccEvycycW8ggCIaSg3RnkGMII7AIhAJpy5k4/HefY025NT78YY2amMYT62otTe6XMoxOSt2v9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24403739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7/GZCRA9TVsSAnZWagAA5ggP/165F64pd0ngDhUvN6Tz\ngjaGi9YUESYizNCck6fUXRGl0hLbU5Yn/e1m0BWXntWH2CTxEGlppWhM6DHQ\nJimpj6bl/Iqc5l0i2t/7VXUNnkwDFXUhJUdCBtHtC6nB5/1ZedSyEQeDvSmY\nzFkVW0qKYAqfBp1It2Fote2VV1c1dbn9b11N3E0gC5ITuFc7/kjW+W9XM7rz\nPbh8Bnbclue0Rd/SeFb8fZNgxessXwYNQWdXw+qz3zrlwGLo4p/u8jMe/AUH\ngQ3JI49loYsS0XFlqz6OohM7k1GXVgeje0ArJGK1RI75yYIOlwiv6lvRjrbw\n8Ch+s7JBYgazufRWscqWgeP3zGkzYJ4ImS+61Y7iIjTxPxOjcCvoYMKchD8F\nkOF8WzZz7YLudQUsVyFae+Cdajostuil29YM4KVDciMLEVA3fcHZtVqz6icH\nFIlJdS2X3nwB3A2ggnX/nwMLNShnm2KL6WCtjsVF6GDX7rhhVGFTy3MqhRHh\nZ1LmzQDJR/6U5H5i0Pf5c3YKff/RyarQiWed2iV44NE5XTietB3icNBLW/ys\nrVc5Cayl9zg6qKeRhMwT8HBXCQD+rLHThBpaGWHKlqgVo0P1FOXhtKDSdsZX\nADkbG6k/mX+u9D4GN/ZXlF0egeqsm1ayd5koCRl52JDMG5jQOAISLwD4KRzw\nG4XV\r\n=r+GL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b_1643114905082_0.8478230015998591","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e":{"name":"@preply/video","version":"0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4a41dda030758b8e820cdd2382172cc15b66d4f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e.tgz","fileCount":1180,"integrity":"sha512-HLRD3G4oTFgXUx6PXGMHR1URLo1goWIIsOoLseAimyn3PPLledq4BLBEtoCvV98ojMqIAOV2I79vGYNOEWQ6Ow==","signatures":[{"sig":"MEUCIEo+Dqp3hKgdBOp25/HqrzZj5tkLi8mvz771xQLkvOnfAiEAj7tjYtiV4BDo1N4G/n1CCpUs2mzgm9DunfaWTJ6D0gw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24403739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7/tiCRA9TVsSAnZWagAAqzQQAJz8ogP13oth/vFNpZf4\nkAeogGvsnABPoSIrGlix0q4OFYIHGpnWfuHAf9HQazbjZ1tBlrCe+GTxqHnZ\n43/LpE9Oz26tflT5UAm7QPl2P/4Ua0q1yTP95Iy3nfSm0c2pyB1Kj3XZNqoF\n4zrkdNnmvuLjMRn0jpCyXV4HggcQ3GEr0cE5FAeZK1imxcbtAiK15JfJPAlv\nb/9abq8tQq1/cTcT4uvn5dSjXukRkjGq6JiwL4ODbdhqbo1w6xJy5HE8GkzC\n3b4zUTrEmtRazO51TfYkK8cxRetfRqwjLYbDn4gkU8Nil4cR5pZ5TzZFLd5G\ne4VCZDozyMcjq8RrxBr272ftCOQr4u/+58OzHTQdD6UGw6ZwNmIAzCVSNGPJ\nlJUelCGFYuHEo0gwybgTl0xPmh9xJyYJUpsZ/wPyeAvdc71UzJ5eFN0pRjgo\nfKfMcQDUOK8a52tTXMEGdO17dkIN/PsduRsFbXOyjx6ZbFnfhLAc6MqvOyyO\nMXQFlotF2OBsSY9fOigSuat/9LE9XF8xFdiK6jFaewIQf1ZA2E6zXO/wYrHS\nMTEhUZwLHz1vzM1gWbSej9QS64L0+s+f+WM0TRVfcbqYfWAV43k7fRFpvqO/\n8YKyqlWBfoiU/2azRTtmPRLcbwpNr1McYdxNASrADgf9bmBC4TxBLq3Daj7e\nLBZh\r\n=qvHK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e_1643117410110_0.20074829830690755","host":"s3://npm-registry-packages"}},"19.3.3":{"name":"@preply/video","version":"19.3.3","author":"","license":"ISC","_id":"@preply/video@19.3.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c56999cbfd7a0fddeb8eaaccc6d592b9c2b4bf16","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.3.tgz","fileCount":1180,"integrity":"sha512-YV8FyPHcmYyygMLFMl5jIMniif4DjPnniZDe95CQdg7L3EBmNA14Q2utB9jjkfYBZDNDJeRU1utDIsEHPFjssg==","signatures":[{"sig":"MEUCIQDxw2MGC0BpYZMS0GwbIXys1976eEfr3SPwfQ4iF3UDkQIgS1+tu0ErF5GT5DRocseQ4l4qs76pHmP5toGQ3oSxkqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24402254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8As7CRA9TVsSAnZWagAAYx0P/jzoSz7JH6dmI2JuhEfe\nLAuhnMYBwyruTYRnEswlwMu9+Btq05Zh7LM8GjUrZSKRJNO9CeYfAY1FDL2Q\n6JcXvDI3D0OB2ft/rLuO8mqqd5Ol/DbVi6OJKWTk+yu59oZe7T3hNDkC3Ci+\ncSNTTMZI5lAkDeNeTlrt3MCjmuIdW/lr1110Y8RRngV5oDXTbHAR95/Z58B3\nBFut223aw891Qk/sxTSlulBPnVO9reQTWYYqKay08Fd8KMzxC+EZQXDiQt2N\ndxRHv4mt4wJzVN+rCsV71fJjbQMx8McTEBHdkKHiIXeBz7ENS27nNrsBTc3K\n65IcTgJ+c8eRgiwrjw+MKzy+XbFchWzUrcbHZoXUI4jjlEJQqrU5GzNBlObF\n/ZVmzS6hKYlpnoAwW++oNCp7WX4/56j8GtdCO7hrBS+d3OBHg9NIXZNfsFyN\nc5pRhe2EcnmirxnaKuYHRPxMwu4kem6GTxY8iiN2hHFFsZqYraVsioiD6x7u\nfoZSntZEPcxLtKgOfSrIUZGtEZNPWMA636AxikRYEIe9uli1SG9pbefON9Um\nJ1C23h8IDYLyAM1tKhjtYI4UI5L9u5qw71CB2sWdwGph2H3LsrXR8A3pZDch\nnEzGYKMotKHQGUoMkQe0XpAx4+MjuZX+ExUZQnK0wWMrpSpXkM/nfb1/okGv\nUjRr\r\n=/TKF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.3_1643121466934_0.4556851878286683","host":"s3://npm-registry-packages"}},"19.3.4":{"name":"@preply/video","version":"19.3.4","author":"","license":"ISC","_id":"@preply/video@19.3.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e1864da705780b6116ef9a7d1a96f5ed1fa193d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.4.tgz","fileCount":1180,"integrity":"sha512-wcCuchoKOVKka9SjMMn/81hhhU9xpj9rTM1DCJW/3n7Nes7FptkmZGiJtOLYhb4cY8f64pKMyRDXB8/1NhHBxA==","signatures":[{"sig":"MEQCIA2mOAa+RU9hfqllCezd+m4K2iVMIeCt7qXVznCAc8FTAiBMtMdIQrJ4OgVH8TJfIvUSEZSDo7aorGmZe+ZCTHBD9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24402412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8P38CRA9TVsSAnZWagAABVwP/0qoW1MWhRVTNZWuuqwm\n6TmGmL5lBSATbf1t6foim9FyfMZHjm+AEKl/wPiBJyUoEVf4v0c4RVK6o/r1\n1t+R9+rB3MU2rzsELitevkAy+7cYexBJaOIz9+ZIRast4xXm3iBugYkgOz7f\nq6LVWyrxbWz2bCmF47j0LGsnHn526Y6oOaa3ZxrfDDRQxTPgq9T2B3tPW1LK\nZV67qdNI6/ESWbT0c8bZ7rAJJ2w+A/iA9EXuHHVeOLlwtyIsXK2g7z9y3dlx\nvIOdlM+dtdq41ytQrTGo7KIxoJhHYlxap3z1DQ5t0+wtpzakLRlErP079GdC\n2ri5GC3w51ti5824iGzQf2URlzTN6ii/JkvqfQE+C8s9qc1wFZmZN/oP0oOl\nWyZgUDDq4y7Yt2MeaVDOfPImj3aHU3FxL0GEHiSTwkNRzP9awopYgtXohTED\nQFF9kvPfkxRzxOSiA1DiZ0hoymz7vaQTh+T4ta0hkaNqVaXLKAHA1mEPD6EG\nVxneFdpJFJJxoVyCA48LNHpA9P7qa3j4hreLUmZU0UwprPVQ/USxdHVouq4+\nrpdr9oM6fHiYEFMgW/nEpS+koDk91LSwd8fUbYm3rVbWRXIgKRT8Va045OLD\nYSUECINXDZXpHIhHnEZVSMxSwTsn2R2lmgK27ETbBXrDpq6h7N9P0wQcMTaD\n6EpC\r\n=66+l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.4_1643183612447_0.8808034096236024","host":"s3://npm-registry-packages"}},"0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed":{"name":"@preply/video","version":"0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"49bc784b0c307c575e8c700990fa588ad447bf48","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed.tgz","fileCount":945,"integrity":"sha512-A5Q3lJt3kxE0CtCQ1f3SEp/SH9C4fe74MBt0fEgNOLIWZlbRtAsQZSR/GB80kd8YS8HOuHdIyL4J0ifBPyaxdg==","signatures":[{"sig":"MEUCIQDcxgfWB/LXY9tdz9NhMAKRNgn3GVgEbfZ286Bhqq8ylQIgBX6ppOgHDWSmBztVNwwPvWPpKJR3jIu/aUuuxw+PDUc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18341063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8YhqCRA9TVsSAnZWagAAJbIP/3ekPDGZovSf2/tLDshP\nXcIq5bGZiikaMqrLLc2vQFR4jW1fSaL8iLFB1TgWKKSB4Vz5KDR4xQhCdeyg\nx2uERWzSEx6CePLL74yNbApeux3poy9DdtIIGMtvhRBx2NklE5mDzMfpJKa9\nNb5bZUb11MQFAk3DuXLEGxIKyP5FnYBmBkU2+rcsw8C7f2SKLB2QhA9IJcGi\nshH6cU9TMu+deya2yrhxEs/GYHg5MdCh8vnHaWB1+/UACzi8iSRKaL/SE1MY\n41+rGqfeHH+t/fn1YkbBqnNEV+3CjBNepchqDjk9jDxi69YKfulPn1lnU9i6\nRTEYi6iIuk4ZVsOmT8VC0+9LHTj4g4GPXLjLcy3bVpAotf4bEzfGMYvM2tG5\nbHaoHUjj2BR4Cu0sXIYbiCfYUg86X8uxjiKrhuFJc8xs8rU4DZUwMpX3++th\neR8AyTKf1SPAGOZX2N+JmNPRTX3YVvEZTxJt+shJJqjcoOP5FcHHbQJFF4+V\nN82yBCvt1WuO0Ua8nc3+il3Snse3VsXImA4YBXnIxGo49Fi6ASiRmX6CQUuZ\nEebN0+N24iFMRJ6U4GizdJOGotetVU2uDyUnKSQSFCyxcDJFBCusin9R3rX3\nk66paOQfG9vd4fH1EXMTSZR97+3B/qzBIMK1fSuzYdnjPZLSL+sdMNfaNwQs\nI4qv\r\n=uJu4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed_1643219050029_0.18175935260106257","host":"s3://npm-registry-packages"}},"19.3.5":{"name":"@preply/video","version":"19.3.5","author":"","license":"ISC","_id":"@preply/video@19.3.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6ebf81d5d5ee6eb947b44fc3fc17ac1b5fe5c2e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.5.tgz","fileCount":945,"integrity":"sha512-fJWXbpoXQPQcjplJGrR5/NxJO1NfYMDZkcStCyq04UUPCDmR86vfciF5o8FHsBYRQ4y4RHn4ZNpFLTArlt805Q==","signatures":[{"sig":"MEUCIQDC2r8/2tT1YIG3MOkg6c0iYJHULHWrSpOOUMRaVfJMIgIgHReuea7EeYpNo9xtoMxJFhxL+Mj86F87NQwoVC7lsvw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18339578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8Y0zCRA9TVsSAnZWagAAkhgP/34k7k24YK4QLqwhoa/9\nv8Y34qsTqlOJJi3KZEuvIpETWfFurzzFnYPeljGCe5cI5Lev1lEoWCWd+t8i\nm6GDTQ8K+YJQHjKuKsz4z9asLc24oByZXUlemQnUKEgvkqdwAI3riT4lCLgK\njSjO/152MeD4WNcbwcKfu8awb/MGgbJuuPI+MYsIOmQLYMqFAo55z934fm79\nMFlOZMI9HmV00o9Wo4NcZ7GTz0JK4oRLIq0SXvRTKunb/8168ufxU9CBIzIp\nkoTeZ0IAON2/1OpneZhpctEGqQ7ZrCbPZ2DUatTX02gqNSqh/P3dSs2J+5XN\nNp5eGrPcdsTkrw3tr5uCpIovl6Z0F5gArAkKITevL48uderuPcHS0Ghj3lWu\nIC9l21EHkTrkruJR/AjEXwjlkGfH2k4F7uf6DgeYq7kIImni0etcnlD124jq\nSIBUiZ0DOm5CR90n1KKPhiVYvk+A7e7beWblFmDNsXpTZNue7YeQzO+3ynOm\nHa6nmFgoKhxITX8ItHM+JGRbVeYwteJ3rq4ENyqkKLDhQbiuCDNYcJ4dbSgM\nhc0aECPR90wXD/ctyuPhTKxExVpDsuhxoQW1vs6+9XwWXnyf//sjAUSBKLRv\nXL/DMHO4wECQvdO1n8cXvmT5/hGxcxXuewn8Vh2h1jIs80b0sXEuavEivbvA\nujWr\r\n=vgzZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.5_1643220275341_0.5636517425710799","host":"s3://npm-registry-packages"}},"19.3.6":{"name":"@preply/video","version":"19.3.6","author":"","license":"ISC","_id":"@preply/video@19.3.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6af1e80aab8556554e5cfddb178fdebd581ec4f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.3.6.tgz","fileCount":945,"integrity":"sha512-AoDEBAacO/I+ewpQeBzAY4p+yhrMtw4S8ZunfYJmBveWQ2Y4RZey9pGvcVgo5G5VXktNon4S/Q2vJaKzLuYf7A==","signatures":[{"sig":"MEYCIQD+vJ83Cj19zdHfp0ikdfPMS9vOH4kC7Al6mWuBi+6zHwIhAKB/tB9Riov7wjfFsPH4CwGnNy2o9ZLE1icFqVy7arES","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18225278,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8lYCCRA9TVsSAnZWagAANMkQAJ7hg8ElCxqv25X07jDc\nC5Xx7+JmVXAWjtr7S0oWonMutTfs7V2AFLOD3YHJgliDPhv3hsFOqP+kqJj8\n9o65yvX+vdievqXzV+4d5V56GlDBRR0OhGaJbFsdoFjQB3xWgsvFnK/on8rS\nlur4QsXtTGbk8CYIrSDwk9c7wrjzXwgoAMflWwg+2o6e4PMZIGNfC1hanxSO\niUQVUoMLjaOgUZYycrcQfGHtXfH20KHh5NvgzFaRDtUjLMItwVijwQG8ix1t\njkGv7e4n7RGGIkKOLsBc10m2Y4nvW/A4q9BW3tQ7OP3MmZoZqMKHGN/ccZc8\nJUCi/Xe7vLY5KzAQeYbSCcALTgumxgstm1PvvKxVc62RSAzJqCUOL9V/nMVl\nGLmzZ+H2GaqmYQ+6a5DhpuHec2hrzb9py2cl2HQQHT78+1nl43vkgrFShbh9\nIFQMwwtyrwey1WUpQyaGIpAg6W1rFqCbano7GOdu7opELtb0+CnZODvFI1ct\neBwgEcovP31H0YTVCV36A/U7LPEgypTIiyLmFagglyyXJ2GCU02kKCnDoUsk\n5X7cLfAu6TCOr0khkMOwxnXMEhyOg8PPEbPXuRdOlvFZgd0xzHnvCgw7iJL0\nOgHuI2dWqX3Olas5//qheA1yIPcyyhv6oVek0Z+C1VXmAfeQIyl46oBTE8hm\nluxA\r\n=uLFz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.3.6_1643271682553_0.5821873032815879","host":"s3://npm-registry-packages"}},"0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439":{"name":"@preply/video","version":"0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70a1f01fdcc7a0a1e364e4bdf661f55dc269c6f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439.tgz","fileCount":945,"integrity":"sha512-kLyyep9cx/0YLQbq8SCgSR+Opa0cSIXVaZV/7EHs3Sm6cRdpqpBRFwu5cybo3HCWhVoZh5aHnR9F9TDkh7hYLw==","signatures":[{"sig":"MEYCIQD8ySc7HltBXHih+W4ecrHfQz8D5glY1jkVxUDpeWXv8wIhAJZynnXPpgexCCIOrCTCFUqmigxd+2fLgrWPCA8CnTzF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18254222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8nJrCRA9TVsSAnZWagAAjuQP/1W7704RuqE1JXCDFN+m\n69L7NjLSe3b1es7S0+dzDllt1ATGhvCfuTmYcJmHY21HKMdYoFQF+KkNt/hT\nrFOjwHkCTBdnhQB5rdg3wa8YFD3w7JaK4TN43x5Did2otBbSt6JDsZFP6yQ1\ndSQz0TzA/xLR774Fv4Dngsw8x7s41nnIaOV/h1n5yG/u2OnvXgPPOT3ZYjoI\n7+ApAaAXfydoi4UH3EcuDdljJCfh9cqPun9nhWurUQjCc0bJUGR+KYCUxG/d\nS41gaY8MsJXuidMtbcpsKuRh3IKcBDUoIEOqyd7C797NBsT5U6TK6Lbg5xAy\nGDPvr7mnPohz8AsxgElAxhAbqrM5+pr330+txvIbZjefR1EOBcx7Ph/6hHK/\nAw1epc/DkKxNshDcOEHDPBNZXpqAwTd1+JWS98d7fbfpulmPMP6M8ksR4fkn\nA2wSOFRuFbhsInETAuylnBVSieLqmZIWErXAIFZtNKnVR4euQnZarHDregWr\nMP1iyonALPGgsE4UoEjLFMvAGRriviEdZYTh0BJAKGZiP77HCPNPkmfPpmlf\nbibdi6P2Qc+PRUsN2tCsGdAWj5Jsw2qEsS6Ob6HBDguXZ3AoTB0fAZ/uP77t\n2DWgyCeJsEn1vIagQA/r5t3jrOSMk6fpMJ9NBBp/Z84yoU1AH40zkM+CSR9b\n63oG\r\n=2DXq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439_1643278955164_0.772727651576939","host":"s3://npm-registry-packages"}},"19.4.0":{"name":"@preply/video","version":"19.4.0","author":"","license":"ISC","_id":"@preply/video@19.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"985d326b41b7f7fe77895780a404a5f31471535c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.0.tgz","fileCount":945,"integrity":"sha512-NU6rI26Bw1I9CW0OJGvR46Ov38L05niYTf5RfZKYDAzdFcAJIxe5AHV4rhXXVkrUlOv+GgI8Sdbunuf10bozaA==","signatures":[{"sig":"MEUCIQCTDCTlTbJrlQIqt+Brg+mOwkKaTlIuGmGaV5G49Ai/ZgIgF6j3EfpJjs1fykOMex8pENFsdd2k+9bleK2GvH0Myg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18228449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8npHCRA9TVsSAnZWagAAnm8P/jg2s9HqTazlX8FM5Wfm\nRx6IfM9qLEgjSUzEBvjX8dPCILikLf1q93HtyYsDnwDz8bLVz7k6BvOOj/5R\nWhyedrxFlYB4QBN04pZ0MZIK29eApvOF5dV9yi4iuOqJjsBk8E2kk18X9x7U\n2qv/alFHzizynr0lehMrn5Oywxx2+fISIh/bXw63kL80QtM0Ok2NwfPyiDmL\nKspueE+QaaOQaAWoD1HdDHhHBfWPK1SRMVOAdLgpVmOKDpqtzyVU0mik+JeN\nx4IMbsJbeVAj3yeIydIaAe5Ehz/K/nj34KTdN/b4grS3tLej2JHoFdDmKHd/\njiCdYL1IJX0Nr1kQadCEiUqJKvjTYsREapsksrs6Zfk4Lxq2cFtmKtLSE/QH\nngAAuUMazMJUspowOE6YTbkbSKfCgI8zsVeriCoSUVUrvL+DnJ8mIUxs5HPM\nJisLVxsY/VC+3+zDIDF0faCIBMJCpW5N96X4Z+tlmFCLsj/Y6odXea/WOT6E\nFUbYkU+LF++fJQV0TL1LJTgTMFa1AE27/Rmp8sctXpZq26UyYoLlGDqRYSF/\nf/A9hw7ZvU76QPsxBSg87us9gMVz+9E9AXxQSKnArejRqKMay2YImEhAxFtX\nsPdgPIWLGoHbJpRn9mKJCqsLn+sS7z+yXE9pQwbdXVR2Jb0gO1AW3qIyZnIJ\n/MaA\r\n=Gs3U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.0_1643280966761_0.7959058488003032","host":"s3://npm-registry-packages"}},"0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b":{"name":"@preply/video","version":"0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9afa8c99a02e47d108d30d04fa913d72ea23e47c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b.tgz","fileCount":945,"integrity":"sha512-W7lTphwaxWwAk4Rm5rHxAcPfLMhHVWVzrX8lnSRDQM2JTBoO2ptaUXxxzSrTFrZyIJ3eO8quyQmpg1LCCQ5VZg==","signatures":[{"sig":"MEUCIQDxj/IBeAYLFWbV/53gLH6KY+fWsaDsoZImwtiJILMfpwIgTxAbbM4VZ4IyL/52oDMHQy5Y8Ki1eZ9NEvIGOGJWnY0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18257320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8qUcCRA9TVsSAnZWagAAYSUP/3YSUZ2PKe+j+HhPGCgw\nWpISN82lNvwFUBwLUmhA+3HjFb7KL/Pb4iZvxHYjkauViH7+uH87z3sGniXB\nGVNq+P2AJVT80qNFEMSaVs0zMNdaHC8o6JJwvXxkjKzJi8xxYN++l5T1pviT\nbTXkbTwxcu//6b4maH218MXNPeZd3Nko4lOpnDhj5tF5GL/tVjTKisDMoeiw\nbtlYUnxpmK6ouR7CNv+kPS/5MWVvK0W9BlqTpa3IQDyPTlDL4+gKwXUNPDem\nhz4lWqQpbOa9oiZAc43xWhMZXABqxDa+kz+nuYEtQKHyS1piJU8l9HxcdEhu\n+FBa2+OWMpmh0iIbrUO2yFU7wAvr+EBvVYpvQk1EnyLdhWAHYm5ttf+bYO+V\nPeVdY4ZkafEnvey1f3THATTY+XWOecl1zr0XokzF1ThZiXCCaRI+VzDuB6dd\ni4D1spUp+3oDxUVMUrHWiQiVkCNkD99HQzWaXe3UZexXa+KXa9mbnUenE/1n\nmszPEEubThX1zOTIx0YNEe3ZKniZ1rR5qWQneltT56BMHzw6zChZ3loYqv3X\nYECQeY6EBZCngZVVIQNxP2uFhFTC8wAS7D+Fg6b9T8jigDQfpdsxgECj1Oab\nFeraYS5LqTXNrSd2moDa0sZwluCYiQe6XLxVRRp8X0f09XXXEbK42xOzGF0u\nIdrR\r\n=b1B2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b_1643291932521_0.5490389922861714","host":"s3://npm-registry-packages"}},"19.4.1":{"name":"@preply/video","version":"19.4.1","author":"","license":"ISC","_id":"@preply/video@19.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"999e41589adc073ab4fbceb53f6405c7b0b15c33","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.1.tgz","fileCount":945,"integrity":"sha512-d9IkcKqWKv+bRfvCaT8NcXjGi4yeUpr1FyNje7QOz77NMkD7k+cXSNXS6DPWHdtK0zkMVFRlg7InraawuAt90Q==","signatures":[{"sig":"MEUCIBQbBnXD9z0m+4X4OcGZDl7b1uIK+/AYYADEiZkpbipUAiEAlEti3ywKFD/n6eio0SnlMoJdecPQ4jaBcD7+/cB/J1I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18229034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8qkQCRA9TVsSAnZWagAAH+oP/RAZcPapDj3+1U1sMb5M\nLyiKqkKJ6YwT4h++VA1OHFN3UZN/yDJJvcHfJuj/3saZ0lnc6UQyzBMozVcZ\n+seH92pXXHf6AFpSiW6M2IIcAAGoCP1Gy1TlDrNr2O77DfzzkyViqgN1XJja\ndk3gAx2PBBItLfgnSGvrnvN0VdA493GfQgwfxptEVaYHQn1VQjQTozIT3c70\nNW7VoFF1jUyE+dcyU77XJ/jTXWcVOcssV4yOWll1qGdA0XR+geybI7qX9UwM\nK8JQAwJ/ZgbjMRCnbUUkXD0eyIdPIot+L4KsvjnmLjxX/XQONL+5jt0ba7iM\nfbGiWQzt7SVGqRj7kDz4e6ySTSRRDYckpLm8D/kAgS2r8R6aApwORhanMJeM\nqrSnu3k33DyQBRu9kMaxozQzDynPjEzALPzHKrkiAp3XuSmvOXQUbJzuKtwf\nkGpBC9bix2zSTQ7qpfG23TQfe0FNHoqTz+6Ylt3CjWSfVJNQUIEQQ0XlzzkU\ngi32B6Ctl8PxMycrdHfpfDkNBHRFYe8GL+n/XAqfkinktZAC055GZa3B8s25\ns03olD7l/klMQFBsMYg3UhQCgk6PHtKlnFzPlXyR5ro15iWHblF4SJybdekI\n4QXizFUKNp58uEOjtClUfrPZ21ApQl/7BoRVuf/NUJrCfeT/VkcMyZBStE8u\nZ5hD\r\n=6cNE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.1_1643292944298_0.8484830180137242","host":"s3://npm-registry-packages"}},"0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f":{"name":"@preply/video","version":"0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3a6ea4ecacd9c21b2dc7297a1cc865ca02fced1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f.tgz","fileCount":945,"integrity":"sha512-uQ0kFHCyXS4nO3xw5VmKakzOHyKFGrsEtswPwC8RvhDcelNjOqCgbsBf4Sr0WXpuoJaM3+qakg33Sock/sDF/g==","signatures":[{"sig":"MEYCIQD+GjRTUjb41nq/bpgKupoAmbiJ/EVO5CufBWS8RYsDuwIhAJNDcKaDYGirFODxmqc7PEkcueJRiycaa4WIMZ3+fbvY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18257304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8sUuCRA9TVsSAnZWagAAoV8P/jhpBmx5id1UykRqp3k2\nOdlh1cXQ4/uq+GYmm/voJjakbn9Y/v0LBrAuSuAFMhfEcPgQ+ICxlo0geB/u\nr7wlARveuPOJJKD9YRnF70mhkI6K0gAhMTczzP/ttq5yhNMI4SlEYJZQvgjs\nsaebV6C+LWV0olNkd0U73fe3MXDqCqJ8MtHTCy/vYdxqO7tsd3n+HwNllpZi\nWWLhn9rleEOVwzSFVFK0wWTgCbxBCWsWeJpVnGd5UUfqEU8oD5YB2YxgtGdI\npNu4GD6AjZt2KVOA/b+l1h/qxSsTRpBKwCz6U5nwwm5/BK/KM/+VUyNt8T87\n3OIMN4Ce4mRe8c7ZK4K66dReDcE4hjRzb36lh0tlEqbt/R2UPQxk4b2YflcZ\n4/PuCwqfLqGzpw6YRHh5RuGX3Yoj96zsK7yKf3/Lh/dfUtmZChr5fmUZ7NHx\nB8HB1Dipm849LhGZNDAUfbXFfnKU6zbxzi6LBNZO5Ef+dWyc71LQ7L51xqDK\nDtydJJUTgtXcZvpcv7657kWLeOb42xyHj7AUkC2Cfj9RSb4b0C/06gv31TTE\nmBZQpuemcC3GjlCe45bx8eBFVfncp2wIzPj6klQ+2BU5+QqkturXzJ9SW3eb\nn59gXLA7Gg0HfrmCzNT7tOG4kLGeqKrfmO9BAilRfLnqqXtV5pS8JiNmxQFw\nZij2\r\n=cQmj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f_1643300141094_0.8154675893749483","host":"s3://npm-registry-packages"}},"19.4.2":{"name":"@preply/video","version":"19.4.2","author":"","license":"ISC","_id":"@preply/video@19.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0d003087d12902cb52779b0fa249b84a225f22e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.2.tgz","fileCount":945,"integrity":"sha512-KKwRJNnvRuSLE26GUEhzOtiHqBxQ2DHEh96/It7DaaEIfBegR6zJcbDP0eBUxRrViOsXvNjCeRVO/r40mxqosA==","signatures":[{"sig":"MEYCIQD6L1+2zXEnid3KUaPPAm5DNpso5wp3VpxYAS1F6iujOAIhAJL0f55ysfblwtvIwsGEtnipAEwZgW6PhZGg7vWGxB26","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18255819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8tnFCRA9TVsSAnZWagAA/qkP/iQ1nPvsw/OY6BLEy+GD\nk+7y+/stJh3/PSwhtG51UJF7M8bTdyv8qmUABU/7K01s7vfmorIbcZCTqa/C\nL8ZfviOEpLn6P6Hv5h3B0Y58DtL8CXx8NDU0GF32JyDKt3AZi5s8R2iyYRQz\no/IoBEN5AsJFzadjkq+80yVhN1r0ZQY83L5ZeLBcl+RXQoJWirTyMvX7M8xz\nDxMBi2gsHF+Wj2GxaHnu9StqqwPHzbdi4K+myAbmq7sH6vqyIDdDpSCXAmr3\nYlnG9rpj01ao2JgHGkv47eOAwahnJBT/hhK5a2ZvHIGUpDeYC7FVkFbrLuOK\nfjrpJJ02nmsrzgChuv4juBkZL7eZIQeOH0niMFOQejxts2QUJMn01lLRnzy3\nVbz23lQqhjrnT5SytmETVqB8+2d/+gEGH0PvdHrZy6hdMczA7TiTNwu3xUdv\nPTzGb++0HS7qp4b+uiux4JjnDH5ge2VTCWetxYH6kyMRuz1pqsAQrhiOEC2o\nKELtTWoEmRt/DCNK+K34zr48YRj3uqLle/B/8mNo8hG4wg4o7Y/bM+9f1zl8\n0iLN74f4efh9XAuAwyly0oIOqRgw6qBrt8JxTSLdJroVH/YoTCFBxqp+gGmg\n2V8G0I06uyCYt70EX0WcLnC+aRQ2jR+uiwoLvnf3FV47i7H888jNMVXwIOuq\nc/Uh\r\n=1qdv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.2_1643305413422_0.6753744145744975","host":"s3://npm-registry-packages"}},"19.4.3":{"name":"@preply/video","version":"19.4.3","author":"","license":"ISC","_id":"@preply/video@19.4.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"512e361796bef48b19df1b18676d3d5fd3e5ea8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.3.tgz","fileCount":930,"integrity":"sha512-Dj3zeByQiTNPnF7wNMDv1vuzzQ7JOAOdRufZrztqbj//VEmZgSzWko29whQcE0LoWwj2F7G7MoyOH4evturlng==","signatures":[{"sig":"MEYCIQDivYkntmnVHfCZWDUrXseRWvfgtRBdys91BNPUAL46UgIhAKD8pP3Six69ai0b2jrUBfXLZRtHmKMn0oYCaxODMPxh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17913726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh89r6CRA9TVsSAnZWagAA0q0P/1PCFmGnR5tReNv6h37H\nld2I7MO5Y2elsk2Lq1OO/7RHM/NY33H00OtrD4bpgNL/cbWAU/5UabXGzUHC\nmJ5cFiY6h1Ey7thsj4jLrgIMSA6OpruoQjaO7CQZ27o9LOkkcmwUVcas5FxC\n0xbQKzDECqIL1X3YkA1pc85FTQV6SG1DUPH/YPeu+ZY5sSLbv2uXHN4PSh84\n59+2Yqrnis23x9AYWlu9QX21OK8l8CAcp+wGS7a48NtPMsINV7LkDPIK/9a1\nVNUfcxt/UvTne1MIYXOC7ja2dhfF8Az3WeCvWIgrcG36mfqMtcIfRJ7vRmXX\nMKKbs+oacIZ0BIYEKk5nI9Y/Z3gExr+nKb3NkbcLwDn9siZVe1iOpX2L3jam\n/81tFB2fVQunHybw6z2TX2/+IthXK9CVJlJtRoziAuxIWeucDbcnDvFy/KJT\n54pOyf7E4EdVFyeS2uKxRzsJjvEVf8gHW7ZygvBI+VN5RVALNvSBmbeEbbTW\nDp5MzKouiYAuCAa1S6GvTjlnsqY5hzrn629NbfViO5eSBcJoNXvW9cqHcMiR\naGa01G2uvTJj0qbi7YdcBpkbOXrZ5jViHFCHZ8RSqj5xMy4jrGhbKxMHozVp\n5lWO3m3PhburBkl/QEjm0V4yF9iRmh6+h7aNGLj6eElKzl00wUkczqKTeLWs\nle9b\r\n=MLrk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.3_1643371258166_0.18202373449628073","host":"s3://npm-registry-packages"}},"19.4.4":{"name":"@preply/video","version":"19.4.4","author":"","license":"ISC","_id":"@preply/video@19.4.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"94b86fd03f34c6c3a399e1f3fcdacc4e327f7a1b","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.4.tgz","fileCount":930,"integrity":"sha512-tjJA4TALDDMRAHqLOeW8MjpIPhBq7WbNAEhZt9YEpmvvfx/N6ILUAS/hNycR8LStR2fxcDzW9oaKY9gXmPOlBw==","signatures":[{"sig":"MEUCIQDCW4l/z2Uq1rRLJUwSB3SFJA6lkRRgYIR5rKXoLYCXIwIgSVNgF0vNTURfSdELq3tYyPWoLV2pO4iZLE/5qfp/zdk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17914118,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9A5sCRA9TVsSAnZWagAA+PUP/0VMFBRl0KDfqtpOcsMk\nL0swUaul7HfynHa5bvROjkAN3CI1jc/sguaq+dMRW2YgtgNutb30FGFCQgv+\nRE3rSKGA2SMfohsAy0kJqu3S9OPTbelmbT46M1AEVcUKScy7MZp+yOa79skj\nRRHzh9erSHSp/iptioGaCUHPvDZPZYOylkh6I3sjhBh7a10RFVk2gz/Zdfvf\n5lEQeuy1yRkCnF91KfPY6rpE1MxxaGGFnGlkrXTH48TOneiqyOG+FjYyMpu9\nXVvBNcWRrHjcPpBiAp41CKkYUjsuIGvqiXW+qFyjiM/IZeeV6LyaaAJ3fVeQ\n2CU2iXEILCKvJbhSKm1njKMhHaJL5cIn0FJMdXI7A56MHzQZmgeFDysAyGx7\nhZ5e+0ytEf47ZggRWUYz9GzmjBxrE2XvKGmyAxtOuFM3ni1U2+ptw9VFHeI8\nElGsW9yPY6mrRTfhiuzHElUU0wFqVxHy7uHw5LhHc+oYQeCEnyJvylyNSaVx\nJ98KUL6VbVZBhBdoAvYMCS4OOX0/PbANkKsKdTjTWGMibG5yTAkamuJuYv03\nVwb1oiHvfMa2r5kNxiDW0pHlo7NHCf39JUAoKubVgnKKROMK55T72yLYka7e\nMMjBSPJ6nT847J5DsQLZlAsHd+83IoiNC2y0kqhtLd3pBgGktcTDrFcODAsb\neZXB\r\n=oWRX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.4_1643384428544_0.3587133266448841","host":"s3://npm-registry-packages"}},"0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68":{"name":"@preply/video","version":"0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9902a0a305fb467fbb3b8fb84073d043954bb749","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68.tgz","fileCount":930,"integrity":"sha512-wpOXLs6C6cjHk31VLJ9b4dp6Fwxzff8r4ozaPkzC0oKvX91TxVo90fmVlgEcRCZJFT0DcFZAC9bxZwFezdy9lA==","signatures":[{"sig":"MEUCIQDNClkVY8/gtnoD5ka7mkjECtgvPaiOrohM/ce/5kOobQIgBRdSRITzX+NoH5T3BtwG75FLUp4KMV+/XNkHJ3vXl58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17929624,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+mXeCRA9TVsSAnZWagAAXrkQAKOQdUZI2i2b7cjAfB8O\na9XfxHQoyGgbnF7YJjO3NeR2hSQ8IE3te4okH2IdvUQeLSUKVmKAaTzfMjt0\nFdSv4qgbi4TalBcHD3uhtTku8TakL9/61hfQC9onBEfv59t6Uqy36M/XLBld\nEI+q8EXl/D8cyXCN0roTBKULclwrqky+/37HCumtpP+0yilKAF8C3RQG3IZy\nMsjHElgKhqX6SAr0chtxfjnGh9NrzymiFsQpueESkn7wFPWu2tMKklHeaR5b\nvWSHla+E1nrKyH+pnfc3JhDJudOrWDI507DUv7ZjVPruYsDDQ/Irh67nwSNy\nIuM7jERL7phvLeuqmuZoJdX4lGvUv34pC98oeSoAxp+t2miQVyGvkAqqHE5z\ngIUzRUUp44HALzGjr/p7sB62IdSrTwYR6eU9+VhFYsB/gMagaEmsSyeSxO9H\nqs1QtdblrePpmlk9CWxana4BiN1qowHhwuez+HYEHX7xHOkP3mZ57fKVmijc\ndWRokPg2QNeo9j+u/ZN5cJ2UPSd+SYNEv6zqpublv63cnMIOnn8IcjJWTXmh\nOHWC4xsBI/1HmPFcdhtzWv95X5EyD8WNRKpgNkKsmGinxjPXr3n9tPcNabXI\nd7vkGg/hSJfLC5T0kXEEl56bfmFTk7eSo5S1a6qzaA6ANSyopgL/mbRvYS/Z\nQA/a\r\n=YmWv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68_1643800030181_0.17011725382868392","host":"s3://npm-registry-packages"}},"19.4.5":{"name":"@preply/video","version":"19.4.5","author":"","license":"ISC","_id":"@preply/video@19.4.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3796e70481732ff7bbc1b62e981dab60b3629950","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.5.tgz","fileCount":930,"integrity":"sha512-d3PNoZJyCR8G9qh0d/KeAYxXsX3Nk1KvZorUAcNyrd6SGOBbMb2iS4PeWbzYZbzzujmhrltznA/77hv+weN3GA==","signatures":[{"sig":"MEUCIQC1NYSbhaPVCuM2yEUPYFj1oiMEpNh1yHYmGMo5HhfMKwIgTngsLh+kE77G7Ilj86He0jbEjyv/zujpW+YWW3rDhYI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17911228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+mnyCRA9TVsSAnZWagAAuzcP/279+mpxGrksOnLZNtbd\nJXq+yJgs2QnTNnC43ZpA12+ZAbAfMCPtzdlywBpPyzswfXkx34UfrsiGv0xf\naoUD+sPoDIhiTI3xGg1biX8IpW6M6ls6dUElXVqFJiPDKVTpNUqy4NAPlFx5\nr/BVzCVm4KawPFPufuXnGBpywKnac1whSgOlDD1vgQrjZv8eUaRN/0QPCZ4g\n6Q++cO+grucmhieX2FRku114IInVeeCdbIkOExtTibPvT5FClsY0EBSmtmcj\nI3RC7DRMkqMAckIqCD3npTxXu+9fPlVmwCD2oG9d+A0a7oRp4ZVw3G+Y/t6j\neziHTNpnpqIjC9uGZSV42dL3xG4J3EhgusJeuJ77w0JKUdboLg8UWnMmzs4s\ndB6kUeQav2qS/Z1AoDPIXbm3EZk0zsSejFjLuWJNIu1b1BzlWurw/y7r9Fvh\nP8AElwSgUgmyTcXEBTAD4JtESJpONn5R+KGeMYOZqrqXUCX5+2CQA5n8Gfno\n7cP2yfPacHp4YSXLjQN3HYAjOjN8kVaOyolVBe0IzQo7JBob0ZjeRNgvbSBf\nkF/653yWwoWaFROMvnKSGvL9zjDa7Cikzv8yGz7WH/febyntCDczWxQ8Fe+Z\nW9SIAX85UxQNy1Wgt8I2cISJ7jvQc34Bo6dtQFql1+6OvoHpfFoNstnKcNF5\nHEP1\r\n=2uFA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.5_1643801073950_0.40723363615466046","host":"s3://npm-registry-packages"}},"19.4.6":{"name":"@preply/video","version":"19.4.6","author":"","license":"ISC","_id":"@preply/video@19.4.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1381c213e08504b5d05548cad0dab1f5d7626f22","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.6.tgz","fileCount":930,"integrity":"sha512-qRPCOaG2vcehhiJA/SudzFYogUwjCYzypyjD7d6+1i8oXDGcqajBoJ7aNKj/1fYFKozhiRHwf/3s38x1OdRYFQ==","signatures":[{"sig":"MEQCIAWjxbCwgqTUgfDfpzz0s3LayN6sKMMjwQGQd6+wuuWvAiA4muB6tkLLKgu3LtLZCla+hjF5z6rJNurtODcFhsioig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17915234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+519CRA9TVsSAnZWagAArj4P+wUnGKJdWDwM5Ar+VHYG\nONIKWM0bbHHWVnaFEyjR1Ryd7ROkLcS5DnDfq/gib3oK5HrHbPbUV0b43Lj0\n9IoV9kUlOOoDrQOOjNzvB3x/FwbjgLaIjrTw2I1nvcUeqkIbrxneG5xyASox\nT8ySAqMnIxpTfrShdSC3+KwPU5JUaryx+eC4gEvXRZPPrP15hEtFYsoGSueS\nrXF2M4ynxPtsbROAJVbEze9wQ64Z2R0FGrA71aRSvD5syW/OjQqCFrVndiH1\n9Qkn18aXOctrAzoT4zdwbH9EgYtHmHcZkFD1huSZ2ibUlWLiSbzuhTgujuUZ\nR+l7qRnoLsr7yLTBE5eVj8aYaEDCPdvzbTDNVXL7C7t1sGtcbdz2HXrZ+59B\n/FckxfbcH3QB1MFSdKtRbmumA4WzOe7d2pyIcOywlBVuTm8SMufYyxThRaX0\nOnQcrGoC5J05rdzBbSpPs87C+cRTGf3/DKOppR7hFxIoeJ0C+aWEKku5rpcj\nJrmljXZpfMouRpwUAx3o9h24J75DdPQFG96gxf44Fe/5gyPzsig6jBVZTwek\npbJ7SpWahtkjkM63CYH3MqRICKS/s8EZDnwXNGh+Pw5QaC+fLQbrPaecQLo1\n1RgKvi9GztbkXmzhH4iMMU0oe1uOsMr/zWPTeUzA6tDowS38ieu+UX7PnkdU\ntJDm\r\n=G6wX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.6_1643879804964_0.6156331889407705","host":"s3://npm-registry-packages"}},"0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b":{"name":"@preply/video","version":"0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a424133e3e9f7fa6f0c8567f575389e1a30f3d8d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b.tgz","fileCount":930,"integrity":"sha512-oTEN+aWhF37C03fOHrlqD+IaCWGA2gEZPj4a6+rsB/3iBnBfEazOKY6pzpvrYmr/bdha2z88+VlkquL/ZWMAJw==","signatures":[{"sig":"MEUCIEFAQGnOS6LXs15riFP9MYuxypoUZkxpEyjGOjRW6bLiAiEAiGCEu5DnqSzRnUuITRMWG/GjGtLxqaw7KYRNVxUj5es=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17922722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+6NkCRA9TVsSAnZWagAA8YoP/3hxXisqo67YEAYLU+Bo\ni9FG88dRQy4YVwjWCtbyZ091Ym7IiAEc6dORXTinp+wDkCoviMT/rqG4CHet\nAsfpmXmkQUy+aCF2Q+84CYf8PCS/LJ1YtgK7yNTH+Bh5JD6gL9aAWBaEggbr\nVhokLCdA79fuOrM4k+2tsRrOrgOx6OamhnYLfNavM2ZMBZy+IciBz92XbF99\nChnGloh2m6spp/2pe/XT6ry+knnrt7L5HkI/YWGGDCX9cgSV+ZmPhd8uop9i\n8laHrDQwQ17cwqd25tJC3Bz7KraHgVCTYbLci4VarCAYIGGO29hHZLvtIYCg\nqLzbcDTihnpu6juxALY0vfqYfWmfzA/MugCuxiBl+1zwasaHorjBS01rc4o5\n1oApnShRGFDCsDw2rFV4n7xGngNeUSCnzuJ0nQMBJcKBAmTxLZ+Heple3d8V\nPqayvkQoUjp9A5KORyPCcECfDbb4saOzu7AnP+ru9y8YqXnC7z8FKN06LjI1\nO9bMtEGaecrvYBK0TUDaQ7j+Ea1Q2UCL+PbZ63l2m+k/JrdIK/HiDtT5nVNJ\nFFZlP0RsgfgGuzQlW5dZX++9xAAga1jpXxM7PZkpMwZWWuuaION13ZCMy0An\nKdgbr3cixlU10LSmDoymqO3HvtsZk0gkzxr0wo4TIzELsAH+FUN9efL74HDW\nG3Dj\r\n=SWG+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b_1643881316408_0.9919320572967882","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857":{"name":"@preply/video","version":"0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"51309b8d2dd808cea6d3bae3c793e96d068459dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857.tgz","fileCount":930,"integrity":"sha512-ulo++KlO1ktPPitB74Zx8UpPeUQybIFZUM0Y8CzrfYF5V6zUzVx7mwf1oN3Vx4wcvKk3OJ1mUcTHM1+tmn854g==","signatures":[{"sig":"MEYCIQC6RW9AXms958SQL54sGkn8tJCOmCyOl4bNLcC6AoIP9AIhAJ8ZpMR1v7S5AOpMIu7i+/7MWzF7dbDnyd4EEdeqcgh0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17927424,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh++d7CRA9TVsSAnZWagAAwBUQAKCB6Df50PMsJrm1/dHZ\nMn/GQW1dDdM0k433R/phr1XiG6jfsSmCcb8sZdRXcp+rdHEEOgTSl3CnB01Q\npglvyfsyn0hiAkRNYbijZgCJeGYF6lyP+mJdWKcp/1qFPV8lpiWC4b1QC+Ve\nCdiJDQ1gnNeATtSGGp9NwRB9jcXDpZhsQD++/Ut3JY5TNZgQ/7k6Vf38BFUz\n1VqH85BJdH4An+fSRLJ3pCcJCQ13toSUSBLicefI9yZRtmNJ4I7HAOMHzdpf\naov2pd8mXSjgSQM0napKI516XzmDgZrWAbsWdvqZ7jMPFImYl5o+t4+j9P44\nrDnTgA7UtDDxX/zCR3GhMocF8hkSy29yROTUf0OxOaTkkEvZQWEn2d7h91Uh\n7twNPl4oSFg9cyTD1awTi0ILCmsODUx6VEXc53Mc4VsB2olcE9LZLVl6+Tnz\nReoLN0cZoto7ivkGzi7dtKBdTAJwSYRSDaokK+TncHyixPEqICF34yoA14ku\nOE1z9bY9x1FFpHG/vHumQ5ayy0GA10/Fq1c+Mvecj7uzkX1O5KfjpoZ3uWEh\n0kP6Cn5SodQn8rsgUogvTINys+3r2bCLdvEoSPfvhA7HLMJ/2bpu2wpoz/Z/\nFhnKhkI84YpTnL91zkHXzEgq60AXftNws2VNUOUAPkDW6xqP+bceTBAITPl8\nrHo6\r\n=DIqr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857_1643898747374_0.35028042088436107","host":"s3://npm-registry-packages"}},"0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36":{"name":"@preply/video","version":"0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"443aa2caf63d43a12c5f24bdbcdcafe98066717a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36.tgz","fileCount":930,"integrity":"sha512-PWN90x2VDxAycqd5m6EtpLTlybNIzvDl5ZRaIoxpJ/QBtzL2LyYo2nXTzybL5dDSasZ/241XubCwV2JOJwYvGw==","signatures":[{"sig":"MEUCIBNLL21VjhZgCzhvuvzb2oSsAjOG11/ssgPpwY/yNbjFAiEAvfMtn+Fp3JF2QPjeEtAV0lXcZ9vQ1J5FEJl0beQ9Jxk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17918970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/PqLCRA9TVsSAnZWagAAvjgP/2EaX7JU+uUsMycd7AVs\n/0jKmhr4UkjgdqSor+8VHgDzeNscjrTGNz+jlg71ncNzedFgyLAgqpi5Re2Y\nE6KNLZnkbhEi9Y5D0cNPaHP9DHhDIlN8x2/TOERuicOrpBIUO4AbHw7mYsO2\nW133cFfv83HKZEmmOS/kAJZItQEnEu2mqbiS1pd6k3hKqVH4rn9J7Ptw7QMS\nLItnH7LlFNzjILjhaZYeTv7khM1YoVBv8eVnW5tWJtIhwqmmKNlkpamSNBEt\nM2Utr/pAUn4OLvHIG+OlQdM62e0E+f29gNN4dqfbxM+7vjRylb28MLZChEeL\nRwNhiOMnEMG1wsnmNzfvjBVvhmlKcRNW3OGybAVRnZsgoQmY8l7KZ5JGbaFB\niv0HJqK8BJLx2fkjOR/R+xhNc7VnnA86dqSPRjomWUSj6N8KWdXXyisJZJCg\nNkbzkBwUcDMC993wDBwre7oN6ZalwGduUv1ZFkpvs7cE+9XOXMHS0QkbFtPH\ncgGdkduC+AkVbK08qtlKXvXoDbw3NlLmfsge9GKDaZLjJ74WgmnMvH1h3q3B\n7NtX2bED+hqOlo15uDv/ABFWw+yVQXEeVveF8Hm4uFA6Koq4TtbTjxZwybHJ\nags+A9MlA9C+g9Ki4X9PF4sAS7sQEh0LZVrEpP9o4DWw1+ph9iad+dLt01vn\n0DlO\r\n=F1SB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36_1643969162923_0.8458663568659728","host":"s3://npm-registry-packages"}},"0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c":{"name":"@preply/video","version":"0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7c156a8659394736960ba44fb5c14f77499135c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c.tgz","fileCount":930,"integrity":"sha512-yPVPSwyVJCc9LrJ9faUmbAezEkrS9A2/zYjgGvfFpqB6JOb2wi8ZjfhRo40z/B5p3IELrIXbpTXhIVu4g64dXA==","signatures":[{"sig":"MEUCIG9Q1XxhuauotuQyDkxrt9XMDL4W+Pk16FARPvF3lsu5AiEAyJ7wMpLJRBMBiH1Le6C8xASu/AckbvFfi2p7rNWE1gQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17920093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/QS+CRA9TVsSAnZWagAAF4UQAJbHrrhftkczLPzuXEi1\nr3io7e3jUrOigcP+vuvuKavJ8nOjcBp++PgLdkUzdTHRb3KrsbWB4xIhZihz\ndx3bjaNPfBvvAjPtZ2EwBqhYHYQBEmt2Ba3YqnbsWqN71yz7jkLe+fhU57uG\npm+FCYnax4WjnjjIbF1b8WpkcQAmMYV/Ns+cAdnYrllXU2Ujmam3DKZx+Zcp\nP4EckLpS9R9rpoA5xAoVex8RQPbja6k88j2aBTIIMCfiD9ggA0tvQUcdjKH3\noHJQbfjhuYczcNbyHmlDRC3RAKi1ga/jH+RaZpc5N2+EN4v/+QJ0HJFC8JB1\ndkXbc7aRFpMjqHVNIf+oGowUyZE1hrhW2NDR47f9XrUxkOQxnHD/1pLdMJsm\nVZZtnllDWIwIB7KoXF6yuzYoySP52/D4NVnhkJ3Dq95bmlTuAu6Mr+rOHYRE\nsBzDsaTo9wjNh22dS83/fZQIREqqPQ6BgHQ/50oV4TmHayEiIGPk0sqcrbQV\njTuvw0tkhZdnsNgCFY+O89pr85ZYlJIOTBSJU82gHXgWjNMV0u0CxnSTjF7d\nzRgCohOEN0BJlWMLEcWUa01Kyh9tzlDOEzJvkj0Owhd+yI5asPUGMnjKA3xh\nDI/gnm4pYE7CjID4PrThWXCWrBVbfqR2gzVzl6ppET7txf2uXu5DuJfQIDw9\ncSYB\r\n=XhFG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c_1643971774478_0.06008640410451882","host":"s3://npm-registry-packages"}},"0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f":{"name":"@preply/video","version":"0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf5568083399ac7c6506368a1efb24adb50a8d44","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f.tgz","fileCount":930,"integrity":"sha512-/ltIXqELjHhdjH42VKLnxo5fsS9GUxrb7yuzjqkhD1wPgBu7oKeboaAJKkS9dbqrIV03+VQWNMRRTtFEOeqDYw==","signatures":[{"sig":"MEQCIEe7QVhzpJiN8wIPE44YEQPugYfzETSHsW/fZraIgAwFAiAJXrr+C4TBJt6pThmUKIrd1H13ujWvEQShM4I/KVY6dg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17933470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/QdTCRA9TVsSAnZWagAAZ6AP/3EcmO3dqG7c835MXX2Z\ndzkauQm9JuFmTIadjGX+dIJ8byf+uwtuqXN7NpxvfXtwIPQOL/rH2fy332P2\nZYpJySQ3ZPsX3J53Y/u0cZyvP64UZvUayAk3sVMthPOCkhhoO9aufuR35aEn\nZCLEGL46k1RWmRa/z/k9hMFcsUH6MdeYV0q2yRVzXltcy+ioSNlyo22hVI/z\nV72igzRTlKIuQPViLlLJGw9AZ6odp7eL32Z9OYxMto4SwUUJm1w7qlgcOnZ9\n5ZiHTXJFlwDN3HsIzgBHmblamNVyHd5wfo2tSrFFDx4zFw7cyRg3+ZPG46ly\nX3viyvIUj7Lkl9MtqTOe11urRQGPql/AQ3K1iBYesOOCbG9eqbAfZV2keyGZ\nEkWX07d7C4Uzd2y/i5LAz/n7LaJMNMraW97LdftsZxSwp2TFUO8FiJlPQ0xZ\nQ8pkyiUg4Nhxy48l/36J2v3nEBPn5pCc4CRXes7Vf9YD5+gFpuIIe1NnMHuv\nC9cpct5bareoWEkQYg9oQZc09NZD4zw7xoLLTmD+O1tVcyUUP/rMl5JHRU6X\nvF+JAp0FiynEg/e1N0xDbaAzgMOHfUJY0oX6RNCrKN0Moxh0mw9OU3e94TsE\nCX3n2dETX2U/iPRbIizgEkzsX8k+7jMwuljz6+S27qxl7p61J+bwXCulXt4i\nmDa8\r\n=/kST\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f_1643972434503_0.5525479792917283","host":"s3://npm-registry-packages"}},"19.4.7":{"name":"@preply/video","version":"19.4.7","author":"","license":"ISC","_id":"@preply/video@19.4.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c66fa7cfe1578fed8384e8234fc53dc882274bb9","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.7.tgz","fileCount":930,"integrity":"sha512-vp9zG/WJTa84jVPThAmIJ28RCf2xyjsglOK+NXDrBE9yWVKq5hPhHQ7E/yfkVf46paxDGYNDcnQUWXZvRcncGg==","signatures":[{"sig":"MEUCIBkFKAkJbKT+8eMNcAYkwyXpGhz4q6iE26Wx1LMcSmFdAiEAtJYi61lv2Vx3I6PGhXzqr8lIkX87nlh+BCexbKjxI0o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17918608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/RWvCRA9TVsSAnZWagAAPi0QAIQVhH2cpE3udTQzevK+\noF3uYbpsxbf9Ywi1dXrt5lqP682IxOM3LAosKPrYNL7XJo9gtOrHhtKhH7Ax\nor2slW6h8vDQZNXFqvwBOF8OoAxntMUY76EM0aA70ppkq/bO3wu2VCn46Gbr\nfVdNQyD5iQJoAdGz5K2fHDQIph7p1CTACCtUrY/rAk0hp0a+OxpeDFfO3S+r\n7e2CPQulYYpdZ0gnOWuhDdB66SR6a80oTMdLVv2w4XabovHx7KK9kvESWAv7\no75+3G7rrW78JDpESrH0e2UxeabyEkYRNTHxiN6G13L23f60wvg3tNYNFA3y\nJkqezICvT+DN7uQka3AQeJuvCmecIrsfUrR/gtB6ts9mNEtogdpo9q/7d4QL\ntMOv62cEYeaNGqz7TM1Nrz2Edpu++JA9ax99o4U/0N5o4arokN2dNxk/UMcx\nmfehRgIrdpgx/Qz4++26Zwa+MeqkWSB7TUbNsrz69GgW7IMmSnAXMZ8I33wB\nbYyprszCNACJqlyn3snz02E8hV6k8zw+zpAk6HkEhKuqszGXKsoKCedxwv0t\nn7HNNWYl8+ZW0CX850+Z+qnf4/4P9mhlb9RE5c9Nd8mW2mAbTk51w4mM+Dt0\nuZQRTOH/RDVHCcQ/WKPe3KhxM14No36oihlCBqutTlVzsxGNQ5LRbWUJdNAF\nb5fc\r\n=sF7a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.7_1643976111483_0.5148520971489778","host":"s3://npm-registry-packages"}},"0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d":{"name":"@preply/video","version":"0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7480f3b51ffc4e5d9529794f7a305136a85a5f20","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d.tgz","fileCount":930,"integrity":"sha512-qoJspkJMIRxqbnElFQah/OSxXqX6tT1+b965faBXRZJN1MLI4VIx5EBS/pJiThF+Q+EHlII86KKOV9gexzOQsA==","signatures":[{"sig":"MEQCIA6OFossWE7gixtF/ZKnp/+ziV4dv7ayVeEiUVp5MHvbAiBDPy7czbrsDdUQymwXSFoRUjKrENbtkXfeHyQkeKG28g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17933125,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh/UPSCRA9TVsSAnZWagAAl0wQAIzPr2tS67BNCG2u+dyK\nTdJM8RCMfsxuzQtwsF40wkL6Vy3/yw6hRAmFZPFe2ICCfuryqp4FZwwZspBC\nQIpTSc8l0IUl6f9dTLA8gYlqtubVR57tEYLIDUu0MrfjrO/p88v7r3WCiGuz\ntYHEhJwxw7Mk+ygDj78RAPZkDt6l/1BosfxtjzcyAiMjXouJq1CmT1J4JiW9\nyrOqvLFzutmU1VRu4cml6eE5fQwzII88/3/jEcSuGv2aqR/teuE2c208lc3E\nOLHlhp+G8ntjFvrmIQKVwFuHhMrOmVkWuzPaG3ByaVSRbTjQtrasIf3vkKQd\neXzw20V5VENecIT0n9YepNsmjMWFgNjDvhJhmoiHhBHZM+a3jhoCqlvoLGzR\nhE7WZazxMmyBgL9b/c4ql0D2kiQSnoKT45/hONsd+gzvvCA/IsEvg159FzSo\n3vSxJxsuBgF86gFOl/NdCc+/ZeTNy6pF05XwVcd6rHz31AvmGp0ClU0n1t3b\nm+MXeTL3Pr4LFj578Fjm6XHXNVw8BJFrleA3I5onhKaFoe13uf2heXzIhSGP\nRcYdCh90b6SRuI2iN/Z4KylQXSWHen4GA85r7oeJKsDheFWK4b6NhmS1Dwz2\n9pcf4tCv1Y8rGfTqOrlkoKcExLvU5dUXL5eLX7yksVGiLVvckSDqethdd4GA\nGEQn\r\n=/biN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d_1643987922353_0.6949999279949381","host":"s3://npm-registry-packages"}},"19.4.8":{"name":"@preply/video","version":"19.4.8","author":"","license":"ISC","_id":"@preply/video@19.4.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"91f8a6a02258f79966f8bc9b3008032e15c8b3b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.8.tgz","fileCount":930,"integrity":"sha512-IVtP/0qA4/5ot7WCxukIaOYSQtMreQJmO4wllKUEvURibjYWQY2QuyoYMD92xo++SWbxCJ1yv9oBtfzvIoNDjA==","signatures":[{"sig":"MEUCIQCsn+aYLiMh6fK4qShDOF1eAiml2dqk9y8mMME/j5y/jgIgaAE36zd9txLEILo6O1rPk9JL2NXQDVITTLnZWP8Ccdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17935434,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAN2TCRA9TVsSAnZWagAAvjEP/2AAEy/G9ELGHW+RIDAV\npmICXnZbNsFKaTQP2Odlw68M2wMtrzl4OoZCSbhvkAdMxSrvhQjPzVJtPVST\ndZl5MYlHBznjKfjPCdlB2fTO1hWErPB2FAU0NyzbLnSxl3KxWAi2lKgIhRx0\nistbiioQPMvSErioYMOGPC70MZygbaygWVWX34xuNplkxDxYjK2uHq7ZlUVN\nEFXZ+OjCsdeI3Q2zb/xHruQAYbgnL1AQoO4wEs2lbrh71aXK/KWIGQqtKNMM\n55iTFWe5tAKyODNvGZQfE64iTZRec/O1Gtz5GPQEn6Jj057HKM9P2XJgNrKI\n6j0AgzwArME6x5B/YlxtQhov1VuMz/CBUegvFbdiY6iuHywBgMSZr4ocZL2v\ndnhd3Ua70JAVP1kvfgcTxHsCrjJvqRxiAcR1Cr7yt9kdoIFog/CXtoMIi+xW\nUUtYmKArQ+A/g74wGIfTP5McG2u3vSq2NHxDPS1LOhbOstD808AjslJxkAJj\nm5DBXn5Kvwkx07UHMMUY2YLPWRj+b2e+zn9/4ZR3YItvEgzYuwCV1xBNP/Ak\nQ+vMu1pe/SKoEzvgxWvo4eDZJl5pArUyWV+GEMAWHeAe7CDzRpPZRbMr0NBE\nWZKJSZRKo5YSTIgvLvK5/VDjeP3VDoIAVHvQwWVgqGIB6Sv90kJf3dYR2xOr\n3GYF\r\n=WT9Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.8_1644223891164_0.8186045007541742","host":"s3://npm-registry-packages"}},"0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089":{"name":"@preply/video","version":"0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"faa7186964fb0974c9faf89ab39ba6e9fa783541","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089.tgz","fileCount":930,"integrity":"sha512-gCFymfh4QfLXDQqdsk/zcTXp4FbutYLRtGh4lR5SEZCSUAY1OrdhqPVWV9CI04GVnnP2A5ht4DIu1ECnWuVq7Q==","signatures":[{"sig":"MEQCIEyyCOBsHfskDyr0Y+YU+nkLhW1hblEI8m6HI2qzcaOHAiBsprgsavzE5mkUJqryF0A/AOljlLX058fHtDqYo+feOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17949921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAPD7CRA9TVsSAnZWagAAjncQAJr//1hNlGRlZDm/8rvW\ng283apfAnPycTf5TphATzl7dpdm+t59lwd9Z8sH8TdPzTi/CH4I1yz0BA/Gq\noLZVtkkkF0bbMLCN1YbXjBAZCeHhgHAtDwWsdcdB2DnkkTob/wk5NulneZhw\nxjhPV3kSjGBtvyb2YezXDmWFbJrymwxC+4gOjgHLFXrQbc8Eakm4XmYcr98c\nPi2fxuWSDrWpvftPciLVOPDuHUSmbN3JwWp6HSZOrmM4iEgpjKh+q2C+Amt+\ni3QOfkoctzQnpuBgpYUmvKSLkJ9FS4xLYLRVhs+A7jt3bkZEom+0XjI7/Y6f\nMjXB73bD8PMyZ4j95v6sSqOakV4uUsnFhj+QNbSCKybQnvFRbfBJ5cvzIi9M\nVU188tf5hkQLBnuJq1l7dknofRWZPq9CSnkQfTtN4vlYSa10HgbWz6pmZAI2\nJi3mlyVCpDVHbJhwjJYQPfUJD1QPvetNkV5L2fbLcvcaOJGS+ZDMMRhPRAwK\nFI7PQo0K9dTXPtTkZNH4suobt2S1NwT9tgRcv3drqo8dBsghaXIWKeqvsZ/j\nkfJr7Te9XJP9hjiRWjwJZSfU34p6IxHuxZNP1dBGGieAPVxJFoR2XDQJykia\nYf0U4Ibxsiw9Q4aclUZuapel/CKDpqZEFrfxek2rMEGJTLhw2dBijEm6Luve\nbsgw\r\n=q3Na\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089_1644228858894_0.3143604970384928","host":"s3://npm-registry-packages"}},"0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954":{"name":"@preply/video","version":"0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c7a65713f03aeff4be85ec8dbfecc427618c571","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954.tgz","fileCount":930,"integrity":"sha512-FfUujbTi+gr//ENPG8wPbXqBRz9I06okmWEKP9CO/Z24VuC7SI3uUaM+5e0lTwNvobrrUMdjmanvAHbmFMHSPQ==","signatures":[{"sig":"MEQCIB7VwBJ+whZ3kbmevhmfibvTQfJS4SoPxO97iE+NJUXdAiBI5sJDCxIfopA7s5Xz14d2+GC5/8coXAR0+cUSBocWDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17935691,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAQGtCRA9TVsSAnZWagAAONUP/2YEMRZPilQyAfg34ARK\nGHVv7+8ZG3Ce5JE3MGs6IrKNgfkd48H8r/w+TagdwGC+156663msla9iHBBj\nCit5s9+4tN99wWCUJYaUh2FUpVZ0WwIq5EXrjxo036WNDeyxgvZ30bGETn0M\n61UicLFr16WfdZUg7aFe4gpMZVvLlkuZI8py0O4BlfBOmxBcv+fO6KsBR/Uk\n3OWaBhg3OBhY8hvCPYDnigCpZ6Bv1R2wC/tDIUhxF7S293KL1GWaUEkWyuMx\nzy7ZrikgIqa/WUm/kI5QbbPZVrnD27KEtRNK6JUO+VHY31UvYUeYrqyagNfy\nQIMtuSuyDF2z/1ULOv+aXbpEn7l0T6n8/qbPmxybteuX3EwUnOOTU6tOsy+/\nRFGGBzg0JEjN88Tj0XZ4LnZAinZUOuq9OF0kr4aTJ3HUmpvvEvQ+n7JnpXRk\nVvO8Y9zqLHMXPJn4IJGIAZrAbs49re8YK4SzSn9LNgVHYD2rMOnf+J/K/6A2\nym17UI1ajKfe7xZTIwEH+zMdbpoCvdzpx+dX3Kdqi0OgN35OR2NzO+GhFTYD\n6cJA68mzFqlCEz8UeecXhYo43n9HUC0Eso2UyEgv/DZiKrxol0U3IW+Gqmd/\ntgL1CHeOeJblS4CvWyuJlZ++wb9bCUk7gDP3OmZfCrK34WUQcKx8tA7nfAEU\ndwiW\r\n=N5Oj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954_1644233132956_0.8116974422903458","host":"s3://npm-registry-packages"}},"0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9":{"name":"@preply/video","version":"0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a01324ca5d5ca4468bd48e000bb33a0496c51860","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9.tgz","fileCount":930,"integrity":"sha512-OqhjcetIPWBseUdGxSSL+KrrLWquXseWLTDmFkAo312Y7p6NjKzumopy7HMuWGz+HT8ipG50lGOoSaEb7PMBrg==","signatures":[{"sig":"MEUCIQCcoT0pDvMPuy7laHRLYDuNoH1fYU/ldwIHtADUZH2KAwIgInkGZ+SrOvRwPN2jNB+Tn17QX+ZczIyLM/9Qp6dyNwU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17949741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAQ44CRA9TVsSAnZWagAAzqQQAJ6edHuYN56lMdEIXksK\nUpCnUBrStsbXz7kgbq0EZB88MOKdtI0gfk99VUOid/9IhBbn1FPnS100PvRj\n7IxbPnOMLGyvprUYmGYsdBicR++8dbLyguQOl3hfjjnzkfUtSOO/cEuxIktu\nbMBayzLl2doDVSAPSI54WFfT0PFBAIeGkJqhn/e1QmDVe9YfePbwBsScJdsM\nhwY4M1sK8usDT5onHD0P6hROoQPXAytwZlRdV3395emyKtIMH7BSpannFLHA\nlLI0AMe559CuCfi9iSSaAtVluzrXuPu0syYZbQ+hQPCJJeOfkqriUjxLvPmd\n+4mseZc6TCnPgFHDUuvp0sO1G/S51IEjnaLQA1nR6cXuo1bK44Yx9HbQc8FT\nzpo1AcdCMVOTNLg8cy/J+idRRNdzhC61hMaBd+C9qKh31qwzutWq1yq9zq6o\njzHCWEVjuclZUi9R1OGbx21YiaUsHJpJHddvIBjIcGxD0yhTpm0wjZe7qDBm\nHIE6c7jUGN783CUVXycxTyYwG5h4GxEwttteakRph2IFgMKqSZrHPobFyh/x\nljmTvx5PJ7pK0OpmJn59QK9WXMa3O6D+iBjafPHV7ksxPjWBKNHhRrHNQnR3\nt1YOe9e7rd+KSvq0UgxWv1Nmc7x2nhyJfOlFNHazL6PIEVgpbeviAahRlL8n\nejXj\r\n=AGq5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9_1644236343752_0.2691646804866452","host":"s3://npm-registry-packages"}},"19.4.9":{"name":"@preply/video","version":"19.4.9","author":"","license":"ISC","_id":"@preply/video@19.4.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b09544da5cf863eac2639c10acd7f0ec0779abe0","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.9.tgz","fileCount":930,"integrity":"sha512-4IfNGNbJROUowg1QxDZPu23dsXS64LcFOLiDsiMcl6/HQel0vs0q9c7QY7sosfByAjQ9b9wM8mRYG9KfJ32vRA==","signatures":[{"sig":"MEYCIQD6zJtQAcZina72jdRe2NmtLOmoZV1s2t44nGWYhzFMlQIhAOBcDqbG8c0wKjhgXuBMmtDv8KQRfFzynx9XXPrtvfGs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17934410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAR+/CRA9TVsSAnZWagAAwxYP/ipxGzlZzg2G/tVS71pm\nBYBPleUY6bLILDq7qWW0l9sKPP1yvVllYyx5H9TCi+d3PqrFw5adYsL/5Ql2\nqH5esHIt+FQLQFn0koMAYoZXP1G41GDljAstp5pBhhqq5jDErWkEaJ7BrfBu\nRPRAp4i0tgUZC3EPVlSClo+qR+kyVeSgQkZ25vvi57kMxJY1hMDT8qBkAwDW\n1qXWLJqfq9TrX6y6ubHh/kJL/Pu0Rr1vfkE2b+dC4oJTM5uObChuF2m8Q5AO\nsK+4G7gbsakd6QaaP3wMNd1E9EffcatibzV3ZVxPOd330CVlwptsw0eYWZeX\n5w0dyo0vR1WHkQt+0IntlIOhDtOaAWz76bHxv6j1vS1BgpjGunG3vtfBc7y0\nfIQF8pIwDdEU7Y0VW7/1r92rKiBLq1Jobg2sbMhIYUgihWAeBnFOdLKKxkzW\n4SzEk1TNScj7Ifk2Ym8nxhy8iVp1jjF/MO31sZlDU/rmL5buJUoEVCHlmKbD\nBdEEZHbH8ZLibMMgiuQ3uRis/+K47bOkEolU1xPNHmg3umEga+dQIlabTvwj\n9E4QQ/9lyo5/a2dhJF/eqYXm93WLHrUqUoEK8Jaq3n9xLPB2YRRfqZjgVwjl\nDHliSI00VXhl073zFTnKDfC6oya+jQyEXLozHfyJ4y3eKy2Y6P5e/qG2iOVM\nadyU\r\n=4tOX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.9_1644240830855_0.9961213960336861","host":"s3://npm-registry-packages"}},"19.4.10":{"name":"@preply/video","version":"19.4.10","author":"","license":"ISC","_id":"@preply/video@19.4.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c995965016d2bc383fd16e42c14d473fd45654f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.10.tgz","fileCount":930,"integrity":"sha512-Er9ojjMo+zoLO6cqNzLVGzS/TQbVWJEZhX1zOviGljJd+9T+AWYSJUw7JDTg5Rfg8C3q8/DImGKh9L6XteBJdQ==","signatures":[{"sig":"MEQCIDSd4+rU/AKWzhM7WYFPOC36Iqwi98Au+ZIhsztn1HxDAiBeKe+AkOiguozFqq+hXKQ4obIIDqYEGe7ncVqhsQ9WIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17932881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiASJICRA9TVsSAnZWagAA2r8P+QASuq2P0k4OAz0vzMHo\nBc2uoabWAALCEfjTq8WgOkSrnUW5RW+GnIoTIMRGAbKy1oPwx/Qc/2OTLDOn\nCGvyCpruCN4prXGTt+IWixS+pKCVLj8BbWwfmuYL3bOYtxLKxP3osUrFhIzV\nL8ZUEUC/puJC1dkCWjIFVyJ7WCuu5vScqYKrrCt0ZTBluKP9NkI+pMWLKxSM\nDnt06FSl6TDGQ/WMYTdrXl+yDVPrAdEbJN544t+N8U2IBYOBb41Rk52BDtWn\nKhPdmAQcUJA3TMVWllvNiv7HZ7tzeOleQZBD2sLQzKlNZ/FEova0XFcOAiLR\nc99ehziFHwJfPdHlvC+B/ZilGQeIcHVqRN8YUXgUNejJdRPoKAR7md/y/WOF\nqDR4NKZ0MjPrwUGiWxDW49t9LXDPeoP1fm9YJBzFy4Ql+tfoYX4bMR1cQaVQ\ntY3wMFymrC+5AmLh+5xZTJV6EeVps3jzlsjHxR+RtvskS0t9AXx4RXgeMtQ3\n2r6GQ6yCNsCFO4RM+LQ08PEAKEjT9TIaW0ABQdSCTJ+jCc+bcAYPd1vCpn/B\nEJ2sQdDPouRLuTRlyiI2aAUba5J/icQtbHx72p8jkpRKPlvkJddpWDbSQa4O\nnwbhyG3TcBsyQPKDX4zh9uea8+38i8rzrkP5zWdfd5T7n2yuVo7bIjVjTMK9\noO5f\r\n=do7z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.10_1644241480670_0.7827279367765869","host":"s3://npm-registry-packages"}},"0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8":{"name":"@preply/video","version":"0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb796509469a328cb7482aec9bdf57e0ded898e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8.tgz","fileCount":930,"integrity":"sha512-1MLmmRmCUiMBR/Pp8pWNzA6GlJ6Y5PtUNZFKJTXS8QOHLaQHN6m5voIhaw3Pw+cPA8tp9yEu6urm385EAjg9mg==","signatures":[{"sig":"MEUCIBzMdXrqHbZ23zyW3QVIumD43bmj+9lSjFw4+eF9JAaJAiEAvvwcwmZv/CFx1UREOmDSEL9q08WsBrxr23q6oB87P54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17944706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAUjeCRA9TVsSAnZWagAAIfkP/i2I9iJy+eQCJT6b2xfa\nqbxHFGi8EnKykTikozeoQl3pD65pAwE4AoEnFwITYWXwYr6O7OtG/+Q5Bgdd\nkktr7nveek4H5nDRYS9jGzXpZuZjdWXxeR70gBYf1IeWDj0POxXSnt2DU8ug\nrILmymln20NP8/kdR/nni561EVqVMZ1yAAY8TdW82B8PhzWGsn/mOYT1Pu55\nTtmQeydlUp062til3gkf2lCrZ13J64hjPskXUL+P8GkHwnbn+F2QULQsuofn\nN1o07pTxq3chkn+GpeFdTopCUTWNIlqQPg+hz4GB9qpNV4NMcvnc1HvTICQ9\nNxwg5DF5En6fxQ2W+auBpkbuMe5hmnFFCynDcPedFROXmStkvmw/QBUQgJWM\nqG9xdYaUd531pQTL72BaLw/T3LUaloAr8xhV/6TK7wJZwGQmbcc6v6z9xjYD\n3XvNFKXhyh3YL5OQaNOislbZT09iUyXX3NmZHSqZ5fwdnOpS0woTW2NmY6s2\nFOyY1KYs2zTPj0Y62K4ipbhHrnT6B++ze5INeKP0C4Aq0Yq4ByVEr9P+11zF\nAgOOfsueOVwb5g1vnH8D2c7TVZYE/TiHu2N2Vn8eyeHTTzgoX0ehX1KOF3Rq\nNv10n08ejQ9+WqQ+40vavw2TA7lpYboM5uObhUTfS8ytxKVfZvxUcbEy0bxp\new3d\r\n=gnlE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8_1644251357785_0.24104776240404902","host":"s3://npm-registry-packages"}},"0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375":{"name":"@preply/video","version":"0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5551a2de9436eb1ed241eb54421b06bc54321e9c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375.tgz","fileCount":930,"integrity":"sha512-m1xdPddZYPpWATmXEWtxrEpKK2g3Bszoo9DWOi/DyT5zBjfgDEuQLE6luzPgZ0P2PYQifA769St9UoPbbYqB9g==","signatures":[{"sig":"MEYCIQDYTSCQp51PH+T3+DV9Y40KBtc0kJ2HZ3lDJSP2Ro/3HwIhAPTNIXFIF97oPqGmVe0ZwJ4C3Y5vOfLd1WcDWc5heV3l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17943930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAgfLCRA9TVsSAnZWagAAqWcQAJfEntMfFTy8FiqYtukU\nelDIQBxT0JhNZRD7dxKqBYEh8z8Aay/BlEt1h7m3V9SXHujasm18JWsLkR3b\n9w29R9Gnfeqc1Qw+kzp+b4bG7bKu3l+GjS9VfhoO3ujbQ3wGvDt0w1Xy2q1h\nyBrWWrgWoFzBs5Vnnt6eANWWPbbFqNIXK1km+LQSJ1ovle3BE90Xc7DB96ir\nUrfHFDFw5liCY4vF1zpTwivok/F3Qu/O6m/LxkF4SQNp+ZcQvD9Os3hQpB7K\numemgTKlKVWQ8GwsQxHtShPXqr6Sfz3HDH7Uk6Qffgix/0fE9BAOUg8S1zTm\nPz9yLycprXsYzNHuEQDCyMEaj8EeIWKLuRDXs7pH/wSmYH4OHH9/6dmxg4oF\nS8g+Ppymt9wKrp+oaEkeU7Y/wVAzVK6HuB9dtuNs89aQ6DNGwBIV6xqx6eFO\ncn0ks6VHGhqtfLEyWAV942wkgyxu0PJvLXZPa51JFl1Y9yBwH4WXzitFppHt\n/f2uYri9a8PHRfO+z+dkdC5XdAtZYcSEhox7+baxs8J7yUx8CXkc8+ZjKzFt\npNLtOxio5fvhYLOxuQbgi71Wk246NuwtBgdgy9ula2M09djIiiHgmRi6njIq\nxl5wHHbaE8nA3t4erNK8xIGi4O6DzuAbkvweCsgrQedB2swKqaPI583r/IqW\nLFfC\r\n=Z8OZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375_1644300234513_0.5364975845653113","host":"s3://npm-registry-packages"}},"19.4.11":{"name":"@preply/video","version":"19.4.11","author":"","license":"ISC","_id":"@preply/video@19.4.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9918f495e603eb9552265eb71b1a7dbe033d13c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.11.tgz","fileCount":930,"integrity":"sha512-4HOoerkly11mK0tujlgyZ++cUmidB0QtbfhGxjAk3aFzevhYEC3owZ7WOJqPRNV/v5NeYBw0zZaNWTRPy0m7oA==","signatures":[{"sig":"MEQCIGxGARGPoYsxzDmrdwGjq4qMUFOq94YMVu7NGhS3goTIAiADkd0mQmGISsqQd5l3zNyUUjkkb/a/OhVIRlfS6KhuHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17942491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAhyWCRA9TVsSAnZWagAAtVgP/1kez25YBp0jy5hmm7Md\nSX9QigtmhLPQVmwYz36ADy57FAvM92U9zkRWtUSC8x+jwWhVs8NSyDT4qVJB\noUtz3hNKNArU/rvqltWoE9VTgXctoq1R50olYDGfxxp+rjelZ4UrJVr1Z3zw\nlbVuxyG/ppGf2S7eJ0FZYwTtta1KRrt681QvJr1WHcU799k1rNzZh5AsgvUm\nL90g5UI03WWpM//EVVFHpUBP7+im/YTQdfVEhVZDACIlhppv9ix4tEj5vuEE\nvyDZGu5yzvrdOcALE8MUpM+sttyg1OG9IyFzgVChBNxKCgjo2w4FWh17udC1\nPOusVDi36YmbTAp8riRGuevnEio/dZGnmfviFdaLPBbRp77jEnqLwLrNig7Q\n40qg1jFAhkK7Wd36rSpGYT+ZxaeHTnPQlpsnCfZa/3W65hczH30Invenbvcy\nzXj2XqZix86Tsd0J0F4nzK057PnFH3t1tdcxNRTlqXyfeCCm4mOsXHNkdafT\nzQ0KQnyoCNk+nZfZATNiuEFdNugSZQfGgiNEQL9yedt6BY6wfeHQPi8H9Ts4\nJrF4IhVdgh1050qt84PJpIQsxgtTX/OyKLqqIcx197LvelZiL9OaSx7d6yUG\nUe4aEheeRUf7/1jNtBcY6icQvJ6oNBqTorXvOv+ZGA8hrRQwbLsBU68wPFVd\nUZXA\r\n=cw/M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.11_1644305558343_0.1531245388181337","host":"s3://npm-registry-packages"}},"0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920":{"name":"@preply/video","version":"0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6e421e95b26690cf0ebce20954d3b616afc464ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920.tgz","fileCount":930,"integrity":"sha512-ESJtAnLyLPRu9egnw3YwJ9niQuMTdx4/HTHrQlWzqglAJwCr2VvW1kQiE/nOMwPhx2zulb+JuzdLUKr9Bj2pEw==","signatures":[{"sig":"MEYCIQDvmkFtYr/jHDeDc5Ohyf7Mp2YO6zhavXuuK29zgq11lwIhAJJ1mXsd6QkmWaGEz2+18iuGhDk+SXJEX8BtWHCQ401G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17973564,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAiMyCRA9TVsSAnZWagAAhEgP/3a2tLliwK2y7myYlegR\n5llvRLASbaldxZXC4qeuBeALVwUrPHe0DP+3wDOvdQmg684llKE7NEaOBkmr\nGYhrRkbT6PagY3eHC4BUv+KXd+ot3WRpaOwIXHy4z2U0XYLyHZ2DyRj6zEO8\nrZhg2B+Lmxz/7ZCOH5LVrCvzrTSv6PHQyVcdLqotZnwmwUuQnkV7tyKeMGHY\n9W6h8GD7S1atbxf1ptTUK+Oycm7LEMAqwwQw7fkjQfqeZciqse3/emMqkJ8j\nLc1B9ZFysvWoW0PAFg6Udo7kWR4i6zKqWYgJMGzsl2+wwuSE0GSM/JfrEha4\ndmO7ftdH+rpb3yTY1dGhCUoqbQer12laJgApB4YkeQh49OUktI7y2R5YhDjc\nd0ZD6VMpP8K8/PyCQmil4rw6IKgff+SykEoAEleyhT/R1g+c4z5BSxHnbJZV\nMCUAWZ2piecy9nymi5VwkbiUqPEB1gRUvKhTCCNoVZjYL5UIJp99CaTwJIle\nVWCcjiU2vyKLmmo/j9DPQ8tEWSIdiqhttCJej4dwB+3i85sCs3IhXHN6CyFB\nkv0lKjso5E1BP1HvFowVJE4XpKxsRABowLPSfGX7Cii1sMsP0DEGAmbDGiGI\nE5pbFJDXJUVenrWDU8RFQn0Dpoo0GueB/KNE1LV2eTCgK3t00iVgnWzy7yCu\nos1Q\r\n=L2hZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920_1644307250441_0.2390435990668569","host":"s3://npm-registry-packages"}},"0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a":{"name":"@preply/video","version":"0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c59ce62dfb620a91772b85f91f814bd9ccf7db18","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a.tgz","fileCount":945,"integrity":"sha512-vV3FZihAQ5FB4yX+WMTW98MUlhRSexx3LQIv4CEavA0J6jD7y3Za3Ssom/kjdUlBPQzVkbthrC2gR5PUWL9B3w==","signatures":[{"sig":"MEQCIErDw0qlyuPKYKMOEfKzXrwORej3p8yGRoiElW5exA+7AiBYxVyvX/zvA7d/PNsx2ajWKatzVtnovl3CEXazj44Ekw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18017136,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAoaNCRA9TVsSAnZWagAARCEP/jP1nh93/LvqKCfsAjeT\nf/QSyd5ItHTa1kTJQWzb3xVW6QQR/wVLpgt4ecXuzSoC0mV7LpxFhWTU94CL\nGoF2Dv8G/KUhl6n3KhKcnzOWXgEr+qrndgiBnmkEX0+b0fRyf+2Lt6tnB0ne\npt0395h5xfNQkc0Rv7C+O97zI63uFpmlvBLQaTqDdE3qkfRJabXnhMvB7mI0\n4AP+wzBQvvowOJ4441f2ClQTjmF+tWW6IHiY6bFMJnJbRwOh0Eca1lakJPqE\n/na56czXa1ggtUnTBXScrjWF84ofkbyvEKABBAEozeV+TqESO7/pFvnUlVD9\nylr9s38t+w5mY1JRT1kMq/KrFHc2mH8nmFhJ3QS9c/DLzDcxg3Fji7iVSlsE\nZRTxrdLsa9zSzRe98VOiIxSmxa4syIBqKCUR25m6t2ZqjnCJwN+ZoPs2jEfF\nKUH1LqmWnkaakTqd4iJFxWusIsnSQcmfnjleW2eOdoUkb/wlcmT236p7/EMj\nB6DVEKZcE+BJe+UhLdEdu3KakZm23ofhKU02j/gdBnRLKf1mh1RtRDc2x3r8\nyYn9bagMwpaWuDJjYtr8XoBPvyLExc/7zSjl5S9oThAcpvcuGUbi0jgX9ge3\nFGYVQmYOGHXsRBcMJ5woAWiNcBCPPtl+7fD4QKjHkDcjMcX1N9fsZwJkXloc\ntHAb\r\n=jyxg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a_1644332684715_0.23699622771417328","host":"s3://npm-registry-packages"}},"19.4.12":{"name":"@preply/video","version":"19.4.12","author":"","license":"ISC","_id":"@preply/video@19.4.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"90a5f262d8f11633813bc5d0b36320577977d88a","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.12.tgz","fileCount":930,"integrity":"sha512-/cRYVsE++eFiQb9YBzhXO91I/jmYE/7BR/wwcRoGbS3P1xdUz+lMRQULQ8Xhjrq09daGj4wyw4RpwHef3K+gXw==","signatures":[{"sig":"MEYCIQD4Y6hIdl0rIy4p/B32pSHPOSrOefZTsRGwi4JvqRTWiAIhAOhYgo4DRbZ5fxSbBcDs4rt5PQYn400Lc97dquf32l34","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17953247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBhNbCRA9TVsSAnZWagAAx3gQAIrlb53j2w6qwUQILYbI\nZlW30nWjbKJ4BkDpZaYhr1IxfQI5ejJSxcESdrkXdHjAA1c3VZ/V2HKtEdev\nvsmx+nVJNvrtdoAfqS3kHN+a0qs1F6V3g7h3t1Hb3PudtcqEzUZhihpIpWhW\njVbcAVcEr1P7UqVQQsl0tA/8yG13mGxHbd6wiltu2FH8t8h9GkFjrLS7nTpg\nKY3milHSITayxLBRk3pLJhj+ZtcgCAcR029Y2u1+vVeh9+m53rDdNanf3Fg2\n4eukgSHJ40/mhCNtnKeBTjuFgAqN1hsCd4I17HueYsEl2LA3s65IVcEgxC8h\nomFmU/PrJXJfmhg/JpHSPIcECFt0NL8eAr6JVmwcyTayTE9qcNT7vtHEGUqB\nYIaxU3udBBbSB93OnyfyZ4got1RgsEaqzwW9V9cwfDPwbsvV1hkUphgOisQF\nhqrmiLL8GIAvsB7TEdXGTEmWVRwP0gpijsup5FpM3S8hDgyxMfijP9egaNsH\nno2no9B8x/0NheOFEfwmsBdkLQlPSOoUIInLDiimVYzTHeUB5YBnu/tSDQS+\nWJPHfDNmVDs+aZqtwYsVyjpgHSk/0h5Dt/57jvY/owVjxRYDZ4I5Ck4oSUeh\nbsUm93xZPrGQkAb++eGG+mY16lucqSQt8sqyjlip4Uah+YVBMXK3u26iuUl3\npmxN\r\n=xxx2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.12_1644565338792_0.9260982935149551","host":"s3://npm-registry-packages"}},"0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1":{"name":"@preply/video","version":"0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d8a85c312210df436282ed37107bfacccfdbc576","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1.tgz","fileCount":947,"integrity":"sha512-JAhqOww8HugNozW2XfHl+zxxV/cQrH9dwZkC7yWePtGwVPEyzt47e2o7Hw1LWBKDl8j1qzydIQaO/kdSzPn3jg==","signatures":[{"sig":"MEUCIHQpmw/Cz4K1WI+Zfthg8Sh4LKEA0C/PJ1a3ggYUphhsAiEAytIXpqGtLzPf2/rSxJBSDPXomrP5Ypb+EHDKHG7F14k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18101114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBm/KCRA9TVsSAnZWagAAEUMP/0/NgINHimSJVq+K1KqR\ntI8hzSKzudUKyY+XkoWkQRykjugS1FFAgB01LpoKylTw+TiPU4UfwLYYllyx\n1/nIsfXW7PWQ0JlqNs5krqAXQydP2RL2m2WMEQgf0mQ/qweccbQXGas2wdDi\nbQlZTF+xr+TQSHSRH16MWetU92sUxKP2vT0/ZIA6UeKyUI2gOKw+RFlvVb9p\neyBRNT9pSvT8ux6TaAG/9yXeOwChJfLd3ih9zrQuiXguhi1GB+a9HMQN3X7S\nLi53dXIxyCK1nkrd1jtr3UEK6Q5Pl42EuANlZo6crv5eC0akUvJ1b1i7k+cY\n3v3jO9rKCGwdMs0UDtxvImvZX9FyRdJXGgouKSAvR5Sq7KPvHFUw4facleS/\nCLsEyl0XCyBhM6ig3pXetLiaSCuBWd6FU5mlJN7dVkVVC7ornpp7+sYumcNn\nZajdpv3zeFiOx650fFU8bbq3q6AI5SkK6qLnfKMNAgnuLhraMmqR8hb90gBt\nq8Fz3DFtutuyBcVHlQYc/SUjfn5xCzatUjPLK09VqTFvx8ekwrXiJowEnEFo\nwtLx5Upsufh6GyeXe3E/e2TwCSSVWCeBmN0GVoprtle1CVP8iul9Y1SdZ1Fr\npI39TdFLWvNRESFpUU0fsiAKQH2LC+y0SAfEDq+VwwNxjLT/pbnro5bqm15h\nwmnh\r\n=ndcz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1_1644589001838_0.9445851678955499","host":"s3://npm-registry-packages"}},"0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6":{"name":"@preply/video","version":"0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a4ac58453a84506ef54be2416fc9e00e98b91def","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6.tgz","fileCount":947,"integrity":"sha512-ZuKpSZPzj/b+xmHHgAVP3uO4WEhorzWILqdqRCmyvyo/GbRBrR7hZnt6GXYaCJvkBFAx3vH4Kjld7FXircfhpw==","signatures":[{"sig":"MEUCIQC0d65ItCnSkcN9GdawSV9sNj7CW93JZzWPvJ+GKqHXrAIgAqHxIC0/2D3ZzJaJZO6axRQNKO96Z6ZJ87hwgKidYmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18099014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCha4CRA9TVsSAnZWagAA6ocP/1A1uZTmw+bvJdP1Rf6W\nzF3rXabIlyEmXcfhI5g7Af1vb+sbpNFt8FuLuCws6dyPMLfEZvpSwJh6Y8VT\n2No9iPVRiIQ+13hDuhDtpuM0a6cC3MG5dXaTCFk5b79YC4nrdHXJD8Y8iu1D\naEJ/YRIKE5o8dmdRn2Pj7BnoWWF82onLo4S6MGcin/L+TssvoYvIXujo7W0/\nLNIjYjRCsoip+WL0cgx609Iaz1Tj1pjDzjg6MFKNpi7FZsTO31XvMaCFQ8Dn\nza6T3f3dJwETS7qaGuN8FyY3LushLYqPrPm5Ad5rM2s4QdYE+ePAVGMc0C7+\nV1w4nVtRNt9SG9QW0TNmOmeJ/w9Tp0V8yI3o6yAiGSHNl5Q5Mu239jKTfGKF\nkrci7CKzZ+6gDGxYHOY3HPTmOB+T3ADZNHTnMF4UjD8Opgen9xa1jPdXtAy1\n+dNfGfM02lF0VnWYMEWKpMVWy39F6yp+JDL+tb5NIfos3fUDwcpDT+mQHUct\nZekMGMwp0sCxyAAE/xvwT119e2sSDTKG1NdUF0Chk+rCBbAMBwMkRrg+5fDO\ndJaqmeWdhlZ3sFFgC3ZXoUodYBFBVOjn90+Ep/z3o70RlHE2bIPnZxc1Rq9B\nvy+P+S7ESn9/zrXWAvKtEct3lT89Y7cnXfZgucV9/37xgj5j9+pPwAAjolpf\n/qAj\r\n=iaDG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6_1644828344387_0.2817421403260403","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a":{"name":"@preply/video","version":"0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dbe5082407ab27d1dee784692726c531dfbf4726","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a.tgz","fileCount":947,"integrity":"sha512-j5yx25pUu/O7HDulaq8PEEnXewwDaW+ZSX5Ua0YBXAD+xfrOpiFffaiCjM6mgnig1xMA2w1ibOC7VQKlPZ1TPw==","signatures":[{"sig":"MEUCIQDiDQHc1fLS10URbxQab8akh87J9u4p/KO6IfEDL6m4lwIgY1CCjgRwZUyIsPRCPYuerfUe6tAFVDVzZ63YVba1fiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18100949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCjMaCRA9TVsSAnZWagAA+pEQAI3jAxT6uevs4DupofY5\ngv8PXANDo5FoE2hMUhNIR/blhMsudTnjVGC30rk+8sPFTYfz7zCEu4lo9w6Y\nzv6eUbBmUTDLnTxs3kHpDtjLGdNNVkHtqHLAkFaGaqwdEH1bnky4k95aBqx2\n8LkrLrg7aQFsahcRrZqqQgrIzsfctKPeSGngL1asAYP0p8hLAvmlw63CR4y8\nlY5INBI5r/5IKnDLyNmaUEW3GwJjQT+iBgWv6I/lEpQgrr/qUjgn6M5I+0O9\nxTT3AAAF8CMwvK4Xyw2+kEy7yrkhpSTuaxAqzB8ifOD9jm2VzoZCVq/DMaLu\nrEUCiMY00ZSJJRWFk3qC2KJxyEqhWqz4jGhdC48cqdcBy2exwkQks44z3vzm\nny41Mseq8LD84/J1x3WyTYHWNyrCUmcnwby0HWQzALf8a8D3hhkA19xwTx3H\nC+nQ7Qy0qBXNBIMMub9mo8SuuAxBLPWcEkKpljTOFrHubKNZheK6hBbhFtxf\ncaJ6Qg9SX8ymPxutzqo+lVNWZv9xhDMzCbbg1HL/SiHEKpf9xkLtb+QUHXYG\nsECOkxgQMWfLDGgl04r5pzvSjf//fU4cJrr5mN+iUdRBEJz8+KjLZxQRa2q/\n48hIhhNsjRcipNp6csL3GABRst+pRU/v4H8+Y0B15wfcUn14PMvKGGHSubzJ\nlTbh\r\n=m3ot\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a_1644835609954_0.32335302346403094","host":"s3://npm-registry-packages"}},"19.4.13":{"name":"@preply/video","version":"19.4.13","author":"","license":"ISC","_id":"@preply/video@19.4.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b14691c1bcbe1df8b49edc25a21ed735592b0a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.13.tgz","fileCount":930,"integrity":"sha512-B7TfxFpeuyN6quIM7BIlKeRsenNKLtRF9cVeyeAc8gIDT1qQLaccS77bH3frcEyrP4TvcAgFuK0K173+QzAUag==","signatures":[{"sig":"MEYCIQCOfKptP8nvWwGfq7bnguJ1+rmuNDEDAl1wDTq8dAFU2QIhAIzXZ09hSy/tyhyYz5saaYYleH+WyXiyE+8RsNnmUnnH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17953506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCjn8CRA9TVsSAnZWagAAz/0QAKL1eJjxDZn0OpZDKdg7\n9UAmhGMZUEwQOl3cLeqdkPDSo+qc2zun49K68TqL6j41pUN8wNOKgE7OiNel\naf5kDaBKaod3qFfDgVR0tRcutOCEkoWmCF98/X8P0WebiT3v5KCL5Fn/rbJ7\nQjhG32tpedR/WXlVDoncxAvFVcKJxkKx2gAdOe3KfU+LoqbBM3kIk7W6MdIx\nD+Dz5m2sdkPJQ+7ptZqB2kK8CXD0yZgtB0yF2yQ4vozwvAh2KX7YQbfwshz9\nzmDytYxQe5m1ZI8ROGnC7JC0H6ijb/GOiY6nZ6xFtEiOti7Wew8HriotvqiI\nY99nvXwWcGLOaUyz5J6UiLLRPrpiPZzKK7T9Adb39yyuEnuf9alfjOUOgoPf\ntGXvQVeZf8PE0OGmQrbao9bD0qo4tMTZlHjQe97/hEgDXGRqnCQ8+xHIw9vg\nsntctumCjW8EX2oyudzqux0TZCnYJliBfZPkV3lUn5/oGBO20h5VPLnDmx4i\n2fX30Y0rP2/CB0vPqfvlagE9qX2VKyViihDVYiQoIHfn6IQeKJYL4/btk2z8\nMeVEqZ8Pi9F6Se0dChFb1HrcZby3k1I8CSoPgqhmOJU5+a1TmlmFHIg+sY9G\nl22KFZpVNny6dB/xfrwMsssUKMfcIRRCiAA8pTjG/SJYVZxJbY72PxoElCnf\nFm0U\r\n=9Moo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.13_1644837371794_0.6807849632531926","host":"s3://npm-registry-packages"}},"0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e":{"name":"@preply/video","version":"0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b13097c1b93f3b31c5fd6e3b3c77c092143bde96","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e.tgz","fileCount":949,"integrity":"sha512-lmzFzICOplRKGO1r2X6Y+65URvvqW+gNrpiBIur2YG+sUTSkAm24aHPejjXXXUsWsqxDtvDQTZviNBnYg1j2Ow==","signatures":[{"sig":"MEUCIBK9ozOo8G0AxWXQMH8oSPRBDshn3APOvbMzSwbs3x+aAiEAzwgiYy81CU6cU950Pu9NgYOvoZUF+6EjONiH94aEUaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18112212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC48TCRA9TVsSAnZWagAAL0UP/0d+P/sOdGQDZSFMcLJI\nnf+nfqa01tDJhM3xUUJrndePR7fGKZh1lfngDjF1qHdqHxIP1hM8EOSIz7+H\nRStKGD3n2aQeXhGNk35a6JPVo8TtuIXLnBjsrB8vS1VLkUa2LvtEu4y2DHSe\nsblrulU4qaT/EgBhBZG+8ugTUgPDeY33Hg4iM2E1mhb08XK0EwYoik3BDCIp\nTiQo8vk2Bg71Ph2Fste8G5Q7h3RpDwHYQBMf3B6ukvGSjoE/HEV/zQHlLSfO\nlHWH84Yl9JXx2oTrTVDhclkBFTWsBgACHlyarhlWgGGT+vIJR/LiVTv242g3\nn6EMKNUKUplaNMXfNDvH+hSLgDOnlSOBWX7U4XdVBke2S1n9PO/1/C4ZAa+m\nGVDCECNBybeFeLEnsQWpIM5lcDn3fQVIavbcBZ93aYtqYiSoKfw+kU8Aru/L\nyGveKSuYMZnbCiWms3tm7AR+9B6ih9ryIdYQFUjdGPsx0Lp7nbKkvgKdcV8z\n5yDMPP+AwipImTFYvNlrIRCYX96HYpxBfvsTBxP1m7pw7/5kjGTNWd9kbtr0\ntKqPmgk//+zr7s+PTJySUdttnJochT6ZimzIhRIUHv4z37k1zWz6XzgBJ/SJ\nYUsF7b4qcq9S06hUnaChVH4nqMeuZl307NM7K3o6zd11Cvp+dn/C8gvdrrPh\n260Q\r\n=p5Xf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e_1644924691133_0.4157886167669649","host":"s3://npm-registry-packages"}},"19.4.14":{"name":"@preply/video","version":"19.4.14","author":"","license":"ISC","_id":"@preply/video@19.4.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"50ddd87dbc19406e191a8b1ce34328a98bce974e","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.14.tgz","fileCount":949,"integrity":"sha512-bHiyzR/S/bXj9g/J7+k+WuGy7/12KQLz8tyJ+2Sl/GfG3s14pKPdw/3LZKeuCysz9HBrhMPKSO7eIDH8IMW7zA==","signatures":[{"sig":"MEUCIQCFomHnXUk+mETnbAeh2R1gL4dvyUOGZ76SNa9aq62qlwIgToOvg9X116CGuXrBYQWUFno4FRWpH7jwbBumil55ds0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18110773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC6a7CRA9TVsSAnZWagAAT1gP/RC+j+rPzN3ZfhZk7qGk\nj9XTOg61yT5h/2cw2nNrhOb6LY4xoqeCzfIVyYqN0Rq9sq1Ch0A+a9YMPK0m\nHSSwsAlp28CkHRFOt4Hlhs85ysoQ997FFU7bFM0L3hk7PrYSlaYrT4p4xkcf\nTJa27q4zz0QjGM/HM8kBSw3gY7iYVGsqutI73bfizoge2WMA4vyDJjOjQT8O\nNlFBgDntxRxrW5x4sYus3a4ztIDf9HwNZq75KLg+SvJeOxvk7UEWtQBxQlo0\n2uLXRQ3bpdSU/OsbmNuEj+gpxCpiiLyp+TjtF6bU2Xf/FeSrDm9iOpNdEPfG\nGF5FDL1CAJd656+Z3m8wgtFlu38fXfBKaqQEsjpXvmU/soiCvOhxqOkpS/RK\ni4f0ffGhHNJ/JSTlVyFRJRkAeXLrTDF7aFl7SxXNKyoqcHTjd2II5PwyPAXn\nMFFWiQPsA0dfSBkHvpnJA0DtY6xtgwxF1We4E6ODVsLDwoT9O4FL3Dv7rynh\nGzbtR7DsQeq8MfDoSJ8v2AGXoBu0TIgGUB3tTW1nk/E8ZAZVWXVe0+XH5LXY\nFzIGMI5Le8Fyw+rff5NdMGUFTYW+8zRsicakt3uaVzaM1AyJEPbGpoDMxVz/\ngc9VtdvCaj4hBeOTu0J28leOVn6IEM5KT4d/XVDfrogaW+X0s+/vZyy+ARZF\ne+gF\r\n=ui+9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.14_1644930747375_0.2332676389747872","host":"s3://npm-registry-packages"}},"19.4.15":{"name":"@preply/video","version":"19.4.15","author":"","license":"ISC","_id":"@preply/video@19.4.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1d6588d7ef6877872343a4f954cfef12f17d67ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.15.tgz","fileCount":949,"integrity":"sha512-qHX+25KSwNEJeqqmPQlq9+ajtxNKnBGueuELgoIMCQFdWZX79LcxpKzdzOPT5csnMHs9R6KO7vNh/oFLsvbf8g==","signatures":[{"sig":"MEYCIQCHjYJNAlYGSjcdmd9YwGSIKHsmK7bOD6CZLZqnsO8kawIhANve2KCr+ouRVg73Y9CaHqYeeKUJXEBl+jRG1fO5+wfZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18125795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiC8F9CRA9TVsSAnZWagAA3TQP/iLc8bbX6jD3+F+sbvAB\nq3Pkl5rFCTm/FtD0OeL4UQNIzAcf7Op8zUsFVasAG+wH+Xa5EN6P64+UqIxV\nWUBpJIpbRvgSaaH88e8yS/PVSL+ZrWQi1qaLDlCVxyYCyOdleANrmK010Fan\nvspGYblAKJIl56iYz9nD8s5pkeV6KXKtjgHjoVV1aQgAPnnkzwrYGgUDyJ45\n/AE8qCqdYIc0tbfcHLbeC9H7lwKDLk9TiIV0l5NnD+Uafj2jAmGm6p4noJKp\nIn3sNUadLYOkEY4fxMUAX1d6ZmhY2XQyGnE2qTnIw+KULnvLkbfRWLqjw/TJ\nW+TmNiXKap1iag2g8UWeBL3iBaU5/Y8FEg1XVhu7hJNF5Wwl7FqAUFyBz4dI\npc7uTLfcHWB7F2IUVVpZH1Uk0GCE0x9+yl5bc1jvPFCVLGsVJDkp7M9Yv5rx\njeRPwlbankgLecElJCuFIumiupqzn2Ag2zhMNKLFO8nB/uAsE0vyBOD9GN/Z\n0Qfc6X8qvNh8xKHLRJQQm6nr8kCoMHJaz5paXGcEEU7H4E054zGaqOVhVjuG\n8GZlPjfV3b+3PmA7/bxVcNY/MFXYJJCUyNp+IiWju6b55dORokyyUpAMpf1S\nhkiULgLqSoLyYL7kK4SnI7ejvetZRLC2hLqFlJwAekWI5L8zOmg67uBKCkvm\nTY2u\r\n=Eo6t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.15_1644937596967_0.23734302477414704","host":"s3://npm-registry-packages"}},"19.4.16":{"name":"@preply/video","version":"19.4.16","author":"","license":"ISC","_id":"@preply/video@19.4.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f5d1413ecf0c548560e7b32c9417e338a579ba31","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.16.tgz","fileCount":949,"integrity":"sha512-RcU2kO5e6pTaI6RW9TwR82KaoGn77RSln/bytWos2l+JcxAXC5aKwSt195bWKKIDOOhzQiCEAnaTWjbke8YeuQ==","signatures":[{"sig":"MEUCIBwmsg4NItxNynml1ReWrI38U4AJimI2gkhUJngYbzVsAiEArZdGkZO8NLw1oeKoN84tsS76YMApPGNr1jK67efqpQ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18125803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDKqKCRA9TVsSAnZWagAAMVsQAJVe9nJBHfRdfPOxdR4R\nWMbTBc7yLgjrCk8Z0I2plREAxE++e6a+tSWS+QJTzRBSbOyGrdE5csPc1X3R\nfxQ1GzjkMnsPjc5lI/Dq0zZhlEpC9vXci83RfS2Il2ojiC4wbuY1CDUDX5js\nB0YVdOZpFIENU3HLkH+pe5xtW2Ty8Uhq4doIRWqd2CdJ5uwE8427B+sNmVpr\n0/pGt8RX4pX2Cp0Q+DRsZaPh2K8WldbeWak58SCfkn+qmQDJDg/dLi9ucesI\nj3W98gsf142/EJyqegFgERIcwK4ugBX5T6jwQvqlrSDmn4eb5ddohGQVhkHR\nM/kbcqBQl6DrkTetMVvDuutKn1urUWu13VXVyCbRK5A3shGYKyMERADUv7iE\nEdo0YdFck5W6hLeuSh4eIgY7knQaMf9kpO4Q+9LKi0LkDhcLKjWtZzeKmvd4\nY0V2s896EsNvJ90zictkFaIrXj3QKr2+OHpx6OhpPgKdhfbO0rTTXFvnS9tF\nA2r9iYnz0F0TL3QxdvhehQveTNFUFdxTHo8FnPVN+KExkIdIEvQfMvJ1saB3\n0qTsRlEYjlZs154QzgRq8U01Cq6ZD6WnfpwMvV9wuWYwPcxxm9l1yXBfU6yx\nY78hYjB0L2SexKJFtZbZvxKUMScSzT4tJ9Po2k+iHDE7yvAe+zbnD5BoAABQ\nD6n3\r\n=mlL7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.16_1644997258444_0.4936919388546124","host":"s3://npm-registry-packages"}},"19.4.17":{"name":"@preply/video","version":"19.4.17","author":"","license":"ISC","_id":"@preply/video@19.4.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dee3e0e7b88f2dbfdde8b09d442a08503f623ec3","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.17.tgz","fileCount":949,"integrity":"sha512-hrc1J6uxWX4PD0Jxsiemp72MHAJv1/+kaB3/AaQ90rwEilTCTFOceS2IKLwYA6L3zfNcuGL8E/r8oVE2ahDsxQ==","signatures":[{"sig":"MEUCIC9Eisvm8/8anO0LC6sjyg/07BQ7f+kt++Cj8JCEvlL/AiEA9wJqQshPITs1A1w3CPJLGSPRDaUFuBOkxPFG4Nx/T9o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18125698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDL0ZCRA9TVsSAnZWagAAc5QP+QBFZwOFgqBvqmrtfmKk\nfTv0YaIkvFeouTeULWm17mzrzHafZpLFa6eJPrvXOZnLlOHm40sCs8pCnLUF\nYOL4MmTKg3NCgpZsIt8idd2FeFbQVwtRu98UKwPMt/2MAN5BYmT86nmWdfzR\nzIlQ8Dw2D0LYfSEunWMyBlb0xkIvhKPF19Oljl23CzARHEQTzoeSWOYTAiEP\nXhyRGoDZVkUzx8x/IHn2DVQV6CBwq9c3D2rI/gYgZ8JLLsVkcFwsEg89cbo2\nnarw4V2gTgp5SG8mkIAlhHQAsqx1bg+Kx9r9Nu32vcihYLBlyH9UJmdbPVuo\nzBbKK//m7SUtgVq7ypZzOpByaBenn09KHkj9s6jTmT1r9RNuZNxhdqID2rrg\nfJt7GjFQwT6SACxYM+97osJOHPcKO9QEz9ywo+FZu+WbxFseh7r6AsdgE/mJ\nGLZUCbv2xWahOehHb4HwcYr8AzFoQlH0z8B8896owaoXmctJxuSPMQtC4XB3\n16leXSocArnTFbifLgm5hOXYMLpnKxzPvfDtKe55F4U0S6xfvB7tOvlqNoQj\nGs5DvweaTWQsiCpO0Tnv8seYMzsgHMMPJ8CkQksyO9xAF9rN6E1kQF0EMQeA\nV+eKDxwqmnEAWJpoJYFn4gpn/nni2SwHO28keiB1/W334KZAcDTr3YatncD4\nGQ5O\r\n=rHlx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.17_1645002009677_0.42700527110323505","host":"s3://npm-registry-packages"}},"19.4.18":{"name":"@preply/video","version":"19.4.18","author":"","license":"ISC","_id":"@preply/video@19.4.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4239055eadcab1af3f7490ec1f5d45ef619b97fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.18.tgz","fileCount":949,"integrity":"sha512-GrmhqemPcyIHskgipsdFLI0GuWJqLnUX53HIaseKOTI1x6BquVfuUmSruVG+NeDPkhM2YT1ibDBOtPveh5rtfw==","signatures":[{"sig":"MEYCIQDm5aMFwTflp8j00yi6xheVEyIlh4JDoCfovMjDoBaIMwIhANOgHih3I6INd4V8SBVuqLdnig0gVrX00YDGulfaWumB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18125741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDRXhCRA9TVsSAnZWagAAnMkP/0VAw4jiYg+QPkiMGl2y\neZ6+uTyAFJUzTIMISUO5911CaTr72rPgZz2y/2a7IZ4fXeB8ufNLLC7ohhMM\nzky3Wmf3aDAEaJjzDLP+y7+S2H3h/g4mnKTbY7kHkZsgJbzYFU0gxPqjSdMW\nYvXPW9JR2K20k1KXKOo1LWliZW5MGpA/lkOiWGA/6u4ayBynB5CJlFs+f9Zw\ne7G0XjjyVVGgdvDPhDkxVx3f7dolVao8JmFBfboapILjFTBG48L630Iefyh9\nBtwkhF5eLr+uqfmGtXEQb7zZxPQvxiOmznBlNSdzKMYjlx/fi1338aL0trDN\nc5zU7rxK5PQSKvJ9Itl//Cp3tm+gdVRmc9nC+VChxdUDcr9r93C1oMDniHvv\njCxZsqk33Q2djfg//owA5p9EZzMqa6ZueMzV4pf9BfQXyWqntjOwgyjxcYRo\n4nwpq0tptjK5OwKZVQH/Uh3MqlrxY52Y02ETWs3H4stdtEFIERhk403v7yKh\n5g22WYq4zDT252AConZqt5CdoIpGJPgQVpcIDx8/PGWcgibeIFsMRMpvsMVC\n6fyHfYGgKqnC9IVNI2iDJY3pnYMpypn1JdvufzpNYDOtU6nl2J0qBK+IjzN9\nqWRER4oSuopseyZR/pobjY+RRBIGLdxKnm8tdllr7enmxRFPPwFqrc2fPiAS\nJJR6\r\n=GdQm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.18_1645024737370_0.18770620974408536","host":"s3://npm-registry-packages"}},"19.4.19":{"name":"@preply/video","version":"19.4.19","author":"","license":"ISC","_id":"@preply/video@19.4.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"99f17f9cce007a8e4c11260886761f59be189380","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.19.tgz","fileCount":949,"integrity":"sha512-zFQniziN5PRMxAb40o6rUs1+EjKvD6l+UB0ALpNjkh7Lj372fFk/ruOmgS/cmEkRwsjL86529BGkvvRx94Ov9A==","signatures":[{"sig":"MEYCIQDpxPXm+Z0x2j8L254V6z6fve6IMTa3/ZvpYGZJa4s3pgIhAPG8YTU25BBU978fkMg5Yh0Hjxi3KmUFBqYTh3VvlWzw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18125787,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDervACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOCQ//VdcHtW+Y/7+dKwUUSwlKPqi7EGqBjlbBFt83kxCmZhxxVjJ9\r\nSBuVPpnPpxwBhGyLNAmUHSgfrJ4fs+TeZz095A1MPfrDbl1RJxA7n/zo9sEv\r\niZuDBnYZDZqHiH5Qd59lPZoRTv8npI7SrECaa9eb3uCMc5f4AjrkD6H8uP5D\r\niqmmigjig1bQBLOOvqtX3SRHwViRHlheO77HLwM+/vjkQZdcI60V2jnptaqL\r\ndbSYtfn/n/j3dndU8rWlImJalavpXWa8MomL2+qqrBILay8F2vcqjzP9SF/A\r\nxvEjz5Cqq7c8xrJOXqEgq5I3esIFmgCXFHwHO3Ac5Yc+/LoAMsWAt3Nsrnh0\r\nHFxN9tLtvW1/OcOFztobwsE3Y1NYtU2Cp1fFmlIUY32y6jOzADAs/HDl2FXQ\r\nEvwKTS8Ekb1rNz8LhtEcZQT0mrc+7xKsWFZubFjIlam2X0AMQb6mOVkROlf/\r\naHvjhl/jddCf2ghM/daEMiBUdtBQWFPdY4trHq6d+5IWIU6+a6YxqAdhLUwX\r\nu44ZIjECknnBUVw3rH0pCe1RTrCaab99u63j+c4ck98namytArU3XBCcM8Pp\r\nYAKmfwzzrS0DQM/Is0t8T5X4J6ir/AhX7/08Gb3nR4V9pP5LKONTzWFaOvCA\r\n4j1n70KV5KBrQ7fmNzsb62/rY8NMH8993bY=\r\n=xHtD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.19_1645079279185_0.7461602258622075","host":"s3://npm-registry-packages"}},"19.4.20":{"name":"@preply/video","version":"19.4.20","author":"","license":"ISC","_id":"@preply/video@19.4.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4496d3dee44247f1c855a0546960db751dad591f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.4.20.tgz","fileCount":949,"integrity":"sha512-SPXBlfgbQF/Ossbs7ZUQQgY2yGkH6gTYk+KQAjiYNhM9PpWb9u8I+8I4neykjQcbAwJmnv9VRS2hDNgsn4fz5g==","signatures":[{"sig":"MEUCIGQPrjLXI3miS34/7sIR5aB63kVF2ler1JS5ej8O7AlHAiEA73otgm6sH8Uu48Bj5yK/QoGumtYsV3rAkG6DknnYqMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18128027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD0fSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/MA//XYd4RjuZBWEmkecxo2D95MeZ0K3ejTTILhkmh53wVjAatkP3\r\nc7vizXRPoL0a9q2TNuizbX4LDPwYtQgv8HQ3hQEw5GqH28GjCtdNVUI/Lyk9\r\n48/Wsbdbo45OhAYbz5QgV2jXnMcth/OwLDSx63BrJfXVoJGGNgZsNSpV5Lz4\r\nf5H7R3xhdHvd+GLdtyCl/5lwGRIZx36Brv4PaXusG3hQ9zFvvPD5g7xko6UQ\r\nI3TdF4Y2PfO4ouJfhpDp3OCMrkzHqYD12CQ3/iG8bl7rtKKOxBE8DUHX1Oq3\r\nvNJWvk+d73oe1oJmbNlPAtNUImZQ3SZSLBcWqhbiFSTmodasllrtVYoadjEi\r\nvRJpufB5e6tt7aJe9mVLO306klSfBz40Fw/ynI3k/ouFFAfFh/KqVkRgRtsL\r\nvG5WG61MlEsTmLJO72sk+02KWw0JGYlucTOPjIvK4F2pT3vWca8Nrw3nT5rg\r\n1s6+wwS0yFEcVdGNj9FtSxok0Fzk7Rs36wkyfGvWQ5Xdqgd9i1+h+k/h7jWW\r\n4F6wT6d2UOs8qFTFgFHi8NT4D9nXwfhqCawKVhIsLwbgagRBOWBd1NFE35LM\r\nkMK+tp/JhXbLhENhq+ynGjR8fK/fdO0/qYmXSu3zYgiMmgrQFX07SD5j1WWj\r\nSdXmsC934w2aP5SWE/uHoJOYTtgPidHTANc=\r\n=Bwou\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.4.20_1645168594166_0.5277960669985489","host":"s3://npm-registry-packages"}},"19.5.0":{"name":"@preply/video","version":"19.5.0","author":"","license":"ISC","_id":"@preply/video@19.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ad4d82e74800d8cb20c13ddda6b54c6621da83f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.0.tgz","fileCount":951,"integrity":"sha512-4NNmwMOBEfv24srenDyDLttBHI5omCy/fGeyzsvzgTKbhAOb/J6oszbHJOskQkezyMYadg+Nvd182u/oOCFO8A==","signatures":[{"sig":"MEYCIQD4HzXEqAdqKnUzgZuLrlFW9K5Apnbp/7CvGbMJFLDWsQIhANDQ+/yM3J/4KuEgMunF0CR1jxGJWBd5G6vi14gn1bNJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18142679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD2KtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCvg/+JE7nUeh1vukG4L9YdFK6vFSb0kBgvblvBTeAW5WxvQoQZ+4N\r\nPAdSgBd7sV55o193XNgiZBGWnkBIt8V96na8Lygy4NDkBhYIOGUm58EnmmC+\r\nRSMoRAWBjJTQZ7iZ4TS7Q4SoQ6NQF1dSMlWw2uVZ844SL6uipxaaSCTeQ15v\r\nhKp3qWNYKn7bnzCWGbXo3u6pmRGVTSiryskh8QbowqkjmxmL/WptwJxagX4D\r\n3Vss7jyM5afIj443eY+jY8K4oU6pvg3yLXJ5XijXwY0lTkxhU8MhxjgAUQkw\r\nqA6YFJlQIn8e2jPjJj6gvDQj85pgLJEY0zXkODz/T4UU/FPGs6kE6zL36aFC\r\n338UQzUA5dx03L11TEsilv7n1j15gc7vv9dXYpwvq2QPUmBmzKhzqifC3GuA\r\nqUTsNgh75q7eFDAXDOpRYhTlUaRagjHp5is2zkeSdc/ZOct7fyn1/g7SY2zP\r\nVSI8SKQ03SNrs05M9nzKN2xZSWz8jPrqpJ4Za7B78uVvkpIB9+f5tw4LPmzN\r\nFoMyIA11Bl8K17iE5tRCeszGwolJDsRW3J1adI0bjc9WiJVvTdezV9hAX5je\r\ng8er9xradwGBgZMunj3iQlG67yMdjfql04I8TycjdKXVvOm37lR/+sGcKQ2E\r\ncn8UMcmxbKPYS7t28jbYPGGxE8YBUdJz8H4=\r\n=UtvQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.0_1645175469015_0.10685786314741819","host":"s3://npm-registry-packages"}},"19.5.1":{"name":"@preply/video","version":"19.5.1","author":"","license":"ISC","_id":"@preply/video@19.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adc9329e5f10933af4755985a7ad5f53124957e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.1.tgz","fileCount":951,"integrity":"sha512-gV/QsIx7W1a6mGs2cEzdCxfH97F1L+9IJtDH1+b71ur7CYJGjrdk5UFml125hZno1GILpx1mhCCr8L2ZlMcEMw==","signatures":[{"sig":"MEUCIAY1BYw3wZm4feitXE54aODJKFt6Y6hpwm1Me3BWI1EfAiEArGEpj8lggmA7pIN/L3f4Dbj4Ct0VZEPfZ0BkW88MYvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18157813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiF0oVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqehw//f5Er4X5bY7jlDhZuXBn1/azUDmPf+RFY6Gtt6tXQlo3FH/0J\r\nP9FyMVi0lyq9lqV/nLKPuEN+95dGA0zbQF+eqtRUop0m7ZWCbew6ZTYMs2v2\r\ncjNPvbP6JMsddEP6xxJWNPiqski5TS9LjDiUL0nMdtVCIzwyu5sOwe2BaQCl\r\nMvf/u+aD+Q3xwVOnTeU7WGlFcPQcUttIPQsIUec66kk9BTgdjD8/0SQGTO3M\r\n4xm2837g3Uodjl6rRSPQYRNDh+hRQh+JcOYACjwr7Wv3t1tc+ZPWdsT9/8Qi\r\n8CC0gn27UqDQt1znqizq32h9uEBCGAmOwMnGoysyvpQvkD+mvun5RdCe/f7R\r\nH9JyA3FL8yNjtydZ2JY9AVMML5zqO7nMWOkfxSN6MbOVw+pT6/LV43SI6AV9\r\nwkwELaadEqTfUx6oyOeX7t9X5CxcmTiVncTD7XeT6RCmdOSuT5MSK0vMuDPV\r\nBPJvCJTIhVmEUPecCNGvX85uOpo46oKkDxZHBhWk0fauuIVYojbNz29PE4kX\r\nHNlC+GpwpV6D7K/ruSIcnnF9w3NkfGh1V9xio825IAEAzF2Y6TP0OEOCyPNy\r\nPyPjxjhHyeA9j9pAL8Tmhz/TAusCsJw+lM9N7jY8zsnuFYIv6DAi4WGsj3zV\r\nzCtWuCdQXk8I/5wAcwrIb2gMTz6eUJ2hvfE=\r\n=XNWO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.1_1645693461276_0.8529631519864487","host":"s3://npm-registry-packages"}},"0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a":{"name":"@preply/video","version":"0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"76ca38756f61f387d441b48cf9bad128746caff3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a.tgz","fileCount":951,"integrity":"sha512-jMl9pcyLZJjdho0xZwbnchBARpVaoc8ZnpeeAYa+1Q60krx/jULAzjXfFQDxrB0WFNQj49KSSNgfTRHc9PqikQ==","signatures":[{"sig":"MEQCIHJ2hpadshEND546HSnEKHR0C0rZvOQzNiSk6w2tQpN3AiATUwLjiOaggfcGsJB+Vb4JkUZJAEV7s5SrQAoSTETF2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18172311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIdtvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1uhAAgUUiHQafzKfRcSqQV3NZFXG0IMXh+dTiJ0h/pI3S02IJ4VB0\r\nip1M7RW4WpeuziUYs5ZVbwDpcE52EgYee+S9Bz6M0/IrS0bKEsO4iKImIJvr\r\nSmnhcu6hkq8nxXdWVzgrQEJwcSf+whKnsD+WC2nRLRj6NVxDk53ujH8vofsl\r\n84dO9OuKCUmTGFF60nvMgUs7e5uKmFO80l63jT4uQzQZARfvz7n7tVpoySnO\r\nssmYMJB8Uf35LYqlcBl02+cI/wVprRczgxtrERzlOofUbDeE+M7iPVWE7Spp\r\nXIRmWEimRvO3iMW35386N2Pi78JIOKWLfQ/SjcgBq0RqkdOtEGZOaBhHV91J\r\nI5IFJoVKVwH3588XzV437uZjeW/cR0AjkJwnZpnMGHGy+qsIWqdt8m+ZvCM6\r\nBIFrLOQYAEbRiNcgr/eLG/mLLOZLEnkLuxUkiG+2ZD2HPI/AvaqQm/czUoOI\r\n/WSyXkwzGZf4RErvY3+YdAGIy0pxsX+tqqZ+/I/T09H7Zv2NWt8MAwdmGakA\r\n/akaHTh6E370C62qGAQG2RIrYjTk+VuPLkxRuqkm/InLRkQS2u70LXEhKH4o\r\nDSilYHMioM/wcKBjmksc2XllzYHI9DVl0jdxXju4vr63RiC03X493Gd8EnWS\r\nef13bDC6QxENrSBjw3dvgvNtIL1HFrc3PV0=\r\n=Fndt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a_1646386031424_0.087200704141835","host":"s3://npm-registry-packages"}},"19.5.2":{"name":"@preply/video","version":"19.5.2","author":"","license":"ISC","_id":"@preply/video@19.5.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cacb7c5eab12a57a34a167799d4ee74cf8cb3adc","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.2.tgz","fileCount":951,"integrity":"sha512-1E9hlK72MJhv+P6b7G2M2zCn51tv7Wt/X2e08ovZqDnucyP0Y7pNKgKjtSymHYFjCgsR4RdEtkTVxxiP2GpbYg==","signatures":[{"sig":"MEUCICkvRl6x3zVpbWpf5XySXHbLjJgYPuzw1W6MiELLfNqaAiEAi358DvAr3fqHRGri69asWvKlpdQcuL+h0M9P3W6Xfgs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18170826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIelHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqN/w//VXOkJdEq9FOYEWGSMcxJ4hE3A7EvTGK5iGkcldiXnhpw+wW5\r\n0VSrrTDSKQ0kUPhBE4b0utbwaKdXFYzvVoOSf+2XmWbB/wuaRMEZRVrHbx9A\r\nFRFkyaTJ682GRVqRN7M2RBOLluZXyY4938grG1xB6sdBJbUCmhaWwcM9bzHw\r\ndSv3j88Pev7XbdRwXskxJKIEOfZvbnVg56N9JIkkAd5uCpVwFSeekgzM7Dda\r\naTAIusPTio6PwBY4+Uddj6dmaFu7gRQGMJZM1/2l23TScyQV0Zab3ETYbpce\r\nF4ZdwgjFFCqkM6IKYxtvm+1iM0mAkp1X3hCO6Ap8wNdwCwVFNyhDJRw28nOb\r\njlz6VWOzUQDCTJH1Ft+rijT3+RhwasS4VL791xK5qrquepSeN8o2VVsaDwZ2\r\nBNmJPHV6DAmopGpYd4kQHgIrmFHJqPp3Fmbx7z0FDlphs0TErFZtXZNhB5uY\r\ncQ+eHQyDORWU9QJBjOxtZsQHPPqpAzozn94O8A+PBsznyg1PNTSY0/EOcQwq\r\nTasQ4UH8wVf8hYMND8kyoWfaKVJYYLndm/qX0BFtK5RCKI6zE3mn4F660OYY\r\n1KqYa8THCJajaH3T54vuQHR1HkYEWGB+HH7/fzSeBYE+4DFixAy+reg3grdi\r\nyYzKZPlSfgM7PDYwvZHY1OUJEu3Go6tDB7k=\r\n=K7c5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.2_1646389575434_0.12825962060065255","host":"s3://npm-registry-packages"}},"19.5.3":{"name":"@preply/video","version":"19.5.3","author":"","license":"ISC","_id":"@preply/video@19.5.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"83e496cc8463999018a2666553158364cff9d301","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.3.tgz","fileCount":951,"integrity":"sha512-MViK6V6oTZKNzj4ljAJSbQc4CQ/mlEk/LNma8WOkv8ys1iNYH05960rVNn8MRqZIEZaTwLTveZNk3L+kdg2Ifg==","signatures":[{"sig":"MEUCIQDofHxmFqPsBnGQ0qeghQtIyXIxFyZzzf2Q1kuLordqPAIgIVxTlf0Idoy9MWUBgthsWGZRHIs6lG+fjOc/vuHK0VE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18175761,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIir0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5ng/7BVS7tVDrbDEbpASUV0ajgz936cT+Mu4IS60hlvdpeAPc1JOl\r\nRSieXWenDkJpxozP3csmXPPC5yHPHe4un7asJIqkWaOxO+8LQ6mO5jRL1Cq9\r\nNrlVB+Zxxtk3S7M2ZxCbPowDA69L26j/kY8X1jka4vxwtHkuJEUgYbA4Bnc7\r\nbFaLthJH6tEetYzQ2oVm+WyrTyhgd3smdkdCTemuiK05pGBUC6ot84B8wT7Y\r\nbCFjzXja0CXqXdpS7iNQGyAKiVrONruBnzVVDtrKOe9j0IBcMI4Snx/i0wvN\r\nZwi9Fi68HnmsdPIeLElpezJbm/uaTv5dBJMpJ86Am5W1UteHUznFQ1RFAO49\r\nJ//G3XYXtmZEbKrRVfvn3/iSIcQgPTSFSMdATwZFYmsMXjUKiHL7ZuApM84n\r\ntepe071n3uroL336Ly1H086fOrs27MPfKieaOrD72u3N6u5UxmkX9PHpexWz\r\n/XAldI19l7mQlUY+nT6ZUCMad6aDvx3BtD84UgAR+GmtEjQN8LP9Z5jS7W6l\r\neNyGsODlkPHSHhw5Qyoiob5qWVHbfmdv8mQwlriRPeh+AetjhOqKcRZM2JW2\r\nYU+ymyuPgzEiofhBZOa7FXFgF3dNCQ1m6mGvyuQlAYIdGGJavJgP+U0p2UMv\r\nrOwXaviIaSgD49a17dVhM29xrEWLUwkXlew=\r\n=Gnu4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.3_1646406388218_0.8046093482975738","host":"s3://npm-registry-packages"}},"0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f":{"name":"@preply/video","version":"0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"01e5f6b53716fd5cdcc668732777437124750739","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f.tgz","fileCount":957,"integrity":"sha512-FREabYAsg7g2E0sje4i/Rg43JKAOXYoDs6HHwsPY+e3kLvlMRYBK5fVcHOu6e/DtAPXwTAil5Oky+jQ/bnxMXw==","signatures":[{"sig":"MEQCIGwPC+qQ9e8vCpIQqBvIxs+mizWCDBjabSpdDYP4JawLAiBVVK5mni84abvWeIK8V1HLLJjTxpmEE/UNn+tY9AVJ7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20337927,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJhn1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo8uhAAgUCr4wYN3McNsDdFXPQrCvnmsrt7wOhR9J+7I+xnYIS6JswP\r\ngWnSnfQ0Skq90UCQvGfkJ4gr8MSQvu5teS534yKosm/6CZxSMsssgJ2LAK3l\r\nn53YwX6ic4m6Pxh9FSZeKxNyGyUQ9U9xhjhP18LQSCSu8KYPB3DN0ANE2zG5\r\nnT4DOhxp+btsv0laut3/kIrwbRCtsgC0mx7ckMMAV+wDfjERNJEQKt97aK+M\r\n6OncFEoHBmrKtwBKO0uqnU5dS4ZK0FmHnT6+BSuL6jaDvu94q9WXkTLS6KHV\r\n/ZQpfEN9vlD5Q099e5UFwA77594td27ekAbJSddXYmAY6FIDueaHpjdK0ro5\r\nq4TwfQumztMGxO5VDdzFcXRGuJrkuxxlNc7BKQRf2ho4hsMYd/aV9TOjScqf\r\n6F5C2p77/yxaUHNuiu7K0Q4FBMoDEZGgDsZ4Aa2ghdWUE3QD2b5xp67DXhpe\r\nmRFbmioi7LFcqv8EHQpg2tCH9MWzBLnCiZH8sXz+QygeiIWgcR18aUm/01q4\r\nOAjlU2WCQ2qPaYwaZP44Q92XxhgTdgDajaqpUktBOIyhhIbD1Lia8Go6aB7O\r\nHuGHHq6cGhX/2yQH39FJg5uEWCjTap/3lNfcDXmWlXZ3b2zWlf1VVhBgSgyQ\r\nE6fxvsYIdi/qrjszCDmbgVFNG3Dn9+fe87M=\r\n=aNkl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f_1646664180886_0.2703739343118057","host":"s3://npm-registry-packages"}},"19.5.4":{"name":"@preply/video","version":"19.5.4","author":"","license":"ISC","_id":"@preply/video@19.5.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c4b2042af188f09930035c1282b3845221dd7057","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.4.tgz","fileCount":957,"integrity":"sha512-+XwoyLfjrLLHZ714I8yTcR75TSy/xGixwMHS6XVavZynQIwlabw5fBjLfzs5azAAdP9JEUv0D0hSIo3y76sTbg==","signatures":[{"sig":"MEQCIG30uelcWyadzNUHmWxKJfbrsSxctV5oM0L9Ndo5/k62AiATb3h4uqYmVHBa4ix88SGUoF2pT2ueFNIqoPFaatxniA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20362747,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJxgmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1OA//ZSWLzRm0DEKxvGU8QboTg/cpAxLJBkQ19cjCmDFBkKYSVGGP\r\nYzvfmorfJfJ+ADO96HtfDCaX/v1KB50+7j8Uuctz9hm77YnselbtP+MzaXEP\r\nswBFdyQbasPVO77QbKcy2vrWH4VaMAg3/C4YvmZEHfPuYmhhXeh1ltcPD73c\r\ncQhUB2CHu5kvpM+T49H9MwmE6Gfv2linTfDlYedspOHXt2S8WirfsvgQl5Qu\r\nJd7P4NM9rKSaLIUpcydCmHI0NvxBWX4JmYEMPHP01HWlbWY1HlujlaXshP8x\r\nA6LRTteeGZsj0YbjQI+CdS0By1JrSisLZ/X6Dy2jyx3/fiZePkKSjl/nTHg+\r\nWunTX/4+IzE99mEgyb0ZR9LLby7x5RJTdSpyj0mKNFrCFZl/rC5TysvifaoC\r\n5WQ9N2M4thnLpMZnUBfncXqA4uKfidm2OsUXObnVRQalJ0r7G4Cr2aGZ/tPY\r\n1N3isKGHT+uH/IZdac1qYdBPB8FuBLrllLRYYE3g+FNR2cMHkbOIfnWY4tTo\r\ngYOUu70IMoVh5T213khcW7q9KW4R/jMBzguF9o9TPrLjAwbbVX2V2Y8P3Zow\r\ngVDO4KPUKGemy/QtkUZMxmJznhBKIAJx13iLqLzgHIF2h+IJ+IU8LCFY6tM1\r\nV9MeOO7blSS7HfHyDCkPxDs5rJLeBS93dPw=\r\n=cqR/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.4_1646729254489_0.08163171947145775","host":"s3://npm-registry-packages"}},"19.5.5":{"name":"@preply/video","version":"19.5.5","author":"","license":"ISC","_id":"@preply/video@19.5.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"85efad55c13553eac9314b1ce7dbfd1adb6deade","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.5.5.tgz","fileCount":957,"integrity":"sha512-PgvdWbTJx6yCfiek0bDoEGDlzQteyhuPsm3+woMBVPw0Fqwp0YrJD1cCe4Q1dB2/1eS0IUTWqaQwCjnlptP9eQ==","signatures":[{"sig":"MEYCIQDd9GpdJGRazyf2C36TX089YBRvRPkIamn2NMOEB2tJbAIhAIy3RxK9Ikn/x8OWrdyhmN2oFVxZ+yx94EpoWURgBa/n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20363483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKEdtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroYw//UWa9cMBfQoGuZERmbvKa9OuBV/TsVyNHJdZECBIpra/62cPX\r\nISTJXzQY9pxnQQGdUSUGvXCSoSZBTTLBZJoJ3Ji6yKrKe16xgqVzzm36xxdD\r\n4I3bt1L9FzOZnrqmUevZrSOd3+1dL9GTFn+8zhN7GHwWpCnOTENge/VYn4oQ\r\nE4F/2G+J0vMROBFAo6Vu+sBQjM/m3yuUTUEs2ybo5TF6VDtJ0vsaB5MQ4bbX\r\nAJh2ZMFqA02AO6vr8dCWng2WvE8qRhLFWHQbF3+TCcMVNb+jJHXxxqgYDkvd\r\nPLYcwGzirdmXHZ4aJLkDkNw0dLgv8LlTJG+8INlvb2iD2AaEfWbPuxD6J6PM\r\nbDUc9rSHTdHja5GMoYEyYwjrkISfRGEqmyaYbNIBysET89QZEZOkrCBzBIUh\r\nAXd/flWMZfnDK8+RHjXfSk/JWdStbSnG0ulJB1SnJXt5PwTqTemYYC6N16g2\r\nZbFp0/+YCZkEjUot5tycDn+qyELo0ZDhN+fqtQvEH20vNqmW28SrhdNmt7sq\r\nA8mpB+u+WduQNr3mBenr/F03Z4/LFg6X2L1rh0p2vtz1qXGHcRUR7sKQLWLT\r\nAaAPjLxb0TG63NYtmJs/OdSIEgTyL4Mw69SaXCkYVb0SilSsgJD8Mcg5YZE/\r\n6QxDIwFy6JCjZS7c1KPchfeDM6MyWhyL9SY=\r\n=Yd23\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.5.5_1646806893136_0.960355009327174","host":"s3://npm-registry-packages"}},"19.6.0":{"name":"@preply/video","version":"19.6.0","author":"","license":"ISC","_id":"@preply/video@19.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"21556de0a418e56b697824965dc31f918600b469","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.0.tgz","fileCount":961,"integrity":"sha512-X38O6IFsCfXIOMVdBX4s7qd0BEbnSSGpVnrRx2F4C6KIEOGgNYsG99L6JfIhwyRV7rsKZ2lBaMHf8pXk+dZPmg==","signatures":[{"sig":"MEUCIFLu5KBdNCfOlM1ZTktqiNwhGfXRLIQNpzHVfiSewA31AiEAl9Ipu3lCmOki4soEzPOSX6bYKLQiB9flP+p0LvV36jE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20354072,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKb9XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQZhAAoikNWehBFSrh7We3CXQ02NKV6E1QEJ9vpws85zPcQQqsN8YE\r\n9CRJdyX2kQXBzEuRIsr2D0YABYkPQSxKO4w7ewjWdMFnpmTsqzaTss7KuKmj\r\nBNVU590hIlOQ8mbP5Cd0WbNGBjEUzxtaD5OElrgW7wzuGvIJmgz5gHiigAzt\r\nMtADc7NNdb6RSnXUFNz8PMwo+fY21zpmhuE7t8BzfnExEtUsCoZfQK4L+sPK\r\nkiho7sY/GtOvNv6KkogefCYxaX2WdEqEDyoWj5qAltXf7WxFldaTcXIhdqqv\r\n4Re17/22sJy9t6qd7N8cVVKhr4iyTx1NSH56mNFi88bmtr7UfU4IAjOcgB3U\r\nTyXK2OjLQ7i9NIULUyaY+6yANVSWXdh2/v2cW9je9aXIb/RNjxVIbVo5bGUP\r\nd54mPv09ZadwtbDX6kGrZAllOxw6hgsSW7grbvyVkQF6Hr9bZwRyCWRF+KG/\r\nwDddohdTe7oPTs/13Hh4JXccd1V2E4B8MRH/RwI1Mw/oFYU32Jw4btz+/DeD\r\n/xcpkqKXDAKICtg4rOmhi5VVYA6X51u0fXQctgIP62RM6Bues/l/8d9nbbAp\r\neib65LTXm/nd2pD0mvavOkLchEwm30iPu22rjEI1IoHVxsqotDZXy3I/uBIq\r\nCq8ZgbSIJWJLA99oW5BciC/U3cxHsAdAnWY=\r\n=o6Hn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.0_1646903127157_0.34801717043137437","host":"s3://npm-registry-packages"}},"0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9":{"name":"@preply/video","version":"0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a39b16f3872828cfbbba9f72ccdd5ec8af9f744b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9.tgz","fileCount":965,"integrity":"sha512-oR2KL08lQ96cN3YjuIRiLNe68j4gU7gj/d9wdaFBEMYI4bKhj7dtm1cuVq6HkclUfo+vw/M7QKh91cUrUe6gKw==","signatures":[{"sig":"MEUCIQC2Yo6u2AtA50Uvw2IXhOTDQPd5x0QvdQC0SR00KqkEYgIgDivuFDwXNoLtVvfJttOvNMu34hC6MNz9W6JUDYn9lUo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20385509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKcT2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrkxAAiVxb2JuQGOlrgddln6Pvpo2TrNUeTvSbaCnaMvqh2DAzuOF/\r\n10eM1LOFRc2vMCVcGH5Xew0w71hbwgHIFhwUvGczGimqrYhN/Oc3Q6ARtp0n\r\nL9pfQbjjHQNA9p7ZnXDZOsCUqG4vZHCaH4g26+K5TcIPdu2FFnbSFHOIsJID\r\nhcILKkGnSSiV9mKIcK6mqBFw8rrbj6D4yyMQWTjdjL4U58/auGQAbKddwPVr\r\ncSRJ+xWsehb9lMKv/CnopF6FWgJRkF0Amwa7sEyEN9G6y2kdPHX4Zyx/OI7L\r\nHOByLln9MCsNPe+zHZoVrJ3aUtI33EVQncZaEe0mWCSalPSsB3+7gpRBeIrp\r\nS255I+BSlaWqWrgGdcd/ISib012ocaJQh7FRfp+bg8AHkyjUFUW+TUFcVFST\r\nXTuYE9PMPapWS925006+imTdwol2Y3ozCTZmHY0AS0vePH4uRlc/T3QXHgwh\r\nSaIfosBO8//A+wa6ekglCLIkszjVxE3qFYSNLuxzfKY4EFR4hCRE0P1Uh1Xd\r\nPiezdgfUYNj5u348XQVxAQt3NlcTbwtvtj+ekjztPaM6hRI35ViiuVAzWsHj\r\n6/XuLywXfcs3dXk5M4nVKegliN8IQ9CdO6n/hzCJpy/THtsJknh61zCN+gBe\r\nixv2mlMi/XkEmwV57WyUlwLakD9m29cOBOU=\r\n=ErYZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9_1646904565929_0.7284999498766169","host":"s3://npm-registry-packages"}},"19.6.1":{"name":"@preply/video","version":"19.6.1","author":"","license":"ISC","_id":"@preply/video@19.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d8a213e2be3c7708a0abf19f52b5756118c3320f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.1.tgz","fileCount":965,"integrity":"sha512-SbNmOLtsZ84h2si/aX/QGYm1MXSkns5v9VPlwqLyxfgrttg0qpvxywMEm00BU6HrM5KEEHbo8fDDyno9eUS/+A==","signatures":[{"sig":"MEUCIHIqxsY5QbGUfLWT26Ugm6KVKyQwE8h42rkswvnbkJy5AiEAtGrlDlpXzYj3WsHyMtEtY0X4JhUYuDDdgg3333ZibFk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20384024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKdM+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyNhAAlt9+KGqFfIGT0BhVg9TdETBTc89LLmmEjUwSbBsH+yaO8sHh\r\nPDCsz52s7OlV2DXNRaFrFPF9nsER14647Qk4FYyKExncq/rWnVmerLmseSRl\r\nFEy8eLwwcfx1yuXnQTqMmjLct3tJvjE6lmsf/bUmIIVynrBXHYwsvlWWd0gh\r\nBPuvNMZWA4+nTu+PGvSNS3+yDTJVM0W4M9OoTq8UBbXlNEUTlU+6NQc5lsOe\r\nhXFf3al9XeVcae0WHwbhW58SYZUzT8DTS2EaV2Y2kCJjQrS81Vql0qP6A0AK\r\nrT/itiqI1xmNkG1mNivGj6tItAdwx8pl/KkCBsL2+CbrpB+KzHQsk4eX7NI3\r\nw0Ic1BsN+qh+h/6KDdofj0kdAsctv2QnnRIWod3rFyr4pxE284+iw+uzSepa\r\nRXyKdJ46vJI8hjhRQyL6Ndpjp+kJYc0/kp75NOfekwzWG1556L6ED6jLD4O5\r\nIT9Snim12yTrjHyKvruPIOjRA1Fhg5tyV+izZt9CEPR276cu5+jf54yV+6ie\r\nuJbaKoWNjy3DiYz6iuFOIkfyZ/DYJGHdCc/oPcbzXHMqW4Td8pYP3hQz6Zpk\r\nSBu7KSGMHd//SE9baG4+SFhxm6UTR9JkB9SDmmz9rVHnDcd7KPrgqbIJQImC\r\nkatfoYbagP0JUcXJQzTbRPdpsTZ3IpZE9XY=\r\n=k6v0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.1_1646908221701_0.34375649849329326","host":"s3://npm-registry-packages"}},"19.6.2":{"name":"@preply/video","version":"19.6.2","author":"","license":"ISC","_id":"@preply/video@19.6.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d03f3ba03a362e84aee143732e8983388fb60b50","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.2.tgz","fileCount":963,"integrity":"sha512-h0uKU00Vw8+NU+ke/LbJF+thz7UxkqlYwpXxJI/oWFdnQKwkeXvqDf3ooQNM+0L/7s0aHlgt1z3IhE38LmmP/A==","signatures":[{"sig":"MEUCIClSOWA/rV9+ikbA7ODYOOuEYPLl5hGGQoXSBMGK+Tu5AiEA55f9evMqOxbcs9HBa1T1Ima90KR5qh2gXCcY8e//sgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20379603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKhZlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrhsw/9F7w99kSxoGPuO0pJzh+VTgKuGMJElDXh5tr3xxgEn9K2ZbIj\r\nFDc55yZUzb9ti5KR5vkyXKCsNo3o4u0Bp4FD6oc0VlbDaclqhn0pSzOnHg1K\r\n8oPlx9ZcAQCFN/WxhSqPQhLBiNI3K0w++486qSFB6gCm2rVe0GM4L+cIbq2w\r\nszYpuHzd/ekJrbdqEWG3mJ9pNzgW+9Oq8Txo7TC0Xqdw2Qoa6HVeeTn7LMbs\r\n5iCpOmi1YP1QrjhhbMVvdLZ4RNNL9dTUrkc+EICHIKj95hIrD4Fa9K4wfYXs\r\n70Y5QUj9M7ssnYyEDiMYyQ2e6YUymTJLsRW34Jrzn8d3+9lPavdot0yc5Nz7\r\n12mcDw9qlgwew0BzXvQc5aefXFGR7D1ghpFnTb07Wpto+xO0qh36oISljLye\r\nvYLAeUcGi6IIm73XZSn7p0kmccWyAcEaLWb3JlWadL2MsAjb4w2cW8FRl6oB\r\n2eE2zwO5vRMv8VYwIcDl4fVaii3TWHvPDsctudmGR+d3wbrh9lEuQNCTSqyh\r\n8VktZrfL0HYH1700m0gp0W8YJZCzUM51bavOtwBio6O1++rDd0/B9Q5AVnHr\r\n/68ZGXVZm+hawoELpDtym/o3hKZLh5BWA+2xn6OCRRRVXKzwrRrTvnWKjrnI\r\nNT5lbPZNxd85nKCasY8/i6NlEoVKwtu+248=\r\n=WWnr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.2_1646925412815_0.24533162616303583","host":"s3://npm-registry-packages"}},"19.6.3":{"name":"@preply/video","version":"19.6.3","author":"","license":"ISC","_id":"@preply/video@19.6.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"85fd012ff75cf83ca6305164184df94df0c0f4bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.3.tgz","fileCount":963,"integrity":"sha512-CvkH+lXJnwRDsqdMtkKVqf4LujI6BmJlb0UMV1SP+jScb/VKGU4GRLz4gAaYc5C1/GjAaXFbA6lX/Txj4wN/HA==","signatures":[{"sig":"MEYCIQDCrMGkmyjNyqbtex7mWmvShQPpGDEcrosidi/9c1ag9gIhAKhBYNpfZ5h2DkjmzTv1fVA2PzwnFf3OeQswlFfTtNc7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20381380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKxjqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbgxAAkzjQd5nLBhvzbOE3wbNu5TQFAp9vT8ipXDctpBUQiPlznutM\r\nzuxpItsB/ZbM5W2lBoEbzu2N3Ob0zxI9VXHVserYNHQoCMKTnGGbw+0QMBDH\r\nZgjoByPoljins1Cmi0S8P2PPN1YjJzAad3TIU1MN7xe7zzDg3DK1SwBgswIm\r\nISGY+hpHXkhCnlUfAwSHMxj/eUSgMs6qm/Ukm+RD0QMF1yFNSKJU0u2eqVEj\r\nEVeXlkiLBVQQJ9cBvJ4vxUfhK+TjlJ3FdFmHsvAeyNir1Y8d1R4X7QYRgLZj\r\nl8BmVJmX0EvUqt/1QMAFVabmc2THhX261MJn2/lDKBrXLdk7LnqbEs6NMfF0\r\n91oiIejQKnXRvpOb0eg5oB6jjKz6AOwh9ja9+aoEjskVMHD/lQTdTfKZWSc3\r\nbsPPxpmX25XL0GjUeNcc//1XHLEmInhRkk4amtAZSMOAv7yb+jBGuW5q5EKr\r\nwlTQSSUF4IsGkW1QnpEvIiAVq0nQdD0Xp5r8wfuddpfECPNNaNtmwI7RajJq\r\n0JkKpW9MzngaLPJbJ1sdWvF5IWqPToxPi3zI/EHNOWV0cDpZ0p3t0ZE8QUFJ\r\nR1RecTfa0hI/OLQqQIk6j/WFHLcXAV0rFiLzwqKZ6GDKvy0OtZ8bUlhJQjD4\r\nNkkSQC/ChraaP6W2Lxkhko85yOhvZ2M+o9E=\r\n=B6hI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.3_1646991593741_0.9589928167077699","host":"s3://npm-registry-packages"}},"0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789":{"name":"@preply/video","version":"0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"17de0268fa854779ad62e01bd6e2338a83171aa7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789.tgz","fileCount":963,"integrity":"sha512-OHiEs2P+dk9f8snwel7nD136bnCSdm/BCHWRjF9KuYMRD3nSGYcOjAtc0ppvQA8CVJ/78rcHD7EacKXS98Onpg==","signatures":[{"sig":"MEUCIHQTVTCOa07QDm+c6DfzjXmgWY9iLYOu292FucFOVbN0AiEAswZul+Zf/DJtMMOspVhAgjSPtlz5vlYSNxm1ANfcRow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20403430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiK2lqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKJA//Z/5uUyU8EGoMDsC3HHxgCK+VwATYuPLzFZEEEBt+DT1kbDMn\r\no5kMjBcbzy7MlOozDECjYPnZVv9h9F+3WOK9/dJNdoSFlzpkHM67LO1UY2k8\r\nie8h6CgqoM37iv2rx+/DzEQ65bsk8GPUT3MN3B/A+i6PquXP9BzIo3xfxoS5\r\nzXyM+zUBsJn6lqbTYOyf2NBMfDVmlBJcGTinJg+gHQAQTq9oaN4wCpRgF+TU\r\n0BH5otNhsbFohYuzRK9A4vmCXtVGHx6KM7ubeXS+qCh1INhp0hNBpOm9Mz6S\r\nzEOOLjBxGo7CKJbNd0HcB9XBlpcPeo09Qz2sjgkb6vvThxOh+LWWtGlud+Fh\r\nicAUnuQranfu71E5EYcZilwvXvd8NiYTDXfvRsdhejMD4fYBz6kmwt/87rDE\r\nVtPk1ZegPUs+kt41sawYNoC5nDsFmb/9FdNIHvYKlYcFwDAm4UuEBNedyZ5V\r\n6JpDtDg3ZwIGE6B5L/tybPFCAXkwpBbxN+etI0GtyjPuqSVMG+xaopdCW+pC\r\nseXPbcPR0wzSyCFBFj2PjIXH6RBRNe7jYJa4AZTdvNY78aJcZVZs47FEjFZq\r\nLYFUikLSAWyrLv8exM2PciKZwtiESAdPvdfBSuVSS0R2mIz4cE0XSqM3a8Lm\r\nA/9v7C+VLgIXgsoONXPcGM53qavXdd+lTvg=\r\n=Jm34\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789_1647012202173_0.03821100991295756","host":"s3://npm-registry-packages"}},"0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b":{"name":"@preply/video","version":"0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7f264d69dcd5fa1e39b583db379f75ae96f6a8b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b.tgz","fileCount":963,"integrity":"sha512-F11XcEOKK4Fg2xgmzk+o8aH3694LWm0WNMj8QoQfhVYI1LoH+gIEjGO2n+4ny/N5nPZ6O7/vLj1UwU8srQameQ==","signatures":[{"sig":"MEUCIQCwspz3yWN558MNRkcAQKxIR5MvbnqjX0q+LNDGTsRRdAIgGJNa0M/Unv3TZseV718edHe7IQmaWrMT8hIw2+FOhzo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20404105,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLc7vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqx5A/+Jzgx3UM9kOWTAzSxziQy6GNYWZ0TYz6augVMP+q0efCtnAsU\r\nUATgoaoCZNM/zJs4ddo3+yJ7z4IZQzJ8RrwodCvefvLSvOf9/2AUTn1E7Xs7\r\nYcFW4FJEl3rfoc6n0foKanbg2DgIqip+WZG9pHyiGYodahaJAMAABBiMdptz\r\nuJhhfUHAEX1LH01jpSjLXelK99/tN8xD/QSadZoLUAERofUmW08plU/RCncj\r\n1ZNszbxvmmfTdTUdMcNzqgKbMkYFrF/khgfqzMhNpTY5HpDJsS7PRT6BSQcj\r\nxpPvN+7M7/XcnTAouOsZ5tvI9w65eg/cRJZEPoB22SGzGJ809rbJZFg6uSBj\r\nlCUvOWajPBrhFzkN6XIRRelYO1uovKH5yR4pIExqLRhYIjkVdwc3OMdQdPvz\r\nYv5sp7bVZmjypELUYgLAxyisACHMXLjKRJhe0XxJvHu6a7IKNX3eJudPFq8u\r\nJ7I0+Fx0dT7PlCzwsUh34zFcVrug4CkbR8uyPcexbrqzxUodTcRS4iKloP/M\r\nnuetz7nZiCXa7i9AObMo3INNRT1qRO8DjlibBfZ8B2xICpqmDEG6jr/MD3LQ\r\npfr7TpUFQFGYQTnkmxaU5lue/YHhhhjZXJ7OfQ3XSH93MTsIIK+cRXlVfgs2\r\nVxzUweqI7RsuHfrR2aD82tUqwlLlhi0Tu4Y=\r\n=vSs2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b_1647169263108_0.05242254207246044","host":"s3://npm-registry-packages"}},"0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc":{"name":"@preply/video","version":"0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5ab6acf0049d553b767f4c839aa8b80e9f46a3f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc.tgz","fileCount":963,"integrity":"sha512-q1OR/iJKwSaNipCH+8Zrtih93Tf6wjVjcdnP0IXqSMx4dPLScO6wdseIgKuIutaUV5+VwVjiPrBx1Q+xTQVDlA==","signatures":[{"sig":"MEUCIBSu06Ql0cgZrbHRROOPzy1DeNkLL0YlmHN7bHQLGnC0AiEAvWBVG0k9VaBdfal0ncFftr/8io+o5uCs2ZqHy39ZMkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18713621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLeVUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8cA//S4k78pcMC1ypYssKZmRAkk8zUcDy50ierhFOavWw8oQtzKRx\r\nFqPnk3UNyYwT0eAk5vc39LC9n27zxszMRDVGZ6t4rHM92xYyyN/Pcm0zb7A1\r\nKf4+X5U/LrQFFaTOL8O2UKA8FlKwThCbjFpc+gw6e/Vj/AWE2/LQjzaNDg0P\r\n31r2dpriuz6NKt2FxGpJWqZC2XC/rn1722rGoZnJOOIDsGtCqJAn+P4fEhkC\r\nMuHAOFfzneKv4ZOnvYMvCQadBp0IcH+th6anLZ5RbidkRkbA26ZJJtgRlICn\r\nGF5PWaqdVEDxXoXHl26KrptlFFAc5krdlpAKn6JhI9MA9SYZoTPe/8a1oBQY\r\nzqRsfadOiM0OIJNNSzr7QrTKpt/tBD9ptqyqtf0P++0cHDP000ubEEfzQvYL\r\nQqoloLNUjDdlGMLkk9S09cK8UlARefC3OfWzUnpf0FQFM+Ho0wxyahRxuO76\r\n01hRjsfsH/e4j82fYljiaciHw/m4nL6UQ1z4VWR2/3yu5xD2JJOJC77zZgS1\r\n2ZLPzfA6WkDEZUCV6erMHkTW3V9IEk8i17VshFAiW7P1xSuxGEbkufhnm/ox\r\nkNLzoPn8DgfgPBF50V3QqPe6v6sQJWsyWiNnRhnfbEbqoqECxDwG4agKeydG\r\nuNDpRjA4I2Rxb1Z8xZLIF7DJllJYol9KcV0=\r\n=ZwIF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc_1647174996440_0.7728756570914361","host":"s3://npm-registry-packages"}},"19.6.4":{"name":"@preply/video","version":"19.6.4","author":"","license":"ISC","_id":"@preply/video@19.6.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3d647d6129424e88a0521abd5d521daa6ed14b9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.4.tgz","fileCount":963,"integrity":"sha512-Q0b8u893hIJxbQxAlVQ8o0T4qGRcR67ggau7MQ+E0JTJNd2dx9Qw1FKJJzIj8TqwbtqacbYi8yISlCTQHI4Hwg==","signatures":[{"sig":"MEYCIQCTKu9AJ9cgyUl/d641mWGaEL4UNeTleheqWSoSf0GIcgIhAOu/UBhLbHToTrjsWDxoXJ0dvrIp7NBFV3nBBaiaTnJw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20405622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLfTfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmogzg/7BL4NZx1uo7RK/70wFMZWbeDtFR60JFuslu19HmMSxJ8ogu/K\r\nD8Rq07lZGrO3iiO2FwGcE3ZXvZumeKUO8sVdBtsufTW9RVSNIFX9IGgpj/c7\r\nyx4iqSHT/SIe+/Q8gtbUI9rtZlAE6HJo0oylSVQ9K6AliwEhMz+bg62Ko5cE\r\nTmm9+PZKuW1kKRBKEJiKL746JxzJUCRW7VDRI/2LeCrPjAAn9NZe1kVvksJz\r\nDBNxgP29mdKCzM1oBKQGJ7QLU4NBHYjSYEj+9jQsWOf78Z7bo760CrKa2FJs\r\ntjw/BJR14lTSbfDkWd5vLed7r/BzEI7g6vvkm2DaBukZAHlLHFgJ6HhSSs5+\r\nQem8+gsX70NqbE0n5ik4dnWBLRtrMLvad9TchtfUSq6lFqJBnwu4tluKE5Op\r\nw6PTEtxFs/0t7YwaTybKfZrXcZa0U3uCuibbXL9EVhrQ4nHlhvZSWlCgaVd+\r\nmwS/GoSd5VUu/nvzk6gZQUanAuoNmbDRWK8srxhL/TWAjfnBy2nxFvxCpuXv\r\n7igRYxEtLrdRqXsCKn7T7Wan0I/XiscUBQVregQ4H5i++6nzL9xkrEe9Y0+Y\r\ntu9ujKYLfolxbGV2jdCbTZlub2HmnO3JN+yeKyy/dEhytuhsYmOldxNX+8Bk\r\nPkW8n0gMQ7N8JwLeeyPVRVJuC/ueLlvpHwA=\r\n=BCWP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.4_1647178975396_0.18346499812828165","host":"s3://npm-registry-packages"}},"0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a":{"name":"@preply/video","version":"0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"39f1cfe8d24ad8b0f96a110dfd5fb327adca20f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a.tgz","fileCount":963,"integrity":"sha512-L2c/4mTztDI3d31DA4oycHBr3yZ3wOgIRf82OZj5OWoitlyS95yuQSQgieHHS+4Jhp54B5B+bH4jSb3AEorOrg==","signatures":[{"sig":"MEQCIEXHZ1p6uX7ymUXJBzwtumB7ftY0YfIg4uUc1msacQTMAiBaxgzZPXMvLHEfIwunPc6ETh3016qCdM0CEMEfHrpTlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20451705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLw3gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSYA/8ClfBIXIJJhL4geaQF/pOf/5qo8ZMBMWZPBksvIm9aLvw/E3O\r\n3DB3eTaWz7P41n4zlXpdqV3t4CgxzzbhVhcgoEt2HPaVc/IKK98Sf/7heDc+\r\nPxAKsHlVGxe+TSnuPkVis9SkKHgAwXB1qbMxfzmd358Sr2Qa0qcqraVdDR4V\r\nqjfNKL0jxKRdxzvSYYBHWF9K0biU3eitIM+pwha5zqtqAi1YidxJBaIKbMx5\r\nCBS7yYxP25rt/uRodErA00ZzKgGxzgGxTMC0SuQ+gLJmIkIFUVH3ovfg5PJX\r\nTm7Mo4HpVLqMT6fOfh2M8VQxviuUjZaPuLieEkAkritXUvzgvq1sYBokMf9i\r\nX0sk1NebttvMvnmQqsvtQcHu6J8q9DOvbVvdFEw6Z2WIXNxanaM1DGQlM9Pd\r\npTJ6XKi0oD9eotCKYeoIxw+9pgY0PNFI0ceC0PWoyK9r+OIkWnK6TRvQx569\r\nGv3veveqyWoYJixW6MKSLrL4onjy+m+frHpHPfzGX5N7F7WMnYGTRHwiInrZ\r\n3N9YDocgAUTdIMdtFktotXUZna6o+mWgP1suMQnQiZFoAKOXdL5/7V+MHjMK\r\n2DbXQu5A+H63Hqiut6dKoiHiJk9NnqWZ297AmSjEFmms+L5RuddmsiCPMBbG\r\n3SrqeXFwyxDIqjohCnsNVDlWhhM2vnUQ6E0=\r\n=zy6k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a_1647250912248_0.787029224104494","host":"s3://npm-registry-packages"}},"0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7":{"name":"@preply/video","version":"0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf598664e88583b0bc16e3182766f57df09267a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7.tgz","fileCount":963,"integrity":"sha512-cTRTxlQQ1oQeX+mJfFknFTyfUD9/M319hk/Gfen7yUAIZLjiKKe/SXsxsuBd99i02SaD7MYyUDTg8/JEGfhDgg==","signatures":[{"sig":"MEQCIGQucyDa5vLti4H6GNgKVKeMMtmNEqC6hOxr69hnHnpfAiB4C1X88H7K2y7waEvoiu7JGaAMIWE6HrZPyQfWQzvbhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20451705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLyEAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmorag/9HzP4p+ROzluiwf67sZTStAUqDz2bVEbCZrGGzkLAgA2e5GsC\r\nWvz+wC7EUmRTv9eAoHf6bKXwqzV5pOEDOwexoC648y0aCwuWW3gMv+xlEnhD\r\nEvEm8kumTa3KIzGAafQ8tj2yMfHmsMYWNyPiqfAuUAhHYMqlrVM/MRCZuLqh\r\n0iW6Y1xsDBt9GruytP4QdgMEX/3LMWewEtsn82iwhPjYM2v8wgkiLv0CSvnY\r\nQY4xC7ar68mgzp6YmvLccQ5Ri85ybI3PCYvTKxfMMy4vyezgXDS9lDKvDPMu\r\nTGz7nZzsJWKrbhxo8pZMM9kBRGaLZNEAnya5OSmXul8+FmpuuonPtQbBoD6W\r\nM9YK38+LZfccdCsH0LryVSGfBKsZLyQwwUEq6d+v8qRHNzRe1SBTllAuQeWI\r\niS3TjeSK09BhnvsWE+NNyI9A1lXXQX8ZWD1i0hUXvq5pSbMWbs5PBzLTNqEs\r\nIWvX+pgaq0J7Lobc1CKUAlTIKzlfp42kxnY0dzyH9GidNxEY1ey2BGzlahJQ\r\nn4Z8eZ07E4uaLV6m2RZGmLDLL1I4oCrc+2fHS4Kf+D7fnrMY3eHo7+yCjPtL\r\nSiAbsEVdLdfsVEwgBT4loBfpHHOubc23YFkczAOMm+KsLQtV0LLqDOCWfmIq\r\n5Nixg1pmF4syNCose6s0qRYPQDv7NXPGiLE=\r\n=mCFh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7_1647255808359_0.6873009300180197","host":"s3://npm-registry-packages"}},"0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5":{"name":"@preply/video","version":"0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ef58484071ad88e48195fbac375bb5a9797b62a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5.tgz","fileCount":963,"integrity":"sha512-nZUbY119BUI2dDfcX+86/LmXUwatwapf8oCsfw+EhkEUR72tcsdB84pZ2bN4ybQDpGtPXTMxIpy/+buT+kQDNg==","signatures":[{"sig":"MEUCIQCqGp2GYgnPgu5g4RkcHY78/3zQkPmKb+hPu+DFQ2IsYQIgeM220aPtoPqcBHHxeZN+jhbKAEMDfQ8HsLkfMZOU3Vg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20451750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL0TMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7Kw/+LNZkWtF6ktfzmjMqH7rMQsXCE0LNEbJV7vfzCKcqPiBNCmx5\r\nxhLnC/w7ta3fA+0zs4fVm1XoFkSHzuU/f8pUIVSz3n+HArNDWUvamOHyC9BP\r\n6y3qVlbHbzpigewTpigJZ4X6X7+eJtX6n6OkvGhi54xQfRDof5ExWxGFK6sw\r\nfhNg7h8AKaf5wc40D+7/jfKyLLqDR+II2s/xA4CWZE7LNP8x7UdfCZMjV/e4\r\nIArmb8d1Ul4UyYzUdG0y039UZeo97uralO01uWOp0/ihoKS4o6Ium3PPioHi\r\nnpzg42XtF5lynp+nKpB1xqxV9Gf/lxK+KA44WQTkb/BV5OZHj6XV2irlBb5X\r\nEhLPudn4bMXprJphbJ49qPREz+7d3H8ZvirdfqRCjxtrww1A1khdhQqtgfXQ\r\nlnBRizjIO3zOmbBG4VMv79HrzMzathmY0QzYgZJDHvtX4vxG1WA6WAbNjxDt\r\npsDs1RSQUHVlW6eYxC0iqeYLupujZrLn88kZw6cpp079q8GHYeH3RcfkUzYb\r\ndUylTg0G9E34sreSzU07FSQ+Z0nLFQUN8zTVCmuv/4njynIFPGYrwy9OXe2M\r\nLBL0o7tkWZYsAIFa9u1OHb+Sk7h3nm9JnRShDvbSkCIAaxiRYE52pytil2Qe\r\nf46WetW+49YKY8sFVSWgQAkqumcEPF+qkPo=\r\n=qioC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5_1647264971892_0.7768901229546348","host":"s3://npm-registry-packages"}},"19.6.5":{"name":"@preply/video","version":"19.6.5","author":"","license":"ISC","_id":"@preply/video@19.6.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ed2ecdc51f8b82508c847eea0672493ec58b3812","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.5.tgz","fileCount":963,"integrity":"sha512-lreyq8nk9+p5zBzfygDn7WmukAayMMGQ3wjdbZBbAVA9uiVoQnDoVFVtqYiLiOTw+6n3m5JMw0Y3FLlRYTPXig==","signatures":[{"sig":"MEYCIQCb+SUhW0kRzc8NwSWI9tN0IUVAfbbzNSRkeLh09NF9DwIhAOa5WflvATE08wSZLkva7riI98T832TZIjppfhY3gDGO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20451227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiL3piACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/gQ/+PRrvCZ3HrmO9zKDWsCEZwaNl0odEbDY0ErQIbhlXT2JFebuv\r\n+AopQjKSLueWuztn4SniIQzXV5GoqdGhWNNBXGSouBG4urrv3++gAtN0gi2Z\r\nBgs8BKF7ucTG87JZPVpB3KNVK/p3jr3Gl0BjkQ8HXI+yH8P9oHGAeQa74A77\r\nhE4GixUdODOgro/c9+e46cHeqYxkxxuPiuOLdGjJ5fAypgdceK9xvzRKoZue\r\nSNhBL7mpuiMpxNc+bpurVTqcprUyF043Ti7ylwXR4HGWdZlQihguynWnwo4w\r\nyiVxVsAQSbRTi9M+dKoAN31opFhcZF3TmOwK0aQPdn7V0huRADF5y0puwMu+\r\nSMQQzMEN7YzdnYZuiCUS1duTMw/WVWLQbPrCD99mdk3Bwu5bv7rI4eWXdf/V\r\nXbE/hSfH3meRoHy4G0kVe5Kw97PYWwse5WhABwqjDjqEwOiHhucUlRd5YZ76\r\n8gprO+3Anr/570WwSpSuUjZEsivpzm3mfIihwk+fWl5Q3H699rk3szpXVAlr\r\n6Xrd/GJ0qD1R/WbKagV2NmFqwY9W0MUFgrZo6NPqNty3YayE4kHOrLRDuk8T\r\ndymnBHBjlabqqKO7G66kvuxBVmwoiB3HPTk6gJ2lPI+/nwRxkAncUMEyXrQt\r\nawEx1/7jQiRXDFMKTeLoLF77nS2IhQJe8nI=\r\n=T2rY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.5_1647278690089_0.1056966964567001","host":"s3://npm-registry-packages"}},"19.6.6":{"name":"@preply/video","version":"19.6.6","author":"","license":"ISC","_id":"@preply/video@19.6.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"583e97ef5f9321431e4b533a8a5dfd9ad9702370","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.6.tgz","fileCount":963,"integrity":"sha512-ZxJ7KY3o1zGgE00CNbklnUD6v+IXYXAQTIIypdxExmsIgBcZfroHh5I5g11QoLSC1vZd1qNFJp1+Jm2Gd4GMSw==","signatures":[{"sig":"MEYCIQCknZWFfy2gVNY8eidT+sTQeL8ghaO6qf6dfNK2pM5S+QIhAPjJTCOQDHhl8OuKRRS5EAemMnhvc8d7Eid6AaiqMTfO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20469527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMDcoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolJhAAgGT1cNrO+nHuiLaZOzh06qNgep66hUN1gRwTsr5+7dZP1h9H\r\nPGycVg0u3r2eNod+sGaRvlRmB/xPG72flaOrnkxEuBhjDKao7ZBhLlsI7iKk\r\nMhc+bT7CaIhcVq9IKyX0sjH88xTYK4ytCkuH3YyRyT/aHPWdDx/9DIVhyEdm\r\nwSN4cBzlV5QJMI8r+g6q5ELcVpzZ0YQ814tnhZS0NDW74djYZQIot5hzvI20\r\nEtcoUV3pH65kKd2IL9W+RQd2KaVqTY4xR+/ohhMucFwSeiuaDrbfNf1KOzgv\r\nKOHXBBSfKrFyoQYm4pnkddvgjM30uoziFjo+Bdi8jeZQeP75JLDREUj3gxFt\r\nw3ZI7Fo+p+o0oufo9dcPYjsdUEKXc1S+L+dDjWvcWYCuUjQ2OoPGxomIU2Zh\r\nKRrOkwGyEb5LVNrDiJ7bvLt/9xVzDmPRRs7SXRIZZEtyHFjSnCl8YK1c8QBV\r\nzaseNLg4amupHe0mV5QGKIq3cn/EihZVFU171Tw1rVCmWjGDqivxAITKxTOq\r\nb/uhZTJIwYlxXWC2NJd6yVV4v4pmvUyE1NQzuSBtO1AK0h6zDHrFZCqxP8Us\r\nGqDORqTtvtV9Q7UbNuXMHGb5sRzDHrZIO8KmzeO/hNMoJw38FcOYqAT4e5Zj\r\nwsBZBKvtXMW3x47cmR/3sgVy0ZyRlfHZlms=\r\n=hSum\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.6_1647327016600_0.3519188798616786","host":"s3://npm-registry-packages"}},"0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544":{"name":"@preply/video","version":"0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dc7d8352c3e821428091200e41ee1bb500afa4a9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544.tgz","fileCount":963,"integrity":"sha512-MvprIZmySzgK+g7kK8UyWF7dqLxaHfKaTmV70rkNr0EDLgGofBJvAK/XcK88fQ2nrgdWgMAcouHjo9T1sWt9jg==","signatures":[{"sig":"MEUCIHfWW01sGu0ZlbEkenKTZxO4A/8qD9jbw6UT+zpzqkd1AiEAgXQG9rXdYGMdk6mgEkLQbM6+wPfwrCcx5s4R2kTr8/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20515067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMEJtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoLw/+MZKztvoUSssWMQWXkYm4JEOHXkP09oVo9FISPLTRZpTgzDIu\r\nE0+XE/U3/o1IZLmW1CFKo3D41O2HjmLlEC6SGKcGVf93mEa5i2nXq/y+VuGG\r\nYVaZY1YijKpUxlSjbfy75FYJCIb+9T3WXEZzOU+Ea40yxXp349YU9DaRXpPQ\r\nSmw8QRlkhVM6ze7BQxzr5zE1SXHGKTf6h4msLk7sMlYL/RLxQ0qGIXN3VpqR\r\nBS8zCsF8CzDO+INd6Q0FWAD+Uu8afkzEmluOn3ovp2++UcokXDk4mJA8F3KR\r\nBOPj4iC5hJrWq1pgidaCvJ8PUc7G8HExILrKNfz6o3SvG41z+d9U7OsQPonJ\r\nNHwcq7SoghIqZRx9NLbjnUVIYBTYLrk5T4wWoZTnBtiyWlv3+dhsQ0XddIWM\r\nsRGqct1vOuWuYl4QGon6Qn9wSy5xYJK/SY4+oW1gKebsvL+pUmsbYyJMSwku\r\nZBjjz2vGc1/rCzTcu5uu/5Ffb1Vwmq9fPWETcjoC5pwS4bAPugl4ilzAzxuX\r\nUYGud7CIGqWwu6sBbWc1Z8mA+9yCsnv4wXAbVdbBXnpN7LilTkgbrnPJOQhI\r\nV9lQUvjpBqQ7fDK3bwvvDUzGbOcJkp46IROOHdXWJx3U3g0XadJnAcgPgm9L\r\n28q2n8Tv7rPp4ClgJmdajy3tGTC6xzknSnU=\r\n=0Nv5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544_1647329901344_0.22745567378711518","host":"s3://npm-registry-packages"}},"0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc":{"name":"@preply/video","version":"0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"071dfcf58c218fa0bda3ab4a143041dc1b48d7d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc.tgz","fileCount":963,"integrity":"sha512-BVVDMYOvCqDY9z50xeMXJ46FgE6/LE0If8VVeCt7LrpI01fHrx7H/HuSkZQZ6LgdJ3WwMqgNXl77UmqtxqlWSQ==","signatures":[{"sig":"MEQCIBft3xUCTJlIlFAfVVhHTpCMxJ70dd2HXYuObUPMr0unAiBlhUyauHkVSVkGItPOiATRGgercC7qjkQJwk9ixEbJWA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20511617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMFB6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/7Q//b3R8gux2cxtNLtC9KjckzUBPnPMmJDckkmnD8eI8ytc3cVqU\r\nIut7MEsGR2xe5oNO0P///bE3Qci2sRhQL5OQ8m0exkdOajVF7E55ujgPOkB8\r\nAkZjdIfPVFSnoCARHrvq/LRIbFPLHDgHlT2w/Td1elIS4UmJdqq3qo8frjsh\r\nE+KSST2w7Vce95SkgEQLi+pk/Trg6GLP/qM6uUF2fvrqz3vwQmpFleoUXRcA\r\nS8UOHnS1/WlEq/a+ruemC8oW9QnBvPZXBv1AqNA9I7qCtsnv4nZFjs5rvmWu\r\nKas9pLcHCQ80AVDQAM6tMMw/qlL3anHkaR3govz68aunuZF15CA41Z2NeKEj\r\nmeyswi7wEp2OLGNO7oBDTSXjG2w/jsTiFZ5tf0c3Rz4HxyATzO6qD1xGRUDU\r\nNINrZSgh1OG1Ec9d9uPxeEYaqzH/GvNNFMgqgMemklySEMkRcdzzwEDwEn+F\r\n5JUVG3fwRXSZ3AoJZ5rWD1r1EEaztPQfMPQp3+WVml2mak38Kp6tn0ACvCN0\r\nJtbmVvB6oNBv/QxD5sxr7upzz4xETkOqpCdreVfll55ThMLidRdJlnejx2cw\r\nNc+7qM88GE8ZkmUlFUru8xdYYd1dg5kXfTHv6cdh5AD6oUW/2IqKlgHGBSoU\r\nLQABL4S9SSEHGNQT8XTm56MnezoiOlaYHw4=\r\n=bA5/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc_1647333498504_0.010774193674549348","host":"s3://npm-registry-packages"}},"0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f":{"name":"@preply/video","version":"0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc10e8d24f662b44cd98fa311227fe13e15d3e54","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f.tgz","fileCount":963,"integrity":"sha512-WQTbrEDFj+T4IKT4CWfGpu4GIDmzc70RpYvwMaQGdgZa3W41nnSUHqlb4vS9xfaWCY559Og4Uw2RPP8H1HAMjg==","signatures":[{"sig":"MEUCIECxknLzw22Lk5D5+vEpYFgzOQQsLEjtUzWxp7yxX/SaAiEA+X9KbyhYMPB43V5GMK8iGd2vHr57BGN/Tf9tEe8c3z4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20540637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMKpGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGWg/+Kd1IGl9PrYD7M/CLw/itwcCZ8AmBEnIFCGFscvGsjBKceER9\r\neb1SaZF1LT7Yr84nxMlq+GUmaxLHch/LWvBw1YutX/OYiQYkYjym0rmI3Qb7\r\naYmWyP5VZU36KUHcl+8SyUqV9MUfw4LDa3xhJYLAeqpJoCFvN/GfYBy26J3m\r\n3PUuL9yMtHuo96nWOcx3gDGAoo7NMTnVuHADU1siTIvGbCHu33Cjhlz7clvD\r\n0sRk0+0fkTZUXZAogaMsjUfsxM5ERv2w0m3Ht58p3FRE+gzolJkBUAtfvNYN\r\nMeJe6Pn+IbjSoBxC7vFQ0j/cX713yepawOof6jQPLkUHRFN8WPDhXM3gtrOx\r\nZ1J/3rgD4fgP+uiFEtu9MoQChwRxpWSyJL2CkVL/bSx27vwDFvZSTuaMJNZ8\r\nmlPNaPx6g2TGrux1FXfY7cq7/rwIz3syFn+hIohqBIWRgYXL/Z+0Cxg8ypaC\r\neX7NMN4FviiaTCumkjpANd6IT35BcaLtGlmU/xN3waQiOblOhUL+Y0zyMZJV\r\nxr9V1ytZycri359xgCP0+EtEDjwGVNT3w2sODXBUVQ74DwsQTIE4uUp9yBGr\r\nqyDynJ2VdgU+FLQiJEFOcHxiBI3X3uDk2lVOU9/R1y2QKAK7aIreQh+0sUIG\r\nElzIkBrbRtYyS2tsUcbw5brRuLDjLbeAduQ=\r\n=01bD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f_1647356486239_0.8590841637609135","host":"s3://npm-registry-packages"}},"0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355":{"name":"@preply/video","version":"0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d101f97c817682def062c126f86b9431de65394b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355.tgz","fileCount":963,"integrity":"sha512-ZsW/ljYh8G0NGyx8OqgtTLERiGyOyy746T51KBqR+lKPXHuZ9lwmIDC9oYRs5jGDISYbs1oSCpdhgYhq6+pkdQ==","signatures":[{"sig":"MEQCIH0bnGWgrPXxRLS+ezzgpmxitN3L1XiT2iSycnw9F8dLAiBUxxwBisJAJXB8UdHK2oMwu4coZ0zGPq27OxwnSaxoiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20537262,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMbioACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7XA/8DBdXeAD+O0z8YACjoBnYXbECJLBPSx1UL0+eKofeT6B967lm\r\n0x/N3QFy5sSye8D6wxuN0Vq8VL50uqK2bajzp32s8yQ2wXMiOGQod4cUcDw9\r\nK+mOyFPoYEjibL0Ur6J5vl0YffkHnT36WTbxDWwcQk0kXvvFemw1n7GXvT3c\r\n2XIW3J7Z3FJdZ0rhTHXr82r+/99hLwxraFYZT3gv9xoM/Jlqd+9Z7dV+obb2\r\nV/0cJmUKEqwsrG8Vv67DV+VeLy3ZxDKDc3xBIjiBcg6gzZLgHWmhQWjRST6R\r\nMkzxpaSwMoHa8Umz7rNojQD4bIq3//rTehDNURkz22OiPASi+YTR1+3t+W/i\r\nLFkvuzBA3iVols3KkN0PvsbYuYFTmnvhatrR+38MZEv2HvO65RTwMWoeax/1\r\nOnkU+dZ/0uMhYYWO8J0HEAAN6DiQhTWnEdhZGmKLMchfpgkszCV/o5tIxX3q\r\nb4fz+rNDCAYg5sB9QsgqbyX0BH98M0an16zJhfU997Ix3QdaxHwzcsSqWhDm\r\n3u4QsYdzK6YlE3lxDhXlE6zexn960WBh6KLd4N+YnkUrbA643xG0b6pkVzvI\r\nrC0Z/zLiA/F6Dk8TOzFtBlzUqxU9rKD6OhkbtDd3pJZ3UWYN3VYBOoK+5zlt\r\nw7GzfqIoeh46OwePbB9Dqv6rbCTLkpn+W0I=\r\n=u+Eo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355_1647425703666_0.44273535664497743","host":"s3://npm-registry-packages"}},"0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3":{"name":"@preply/video","version":"0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"218ddba67e8d6f4ef50f5675b85c0dd76c40e9e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3.tgz","fileCount":963,"integrity":"sha512-PJGXXUj+DBHsFf0SITCCJOxciTxE5e+S+00H2pJtD6qS3O2J2kVAWPmPKG5g4oWS1KH0ydISl/E/Gay9JUaZ6g==","signatures":[{"sig":"MEUCIQDiAlemo8TOYW71iuM3Oz0t452Mq/VDrEvVHC09lEVwQQIgbFnQFs/W7vfGWQoMy4k5BctoWrCct8o2t2fXkYXqTp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20546752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMglDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPrA//Z4Ac1PnqZKt1xQAdcMao3iPv4lokb8ZwUaqxWvSVNH8mc2SH\r\nmq188PONwrEKBhKintiNwvhjtABfVcPdjtaOifLwzp/5hs9kHF7aBg6PvFZf\r\nWjQc4mF4sIHigkXj0XrAfpuVoTqOte4rUpCXVQRjsACsf5Nk/g1PaQ7xKUp6\r\nEWLJ70n2QLbpX7AVq5lpwFoaGkZXGwTq72iEM/bDaGh1Sw/OfdD5+PBvb6rt\r\niIGNDFAQ4LqxkGNn8qD0bgqHuRp/md9rk97jHeSlOtOIdpgfBIi79LaaCsFe\r\n2zcO4hahs44+LVhZp4IKHuMOQfDYDWzcLKYmQVK9tOFmrAZaPLCOqpe9Zjue\r\nHQ4yggSUQ7XduBaFf76UIWTIvitSWtk5fdkXbEadgkY+i6XSzsczJIhkvu6T\r\nr8KtFKpCfZBv+tjgKY/lXitwM6DnHmYSAfn/28IsdXf7sY1qLCokEWq7n9x7\r\nCGMyLU/PbIZ0J9im/fAwX3pAZ9IY5lglZ2JZAD/uOJLC22NJ92eJyuOLroUB\r\naBzA58QVXhnLPIabr7UuHLq/aqjjbY6RLaUIAln4U3xDYlqWCx9rBEoa1h4e\r\nqLYP+BimZ000apBNYaqmHWHKOaYVf3ThPb+i64x9PcHhXc+Pk2d9TgCRSwoj\r\nEkAEDi9tZvmcVFLykpj7L+gvtgmzg8agFc8=\r\n=uQPW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3_1647446339343_0.05225021204659086","host":"s3://npm-registry-packages"}},"0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75":{"name":"@preply/video","version":"0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0865ef09dc9d999465c11e98388fd3baecb1e116","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75.tgz","fileCount":963,"integrity":"sha512-KBDUONb77g8y0dM2SicKLWmpp8E+gUwGmRkkUn6qazJvp/9Lxi52YxTrp+ikxzb9Vrz3eBRyO6IOHIROdArh5A==","signatures":[{"sig":"MEUCIQDpQm2kFldoPrmjckWtxUdp3PHYiZf3NXbdEYvvJph7IQIgcI0k+IX6Cco12/e/6ms0MqRsSHXbVqYr8IFXsDYoMwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20566544,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMizXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpr3w/9HxmZ1vkjt6SM03aGLGBlkRGiN/iz1r4s6/B1XeJNpFjTWJs1\r\nqnQnauTNGgTYEkqt/c2LvQ78mHexR1pvW+4mXsUrPsC1unjeUFZShqj4kwYg\r\nVIVl18ufuY7dnKKtH+LuwQ1HVPfmDu9YK1wkQeMBq7cJL6xYCT0d4p3felu2\r\n06xd6BfrJoG75ty6cJ2vcrcBWtkP4sJrh3r+LMT8IXnj6ohnues7nxu38Fqm\r\nm5ewWJ+1QWKxTbYibb19dsanxtRpVcEzVjZCBxAfEKxj6i2MMV3IMTEpk28N\r\nyRjK0KVdjSOzWExa1xxHRiUw9Dx/WWE0OpsWmu6TaGed4Ri5KpBGmIwTRSxL\r\nPBOdiJVImufYMZOa3agSbyySNGZOTgf70Zq3Cne/bFe7mZjUnXNYUwsyj8CH\r\nETZNhnEidrOVkkmQSjKbm5KfDkXwxuoclKLJ24eFvRNRv9A93KXkWU9w9xIf\r\nO3kj0Qh4Utq3A7b+DOMkDOftqq8dDTNiWDAyonxhAy+ZSHnBoFwyg2Mm+spq\r\nk81ojz7cFZSt/WWqksIW4oNC1AlnCh57AJMc5IwsAAWSzMnU8dtuHaaLT12q\r\nC2Npg+vFJy25y3yo5HX/tx+c21cxOcQ5enPCWHJ3XswccSnNUzNPtj7GhoKV\r\nyv4pnggK9M8xR9NYTPjpIxyDtr1kzE6gudQ=\r\n=2P6z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75_1647455447324_0.5205722016654077","host":"s3://npm-registry-packages"}},"0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3":{"name":"@preply/video","version":"0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5d29ba0aafd781320e61aa56e1f62ab9580aa256","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3.tgz","fileCount":954,"integrity":"sha512-B+bXYAgmQpgfl9P+0PpXjWrQh1fQyxMLqGAivcGIF0mRg4IkIdXpM3y8LMXhqiy6Xi2014JWeI8hSM2gf7ksew==","signatures":[{"sig":"MEQCIFBlUbdu13JsVj/OLf/CIvKmd8zAdpanS82yuvH6G2r6AiAI3IEdf/vxH8VCj3/mqli0yGnYoEBjoUA1HzJHp7Ymqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20602973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMvUcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1jBAAgeUHIpUVSCdhZzIfI1R3tIcol96uQAcoM6dLcFpg+EnyB/Ko\r\n0X3ndqh9MQy5VZ+IUM9/qoBQ45fQUBOQP0os+cshaWio5tqiEQ5kx1G09SeU\r\neuXil3StRE70OSW8DL/j2c+yu8GeH3Nga+/jw3cg5PrSJhTp4eIPm1DdOY4O\r\nL63MUHqiyVKNcxJeKPDgNjUuR2XuOY7KlGviB5zYgouH8bwOm7eDftNkoAUN\r\nu3qySv9YWxST86YI6ib7pDSONFIBemQ4osp+JnIs89gGgttUEFXfEjpYkADe\r\nHkSckalZKjeajacglKRmEBNeOLWlIq5ZRV68pl1So8BsWtOtBalHzJBWWxfG\r\ne61PrVzQTbNHLqivDCeeFMRstzUHOpbrQVvnWPzxY0YFY66ZYIutzkboH6ec\r\nCzhPTlzZjEMG8H4kj43BRJxQd9ybE9wCJLz2/iEamO33xOMX1R2k49hKg5Hw\r\nc0jOqoo/rJH91cI98ZKgUauoUqWcil5qmpCXYGt5tBV6lO3zfdxLPj3N5bXy\r\n7TAGodDrni/szW4L1KNWwuTvwtOKRChhtfXv65DyQ4iH0zaLmi3oCg5NvrML\r\nWgq7XdiGPrLXJsO2LN8+tosOhkF80vKEWbOhdpd/TPFWWSCQzKaOkRyrkhTp\r\njy0Lp+P5HZGtWIPqr2gEWDC6URKFrYNwpB0=\r\n=E0Wf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3_1647506716370_0.05822596564292648","host":"s3://npm-registry-packages"}},"0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1":{"name":"@preply/video","version":"0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e1dea088c4d04dd35c83c74f3bf561d8e5aed449","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1.tgz","fileCount":963,"integrity":"sha512-1JeQ8GJPJSqD4htbivLuOw7GbdGXaoWWUquX6xcVxLTw38Ki3hGA8s+SAa0kndCK2/P6hSTdPDV2wveDGYKteA==","signatures":[{"sig":"MEYCIQDY9HzLbxHDSaZFdm1GT4GmNBjZqF1+URUjHWvGqHWfqwIhALkb1IeR+f1iOnPUYMIINkcLbA5cHIqMKw1tZ878TZ/C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20562569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMvyjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRHQ//VD+A3Bg7eUWfYWJb+Q/XgigOfgeRfTLUVfaIaFkwe8Im3FfH\r\nvJuordFojTWHFcIgk7ZjplX3woKoQbRnvWF7dYb77NKhnit+5Rjxxa9fBUaE\r\n0aG02x6lBT9r8oMsG87QZWHEGjVeWGkVdxfmrnwxfmUlSP0AeCiu+poM6yI5\r\nXuCIKeHxSICB/Oba/smDpj+zXpBbYo5Dhmr1NPekLd2K8MLJfbklotk+da36\r\n+KcoH1xDs9/M0zWc6gCthhZd7zn+0lJ0+dxyTIVU2FkqIE4fZ4JJFnKt27Gv\r\nBc9+MbBP8lLr4z/adiLmC0RCjNpL8WOpuuZVYSTbfSeI372/+LM2BflSp7a5\r\n5P5gjcXytMibHGb5G8uLWgzcvFguDp1b0lBFVjcUBU4J83BkgG5ZSmpSKvPm\r\n45snI2Rl3c5cJ74F+oEcGo/fJxAhqtXP46Qfiz6guxWp35XllooIhHokDKhr\r\nGe5S6lMrudLRgDrduZfS1eVi5fLfvYEvb/p8lWlsWZsC/w2WvMr5Fg6CmlSd\r\nP3sX9Rc8CyKEc1FoY3v1N8qCrEQ65G4DhsTm42nCeEaKcLmp1ZZRKBmOZtUC\r\n7+f9+95ojzqHHozyq1ppuZwZAGnuGurOkUdhvZXa/1x8rpzYyVFjWQgZxrEr\r\nE1t1dZH8mI3BosrLrWCfThK5PddfSptCkow=\r\n=dKEr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1_1647508643656_0.0856603793154318","host":"s3://npm-registry-packages"}},"19.6.7":{"name":"@preply/video","version":"19.6.7","author":"","license":"ISC","_id":"@preply/video@19.6.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"306df45601a4e2c5f5d11305cee2657366145d5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.7.tgz","fileCount":963,"integrity":"sha512-VVyZLA9yOW7BLesKQWFYOk4RwgdYc19sFBNZPU2bgy7Qma7s8Rps8PR38V/2AjINxbz2Su3iTu/S7cYEt+GCfA==","signatures":[{"sig":"MEUCICpIrxbc+iRiw2Vg6fECbWTkbiHOwR7KIAtTr1U7mcEuAiEAkzNtqgH1r4Qzfox0z7A+iFvCqvTLyaR7l6THP3EDCnQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20561234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMxFHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqy5BAAhIryPMsGtP8hrfJO409rbyQN0TOa7vmCO6lGDgDCIc5M/Vcp\r\nHeIcwkxYEVFrwY/uU83UsPhr0c5xbwPMHX2G020PuYAHffWOb1/8RYzXaZFD\r\ndVvi8o4lPQn1Bq4x8n5tEPnisAuTBNcMtpzpc8iDlBQ/+gM2FKzLx2C7rso/\r\nTIOEDrwKaCjkydpnIzWRyq0FZzO66uEejl50L7YAy0jb31ReXKmzeaHgw3RE\r\nAWsM7NfliuGOVI0f38yHmaxbmFU47v+FVPDP50BNHcsUlq7PKP3b5u+8SKJp\r\n8SXoGAIk04xH30b8PtjbLiuY+fxBzcwwM6WTkOuT3Ra86IXASZE7fwwNBl6b\r\nn3YYEldaaD/YPXsroSqogKe62vskWEz6l7hL8dsGCfdfCPKvo7DPbzA12l7r\r\nZHMpxhSINJ1ietE8XEXyQYHjD2p5aYBabounRbfYkHhasifdgjNyxMP5Cr/9\r\n6Kwl4SyaB3em8/2a+ETlH1PeBhOZvRB65BOe9DyKOscQKDc5PpcTTr1WGKpV\r\nQFVGIXkKmrKUkuYFGXsOvtMSQrY28mJM7xBpSJ+RtUOjqZw0RL2t0o8Hl99Q\r\ne1aXA+QU/mwQs0BzcVECdgeBUYcPwSKhov7jD/6yHSp6383S4oRJsuPcpI1m\r\nKfBTDKrZl6W82bLZ2sWGqcz0DDSx6FPHFvg=\r\n=A6jS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.7_1647513927175_0.3256946763837347","host":"s3://npm-registry-packages"}},"19.6.8":{"name":"@preply/video","version":"19.6.8","author":"","license":"ISC","_id":"@preply/video@19.6.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b9bf867067d68ccb071f4d536f8493f7638339d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.6.8.tgz","fileCount":963,"integrity":"sha512-/Q5wzb3DVVpKM1yLCm/aX/frfGJBE5pptplSogQtE8Qkur/RYYnYdPNqyx/eHX7LIkdk9i5WXC/R4/Vz3q9z3w==","signatures":[{"sig":"MEUCIFTyRd6N9haTiO93gBw6mCog0sV5gPXzZQVWKunBCYxRAiEAgvMjlKBF4dlOoJQ8Fhyh1dcLsBkshDRKXpah5kuvlW4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20564767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMzQOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7lg/9HnOR3KWyRL2It10UXmzOyTqmPSApYXYYW6Znd7KOdvJ1v7fe\r\nwjcDoPAuziTfrOfEQ4QBhyZSTxnxlXitS4lsXZ26Jni9ZMtDh8TCB2WtzxHJ\r\nAsWx4SwgoRHaTHtTAEl4zH8MUzNK281gZ4b+0WymrNM2ZVKLzp+bOVmRBUoB\r\n0gd4xeO8HGhiA82NfWvDwahF581A7g5acjMl8k6SGPR6UwJXOo7Czqel9X60\r\n/eZbH5WTdaPzxzElbQ+HPMm1ZYNWWfJMGpG1WZSxIux+WIAx1kbA4cJLvl9U\r\nU2gop5WiQDulChq0Qi+KBw4toGhz/trzkWxE8ZMhto570mHB80imbuYVWU5y\r\ndPByvZHasZZubMjbMn9TkODmADGpIqugET7IveUD6xJGfs57sZO1+xp3xKKC\r\nsgScWwE2cXdCw3vP/NdrKwmXdzgpTt3aJv/Ey/YsBh7ei1L2SY6DOu7Tp6v5\r\ntfqXwqlaMUIUUHcqARJB323oFNAajAMAdKD75iAvpGd612n5P/Ns61DysWrb\r\nFr0Z+2Uqis0K15caBUv8GcQ8ibpbWcBk4zzSiMqbMdEgtI8sseCUSwtmd8x6\r\ng483djuiWRTGhBau0X01QzG9dp2hiKSWR/YfehO26/P59VhPo6+5hw+i1rmx\r\nHoymkOqnoCeDX8jBRXW3H3vaTkoZKhT39lc=\r\n=TRK/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.6.8_1647522830497_0.6128497240488691","host":"s3://npm-registry-packages"}},"19.7.0":{"name":"@preply/video","version":"19.7.0","author":"","license":"ISC","_id":"@preply/video@19.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d3702eacc4dfed65503ab3b1423b932ed260b63c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.0.tgz","fileCount":954,"integrity":"sha512-DsNucEZKGYxP5amuWL1Yc0Ry6hq0dClri6cmfwByHWgWJoYKN8y3qU7lqml1Fl9OTPvr+W9pSWb1f2f5elXMaA==","signatures":[{"sig":"MEYCIQD3NdHxK7RZHF4BgfBPcLaKafFtGL3+ETjM3XinYSx+2wIhAJyuPnJakKWcyif+ZjfATkSPIpRTEfFgfPNYsJ1paIn8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20691391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiM0BRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKsw//bV2D1qE6ImEdIJkb73mcxnHh9dOH7utBT9iSTkm90K6ckGWh\r\na2xCU+tOoe4S5a0uS8dkGZtm0hs4cSzfAshwcb0r6AcJbjzDdXKvyXqGA2t7\r\n514MyVDjCkMZT085Q5p/m4bqam4UaTiP7QBK11iwMzUcmUIL9kRpLZilrrUi\r\nv4MUywkNkhxbyxjqmrHKjxA6HwcYmY8Aj08vUiNVfFMBC/KcWWh0Nnbr/mS1\r\n2BEuDcFqVNAWgZsthJQlPUL4BUlD/+jYVGfgUfOxB0igcc0WEpoqoaK6ssFo\r\nfCSKan2jgOgOSXlzvCEIdbxjHdgnL1q2zYQNEVMgOGV/eRoiU+9cjrab6Wod\r\ng7g+eLEWkebva7bqhwSyRdd7DiWQByzrCzMG70sjkA29u/BtNTk5zprWyoUK\r\nyt1Cshel0v1c6fxcZO99FMKoJcHzFSMSX2n8jTbZziGYE0gTDGQBEOt8EaOy\r\nempF/nCDLSgLES5XfbqS2gsikq10nisKkfqLgqzKWha5mtVySwqM4u9ikef4\r\nNn4KNue/1Hkjggq8+p7Ft1Vdau+3/RWrr+Mre9yruU/5SvauW6jGKwjmW/Hl\r\nkYN0i1eaC4C9RNjeCPT+515WxIUcHNZQo+t0V3aFo+eENEtKCGBZpWJBUa/R\r\nx9JIdAj3GhJpjpk5ic52bImGmM5j8JVLeXI=\r\n=bfC2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.0_1647525969621_0.23376591055811824","host":"s3://npm-registry-packages"}},"19.7.1":{"name":"@preply/video","version":"19.7.1","author":"","license":"ISC","_id":"@preply/video@19.7.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5752c7e66e5c8b0ec128411a47947aab98c648d4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.1.tgz","fileCount":954,"integrity":"sha512-nZeo1N3Hf9gNa05PnpyD0iqOuFBAJeyjwEDeHI+ppRaJ8haVYvstOT1GvI64U/dHIvt82ah4MR7doM8UjkFLlg==","signatures":[{"sig":"MEUCIQCqdete6gw4emgzM5B9YZf6jS44ZpAaO3pnEVOKD/SUqgIgCS/r47S2N5YOb8p2ZUQIEnQO+jDpJHhwPY11WQPvUnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20698336,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNDxZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWoQ//X2JK9+Ge1QO8VGB2DNTn3g+Z/UlmPse4HXsgaCS+Dyu+vVWb\r\nbT6JKkVS/NYA2P6EzDz1eMcSX2MrdXfaJ4AeorrDLVG7BPKBKMi+WCRWmMJS\r\n/vBXWecudTFN8Hy+pG3ewLBzTqzwnlkous9j2MwSpgILzyLNKIrcR0IE2qRU\r\nco6oKssbGOJXtNUKTA2bu5GYqc2chuBs0uD9x92eqnwTZqhqSBVvraA4baBA\r\nRYCBpMsX9sQbljd6bvVfL78FRaUs1dk/92ZH5hOguJ8O42a3NPvQPI3Wmsa7\r\n4ldqmX46hBWWfKdPsovp/xEIunUAvLNPBG1dI3+/PaIn30kLk0LmsDIEP97m\r\nG3CZLdyHIhy75T7pZXP0G4cc5IR/5QWL0N/vlM+d9OBMXl0QG+rG+gAIKAUb\r\nsNjl1T25mQmeak6UCPNwa/S/q8+DM4T2M4jBoccKPL/OBIc66UMtdF1KXJAd\r\nx1XYVQTjoWWGIxBKsXwQGMLkCiG4zxrq2WxrrNeKj8rYBCLiHtg5HczKTvjy\r\ntijUlRcgTEDv7elOG5Y15goY1lq5pAM/Cnao+k2nm8wY20ayXhqZxQzlBVVk\r\nRuaUghbwBHs0NeW19ezFK6+UNT9CXMWZTuQKiO3dBTdPWtPtSNBvqMQ4EemQ\r\ndZwTtVkMchRU6R0gPi4Vhv5PpX55o1wiodk=\r\n=bk+5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.1_1647590489497_0.6177495076013939","host":"s3://npm-registry-packages"}},"0.0.0-beta-106103fff966426829b5748759f0b60897569d4f":{"name":"@preply/video","version":"0.0.0-beta-106103fff966426829b5748759f0b60897569d4f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-106103fff966426829b5748759f0b60897569d4f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f9ec18ac59452ea61ff88872a0479fb8ffe22a82","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-106103fff966426829b5748759f0b60897569d4f.tgz","fileCount":954,"integrity":"sha512-cbwphp9gGROiDOZknM99LNNffNKioVi2Zhn5X1ZggRUF6QM9LPMN30ay80GQcSBJh71GmT4wgoQr8IoMKSBgFg==","signatures":[{"sig":"MEYCIQCQMRZmA9eURnTD72e2O4wp25b54BzTLP9Ctm6SDPligwIhAPA7qM9btC1QXgMaZk5A/yQRboL1lZZBNQPBWaqr7ftI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20699821,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNJ4gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqY+xAAo6CnPLeEcd6AdRWm5i/Ua1LCGPoCEcJs8GcMUEnZV5zYkMjc\r\nmOF51Q7sX7H8oKRImu05+AIps3jDsabEayGjoqs9f9GOCDvvpb7ClPUinOdg\r\ncbGoofOhLonV5j4IT0ekNDCVwtS4jyWKutPf7q8dmQ2MV6p8bkztDtJB9CIL\r\nkC9TSM3Q8ZyGJTdOJJng/PD2wJtdXQqk1PxhUwpsJ59xNFPkIZsPI3sbwlay\r\nVYDlBDKruur5hMMAt7A642wJ2tUAGJo4gSYtTKbi7gs9p3kVbU+APPF9LmgJ\r\nHOYuAvDshHvwCQtRiCA6RzEsU7g1PnLpVHk5waBYF6A0H8XFXu1+P/tC5AWP\r\nZ26IvWuANcdULfT9rvY9iaeCe10fsn8/mteM4NpgBjiZH8imeyk227YWjaGU\r\nQly7SU+jMNUNWw0tFReLAXQ12vTRnr/pgmAvpe/0ALvUS+exUfHTSl+BAsZ+\r\nwVuD+rKI6nEkozh+gY2aWtoDMhl8pnsQswubyWsd5L3lfVnaU209beOZ6ooz\r\neMI2jal5ZQDjaee0ITG6QHhQmgt5or/duH08G1Q0hy7t781d0BwDI5S5EBTc\r\nDqniBuQOcIes7MNjUYiyeFrESXlKWC/DCid7Xbp/qCiuABzuQFB9sS3R5TQ2\r\nAHC5tYu5j0vkk6SbwxWYHZLbY+Sc0zmVTVA=\r\n=lG1H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-106103fff966426829b5748759f0b60897569d4f_1647615520143_0.3937242099516862","host":"s3://npm-registry-packages"}},"19.7.2":{"name":"@preply/video","version":"19.7.2","author":"","license":"ISC","_id":"@preply/video@19.7.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3aa37bbac06746ef3e41e00a963a9b171fc6ae5c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.2.tgz","fileCount":954,"integrity":"sha512-XnP5TtoV4PfBSd+FjtSZRqWtn/Agjl7Kb/8xgMS7UbjzuGcjOekIQ2WipfdVtxUlOBAFZEw0oI9ss8f/SRb3QA==","signatures":[{"sig":"MEQCIAii1efHVTBl+5bfQeVjaQvMfc7ebsNzryD6jmj676wgAiAg3ZHtwXs7RyYDgBX04kIRTU9dqJsAUKSgJW4p8nXIog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20704682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNbXLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpREg/+O03WZQOIB3TnWf151pxjUa512UsYjeYcR5SXgOIOKCA8Mhj6\r\n6CYHVhO4V1IJzoHY54n9cC1NuoBi/Iah9UYeTcKpEg1nRdg+XPQ5G/BPYgrj\r\nHjXVMI5UidbSBwp7xJP8mYco9up3XuPwo4K8JNwPd6vCmXioXDZV1Oywda1S\r\nrrNI2VS3eP5xXtOmjE3JWjKM6H7ywpI0YjMm1s6eRqKK8/hAIgLlkl39inua\r\nE9xYnZnUdLAna7/yqNnBn/FK7nJaF+ysbMHD/c3PIrAim88dFoXbH2o3HGn2\r\nPdO2w2zOaQ5rY0xbNYheuQIbqRRY3z08fvYpGPpN9XNTZtKrPCLMGRjW5xAY\r\n1DaG6XqvHqQcL3kOSI51atebH1u03LE1bdCpcTdhbQuNFsVeFlCV7CuIwHoI\r\nrXmk/j55/M+ESGsDoPa3c5gMgNu6qPMbPCpvX3ojG36JI7tjIwzLVi/fEdZH\r\nEHWcquHunAiVAztUFKnFau49Tt/CybLW4YiRTe3Hg9OdCkp5Efowog9l8HMF\r\nqi4/1GL1je0bOQpkdxjr+NY32As0uwhbcQUqM02G14OJjEBzkBVh6QOJg2Pb\r\ntAjQ3p8Ryh9ISPWYgGqSCeY2t7XOG5FayFQ7PE3HCpnuSARwjCDkLi0uFnkN\r\n9QMx2co9qHHXXazJaS3Rdgcx3V+Kq7hUyZI=\r\n=oVts\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.2_1647687115088_0.7136099501743216","host":"s3://npm-registry-packages"}},"0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b":{"name":"@preply/video","version":"0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdc086a25bf55017fe86d9f33a2d2eb56d23883c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b.tgz","fileCount":954,"integrity":"sha512-KpBtY6h4Oz6vWzy1D4w6LtNso81nIY0PCKaeb+coERvvXzkA+E7Dtx/5hDvuXM4wj2ODophE0QF4UrUgUuOr0g==","signatures":[{"sig":"MEQCIF4LA32K0CHLIYYtVKgQOHjlpYZpu9DUcVzUaC1cXlbjAiA0qy3NMW+pQHFyK8bVwP27cWreVicKlXWNHciA09PQng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20706167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNbfqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDtw//dyaBFW1Trthhb1oo0hvFP1mtfaf5NqLLtx5INjExI/N7ypwa\r\nG/VKRpwgCNxxnvmfKJuXO8X5rvgdiY14G/B12WyQj3FFWnJ5/y+YbMKBPZqs\r\nTyXb3R1NRKUyDmja63jE1BK3t2o6aacSyf6G08FbkPqhD6RdmJV5UgDwJS7R\r\nkeNoXIOJGIOuBm2w4EYQgaKB/HTlQ/xuPxFicI3I6Y+qv/vDYMgr2HHWGzq5\r\nZ1UjXJBzDXWGi2c1CDdWiDgMTaqnQQHJgsH5me3D/hnL8uYMgDFqBW4/QaRq\r\nMQcl+pO7Gju4yw/Jiw7Nl0Nr6OKQ18WYhrtxryKqL8bP34pb5U54hwxoSZAe\r\nlU1RvKsqrilE0F3rnWFzLeQIJzv21GEanozXOFmrwSzonyYD318tFdlTxVuh\r\nMhjwVeFkSbjZgEZ+d/c6+pwccMM1RumS2PIXNBHC9I+i9ownQ+//6L/gbPeY\r\nSjQGJcVdL7PepqqzKPTS17N3RjkyYEQe0Z1JT1GC+5dF1dA1BIxB9nGsEez0\r\nm/vd/qOAHzbeeuVUzk81hGLA9aLS0Adsi1vEXgBP60ELUDjPaj/26y0enNiK\r\n/YjFjyrFIhyMSXyeJMy6XobWPg1Mb95jThHUtMX24+c27ahINcNPr3KpfwNP\r\n/GvmK2TnLWYO21kfG3QVvwOzrSwA7ac8IdE=\r\n=JVBW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b_1647687657836_0.5501752334296879","host":"s3://npm-registry-packages"}},"19.7.3":{"name":"@preply/video","version":"19.7.3","author":"","license":"ISC","_id":"@preply/video@19.7.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4fc63f92c41f54d95a23b2253670449996bfb199","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.3.tgz","fileCount":954,"integrity":"sha512-lurg7zBQ02PE683u1YKPgh8sY5Ju3CcPTpvc7bIu69ihxkmMXpewsTx0mt1+EG45+/tYfIWnMsSvd2SsNhuPKQ==","signatures":[{"sig":"MEQCIFZV/eK5wtjHa2+3vHM2RfPHq9/iqlriE1uuQvSB5Y2qAiBc4YUL00dbt7N6pBTggh3h14Puoh29XA1mx1T4q177VA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20703846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNzhpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7iw//Y2rk1ThsCxO5t9JK/7T8PgpGGRSRkmepTX3SnqEZKVB9yDUg\r\nmhGSGidR2rH6M2sCLfD/NXkeDh5xSOjd2ObDjgFoU60zS9AWyz/sGzXlis1b\r\nYCQjtS3cByOwIZS8aTf7c1oXJQViaDMvoOTtrVleXoRlNo2VfsuR8cYw2PcB\r\ntM5/6E/VjqqNG2hFRtqCqqvL80Mnf5gNSH67fUddwFlbaS0pqcjMgDdBiHTT\r\nkWosixJlPdMgCli09TDkx+J8T9W+Hqisg/9P+sTGn6Bo29yN2ReKBUynB7V/\r\nOwwqijg8cRZVZ1WRtMUKkvV2dCGN1F3NFEAeryjyy6vT5HfA5obwR2vBmKRF\r\n2UzEP4ZHcnck7O8lqL2nEC0Ek2n895ZlBOHF4RvsOI0nUnmA8EWlNensDquC\r\neRdij1broS2ITwY9QFTtkL2Sgfrne4Fg4Q0XgzbpAtnH2HG253gKwPeLT0sB\r\nQ78n4W81X3qiWUdA0h/uL1AYIegIBf5nsZBK+60QIaJj8EvaEp2AG240asUA\r\nuoojHqaEh/OlhWsZeI7fOX3Ad2jFslISEeNhy9JNDp01ZmsKOovapOPqbIgW\r\nVWtU89Zv+464BoiqLOMR5NuPM3l95GIvNSVj4M28ZzY9tjRbUG3bQ4ekp0uA\r\n+/ZP0s9LJJL4K5E8ZvQM/9Vw3Q/85rKEs5k=\r\n=iBq+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.3_1647786089235_0.37825828499334735","host":"s3://npm-registry-packages"}},"0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f":{"name":"@preply/video","version":"0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4989627474a254bd16c8864917c54e7861f19a2f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f.tgz","fileCount":954,"integrity":"sha512-c/RaJUnrL/Hjy60h35Sawu0Xz/UUH8IC/UYgHnxp5D2h7cbXLmAqktJaOdGgoDzQFAVRL/K20DxUcibP09chIg==","signatures":[{"sig":"MEYCIQCgyfZ0bykSLMV4ScoG2yn2VUCls1Ui6XtJF9xE0bRnNgIhALZQHyXJ/1P920iQsQ6dGIGKGs8wHZb7LIugZ8cSitSw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20705331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiN0vDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqotQ//bN7A2hMKO8AlIjRKk0cv47lxRwDqNNz1kS0ulcXnRBm+HLZX\r\n65zpS09gUlc/Tme9MDCYv4JckBV/79Ey9XjFzl2c+zLea2MCy+pDdbMrYLMn\r\nlbB7sPFQFGr0rS0LVjI37zmeVXIIrvRneLJpuCr2BeE0u1az9pAcg4YVu+jV\r\ngo4CriWdFg06rkRWoW2Yr3zT5mVBRr4G+irPnlTn/dKDVPzGRogXQ1irTod/\r\nGsgiaDJeKhnapzVKrmxPs+GIokl1TQYnX5/69zBZSXj2KeDUwZaA5pc+xxCN\r\n802lyNnERvtWNv9Wj1E1ZKn68m3lLkxsseHz2Q92YJRgGHZ3LV8Y4aRSWxpC\r\nVXyABUGB4PK3cscwiyFvH1BWbvJeHuIIU+wk09xPnskuYGS185mb7eyJhjmK\r\nR4gKabS+ygoALDVMmYMRmD7J3u63y2GI/fm8PaH3ViSGj+ingYnqUe6MNCIu\r\nBqNguH9WrRArYiMj0axZJAzoNynGcM/iph8815l74DbuQV/Q86zsloJNMqjB\r\nNKOTBZlZ0wrwvXl+qxCWeWYmZo78277I6UBR8K5CIox1FxP/wHjbHUA7wspj\r\nKRYbThjLwo4vJdM5I0EUnhcRIunRUdE0sQv+gWn+sshP2OfFNyYyC+vgGX6K\r\ndoYnDr9y++3aZ5FRscyaNHgqKC8zuTJ/NtA=\r\n=PSM9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f_1647791043278_0.6206027093807023","host":"s3://npm-registry-packages"}},"0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78":{"name":"@preply/video","version":"0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"361c0d5d7a879670375e2187fe912d846d2e9580","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78.tgz","fileCount":954,"integrity":"sha512-Wp/QZ5D5f/9WIpfTdtCdUQObtDLM4cSOR2oN59NqZegIZOc32N+d8e5ugdZUh6HpltwQ2mTZAbCUb2jq2zxGfA==","signatures":[{"sig":"MEUCIHy9bFah0KhgcLD7fS52GhsrC27IN6nceJESeiqXMd5sAiEA4jTvfLIw7CCPZkGAthMo4i9MSjFZUuln9meSDcvO4vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20705331,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiN1dnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpy9g/+IQiTslLKkAvE7A3kwyqF+MVvVhX9uBM+OCFsMGTE6UnWqhle\r\nbNUDVzc4ZKsPmjzla5k1yez3haHlm14y0AF1oawpekAeq49CX07Ib+4W16Pb\r\nsiv19+mnjF0KQFWl7tra25icRl8ycuTglOgUIvPWnopnjBER1yAKRJWoqlQs\r\npf9uXnzqYIuqaeAHC0XVM80pas7Ic8XYVESdqk9n8LNFWo2ZeYIZXZDE+6Gc\r\nhTuVJMmidMx8G4/UsGtObKVt8uo6cFaMn2X+4pd8ByeGOpqDlBrUyMWGZrXk\r\nm62WvHX17IC05IDkzn6QfMcDwTjDNbVc31kZdIE4cuG9hJNUHKYigB5IIYez\r\n+vfFe3cK63CXHAaObRP5wVkr4Z2wM8BULlyV290kVThBmq+/WVTJn87n+df0\r\nOyP6fIr/hDZQpnbziaMpoOkfINiA4ElHS/xIB5HIs9QHkcbLgBO/3hbV9Old\r\n/l9TVSOiDbnBg4vQsYFk01a5RXE+JOo0ZReF4iGPUVEYrxaUbAU7g+FHDqEl\r\nDoaW43aeSqhrIbK56X1qdWrpEumbq3UlbBONE/7Z3mG8gEO1RKMXDFCfrnYG\r\nwLw4UL1+ecUzJsdQVQs/ao/U6kiHIPU4nZTO9eVEi0Xkw+8wk5b0v/A8KH6w\r\nI5wU/YECYSsH57yGzrqpcviBLIeKw9d3PQk=\r\n=Vx5S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78_1647794022720_0.5823997153811871","host":"s3://npm-registry-packages"}},"0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2":{"name":"@preply/video","version":"0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53fff6367ae4d95cf17f0ac18667a75e7cd1b333","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2.tgz","fileCount":954,"integrity":"sha512-gyIVrJK5KRQxoqd82fj+qX7ywZAQOFwve9LjV3NWsnojCHPVjIVFeusWXe9AXADgs13cCO9Tb8HLkB2jE8IWQQ==","signatures":[{"sig":"MEUCIQD+k2KF6pzrzs69r8CUiatrGhqUf4w/MSeE2Tf9XRqy/QIgHg9ONQZKhe6AKIIJjDSnjjTahwgBrnyV6+qh5aKqbg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20726464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOKJAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodvA/8CE1Wk9VBnDETGEM4vjaNqo4cqgd/k8p+fx1nXACj4JerubCo\r\nwGwM5TnoK3sG5Mrnrn3ztlcXWG7oAo4Kl/+lzXO0TqpBtm5UkfJL4MrMNBCz\r\nT4xA6UkV6gdum+ray5UZx/xJQd4weBSzu5yPcmssVu0+AFO1DZ5s52315A5k\r\ne/5JnEFw9NXOwNhP7GDUTEGxsB3+neDazRKIlJEm2ngHzPPEC7734YaiSxML\r\n5sH9wKxHQHK3WIq90EIAsnk9udqEwM9pgI6CaNfBIrYLOtoD4Zt3dIROJOik\r\nEHCqsY80UTcpGRvrDOwfo9hXxqHOWquxHZTG5uQmm2IUgZOTQvj43Sc5u/iA\r\nf3JuZzY7I8W6HR+07379iP+UekTwh0vHYdTRwGPvjRNFby2d4z4NNTmnEKNI\r\nfElmMkNZ/wZNkZ8A3/ISqm08YwsTqq7vdPy/z3ho/jlZoL5dvUVFV1MoX+zC\r\ndI3WkRJFw4+DP9KjE9Lf60bF/hm5mczAq2Si5qUyzh/xUR7lN5xknk/TVA8B\r\nVp3JgqsjsUX++UUd2u1OLmStoSzjNB9q8BQ/MM1TPTtJrI6o/WAeBJdC529E\r\n0hK6dwx9iN+gvtzwWF0hYNg15x48Iwc5Ha7jD4U2xEBzkGJU9KfaDT6aeAZO\r\n1f8pmRCRRxOXbJYtXRS1XIjGo1TUHDCw/x0=\r\n=GPlc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2_1647878720337_0.9190948570745601","host":"s3://npm-registry-packages"}},"0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5":{"name":"@preply/video","version":"0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"49845ca3270a7959a111d7e06e9da924ef29ca1c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5.tgz","fileCount":954,"integrity":"sha512-OBCQwNzVtoqpENLU3AFLOPFM6+9T4VOVAM01eyJCgIaQ4InLHOzltWW9KvC1tSj2u1SrTGyw7VzheeVJoe3Asw==","signatures":[{"sig":"MEQCIHbBFr9ecep5AHH4ZWz/yGcF3JR5h4CQhGFj5v3BBFxeAiBCsYHnTWYRl0MEnhorFHsnc9YAlY75/A2L678Hhce+Tg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20726464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOKsiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3NA//bYFdt7gEt3cQTt4dJ83DnFLqWUEe9dfHt76YZx7AyJlcD6lB\r\n6RFHhqwBW9zkNRGMCH7f+MeibeHU4eOp8gIlUTJuk5f//RlgeK4zrV4wx51w\r\nXmycL7iqdlNa2nXYsEsRlzqh4gAMYiVU8Z/Szi20iNnR5ofodiv4JySRzVZx\r\nTkTUE71i2/JiqMU+nxDQgmW7OnoHC2rSqRCgyy5uwiyUmR4Ik1T72gk46c6p\r\nmjyBmUDKwK7TlefysEos7WQ/4FufibygE5U5VKpCVKVjQyJQD/zVoif+Dm2X\r\nrWStnAIrp630sc+wlN7Go6Mk2FhynZqcDaBNRE/aF+CH8iC5mvHpoZli//Ph\r\nT/ddBF/75QWAsI0SKMA2j5hkXO6UKcfYsR5WA8Y/jwVA/QUdqjJ6AWDc7ApC\r\n8dk2aKll47zxM9UlRn1BrZ6eEkN+HaUzCdTsmpPakxKgHKf/WQJWByCJA1fz\r\n+7r4iwBP9qTs95jYp/4PY9/lcyNHV+hHbjcsvF8/3TjLP/3V9DyvgyiVCf1e\r\nmpTyU008cV9ymkLVNdjcC4Iv5GYIvmb2bGg+7PQFHIcn4zmPiVcGlpJTejn3\r\n3myJlJwo20O87ijgMJxDV/9Dx328Nbnj8FTyymAQnSIO5jWsenqTmsx4JAgi\r\ntg2FF2r4TjLdkDRmobf851gNapcxpkkBwY0=\r\n=Lt1y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5_1647880994202_0.43840273412630726","host":"s3://npm-registry-packages"}},"19.7.4":{"name":"@preply/video","version":"19.7.4","author":"","license":"ISC","_id":"@preply/video@19.7.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"40517c34a0908e97fb3a81bc17f67e02458eb499","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.4.tgz","fileCount":954,"integrity":"sha512-I07oxiKOxLEPszLKLd9nFezTuCoV032ITdBkAhx73Qmfuf0NfNz7iZio4vFs6gk1iK/5C0FFLYv9nPjLjtRIwg==","signatures":[{"sig":"MEUCICUD+OZcUOlpHzVGl5JdgWd7HIAP2DR40LNkKIweOhqfAiEAlUsQqv63FDYX0uS05ITfWCe+E8howr8LDHlw8Wbeaog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20706678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOYNMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeuQ//bN3wV9pEupAJJcZVDAdjPvOOucq6q/5iODSKbsEoTAtw5wKd\r\n+tW3Rk8Kdtz/0lXHLile9UYBMRcpaZyUPdZI2PKWpj5djO+HwpjkPNGXKZbs\r\nu2i/DSKlXo+//RowOdcbK6vLrqlUKZMSkiT58iZGFSzlNo6A2QRFTaItgjiJ\r\neIWw1/gJeGNJTW3CXID9/BeN4nrFHSmDcM6DBmRT0laX5AtV2IdJ5/kCZEDN\r\nVkDrC3LC6iTwAwplQKlo22iDgxKJ7wfOfNhWb0TrTuod8zPgkKit8GJUlAG6\r\nwn9uS34owzzYzwCept4bczSLTlgma3eBa1HLG2wiJfgITKew3INQf7RbaMxZ\r\n9DqWGhFkHU3bY5nWLHUIWPpSJcCS7Arbrall8u23IWZ6kPO/iGUHQKurORQ/\r\nUp+soymoyPX1wzUnpKeAKmjCtpVrmbHbl+BXxC4bNrcTNJa0qTc5jJ7xPPjv\r\n6Eyaf9Oo+5TmxVgGAwBXLmJB3hX+Tm4yf2rfw8OG12MZ124JqBIYZ5XuHylw\r\nDomZmUNQzYUS9ZmGpWvyZSkNjTsbHt2ZcNT2hMrdW4cOLAz6aIZO50Cknthm\r\nzeTyhVTW6m7iqbO27Y5e8S+4cSGiVua+JIOn+o6n48ZL4S9MYoRx4HkDzT14\r\nkhFWa16JNfrc4M58lKb+/4o1enV/bfu7GKA=\r\n=2abg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.4_1647936332600_0.49098648430517833","host":"s3://npm-registry-packages"}},"0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6":{"name":"@preply/video","version":"0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"460a83d07257cdd0ed696e1b4b17fcdb1e21859c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6.tgz","fileCount":954,"integrity":"sha512-+NNs+DCxAcSEnduGvNB1ngn8P7xLFOm3ziMWuzuk6pF6OF37LjlyqnR87p+8Cji+BL0FJWQf41ZPpA7E+pccYg==","signatures":[{"sig":"MEQCIH4ScgiaD3TyQmZMkbY7sxfBfbTKWh6FmqylI8z7XwTMAiBPmW/Q6KtBIdfw0jjbgSXvHL9qory75FlCFYEHGBH24g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20728150,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOZHQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzvhAAgCoigeoe9E5rRySX9c/FcsW7gZ3fTFrVQ/MUcxu0EvS5FYV3\r\nxlAc9Kn98jQmtzGDOG2VAJSmI468PGt+zdqruRDmQEDx3i1wLRkdSDdcgrZh\r\nRe92IUgzrBieqiBgftgWIdwJT10TkomjOixz8LVhA9Pf6WxYRes6YOfFOvMw\r\n5taI099nR+tQ+xrMY8ovzS+ttfN4POARRAH5UoRfA09WkrOKXkcIw2WSCTPE\r\nwpdDzRLEanXNWhDFKPB3jrmPVsmh0jRv+ZuBywiVSI7w6g93Nm4esk5JRh9c\r\n6mYyZGzH+BbnIqCFKxUuvwhdfRheJXsw4lVUS2IthDDdnPvY4M4NELOu4hU5\r\ntoCXmweOcQtiD4f4n4G4qtn1jsQMhXDQJz2pr6Yks1kvDvr1ohcaLblVOhix\r\nhcF2mKBuvFoatCOoOYYQVtejowA/NuPeusOK7QlFmENVqkbPTbIsWsL2CabG\r\nI+nctHisWC3aIzJ9bxLwqUc2pMqB9/99gxc0gAs+DYsdozK+0k0RW82Z2OR1\r\nrpIQ9OzTM0kY2eWk1g5Qjdz5WdDlPtL/uwtW7bN5gfWWtJ1oW+1djR2VNCiR\r\ntibWg/4TTEQ9NVpTyMPRlbkwAbFf31RRmFK9KvVheNSof4XZiL8kZ5R/SUVB\r\njciPIdxC71eThMOtYFOunJo7giIYI/frJUY=\r\n=J1Fa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.10"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6_1647940047691_0.026138636963779716","host":"s3://npm-registry-packages"}},"19.7.5":{"name":"@preply/video","version":"19.7.5","author":"","license":"ISC","_id":"@preply/video@19.7.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"809e9661620ff6834ae644eafc842392104de6f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.5.tgz","fileCount":954,"integrity":"sha512-pshfkNz+EPXSDYhQylxHXU9mOtUD9uSgp94we88H1/+B06Pog9GuM75ZLDnvXldpjLGHpGWTbuwO6mUxydTdFg==","signatures":[{"sig":"MEQCIAem1cMompt1NXuTzD6ZskKh/vZDf5h09okNreFla1KWAiBzMaGeRkpXM1CXUK84BXgDAgHGwOldYq06LfuwhTNoag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20726665,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOb04ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxNA/7B9/gYuNm0ccenClvBq6q8QeRCdtFICbmTs5Rdb/VPcwz41o1\r\nRpw+lxGiTEysF07Jv9Ig6pnfekAQ09E4DSSrW8zpMvysMH6zVxhRDCBz3irk\r\n/vT2V6oBDqI6wpRGDflyqgvHK5elLq48e/mjBHpvynAxQ+4JbqMSV+EPzwQd\r\nHSwWoZ5jbOzSfUywkgS081q7yjM6wW8r1npG8JDnMy6nnvcHRAjqfIR/WaWr\r\nW4c45eI6NzSg9p++c/tqU5zr+FXgoKU+axkhK8+3VFmdbyBryW7Bhi2MOhet\r\nqzzWx7OMZrw2lofxui9AGrFNxUJ4//9KTOdPtdsqHUXUj1hZws7eef5nN1vV\r\nhKrwqFWfSnSUaf4uAQGp27UqBBjHpOqbsD3BquN0vKxL1+05gubJFonfnz9s\r\ntXzhqF73bZ4wQGlaAVHSj2JXD5BeKITKKkD+1ei4Ces8qi3KSIs93Ir4IxEA\r\nS5ZWWUHRzaBxWCxvZNZABE3bOakRO/CyvaNbC1vSIMXpR4US9+qK7tQkKkJ2\r\n8xOAcScUKoiDrF2tuXljqWjAfZ2Hmil6xAXtmO97LdU60y7xIPCvMtMEG4AE\r\nwN2UgIk4gZiFGHEyeBf1KEIZqYS4GGJSZlsabwwHF46wNzIKxf4iuNktGGHl\r\nkJO3KlDbRnTEXBowxQn/RUdLTVmqPKIgz/k=\r\n=/3Ks\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.11"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.5_1647951159704_0.6577098195527471","host":"s3://npm-registry-packages"}},"19.7.6":{"name":"@preply/video","version":"19.7.6","author":"","license":"ISC","_id":"@preply/video@19.7.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6fc66056b316afdc8de53ea39600ef1bebd1f7bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.6.tgz","fileCount":954,"integrity":"sha512-k0khowvoDq06ttTQY3GiRuxhfO6ftJZAfueFzjcTAW3w1mpYLhBlpbl30kAXZ51901fDeG8dhPOEZoLSaR/idQ==","signatures":[{"sig":"MEUCIQDpL9n2o1Sx9ggKjEJ38z00tkDolyDedV0guyawvxCmRwIgHertcTRjmwdoefagAAu/ralqOLDZVN4HnvbAdlm1KtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20707315,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOc2OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9TQ//VN+H3ehPvvOwhhamknSquBOi4QBSM6hH2Se1wnhttezcOSsq\r\ng3B/dwgBHcjMnRZ4nZzrcjujQxN40OQirnc31FbxcjzkzwmVXiLp1H0cvlAP\r\ndDh5zJGRJfJ8i1AfZ3EF/0lDMjnYol7ZFgx71Pkcyroph6f5k5Og/zJtXHWv\r\nBqQVSVk2CrPjKeKX/eFJ26BacqMNcjkPcSgc4I06e1iH3vDr/0+9JscScEyK\r\n5Qtbo1nza1pLDXLU6UZzMeJr0wnlIvQHAX8GztsWQwE2rDIaAAw+G0kcq6hX\r\nzvMwayWSQwfW3gUgkNMoO8PHYtkojptUbNqchoQUuLYKxyYJp/JkBRsEdlvO\r\n+cRmqQYj5r2DR1fzN8boukDrzGd0J8fLJ2vRdD+E8vA5pZ1avhO47Z4USCop\r\nuGF/JJyJfWKa1ffbB0/LS3SB5tIkNqkGB3PCSswXC84cZgyilkNG+uSZL/vq\r\n0yt1Gektfu/JgDOg8pm71zhm8r6AHBa+fE6hgqeNwtVQozFGneb8r4LlbXyt\r\nm7PbSq5LS6d/S5iHlLrQjTO1Z/bUdA0+fN03oJFUW2GUgVN+fche1kHf1tyA\r\nVf4QxUFPDYDwwEwMID1yDYg7nPgOgauZo45UH6LsxjAfv1a/35flbSsZCkQ/\r\nv7T/ynTWm2rafoICPddgf54Dnk05FOSwDoE=\r\n=jjPH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.11"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.6_1647955342003_0.9092050689808939","host":"s3://npm-registry-packages"}},"0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef":{"name":"@preply/video","version":"0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7429fa3f564bf65562e1108ab9c5fc6b59a45d47","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef.tgz","fileCount":954,"integrity":"sha512-lEfKokZzUICvxH3u54af6PJqtKArJK2zPrfPI59E9iaT1qIEM5RQkaK1fgVRferHU9skI+5fnT67Tkek401d+g==","signatures":[{"sig":"MEYCIQDeax4zHdE9DRAovvmPmhHnDb28QYNNjRJ4R35NDhuv2QIhAOhrx+Z9C4fs2pNLVOjam/70euO/G2jamApVW/zIpFbv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20728178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOd5/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJpw/+ODv3ZL934E/0PXSP4CA4yXZSGwLzLPYMY0g/WxsKMkB7IO8x\r\n6hLEzkdTTbpmyzXo214rN01NGnUHM+J7/R8FDqUUqo0Px2Xg9HlacVHTR3y/\r\nDy42ZPq9tduhq2dmogatqRigwJ1E3hz89bxNJY9+fBCucf7yQZV8kwoxkw5S\r\njDGbrOoE6NlEwYAEoTj/B0ijPT7XfLc4xdbABbjNcJ9Nb57H3wBHIfZhum9P\r\nLr0hXLckF/quObURuHMai9OwoE1ke7L3XuW3Lm8Qb7qqb9/Hlh9laOVhecuR\r\nnX/3zgSKqqb4hxZT57PSbTkEgzHyTGFCEVCkhoIz5IjAfguV6IMTX+9SUu2v\r\nrhyVcMwfAx0vM0atvztna6tav87wRbVWNHhDSpWs0BEoecOP0hhAWutFzQIS\r\n2RKnT3t90R27QUUqvfyffsOY4xaSuzBdtx0RljIioW+Mpn7mbsslTswOqhEi\r\ni0EmPVYYtUpMmaT20hXKCE8Mn2XegO9+eFDZb2zsB2+GNP33uEMa6J4ShWL/\r\nAU+Z3aALyi3IduRkaZm3ToVS68x6rIZYF3Rwf1Rhi0C63KdFU2i0Yy8dobyA\r\n3mGA43sNQvPs2bFQosoeu8lTaeXA4r+iBy4U3xfjZsbb9+65SC/zvqvAy2ak\r\nTBDql5tIwdopVlb/S//Xkzm7+uTLzEyaIuA=\r\n=5/mY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.11"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef_1647959679598_0.9527537309070666","host":"s3://npm-registry-packages"}},"19.7.7":{"name":"@preply/video","version":"19.7.7","author":"","license":"ISC","_id":"@preply/video@19.7.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2d78b4eef073b43ce779b4cd95dc093a8ca14c0e","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.7.tgz","fileCount":954,"integrity":"sha512-VE1u90XJW1pZxN2F1VSsiDhaFw3LjNG8BYEwC7mw1FSwjzY+9HnYtbf1vXSsp27uCn9Y7AWc09kSooNOAkorRQ==","signatures":[{"sig":"MEUCIB90BwouOb25GPqRqrp2ntrI40yvoXOiqx3SsW/xTtolAiEA5fFdB8P4w+YNX45eCQXvTNX+i+7Egr0tPoyYVeagkMs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20710405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOeF/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoa7Q/+JFp2ijYJjUj6mHDUCfUl4W15JGHffybkm9tw/OKRHoaAZPnY\r\nQ34OXU0qUouNwuwwR4sh169s+LDjuhAb8k49grlZ91q6be3nnNWPvjEHv2sH\r\niCL0Vl6j+2zLY0pNpkp6Vf1oBfGBohIz3XFmXg0K3CtSLSuZPB23h4KQ1jTF\r\nO8j4MsJM7jUMGdz3rNmaSJliOr1d/dpAfJgsnMPseyyoqlpJlts2wC4gdjOl\r\n2tx+BODanGx+G57NRANi3Q8tQ/VumMdTNns59J9nSqj5rHOzbUhBWreyMcp3\r\nhxv8uI3KMOXEu8O2MeH80L2GUyN78bwnzJUiTZ63Doe+WModJRtDQrBIdcou\r\n8gPQEdXFyasMbFJq2FnUH1DjGxBmS7lZDU//x+B3RpY5L4UUUKg+6/U4C5N0\r\nbuT1QiuSKag37lJ4yTXOuDGhiYjh5LzufcumWX1Sz0gbyBK/4jhwZSsvq+73\r\ndvBxiwT/5z8WYSo/hwSSxazMCWSvJ4YSxGJz5iQphpTHP5buL4F0nGemFZvb\r\nknZDaUe9S4PmwdWufrbH4w2puj1EXUFMoblZTNtNIdu9Tl/RrsPGvwQUnsQp\r\nXwlm8iWlIGSu6BXacGEhgFEMXTIk0UZgwdJsnILto5EcQMLLCRIZMJMeO74f\r\nYvBvjZpZxyYErtWU4mgslP1ttj97hWM776E=\r\n=xWJF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.12"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.7_1647960446808_0.9532531685373253","host":"s3://npm-registry-packages"}},"19.7.8":{"name":"@preply/video","version":"19.7.8","author":"","license":"ISC","_id":"@preply/video@19.7.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"34f26d1c0744489fa4599442156659fcb093759f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.8.tgz","fileCount":954,"integrity":"sha512-5USXf7hk59jVN6Dtg8laQJrmNZxiN2KgBGf4f7bEBeYiOq4a67PDHaW9IW48brWJ/ieCNzRrAHkttJUlQyhPHA==","signatures":[{"sig":"MEYCIQCa3dsislY/GUbNWOluMHOrMyZuMBj4WZPwdorY92iTkQIhAMVOZ3ebKsgcgPL6Qq/7HMImMpc7IT8U9AGzwIasOfpM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20710405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOtDoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpzkg//Yk4/q6u7JSe4Nsa8nEk27bUmO1ktZ8df9LMX4/kbDP084kVn\r\nNUz2l215HeaAd/q47bQSlMNjoZZmyaDNgOwlXXA90z2cxEVfb17dx5HmGKqu\r\nWC7Dvh/VCryfbt5AUdPz4y5Hffpkp75kp51aOsX1z+MUIBLE5l6IvzFkMWBx\r\niaPe7A540seccg9dFN5zWUu+I741bw608WwVSfdf3IaP+qdAjcuuZEQAv5ed\r\nmvjXWdse7/i/EigTaGCk0pYpIHIBL8FpZbeeQdHXDf4uDqrr+bmy4EARNUe0\r\nIr+8mH4rVjycMyXLa6mZz9p5BV5n8JRuJOWI01KKG89LDZGME8u3I+N2eJ6y\r\nqxvN70MOay7TBLrhWTrAjaF52KvOk/vAlbXOdjkBkn4eiNp0h7cpokl4NYzN\r\nD4U10hWXKo+FxP7WoNJejayhs7+J403ZBuzHIzr11dEmuI/ekmrCeOrkPhH2\r\nRv6KxUnlKqlpHvvhEtdpJPBMuB5x334caQS+LgJ4QFpi8tj4xLPtLxrgTFjG\r\n5NJqzaaYVyu0vURBPU8WkmbRam7r+tPYmFhhfAlxUf0hoTtAWDLWJteXbJC4\r\n0XanF5bXpLmQ3DWX3Ws9dkiIBRJdngbW95KpTNNJ3jm7GBaziKmLWDryUH3v\r\nAYRslwX3VaEQrWnA7kxXghMDJKW1TkOmQqc=\r\n=an/b\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.12"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.8_1648021736345_0.6617901856207076","host":"s3://npm-registry-packages"}},"0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68":{"name":"@preply/video","version":"0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a9ddba43626dab0a74f03599e6e5274a357d3a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68.tgz","fileCount":954,"integrity":"sha512-U0IWFJPjV2digdpal1ogrX86AzMwGm55/cSweLO+c9/7Lxb5Bm5QUr/9LCjdx6rTyLoECKKrv2kVkZ4YM01yhA==","signatures":[{"sig":"MEUCIDGooPESYyT4Z2XuXKb0ZYYPQmORSxm6vE8UJri0CdT8AiEAovDBjv98Dv+OM+QRwmkd2kx/82dBKThlPsNBWBvOhaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20731392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOwXjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonZg/9EPbgPnfVkmLEp2CV28pFkKHM6Lxs28NnuAewgFKa3Wp67fFl\r\nWiyC8nIQt6n+DxTjXziWHJc3OtxfAWu/NQKYAl7aZ3SNbVKP8oVK8jOkBnFP\r\nV7nASrd4hjiItWUk5yWD7CPVaE7qFC9ApV0BgdoFKoVg0HdsdfghxAdDABSe\r\nM162R3nhwa9jsyaHRbmcxNFGAsjR9lFW9UJZ9qOjd8HXrCU66Vfxp/ZHBqrg\r\nX7HHs0lKn/9qkCvh9vmCuQ6WgXIxsV9hD7BaP7zR+3YBufnNwQmVaHwHXzMJ\r\nRzyA/G0/KVV4sOv+GtAVa+VjSeq1MbM2oWJ7Rb+672R9xv5zXy19AhJyUAw8\r\nr1wtzfxrTf/wrNozJaAuWOD63ph/MTAz3FhotQcskk81wyrDA92M3BGPL4V/\r\n87QUPTqVlLw3DCDzcbXT3ZyFu5+ATw7uJb5oOxzO9uVMZJfDXmwLdwISHB1Y\r\nHfY9BG+YpPf2F/AyNGbT6CYZf9AR2xU9XN92FZ3ZspBBnAMHfKtDO+2H0Wcd\r\nSiASCR8pBzMTTbAMqBv9qZKb3DhHYH4UxOF5nT4SWgqMLa2ltXUItnFl6CdE\r\n46zLTOWhq4UnoIyj0KDsEZ/4i6zUAyujVrcTxP8su8WhVJ2IFzZVkXzq7AxE\r\n6TlHlNKwHtdAqnp2cWmnM6F3noOzQNLNVxA=\r\n=0trK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.14"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68_1648035299178_0.8122487662052791","host":"s3://npm-registry-packages"}},"19.7.9":{"name":"@preply/video","version":"19.7.9","author":"","license":"ISC","_id":"@preply/video@19.7.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8e12b6f8fa9022644496a8a1dcb3716bc3bd8244","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.9.tgz","fileCount":954,"integrity":"sha512-MxiXawEYpeyuDMFF953vghLPKfkBqzNPghjI4pjihlj7ip+m8zCWLwl1cUMcCwwHPGCrqi6ARYbpCcBxduKPsg==","signatures":[{"sig":"MEUCIQDHKi74rcoLXgphU79tmiRnDDHH89aa/a9rla5BCdxFYAIgI2myqbFi8XlCoaf+hEpCXu4cwU9bXqoXOdbhuh+PHUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20729907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOxknACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/cQ/+IkDLNDTfssaoNBJBG/uGvvTnIEkB/AnnbyGc/NUsohN86b35\r\niURs2ftamW0jClZpPE9cIy1MaLw+adhYoDUgFiL53OSy2gMP2XXNxxGPAEO+\r\n88B3yMvY2G4qyYBe7R7TbJ7jc99EbZ67+mF3pFHY8kfstG1bpNKAA4IYVabJ\r\nvV4oEOrSa3XelV42VoXp3OwpiE3miKrW3JA8+aEmMUjIcYjNxX4X11DQ5z+5\r\nlehQRnrjXbza4sKB3h6tg9YJVpIgjQgIBdjO7RJHKtUFglhuhItls/rco5T8\r\n97h/fg4VltenxZZQjBCDT/ulExxyKvoOB574JUx+Z9mQJ9Lljle6uQxW/dmM\r\n+yHZXvHecelT4LEoEL7fMwDvQUP98vO2i7XASuwhOcMpLVnCw3cjW9UQJLUt\r\nn2WYtw5lE/ySxuX1VudkduHJDVJDlB8TL37XrWYzjP0+60GOi+p3h/YTex4J\r\nHiTFZiU9IlykdZI9GsyC17zou6YFsQyN5SNEfaVWMhiVmK+XhI+Y/k/ZEIN4\r\nonlH6mIdPp706aTAMJ/CGiCOBE5BTW1RSzUf1WJ2SN3M3NnTokrj6kXXk36/\r\nSULegJZNKrjI4GvsxHHCvXp0X00UU8e9ytm7f8Bu16ZqN+6vccA4MJYTOAAg\r\nHNBNUk6h0pVtxbC2bNg/2NcPGnuOxWcSzFI=\r\n=yXgx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.14"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.9_1648040231454_0.5143314774922609","host":"s3://npm-registry-packages"}},"0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc":{"name":"@preply/video","version":"0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53b9a4560632c5ccf41b2ab02b3ec579608740d6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc.tgz","fileCount":954,"integrity":"sha512-zEZilb1GlRDpY5mTfGB/Q3XI9ShOIuIPY684GnDZMFZpIKFegshedlz0mytuIuHTUpnB7rcyFDcHWXA1KsqaxA==","signatures":[{"sig":"MEUCIQCIRaF7v+eKwRtykg8QY6e5aAX8pveNpCXGaFAIO9e36gIgQaeIYYbqRiQT2WFmQ2btlv7zqbt8xxf9KzKHXdg4QSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20735550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPK0sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoG/A//VsFZYgb5jiLmiEBqAo5CKzuPea1u/3arxUYDSrM3TFB6Qdl4\r\nkH9Rs9WbBpZu28KqCjq4pFp43hrYbVxxlIB+XUP7wMrC3zZI/hn+6Yd6LWy4\r\nQhf4MNbv+VsJN/t8h/8FPqDdP1iQzhiHfCfxiLW7jU6uNdZUzjirvUOAldCz\r\nGF//QCwd/Ot+hZFm8jgnfkx7ze3dpfHEXGJmbYxhJSZ5SoqyT0uQiifwZCNd\r\n6gCOrxBzfOAN0EyUyhz51ah3jJwYkTbRnjjGVi3+CV7oI5AIX4UxemB7GtxL\r\nP0ZFTTROH/GLfKjNCaNuzPlelWeDRIVqX8gzC5sSQZz+l41Qklxwj1pMluvG\r\nsXvueRZGCog+lRTWdCA3/twOlhTDanRELuLUiBuwVFGg/xhTHoE1vHbPJtxO\r\nuLYWMOEl0LuBJA5W9M6kEBEOty+P0NQ9brc4uv9Ff0u3KaK2lzYTYjPE0qNK\r\na8wBoQKaB0RijxLWIWDOO0qTzHJuy3Hejr922FVNIjcOJVRDRh1e91Xtq8Gk\r\n6OXYSC7F6Y1jqNjnS1m8RuIWgSfQ9HEk2gsAriwA5FK4ysNxLAE/8BwuRl+9\r\nnS1fLyxF5J02VBphDnTCO8ahsXm59bjwX9PgdzXuNRrR6qd4cLByNCxK1Rvo\r\nXPssHX7zrXGqN+U+4RPXUSf/EFdAFZoGvPY=\r\n=pxd5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc_1648143660131_0.8000552827976826","host":"s3://npm-registry-packages"}},"0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3":{"name":"@preply/video","version":"0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ce89cdd8473eacb485955ef0901e67225e63a57","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3.tgz","fileCount":954,"integrity":"sha512-vA5NOHfeg+xc3RPlSy8TfVJPE3MlDd2CyNoYAoWVh9bNCKiWRJw+dj/AV3ZznleBt/a6P6VqnLRCDL2PrdBeEw==","signatures":[{"sig":"MEQCIHkLr4BipSL8LtVfUAVHYIbbtbwcCEResHnoYxW+atl/AiBhF+qOCoXD7hKrYhnI1J8hpKYbPGfx2Can4wrCY1/K+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20735550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPXwpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXWw/+Lwkf16e/R+uh8QcHYB813kQ5ffC372clW5olwNeil+KIDlZv\r\ngYe/OPV+gYzIC29YkkTjazEEHt1rMVK/ebntsOtgeWRhR6+eyOqpKO1Rf/YU\r\n6Wph2FsgWdN1aNbDAbSE6hAGttCLDn90EwqYvLrn+d/7N5pEpAsFQhonf5Wz\r\nFrxjaGzS9iq5xfpyjVgWTGAim2nZM/zGkGS7TDe3InZ2UDHVD12Uh/zAg2Kb\r\nRXlmExRy5tqp1SwiyCPij5ZsGLts0a/z87DVcIaWtv2yNUCibawQosnx+TG1\r\n/jJjj4kXSgvdDv6rKjg9ADlnfrQA5CT77dgsW0G9610kJqpmtwzdWXM159AB\r\n6wnSVYUOzSMXf5Jy+hdx1nQMXgg719JBD5wEE1grWqN9pgVOjDGPObwG07ZO\r\nATcC/SdX6YTSgtthEW9ynn7yChqQHhHXNnb+hTNmkTwP8TbYjs5n3aEf7SBG\r\nqaVxeAtMIj5dMHnbHYecFlocuDGSUAW8630g/UM7Lr7EFjlOyxGpMCvkDb6U\r\nd4qVC6pTs2jA80tjQyqSJgIw3Tj+RpaYHxnBZvpPTIKVmt/B/RRD2IOlorjz\r\npaag7ngleOSfK1pd2hcFRcf9Oeg8e1FP7sUlS+MQKuHQI916Iky2W4E5DtwQ\r\nDzUMvvhtn6vb55zoYzblPUO+9UW5o/1dzVQ=\r\n=f3Bh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3_1648196649044_0.3143270183238176","host":"s3://npm-registry-packages"}},"0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6":{"name":"@preply/video","version":"0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aea2e86496ee7fead4b54828ff1426bda29df17c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6.tgz","fileCount":954,"integrity":"sha512-O/Q37nzPGB/3BKgkfXdkYTYJSVkBp7m2AjriWXCha/UZAD1cDMeP2a31nQ/R8mNpjo8vfeC7JDcHc/92m646LQ==","signatures":[{"sig":"MEUCIHKL3xrjgbGft7XCMeM5r371db+KFSLF4ppRqcu34G7PAiEAglWgp4nFSRGIkzbBkXKiWQerSYPDlHN9HfTJiLnxR8c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20733976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPaN6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrznQ/8CrpVMwtwJsMF3Yabf5Bm/+yuUOAu8LOB6NWkEQZsQ9a7378u\r\n53BFnopoM25sVUBM1dt89mZ13D9ziS5mi9IFwYn2/8tpYC4QFskmcHxCTrlo\r\ngk9Wb8493cjdE+gki1yTV+Tnoob4ebpblCtoBq0u+QtRrIFJH36BqAFlBFax\r\nH75zb6MPzbzw2w60UC9e3wmmOg1O2ITUF5cRql5ovJbxXYPx19IDS6kzrN9w\r\nxqosHwZKmzXPWAtQy/K/UR6284eYcmartOqT6ueTl80gwK4JCSBjARc9cB2e\r\nr00cCG1jzDGQ3MKSiAJwUUS0EGoftN6gtiZrxfiloI0AQwPA4jarwRSiBbbX\r\nv+yi+MP5F+KY0ceBya5QRDMyE49eQv0DJICmZwBv7e3Fn0fihBBjEMrKZT/3\r\noDvAM1d5DMEv56BDxAoCmZGogfslWshoPZVNaMkT3MJzmQK8GuimGQ2QEIpq\r\nMlgxx6DsPxK4y2VzOQfOjDHX4de4BrK0M2ofs4NngDlHxbIsKdcmObUgw408\r\nu03b9H18xhbRvwxL+8AwbUSH1oqxzvuTsDms+cLf47B0qXNOXYmxSALgduok\r\nmv2c+2Q3Q2wJHXFks8xTmhNAZ+Z90W0vuQ8HHgwm6jzh990i0mcTyL3Is9jI\r\neHlzB8MTHeXz5gT8Wt19z1LZaGrGhConC54=\r\n=jSb0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6_1648206714044_0.1317318073357212","host":"s3://npm-registry-packages"}},"0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7":{"name":"@preply/video","version":"0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4aaa3ddfc97a4c3b8e01970285f750448bb387c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7.tgz","fileCount":954,"integrity":"sha512-mmaLOahUamNtHwsGXx/cJNK/hWuMfDVxOHGyPDDRCCum9tNDzmAs5jqsWlNIkOk0SgWaO3a3tF25IQ1gUJyQWg==","signatures":[{"sig":"MEUCIQCwJb5fvQDymxxz2tO+47y50K8gtEzxR+3eWqCappa1NgIgP95Ob/WZoOfPjN3YVc9KRQf7O6HCJYCWzKUKNpur6uE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20735130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPcksACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjwBAAl9qdlZlWyQmb0HQdQpB8n6b0PDAbUiviivjzaUFceHisc0mN\r\nZB429XOwFBNR5z3OUzvbbMrSWFDnHguu/MK+gAGehaKEQqsn5sDfjomNkL1b\r\nJ5kqxYia2YWcxj1hqdJjKburqPUnrnNGNrLp+sRxvCFgSIAjzazfkVlivOMl\r\nHNbdNNEu3ppQXnQcMLrJOF8BsuEo1/j7kvyXPkOe7Rf541QpA9iTjnAxSr+N\r\n+K1G1AVK+fv16oV4RV0+fz7W0V9lLsb8FavhwaPCZp0uY8Tt9blPUTIOvYCT\r\nrEdQ9/GB8SVfNZv89niKndUXDgtDd4yMSC0SANfqxh+lfQ3qvhoWgXp7MTKF\r\nkpb6TkvJoLrG6+2ACpuGDgebrb2ErrHOUNwoP1A36OPDQJOGnYsK9G9jR9o2\r\nmjERpX4/VEuLqEmD9Y1jGezqbEcl2ozj1BT2zkcJf7xixTHf6RIgU4XAsDjy\r\nErxf75XJuii3eapqg+G6vQG7UODeQMtuEWLWt94/3jZPQT9tZcmALv/szeR0\r\nf0zUOmcuMaw4gIwQ/J+utEAPhnYraUd+L8X8v5N21kMQ1hEX6u9g9K9fpqDA\r\nmCtBnBNh3WthYHnS3wDgyv28TcRWBrWdV3sG1ojav3GSFxX9fI+pQ4iPtS2f\r\nNtJuFwWM65GfwZAb812AWPnLKWG0X5hR8aw=\r\n=gDgp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7_1648216363963_0.689017201511573","host":"s3://npm-registry-packages"}},"0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56":{"name":"@preply/video","version":"0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"54d03246a8c81079738838bec3b5b5c61801b903","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56.tgz","fileCount":954,"integrity":"sha512-YWCdjx1ggpl4jHRSWTq/+TJgKVrX1Wy6MwHE26pTUMyFxxBfpiWhEmghXFXvQ893MRlEORM0bL40nn+6SaNW+g==","signatures":[{"sig":"MEQCIA7kw+C29lv7f5NkCulJc2XSQuG5SjDS3Tk1oKJzU95vAiByYRy0YMfJXOULIumHMGe83Fm8YVxtTsj3M9ZJXj3Y8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20728361,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPd9tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqe2g/9FR3y3s/FU6gIzqmjEOuKdNCEVOrT+YZt7CwDM4PHUsh2eCDa\r\nK2grjzD2PFwb0YVPqEeF6tADgIXdzGSONrbfIbsdKBl+hRARa0xP6z8JnsT+\r\nniw0RYcPcoWz+UAgTPdeenrTLbhjCLst23IjzZZ6uHLWQSHdOgee0kSP4Zb+\r\n9E6cAX3tSWeNt+pJ1haRO61248Qo/EhB5KmfOFeI3Y65DeCYTzLJSyioOqUd\r\ndKwL8TGfgXskD1YQ/kUng57TW5mi8b0IrRpnWcaZpb36sF8HW8ovreRjefcc\r\nD+rBPr3S8ZhoBxEIWlublInE50caEjImL//YYUyDZpLN/qbFg7yr/OV2kyxV\r\nEVnPqOxGIw0lrVx87SZzLPJSE6RAOHhgJgSH5kDfFl/gCg7byCFlBSyYI3of\r\nXZ27ObaiyDQCO5Swqn//NszB//dWpcq0EqoVLtBBZbSynQjWjIKlKD16SNgr\r\n36j7lLEf/bQBR2Whh96CdwdglGuraoJUptVHyes9dT6069p15citBdYBAnrC\r\nzQ3ImX7ImJgM0tBCcY1l9rPd2dgN0d5//3GtI8oWMehmu12uWRO9L6o8LTou\r\nNNqpiRNnKwfuYSE8gzAr5XN+ZYzs8iBcImLXXBC6x82Dl6w9LVMPMSjOkZBy\r\n0XDePfjWxJ/Oj9fuK/CAoen1o6IXD+KPuKw=\r\n=FESO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56_1648222061209_0.4690566324235603","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693":{"name":"@preply/video","version":"0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4bc6b99cc3a83a7a654cd3df85f9fa716649e225","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693.tgz","fileCount":954,"integrity":"sha512-7NdyNIjIWzaDTZ05iLbA5Jept6vvrNYhwPWCONYiUVGQe972wDjnt3NAnx23I22oXHhTit0ASqS6BK8IDhdWCw==","signatures":[{"sig":"MEYCIQD9TC7M7PIhS38OhLyHlC/c2ZiV4xzmFuYgepb7Ohq07AIhAMnMJQKZEzLtl3BRhIC/ocGzk91HWP2OsaVxUHidSTYw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20721300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQELxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrm3g//eDArz2P7mVFZmkffiIOrlFahpNsKcauVfpkNF3x9pmKnM2cD\r\nF8U4nJmx9J47cCi/Kv+67GR9bscUqvyclykSvYFWlUGvufYXf0tsUZzeRbZq\r\nR7f5QQsRuNtL8EJ5CW9xY5P7ZMtO5Kk9ykoJZJRF0sYoeVxA3OltUCgGaRve\r\nsejcaiR51+klGTni6Ox2YJb1Bs9A4lg/JYmiL601LZu1dUM8UmkU/YcqjyaL\r\nuNs7GAb5Pyerst/+vyl4+dzO9qobcuU4z46tudAd/MoDykiBxP1q3koxlZZk\r\nxTSBCaNxS5JdFeGgZTwKZKJINIab//iWAmwHzWGnEbC5JfzwWVg9BO4shoqv\r\naaUR2lXFFnzKOsiPF39sKXQ8YKDMAGd40WPAAxiV5zTlsq8xKz7aTOZ/g3Dk\r\nk3oxEgvBXZ5PHWTo0pZqbGWJhITHa/t1G+cu1Ryd9ZyBljPEbJlM1UCbZNW7\r\nh4rQ8BuilkVucghR9+71pjhVB6x7t8ZxgwtP9sRCzF3ASTslPo1AnySEpwJO\r\nNuI/RImLM73TMj5uzdpndSWytroUDpv4MfwqvykpWovavZMREcB0jZxoHlrs\r\nko2DoMF8fXz4TUshAZkxposFpkru3GPyatkVjN9sk8DWZ3mT5bfM/1B92FoG\r\n9YAqxuOeyyaqZen6OPxjNUMErfze7XyuXMU=\r\n=KbqE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693_1648378608926_0.3272868159266158","host":"s3://npm-registry-packages"}},"0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865":{"name":"@preply/video","version":"0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e67f1cb28fcb2b3751670def34f675acc0676dad","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865.tgz","fileCount":954,"integrity":"sha512-PSPr4VTcwwnQwoxzir5uTQlTR8Xvd/quoHeCCJ8DQyRvP6+M/99yefsVTbBKMmH/L82b/33qfh0tGb78RTWbcg==","signatures":[{"sig":"MEUCIQDBRNq1iX3TFQ9b3cl78KM+FmnWFnwXudcKOn9eVToAQgIgZIEQrPwX7hue4R1E5Oe8epkOwVk+MRCEAaq+lUMQduk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20716190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQWkSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCTA/9G06qdtgPcBkkrrq44J9wdgjc6PyF2JSVPNtCLY9Kte3aNO4t\r\nSb7ZwYB0nGAACm49787mRHD1Kp45m5WQiqhQpCki+ati8/O8MGk/HeeZd5nL\r\n8qUjs1kd2+//b1PglPw0dvu67rJ4OXRSCnWJTu1NOIsUpnDhNvGXNgPIScG5\r\ncNF4jz5AxU7CoH/36xrvF1KjqJUdnHdZe1k3tjRv5FiCT0o1nl7FjbWBjrDz\r\n5wRoGDIxC8Ep441WyR6Vq37ROj5O2OkvsmguJFC740RCJdZ2FnpwUfmeH7jT\r\n/AEjwfVzDJpdF37KvoXoePMcIIWVKat6kq+st2B0ZjDrBBHjRuOCAlwZO6sV\r\ntUsAAz2N3MguVdx3Z9Cdve73l4TntLU+jgF+OK2diu4IN/7mNwuRJz+vmjtJ\r\nQZ5V8x48S1ZtkbgbQYXnU4xViE642dNQQyrGTQySnLNJeE0rv/Sfoiq325i0\r\n2ZTSQKvMTPhAplzsMxJeiy+m/rSu0sfx3Tepdqy4iHOLucwWW8malGWWkC1w\r\nAP1zZ7WwWQoz0oZSDNH47jVK0JlQNkoTZw6YqHcp/zp1QhHYG2S3dAX+TRMd\r\nGbj+5SQGLR8vMcFHCUACqTjxV1+XXc2vmXOuMOYEVn6JciH3cVTcIcrvSZdo\r\nPEEfVXQIeEXA5DIMOYXylK555HooxA/2bk8=\r\n=6N9i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865_1648453906303_0.839553731490676","host":"s3://npm-registry-packages"}},"0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d":{"name":"@preply/video","version":"0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8627339e82096c03bb6789f9e308b5913a576591","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d.tgz","fileCount":954,"integrity":"sha512-QvOVJWlGmykx5OLk1tg/7AaUL9FOVB8JYdVUkOUwFu+Kc/YKSm0uTwaRuhqKhTfzCdrDB+IgIjKIWKeOavWcWg==","signatures":[{"sig":"MEQCIGugNqXqhWVJ7RsgJ5G46JbO8mhlutU+EgCtJUh0MhJZAiBP6i+IFw0GeeG4HjUlGJnRcY/fsV5ouhTM3a/LFp9Knw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20728976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQWsgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZMQ/+LZ5IYLCUkAIRHi3nVe4muSdE4n7vfzIZlpsW8Hhht9G9Fv9R\r\nHGQrPjVA3zmcm+p52bPJZ/huzQXltHAW8+t8i0UIXb1xIBy4YDiJ/8KlFM34\r\nJ9L39Zo7uDN1IylogzDYIwOGdUPi/KevbwRZ+eiRYSstIjlX6TluZOTziRt9\r\nSsW/UIC9+SIxMAxWViqRMMN2Mi6KmogiZRDIMl+wPTW1iY/+rHBlD9qz+Rro\r\nBf4LvztXB10r2gthtXX4DpZYrFHEFCQm0tORAWVs1oz6gYKgbHMq0AW0iqLw\r\nFirvRdf71gqN9d17ZMLdJ1yMSm00UeBI/tITZAnGb4ltTugH76tAp4s6YEpj\r\nuTSkBOsn27x2Q3HtvwO5wyLtPEhzSA+UBuJONUSsijJPBPf+UBD40R0f5fy/\r\nLOHbinjiBg9vGiMwRHw5XeMs+28fgX7JTzjBD+NKJ/5GMW5YZoFGDrXmOdiI\r\nsn8UsTLl+sZRNNOzMG8/0C1CsoX5tHp5b1qGdR0grnRmQuvZ6Av3IO2GyOJw\r\nAtanBVyRvLGKwUSVKIQH15RriFLs9RNm1oGokbEBUYnpaQp4Nn3eNVhHObAT\r\n7LNqoEjo62w2UIfuPNnXvbZx9RW9G/MoPYApManYi8ZWN42SU/EyspmcyMjG\r\nthLAuujxjoCgxuNhdZtTZsbq+bRwGbHz0zs=\r\n=/HW6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d_1648454431757_0.7784750314217126","host":"s3://npm-registry-packages"}},"19.7.10":{"name":"@preply/video","version":"19.7.10","author":"","license":"ISC","_id":"@preply/video@19.7.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"47785989fbd41ae74ec399c93b37cb6cf70fac03","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.10.tgz","fileCount":954,"integrity":"sha512-bnNjMOLrRL8ygJlGQmXt+EPh0HSt69f5p0+qjJjKOtU2t41hiOg+wi/fEvh/F+9dqe3cbZJKgHgwDuO+IB9low==","signatures":[{"sig":"MEUCIA6d+1SIeKbPD/StM0U8CHmMn5rvwsOpr5IxpaYlTtbRAiEAjXy8cv6C0SNPhX0jU3tkw09mPgSWjtXXTdiIHM0gu4g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20715366,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQXtKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqlQ/+Px8HBWwnhbcQaE0FS63LLJkxZhVOaVRq4RstD8M9MLNWd9xV\r\nwSjn7zal9dqomY9tF7UrbqQLLRbe5rmgST2YxOp7kz3ObKBtMNTZVT8FDPQe\r\nxkjr925CjCvLpZsOv27Z/PQpj3UvGZa/gpB7O3mHfghp+tCORVRnYAc0YcH0\r\nJqZZNX4h8nPAYehmvcQ5dD22Hc9PFZ72d1q5TJeh8Codnf3MFTRvo6JwFZ94\r\nT03RgZhRgan9MAGTfhefxI6TiiQUGeBw01qJDp4iS2SgRPmI2QFv6l7XHtmM\r\nFP+XKZKYsQZ9SOPmsyJvyrdoR8VxZAXXd2JtydUrXPTquF1GNcKhjIUTO7hM\r\nhGKG6DTvTxxFVb5DtD2VwVIn1kdD5KA5v744C1OvpUvfkiENuC5Zc23kNlQh\r\nsV7KpimgNnPLGJweu2rQNrc2LxvaDmxNVDpiR5uPpAqatwvEMJ1kMinn08oX\r\nxM9onkjRyYUElaaQl8e+CKU/+ZROxDX9UhcGN1B73AH3mBJzfeTqSE6OxGN0\r\nUBCXrpbcsVLSpG3nOD7xdzsUfnp5r1oLMA7TB8Er0EdSJTxktaTLUj4cChm3\r\nvDtpSyXWD2tRIHu0WZ/rYoe3DWObQZ2DqffJMhs09DVzcBtdiX1yMwqt3ILV\r\n0GjHpntar3rdJQ8ZaO/yQ8kavXcvmZ4be7Q=\r\n=GoXE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.10_1648458569749_0.7159868091271131","host":"s3://npm-registry-packages"}},"0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c":{"name":"@preply/video","version":"0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"206054394a455f65ded0a5e32c29b1058fc9dbfb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c.tgz","fileCount":954,"integrity":"sha512-zuoVJ32rZmpjfA07VADC1lgnmQVPhj3M04ZkMMB8fPWtQN2TVOdAMRE12voOk7is67VLOZiEvkdaSnLKFPZTaQ==","signatures":[{"sig":"MEUCIQC6+QoTYgJdQwdneqHvcM2VZVHg6C+yWG1LGAAkrOZE3gIgDep8ITRdzSFZ2R92csy9EbIxYrRI/4h9t6XpimD3M+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20716190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQZINACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjWA/+MXBlcjz7usy0SSm+QxuV3R7HNSdweN6acmO9Dh+1DnnGBGAc\r\nltK3XLjxTxT3+xT6tywuuqa4o7xN0hMAdalKqbKH8VWwkvRJq/rOySa7i8/R\r\n8SoR3WJXBwlxgHl5f+I56g4zegZIeMFHAmAQveJj3dqjRGrrWtubdpNLspQc\r\nOywg7clTlBbY2zwcNZGlxSp27ZRfqzy1vRC43pJpULbFGzQPuVQBB/Z55Zau\r\np9ATCL/I/ZkTeP2dY3GYWQJRrkKOOGwuZX9EzEXEa50EzoB6vt87+NF8KLhU\r\nwD2xqyVbiZY3+D55o9yd9g9ZfVJGeJMbArBjmH2TWnLt94P9id2KD7BRK+bD\r\nbuiTe6bb5mw7kb01FXpiHWqf0VPZOZnwfzOeItxg48LRg/wdE+tUGigXyKAH\r\nVTV5bxXBjYs4p9jgHMfoTHGMNeccUsLt4Koq4rewVi3jRZ2Jh7l/dQBtyRvH\r\n30w+AXuP4E4S+LRcGfQjq3Reu8fxiR9627uLq+fv5g0yhX4sygG9CiA12xDl\r\n1bTFKb8TrKDvoJE5HgOWUOrvB79BSOp909I4eZ+kunEvJRKhmwdxPthnS8ar\r\nHmL2xG1hhl9ybSrosSM/zVxrufq4MWJjHo082VzKl+po2oVDGBQPd8Yq0yl8\r\nd9dKWiNTtD9Xlr6+lAC1UVEpSQVm6yhIpWk=\r\n=juQB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c_1648464396863_0.17928428716134404","host":"s3://npm-registry-packages"}},"19.7.11":{"name":"@preply/video","version":"19.7.11","author":"","license":"ISC","_id":"@preply/video@19.7.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f4d912baefe15d826e72e0d5a7652eb448d19ba3","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.11.tgz","fileCount":954,"integrity":"sha512-ljU5BX+y5Q/r9+7Xowe1pXNHXVrfxfDFpafW2HaTpv5TFNBtUpIu1xNCpndkGcGMUozUWPc5xX/00TvwnAZ3rg==","signatures":[{"sig":"MEYCIQCOXan4zwOcAeCZMGJOjaeEXvENwgooLiEV9LNADqoLGwIhAOIYFj6N5wBK3Fh1IXrPdNX6t69QgWjsjDod/VI+gzjG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20714751,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQaUiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDsg/9EFevyBMGE6Rp5mOf5XyBea15vGyZU6LyiTPhk8v6K3CXokXT\r\nd031kTR6UVtTaRyDXfwBx4vx8YYxGZbhGG0YmkgScTLTf+lV9QvOMRamLpVw\r\nvofR+QJAluCvn5/Tois/UmvDIa9MCLWpQQOKK8CUBqpU6ycVoYbO5YNDQ1fC\r\n79hi+qjk8c5ylC49EHrhD4W2SVZdELIywE4FcTiTVlrxrweYiJPZML4jgIVD\r\nfC9gihoY5hX3DH5E3GY4yw6+tfnWYajSijVwlKJ6ZMJ1uhzVB9ldR8XI0XVb\r\nEkbPehyUX7YP6D5pGQJ3eghnYRCcnNjGhxTx+Co5MNCGhQPjA5oOkUegJhGb\r\nj6vKUun6ae6TBTbeD46Jr+PBsOSK7iFhCb8nm0Jv3UaSFSeQjyCd4FONXThh\r\nXEh88BjwOqKyIXkKlvwx1TpPy8etHLF2ap+LxNb/gRxIezFDE2m1+iKV6Kk1\r\npoJQOBevGYe4D/bo6IbKfkzDrB2IKUfoROK1zC4oQNl/lnLK4lYLD3ym1Kd9\r\nwmDTrsSFANnN07mAlzSJDj43cLF/IsZNtc0F0wUUyrkmJw0HcsKxYp91N7By\r\nMiT80URz100Yb078/jB6Zo4Ckl/anViy6jV28sj3OhCcbNZsHXslumuC4qGL\r\nNEHpSxeYqpvIaoumstfBbkLpXQepY+TREEc=\r\n=b8aT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.11_1648469282579_0.13286341739452112","host":"s3://npm-registry-packages"}},"0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f":{"name":"@preply/video","version":"0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d0fcba23bbba10e2ddee367bbca0638fac262f51","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f.tgz","fileCount":958,"integrity":"sha512-mtBW3DHczIrAXIqdssH71yn72ncuZTDYkxwbwEnbCHZNtA+8fGXu1vnBq5eYMVBCM9sK5o1hFUeG3Iq+eQtYfg==","signatures":[{"sig":"MEUCIGMd1DaZ870G/96ji0PDCm0V8VkX64ovUbStHAT6/aamAiEAxd8qO2sIwVw4SIwf7iTI5EZ4N+jLRaDB+7ssHRsgcGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20729024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQc79ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoi1g//am4CiLO3lAlfst4QWnGqvXbesU/UpOqyYIEM17lhhoFXAm4H\r\nTc5EjMwwibC6L7hSWSdntYVDyYX8uV8Lz7zliNwEBA9rUswqv0JJ6zlXR2zQ\r\nNPG1xJEseg99PAPXqS9V9ikmU+Nu6WYFrUXWaDMzV05zi43ZWnExc/mTXcSO\r\nnlwKZ2arOEbPTv+FrM9pvwz+Ye8dyvMlSfPR1YZHFR8dPcbFzARkRW6t6Nxd\r\nH8B3aCrG27rB95qnwUwHL1KlVlujGnToMuS+8Vv+SK0lD8G1jO8QDusT4kch\r\n+Qx88Wg602KSs+neP1BMq963/B2+4VTwdQQWtBu7sHE8pn0mlybiG+JUZvGm\r\nsJMleOd7hfvZfakvdkV+2OwbnGNmGJxeZ/NcBnATUe7tOdD6Xl0ghA1rnt8p\r\n9upZmeH2OeZn+LeAYT4Z9k79JldYN3byL21FpmKZkVDJPsT30KJPum/Lxdpg\r\nmHpfoablFf/RjBwi23q7PhSEZNDoBVHurwyT1K+ElVAdYowrvfxwct2EBQMd\r\nKWoDx7MERulmEJLI2O2DtivHCsUfVehsiO5RE5IK6orWr7vd8WwNTTp0v98B\r\nD/VyrHRTuuOuTzuSO4nOFlTyaY+rRV376eaD6fOYkqkCO3maaeQSLbtKUm7U\r\nG4n8wDrA/BfsgkmIP4YxHUP2XmklyDibgt4=\r\n=jG9Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f_1648479996983_0.38555137649941496","host":"s3://npm-registry-packages"}},"19.7.12":{"name":"@preply/video","version":"19.7.12","author":"","license":"ISC","_id":"@preply/video@19.7.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"679be2b43907d257a3cbf620f15f8d44a5e0df3d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.12.tgz","fileCount":958,"integrity":"sha512-j9LIRanwfJ2i9GvQmf0ExRKVGciXL8tEaQ1NQ3+0ONUr0Tz7OLtRShx4RaZ6VaJ6ysAe/h4bsnnPvhvje3+msQ==","signatures":[{"sig":"MEUCIGwFwN6yj6VmIj/06pyoHWeJXtrehoCSM41NZDyjWZeqAiEA5Lxm17oc1/qPOFeNW171z3U3dNHUMUG71QIC/J4VoBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20715134,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQdifACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5dQ//TGlc+Dpoba6IC2UkYlE2A7D3jW9HHH0/MV3GQeGB7gCO1nRi\r\noML1EMiin5DAyf2lwdeINdkx/9448D4beOLD5BpmFtrialQF0I/3ZGkPQm2y\r\nXj0L1ms2F6vsjXQ59SNDW35buEC/59eD8GHCLGK6kldGiIr0l2PKoUMGkbxj\r\nv6TkAFA1WGoOb8ndUx/8ymt0H3K4sCfKC1wPcf+D07TwhjKChNIi1GVJxQux\r\nAKlNZ55hwXAHRnPxqdS1Za2lh5ra9vJWAdGsQaZenuvZ46hcrNmkscU65Q20\r\npAbGOtN0VHrph6XB6BAwZC4avCNHDM4A+ymOf2EPpm4ZCZ5eZh6hXaDuvrpu\r\n5iGL+uGInk8v80NOP8TiG+Fv4AQK8KYCgOLhHbaPpZ/lv4SR+P7UEF6pnUyR\r\nrfZlN26kYt/Q1r3USb47gvq2uR0L/r7NarE39NXY7hL9/OABu37BGQz02bbL\r\nnqLLuhwij5wjHiuAOA6kfbQrPf+crYT926UtANSTsFm17uxsPrHvwQMycqMX\r\nbJlpWwPofg+iBVEw0exYw6VNNL9JktabrfgPJsfF9HuqGdGj7z2TtlsHnywp\r\n7kfKbskMC0uAdfA0xQw0NHu0EHq3/T4ZPskm2pqvyMT5p8U0+xNkmbnNGuYc\r\nbaXPWj7GzlTske7iQmORenHYMiRe6HFmzH8=\r\n=Jq4s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.12_1648482463108_0.03649658883740847","host":"s3://npm-registry-packages"}},"0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21":{"name":"@preply/video","version":"0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9b292ca7eda6a606bb970b6138454558d92409fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21.tgz","fileCount":958,"integrity":"sha512-QDHxO7lMiDpb7OeDhiwMQFSaMT3g4UVuz3c3gEu+etFZG4ZFlR+sHpbe8TYppusi3WANHFEMLtbJnBui44XBDw==","signatures":[{"sig":"MEUCIQCRklP/kdoC1hx+WC/kg+Bve5AoDCQQzP1B/F93vaBHDwIgHpfSN5TS5WMCL0tNrIdtAmJ+M5zLDSEU9+oU97l773Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20729260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQr5VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6zQ/+PssxBjmVskwOvBigRwhJ87ttL4Tb51Xbc9tAK1qbE2JkL1Eg\r\ndghb6Lz+Kp88LtFgZTYECpQtRzi9px95R81wtWkPNtMIpSwA3kb7JzpSnxQ4\r\nL/FsoaPWQdoQJ3Gue7SmQb5dW3mj1/dqhdqrXJvaiHZgSlxEiHSt3lTkhkQ6\r\nljakzxk8RuSWfLC/f7lcs7AybU3iyVBeOxF+agMW6hNZJ+8ON5gx+tbwfEMU\r\nbI7vBlHvA7y/0B2VtcF1B07u1MvSlClazCrNqTh1tn4DVvcMm/PSBqMn+90w\r\nuWE8ddhL8Fo6nsZ68WV7k1oEh0HezDMSGQ7+NyGklHES8I0izG4bVvTjRi8O\r\nuW1LduHe34tEESYeZBYgzrst/7Z8UYGBW56GkIwPsofCjrlFRk0ei5+2X7ki\r\nkEpcZNgcYKX2F9Mnt2wcZUk6aLp8sgVUxqTarUUD4XXlR+qOhUFEOdEEPrvN\r\njWYmWaUTEV7vBaidNXA4zYpISXXMOUrPIF/1tFEtG7uAL6vd+49h4nutz2yp\r\nDEu1u34Ifs7PyzITcT60jmNovEWURdvZK17LuLMCrzOleq3L0M2h3yJBKCMn\r\n0pHdfNtergvI+Tn3lertDTMxJJBsheK2zXa7p1aGi9s3Hw5LL3m6lTZnoj7G\r\nMW+7nKlw8UaPZZRbqF9bnBcxD/i5iMJBY+g=\r\n=KPxC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21_1648541269524_0.5939522013658713","host":"s3://npm-registry-packages"}},"0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741":{"name":"@preply/video","version":"0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"af91b3b24f7de1175072c3428045981508c53325","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741.tgz","fileCount":958,"integrity":"sha512-+48GDwmgM9anGBgjpYNwK3EinwjUHu3SySQizzIpD9WCvqqaWd0N5RelLTesiv/UGTmyYAZJ/RbsX7WQsx0a3w==","signatures":[{"sig":"MEYCIQCM7ja48qp6XLVJzc8m6+JiZGAZD03qyh61BwEYyWM+gwIhAIbGAU3yeVq5BVcSId7m724adZEukEYVWy2EgLm0ME8E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20728300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQtiFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJhA//Yr1QC5Rw1RzYBzIPN1pvrr+4eMd21IpThTTTU/H/iTXgfbwp\r\njdxz3sd2PmSQCKqQ6emFsCZ2kQY8wM1e4LWCmtX5KjVh2SyUbVOyDbgKDX+G\r\nFZnEEyOEJZszHF2XJx8ijbhlYBxLgH76dryp3l4evH7o142u2x3c5Mg7j12L\r\nekt603CtdJjxRechTAlOEMtVAipQtpBEQU5mUGfqKL0Q8syFFdAehf1Ek0V5\r\nL7feyMaH1lWBDrfLACQswM7MMvGt+10P6l2EENRXavleD4UwlA8MsyTXt9s3\r\nbYAVBu/7L2CuI13SS0kkgp9rL6DNsZx2BGzgBFOuI3A3H+gKS/Vu5W5wSjFX\r\nqkMP7+/m3O2AKn6aa8K+ZS9NWSSO975uaZgmMG+dMnDzjmsWSjv/RBdD4oVW\r\nE7S723jB5XLhLsocEFwtR1h3dPEFNG8bE6jH9xAv30ghB0ge3WVBIG5XX4gx\r\nZsZRKnRMbojMw3dgF/8Xp5nNDmz7HqY/ryNPKiRqeEnRj1wWiN+2IeHMxMpC\r\nOrnfG8laqA7y/Q9/di7cpOjDPiem3vymolgzZJcn5NdPI9rPfpG0zKjzCW4b\r\nzi614CD6CJumKkTl7Q/SnS1/ZclYYU+cm1/O5DY7glGVVX7SoCfWjRi7mcN5\r\n2hPUvQ5R4zVAjKVLFeg5vlo53hrR2mtwYrk=\r\n=ADIb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741_1648547973538_0.9783467545202249","host":"s3://npm-registry-packages"}},"19.7.13":{"name":"@preply/video","version":"19.7.13","author":"","license":"ISC","_id":"@preply/video@19.7.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"faa4aaa3e03313cfdf4bed71f05a080e5edeae86","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.7.13.tgz","fileCount":958,"integrity":"sha512-uZcsRHVxNecm0r8Y9UCOTxXWrVE9DM3BTYFMgCklCAYYIuMZilj7F2f4+KkNlzI6dPjfPbw6c9/XdtBr92H7JQ==","signatures":[{"sig":"MEQCIGg2rh8Mw6MBvNAemnZITRAfvd2jIBkFRFK4DZvTut+TAiAC40wOjos0k/Erx1a+twss97710CMDMFZmsB2P+lWkhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20727075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQwRPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNXA//eeoFvu2yRczRz1jlF9bUtjVy4ZT2U4ZJxIZ7QffI/v7PMGgV\r\ngc7n/VHciCZniw5x1R/GOeYbwTfMIDPZ8478jUtxVVxF3sT3b3ESPRMDqlKR\r\n1o+otUEdDfa7GnPAFvmIPIIEgoq96UjZNo5irl1j/naW9Pnkh83uSZLwNF23\r\nslyDny938VN6x+cpuP7MFveToIcK3zDJbeWZ9JL365XnflMyVUP9qVel3EYk\r\nQZn/Ivvidu4DWG5KY3PtMOPWG7gUtlKbVR/Jwa9RS1CefZD8u5av5N1P+5Gc\r\n/c7qoO4vaQHUPaTLUr1+x9myvaRvO5pLHrxmi6UnqwpVF2gp/OmmQp4xdofe\r\nLfMsJ0wZuzXh2n5OThDzeSknT1nAQGrpLNexCU+SmRx9igVe70onjvp+rvyo\r\nowG8tPy5f9A4Zup60rT2TJfUFj/MI6VWrmnQJtIoCLBHo+Ph3vY8eQrdEFRd\r\nMsAGI5ysKUFbStZ4NMBw1V/4APaUzMVgN+87Pc2xqlzRCaG0K2g8XVe38Tba\r\nzaEJUWw66FjXWZfrToIxwtoXIXk4WkuoK4d2qAafrAvQPUFAUdsAnjnQy96c\r\nkRidzbleMYcW8Mv5FcuDOs3QIp5+OZY5THefWSHMUmbuV0beMngIiCxMwe+f\r\nszHyvLA6C07DwwBvp0wUoB/L0gRJHi3NNfc=\r\n=QWns\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.4.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.7.13_1648559183144_0.5827387596440132","host":"s3://npm-registry-packages"}},"19.8.0":{"name":"@preply/video","version":"19.8.0","author":"","license":"ISC","_id":"@preply/video@19.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"580c244be55266d19c749b684478406b1a1ee25e","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.8.0.tgz","fileCount":958,"integrity":"sha512-HwS8uTx4IQHsWWbzvg0mQdUbrfTKtzvgnnOradfF2mvKQmzhnVezPGIR4+vkrvLXY1Ypeh2KFKzeFAGBuHY/ig==","signatures":[{"sig":"MEYCIQDsaPalrM7/+U0ir8C7HZ1ilFiHiXyr6H1/KhlszqKxzwIhAMvZ1s5lsb3orGxUcFJ7Z6BP5vicnkirSgDBG9ADEjhl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20730976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRbuXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcRQ//dUgBYmoHuK59m7SadDS3/mGtaut5jDcSIZCGedicpArGfokr\r\ntWSiYLZ+6cVskvYSvvRpk6jpy0Dyp7W+/yNuoBJX9finKNlqVrF0dIU8dSLV\r\nyxh5IRyeU4AWeQMmY5gN8z6nVsXGlSjrxKpwsa/KKsWjczDIJAbbUtVezYMl\r\nCdnHxJeeYYdfdUkmYX6jdWPnJ+uYqgx34uhzMTAeiXH5c7fWqPiOuHYGNI5W\r\n8ichW3vJcncU/u6/syfRILYFwGkyFOhZG/X/j/kWLiTengAcxZrr6sbaQWhc\r\nhuLChwFc+LYxgvXEFbMptS++sEGPSpMpW9jzZVUztxCcmP/7rbAdMLuniNws\r\nc66GXH8A3sXpaMk7zg7X/8dK+JId6beF6NwF+yLbwIoabIoUdU10Llt92tlQ\r\n44Es9Kcl8iAOkKP7Wl1cdStLAibKmkm8qx9jlRVHGXeP81l43QxVlhp2OVxA\r\nwXCvLXliaCoVV+2/yNEOkCnvyTwTvi0u3d1WC7zq3KbMR6FPiDIKV9nTdutL\r\nUoz5JVTWZLxSaOaf2B7pRF4vgRb7g/uD3phWb0a6dcfXAAnnXpUrC8yL5tq0\r\nkL0OipSs3c87Q5lLb0drWcRklJXQUFzxyc7nEJsbq0ELBrGB5kjqIil4BmaI\r\n1I9V6e6nIZl4jKkDyEukCEiIqafPdJ6dgyA=\r\n=hxP7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.10.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.10.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.8.0_1648737175170_0.7103547027326012","host":"s3://npm-registry-packages"}},"19.8.1":{"name":"@preply/video","version":"19.8.1","author":"","license":"ISC","_id":"@preply/video@19.8.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"11751a57c0a26ceec121226a8957b720813e1fdf","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.8.1.tgz","fileCount":958,"integrity":"sha512-IxMyRDFiwOaXO9yAYrOJmkpV5DpjoL4z/lO+4QmqhiXvzILty0TH+lJsE4cIxahSYTXSFDrIlennyxIxkRAGzA==","signatures":[{"sig":"MEUCIQDtMVDCJE969Le8UOH25dAr/IvYg6FqfTXb5SpiLxGUDQIgcsN8r9inp2GBdpJ/bggqXg41HmYtSftlZzJ54WR3K6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20733162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiSxghACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKnhAAn3uUOn+8tN8vogvTC8dFYxbVDrHU8UcEaLW1xren6iXvhLx3\r\nAesVdWv0+NwheQJ565ml6dWE1gCMt1AyuPjYRr58v3Oday89936GQi2Lc9lF\r\nmva2FmsEtRioduqpvuNd50vamx26SWxdDT58I7da399Fk5Vb4ZqtX8taPc7C\r\ntMAu8wNkSfvC6NBLCUeTRVE9i7Fz2g6pkijSTLJRjcHKsbW5wvMWQbzeERar\r\nvh46vnv+Xq17bdP2Hm2lmd5MGIkgPOWzaUPm4X3FAdec0uCSXdXQSKQc4YTx\r\ny6hp14R6DCAIkkKkha7g1RLeAx1/BlNfZvQxPu1OnHopvad5zLPRXF7JpV2k\r\n7/fdn0QGImk2qE671mXKXVjkVCPs6sDb2sWE53FoAiHtdCLIR+TE/Wgv0hEL\r\nQI2ZBpwl7FYyNiG2QpWfAktmYcZjPAoty1SCc5rwOycjvfOm0WjiUUpg9Dnc\r\nbVCP95UkgA79T/P2OYJyLLQP04E6oqmyQ1T4pXhmeW6iwQlgHUp9YGqpCbvg\r\nOpyZoFbudGnmY+lwA1leHyQL1zzQJd2SCI77V/9r5JxrDT2Nwr9A3C/8oSxI\r\n92jgqT+S3HUKMFdsEG8xdDrP2LcHlGDH/Qcm+rtfn7/0r34Z3gGsZoDO4aWT\r\nNlLVLxNeKXkiXDHLrOsdSA1NC0BtXASLufQ=\r\n=WIjS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.12.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.12.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.8.1_1649088545271_0.5661160860350798","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b":{"name":"@preply/video","version":"0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2acc2f38f0c2e9e08ac0df5a3088a2001832c213","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b.tgz","fileCount":958,"integrity":"sha512-Hyk+cSXtVTyhvvq4hfzM7uQKvmteE5nMWnERfBQsVG1BpDOM4ASPKLH5prXpZpeqL5babcDp98BQvutx6JKlNA==","signatures":[{"sig":"MEQCIDFTYHapb8BfDJNirzwzq6WQHfydg5u3yIMRTYdN39CiAiApwhGfZZhMJ9rFIwt+osEsXN9ryqmhLzGr4TOUPjN+qA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20734507,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTE9SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCQw//Vzf7oXxmOQu+J6NrC8fpCtnNX8HLBqH7xOmMEFoCs6DDOCKa\r\nBdkuSQk7HBof5KLWSYqeNhJS6e8wUeu8TgmklQg79bWkgp8/+/LoJEhlgtMW\r\nG2qKfB713VAovorIfkRIy5LO/vU4MmsJVotCKO7LmwGE+INzYIMJXwQdfvoJ\r\nUqnsNkU5El1crsChFUL+arRw16VyfodnSYKHbnbtgOXuHouUe/ZWNsy6QxNs\r\n4m1B65hJCypt17o2cW69y2f9eqdyt6FbfD/FmWt12i0tLrxo1VJ8y6Xkk7e9\r\n16ClXcXlgOeXvBNJkEG8uk/6wBb9H1TCVNPp5HaLsW24q3iongI14nDevJaf\r\n1ceD3buVoCyyBOn3X9qwATFEirujFMLmjgGKVUuDIczawzXDgMlUiSrchonW\r\nyTxI4hnIIUoakaCY3GpubN7wnmN7wUB8rJuneU2cMsI6mkDVHuz7dySfo8sv\r\nxDyZ3aC2KA3A4yuFlR4UhxT3/fuerJ145tqE9L144mbQL11q+6DonVvilkLv\r\ngQQ9qJRd3jALtOMeIyZ9wJ2lQraqvWH1X/+AhGN1KA3+sPGPyUsIbe2z0AEQ\r\nCOnXOx/yGeAc94d2aMBQZqFCuQMDJzdk3HW4qK29kXRe9C/C/EJb8ON2UMqH\r\nxIfjX6dH2Zl0IKOea4QeyOTq98voxo8BKIg=\r\n=17dA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b_1649168210351_0.5963907680345126","host":"s3://npm-registry-packages"}},"19.9.0":{"name":"@preply/video","version":"19.9.0","author":"","license":"ISC","_id":"@preply/video@19.9.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0a4533f1b7e5dacd0fd02a1c6e6a8988ef4ffb92","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.0.tgz","fileCount":958,"integrity":"sha512-RSFoFotjQlRicRExE2lU+v6L35cNnQBAMVvOR5avcaOucP3/wnYjdIPEJ9HqQ/i5KQbGkJG6YbWDfKjW0jQ9NQ==","signatures":[{"sig":"MEYCIQCSuL8THnfFqkPs91KaGJjDmrc+d6GU3r5xlvyQpkYvpgIhAOU3eSbQSXecNSV1IQgvanCizThzqXt8fK71I0H6rGcZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20733022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTGbdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5tg/+PeR7VmPFdEGbsEtdAgqtMNobUTuR70FvluAfcv5KBcnA8uFv\r\nks0zfrL/x+GJ90satj6R7Iv0ByVl64LQbcHpCQR/Ns524Mrl9phtDeL+usf0\r\niUNhcLAvQLtd6k1XSQ4cBXaYqiWv4ewsajecEUjoInfXKXsENVGILDl5t09J\r\nscLsR1HLXyUjZH00cQVF7/GhA97U0j1BEBor0sTpj+Ac9vT7xZ+DR6mpztJG\r\nRAYkxr/4G+MWb2Ub9R/cFmMjAEAGqNop6zoBNKxBGOtYLsZotnhnyvJ3sHpu\r\n8IGURRJ+xChYyJv8L8cTLgN2uZUfYU2qm7eZbsrDg0phKegF8wthzkS8zFN1\r\n1vQ29lzxhq90zbqgVBDyJyzj28bRC8Zvbc/2zLvTjsE6lTNKVs3V29omLn9D\r\nSeLBqdzI98jX7nZxYn4LXbj1aKhYcrpuvBNpmB8WXKSUFBoFDzVHDeggE3AE\r\nw7Z0QJ1+ORzYFCZ9PNmhwcr+zjvFFlWULRzj3FbfGHlVck9igk8MOEgH76Ov\r\nsMkgq2zdMl+O2e7ztynkckpBVzJxNcD8JwV6qoGn7D5ogXguMM/FptAs15YV\r\n+/LpGmXm9YekEGDw/YPCc2rmJuQi/m55jbl6A28dAqZtHkK6ldApcjpGJiOU\r\naL+uPwObjyBQ/IfAhVPae+BEeXHlLOgbDJA=\r\n=iBG0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.0_1649174237602_0.6123599252617729","host":"s3://npm-registry-packages"}},"19.9.2":{"name":"@preply/video","version":"19.9.2","author":"","license":"ISC","_id":"@preply/video@19.9.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e02ea0721426b067a68ef54c0cdbc7cae10f5918","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.2.tgz","fileCount":958,"integrity":"sha512-hwQN+pUlgwRpzqU0mRqGZPmtUEfxGgLXOYCb1LKiDzSlLUdXehfyh/aqip4O2bMOiGDr3cE5BtEtExYjb2e7Ag==","signatures":[{"sig":"MEUCIQD+uS31TN1Qb1nmN5kV9yT53eB3xH4Zf0xieuC+5mAOcQIgS6svCzZrajwjijSp+6nqrGlmg1UgD/Ae3E3rVpUbM4w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20749854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiVRstACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPNg/+IaWQmKFaO7TwVGSbKawTLj/Co6p1VM011huZxhkFuW6qYOAa\r\nYARY7tKYoQ0isZ4O348TdVm+YmHCJK5glBxWAArMJhCi3nrZbJKoIdYt/eEL\r\nWgEzEBfq9Xq1BpWXvc+DY/1zvsL1cj61JBtb1AKxTYOARrPDHRhe+weLY7NQ\r\n2gmhXbFpnyLN6F1tFd9fyTHMBweSPJoDtys9iqVvnVKHmOWiRioc0Js7pzlv\r\nI4A8fqQhvXE50iEILopEEmL+pvbYrjCUQs09hJvfTwkw4YWi1tzq433GxFv/\r\nhCiEQXfPkbORwEtGHXi84B6UGTFLBEORYtnF6no86yLVdH4HBDvmn66Yxucv\r\nd4KJc4A/hZWMIFC/WocsjIXK63GRHPfMp829eV2mgpu1SWj6zY0kSCa5J6RF\r\nsIuCT8Lnpa5K9U/ONEjbn0L117phKaHcxMB5GzCs6zRjh7ZxGZ7y6J1y5OXS\r\nLKp6NGAmT7DopNaTgD6+s3ZHbnE3KOfiGoBmmQG4lSduQtMsCQqxPeDMAxYC\r\nY7l4V8ZLlus3dioUGniGyLueeJRcYDrp+QXNnSCC4kApJyaIcYsJ+VNbSBzI\r\nWZX0Juu4NctHgnYI3mBYQkfsW8dps2xBF3jBy9UH9cCwhcOAbFZj8SS4JMb/\r\nRUcw7G1z5IkJEfOorNMd9nbV/nwJRFENS8k=\r\n=J6RW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.2_1649744685328_0.6059556945076336","host":"s3://npm-registry-packages"}},"19.9.3":{"name":"@preply/video","version":"19.9.3","author":"","license":"ISC","_id":"@preply/video@19.9.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dcdae73a60faa513f28a24e71a105b58406fab7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.3.tgz","fileCount":958,"integrity":"sha512-ILmeH578+K3xpQZJ8jfEC9NxF0N8dBV3rrzt/Chio1DB4lfEehM2AJ16m8/o5sh+C+Dflt1VsRYCfh3qlFX2OQ==","signatures":[{"sig":"MEUCIEQ4AGqK99GmBBypAX/LvitR1GJjdOyX//kM0u3pFvAHAiEA8BIsnekYniARnrEGn1HUgxDnqhbeHCsi5n6CVrE+2p4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20750153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV+TWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAsxAAiSidMKdtf512AmT1aa6EPgDUHOXnEv50NfLZWYtOztXio7nf\r\nhHmuEwCU5SsjJmU0hP8wkS0qyLLMt6BtCBNsg5WMqwp8/Fdf8d6JfpWXVvNJ\r\nmvcZQAgm/rZM3vbMIlREiC3ApHMxazyrJIw2WtbYKVwXh1ogjhR0GDFQ6fqp\r\n7sFIRpMQb8MAj2hsHoXSszZoj1DSlO9jeq3r3Cv/EvHLwlLwcxKxScFFudQy\r\nKKZrK0eI10PowfOFe6krFz/ol53phUpcps+yZf3XYHZHMcxMiYf0Vf++tiYw\r\n2HHA+DYy9np2MXcnoZEtWJPnCuH8jkwgZJYYeseF1fL+CJdoIX0wVhoIiOud\r\nA4djU0ym/RA2r8VpYFyme4VAIg59thTNCyoHMDmOdrWYd4GQv5vXc/T9sp91\r\npKEmBbjc77Y1xvPocIz0Eq8T0kfcDMsPYj7B+2TSZAOJJJt7+ton7UtuB6wP\r\nSoS+QSwtXkZx8vt/4MJIY/dxPYqfCQNcHGi6mN+8y5DIZAwwugmHZsxaLmUo\r\ngk2I7fk1wJBE0zWv8se64FRPCS/aI8Ivh1pxO0SHooY1bDHZqG3hbpKty9bH\r\nLsxhKjNfsXHToPy/FfG1f2ym04wXDSwCI4u+uPAOCowUlyWnvO0QKaEeIEVa\r\nB+fdsk/tUCWJDLr1FNvVDMvUTU6z6tlXfPY=\r\n=AByE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.16"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.3_1649927381909_0.4443738698598434","host":"s3://npm-registry-packages"}},"0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033":{"name":"@preply/video","version":"0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9c33e5014a13818ca69d86054b0b83477de66abc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033.tgz","fileCount":958,"integrity":"sha512-gQ/bdh0usVdHZWaA4+/aFRCtpJ+mKAxqa+aBu9OtdOMFM93e6XIbGlefHo7y2JX0/bnTi+iWGE2+crRYXOdFPg==","signatures":[{"sig":"MEYCIQDOV9aQPHfJuhNDuiCaRqhn4oEgFNtTY+QhpuJ3bXOJOwIhAK/NN7oW66ETn8wCJX7/XT1Z5LJnDmJkIkhkFFA77abp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20752616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWDnAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwBA//aeKZe52QR6SRCrAO8CCiMLRHTnAt4O9wMl5TUtk8U3k92/Et\r\nNddfG0TkL3P03EjqzrPUUjmG5DmxcxePAqNaaF5x/4Iqwz9rnRt5Mxx8Ku6H\r\nHpilbWJd6psoRHp3OhgEghSXQMKhgVpL03BfCx7NEDKBHrJ6t+w1Cmfhz9sJ\r\neIwPsZe4oknAkag3vR96OoJaie9gUFFnUhZuOKp/rb1iK0vG7fHWrRzb8WLh\r\nmIZVxjPjuS2RD4iOx7v7C1nDr/9/ncKGk8AFWReP7gdDK5v+ELASreuRNN2p\r\nOROBou/wTcy2nKbbMpJh7XR4OBXbWlfBJvDTGP6fc4TSM/SY00xOgEUS4YQu\r\n65eQr7lEYgLRDggCsQ0GZziR73W0Iru7JtSPrhC8Zh2ZVfax9wx20Ow4BfFm\r\nU2f0K+Ci6kpbbh/+rP9FAFGVn6YPPfZujHbIjnXI4QIFYYsEyg+mYhYI5wwt\r\nZtBGgz6xivy5wX0wMUP0nZCCifttadeB8RNaVeCHQnKJ6EF5ig7ubqYM1xcn\r\n94/NR0ezu0jfJyLen5ZAAZPYVQyhsSJ2CjUI74Of0KoGD6rfZG1dOMD8GHA7\r\n2Cf1lDS73qXuF991DxZ6DPs/R1VGwniKs0bW2k4/88ydSqw6KxMaFn1aXENo\r\nE8w2wTefeGM8igRzeEP5L6Mdpg9G6p3gD7s=\r\n=kMjY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-9e5b7e3532cbc3512fd682485112bd41dfad4652"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033_1649949120544_0.8541546511965621","host":"s3://npm-registry-packages"}},"0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454":{"name":"@preply/video","version":"0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b53899cd7f1a52b1e6e5c21abc02cc1ef11c3b9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454.tgz","fileCount":958,"integrity":"sha512-ZOw+VfrkOSrlA9M1mAjK3GBB7khb9+OJMrQpOfY6sJ9WZ0F4aqrVgZm2az5rKuOv6Djde8TGGYH6fZ5Raay56Q==","signatures":[{"sig":"MEQCIBOOgIHNm06OqXOZmsUB4ZBHOEefHVxQbPEPT85txKy0AiB74DeaywOGDcMAkiNWma9BsqqKZSYVBRzmWh89mX9GWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20752616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWEn0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1JA//WmSIU39Bo2Dsq2YtpqEZPvTriUviLMNfLouvbl9cafVLOiI0\r\n9gWEDlhlHxB0H/wwr4nViN65MHfF/l9qdrPjCZr1LyOJW1h530sv3BmkaQQP\r\nEduSIMi0X4JHvvKP4w4BU65vCP83L5iiRDG5Gzk+OvSGF4uzaIc900AUdJNN\r\n2Q5pxDsVK2yeJMkuExtZs9SySTzEAqqRHAZvYMxuOX6tni6rCYHDcCi99WNr\r\nwUfkV2zPpvLokoeW7hGtPeMckdLXsTzV5VKFNyU6bLbBleq0Wz4CiOtoZQpB\r\nFWay+1Hq70A6Ke6rrHRcfLRkj0QgXH1IYKSO3aMoOEgFu98QaFVonlYfeGa/\r\nBTRCXC9Eir7OUxoWByGOk5H5aV140Vxj3qBC1GMHQmNHtRt4PgS6TDvSF6XP\r\nZ0BL5v0Njglvbh+D3ZXz1echFvKElr3FYVap/IXRsB6iNNMzi9sxBRA/8xJ5\r\nnXdD73Iqy0RXvs6OLdFrU9IFk8lVPZ91DytRzn7RGqa+F+CXuMS5y+USmvT6\r\nA1syamnBu8a30mkS9QG2lGOXWn7bpJZRtQVEaysZNEocw+7e9V3ZoGck7us/\r\nszbUkn/HlfWeW/EjvuPQO8M20mtXkDl+weJ+4GgF6W5QQDBeUTTsWjhLrw3y\r\nkY8id6akeTi0pPhat3EmzimA9qO6zVxRFsk=\r\n=8dwD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-9e5b7e3532cbc3512fd682485112bd41dfad4652"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.0","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454_1649953267994_0.8730232768788571","host":"s3://npm-registry-packages"}},"19.9.4":{"name":"@preply/video","version":"19.9.4","author":"","license":"ISC","_id":"@preply/video@19.9.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e9631ae0680ab83cc5692e6fb29e5f59ded770f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.4.tgz","fileCount":958,"integrity":"sha512-VKpIHdTBpgFeebUN/Oq7Syer022IApsRgECd4voaXqWY26Yv/jIIzwkYWNKxxUp6QAAju9wZVbZru20mQNqhVQ==","signatures":[{"sig":"MEUCICJa6HWaiSOLEBnxYsdvlyhDQAUmU7v005dZTMFibGSJAiEAldxUaSUtwdvzW2u7P40rRwRjIVQL5BX41CAnjvkG/ug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20750929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWV9WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwABAAj1jCTtYzXt3ukyRgjjMkeouQJPmdem7SliPLUfYr12prGS/R\r\ntu9+cYjmFlEEGIUJR+Dci/NkmJN+eP5rBjGOMwqILKBDzPyi44V71KBxhXWo\r\nlP7hTd1rDYdccpsbnDOnTHQ6J/EY3Ti+n2JP9itCh9iCkwGWzuvERGZ5oUUl\r\ntnN2/qYIXqnxt6Yi6fYVYSfnCSVJooh7SgPwGlNchZBkLnRpiHHaTqnaTKTE\r\nMjMLM2zO4K2BRYoLsVRS+KrPDJAzH9vzFjeh+sjT4cBX4vvv1hi5okQ/XM5J\r\nFSrn7O3dRVtDXt+iRkCnZ1YEMsJZabWqwaqG94gefM5UB3SS+X+J4Dr1dkkS\r\nf5d8CyQwhaxIeK2lEefsXhvqRmGiwXgyinHVMKS7Y0Cb8f5e+lh32vREHvF1\r\nFWvxUCIGEFQMpLXcuAE2/u6gHMrP0SBdSplz+wn8bptnYWbtO7t4D2XRvypA\r\nZzOSpb4RQhtJl1nKW6nJe3W05gL2OvoAsO70WyO2KUVX1QO8GxbwRk5mpEaJ\r\n4jNQksWv1lE4GEGRClUkVlOcsMEBb3Zl29cJMXIDgShBtJrCg7xbhSs8SQrE\r\nh5Nbf+HCsJAsGA56ewDJVgi4qkqMYwLxpUiO1W5OveTbzYq3FwEGujzYXDpo\r\n5lgTUT0qLK3BDnJmYGBoc2JOHrozHR38ed4=\r\n=XXEG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.4_1650024278593_0.6679497805278272","host":"s3://npm-registry-packages"}},"0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36":{"name":"@preply/video","version":"0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fdc1e94310bb42ca2736577a6a7fe54f130fe864","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36.tgz","fileCount":958,"integrity":"sha512-KRf11njDZ7zqawZSXA6zwRR6izZmEdF6TvbV/QmnNwsOzsZpS0DU5e4CdYLKryl7Fht8lpGjaBau/9kugLbbyA==","signatures":[{"sig":"MEUCIQDXSyHsteAK1sxBKyirJtN+XAQMW8BIUyntkOC0RqG2xAIgZNGaxX8GkDhvWz6WWdDkEMFjnjHKmWd7eVf61XYL9Yw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20752594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXE76ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqp0A/9FGBbZzFOCSFAUyfOhkn2XCCVSpSnXfkyA9r/yKP5RbS2EKh8\r\nC+4oZ1+RdN3chDA1bGc2BBnrxMYF9qzhCGKXJ6k2z70lFb1CzElNqcua4+fj\r\nNE25qXBzLgVjwDFAHoXxJmLBABAQUIBWonKHdkxbjikwPUTEjqUgtW9rdgLp\r\nIaUwL9kK/628Jz5G9ViJRFBOuVcnf87w/Tt7vf4L5Zx+0oFwA5lsFS8OXUpi\r\nFTdxdHp0omTDvYu7BzABYD4hHALuH1FPYLXiOOBMZt3w/TqstVVStcfWMSKE\r\nMRX+9ZHcLzYgyG7GyTaP4OjNWc79DwlMgLMRRt3tndfkrmJmTXXeaSrwvQCw\r\neidBa9pj/Gu+zLgTWS4vMj79vLWRmlSHyAi33izuFX6evTA505shh4BVC3Z+\r\njLUeju4q6LzlrVoUcp01CulMsQFBaGMV/gBWLm/J0wsCL+9JJN/36T+a0jjU\r\nxdIkP+/j9nODQ09FRzO2jraAtYlPfPExJjupMRFCMxJx7r0qfc1Xk07Vv+sl\r\nSwsOO9dhUU+0NFrkKDaYAToQNad3fue6EAagFqIgY8uwx9yQVB83hCX9fgQA\r\ncsGX3ngxWm+KVncitK2n4zwfFt2c/KG3agMc9sUmr4j5T7iYdO1lBQaDoDux\r\nQnBkRHXcVtA3JBXuym++MvSFE84EKOeugU0=\r\n=gqMg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36_1650216697922_0.12395945232033068","host":"s3://npm-registry-packages"}},"0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2":{"name":"@preply/video","version":"0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ea636be10388995b12a4684af5c5aea7756692f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2.tgz","fileCount":958,"integrity":"sha512-ta3+1cA5VoNLJy+UzGXcx1Nw8MyBfDUUfEUlTmKgv/A+H4DxsH4xlKKS72jafbQAMJ7bcRG+UrnM0ZNHx7t+sw==","signatures":[{"sig":"MEYCIQD+LE4R6HraHqVpA9nKzs1cxeDJ24cw5a0YcGsS+/a1XAIhAMSKAi57NpS6zBaAhI50fF68kzFo+3s62CvsHuIqqnsp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20752594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXQpmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbIxAAjxkKayB3zVLkaOgSRo7VbVCmekxTkYdmiwPnmi7otwoGO7Hl\r\nm5H8jsjYDB0B8k512wfHDrzQ53MWuJO39Q61YK3RN4UCgBEbfx0vO0CG20zz\r\ngw6woFb6ymB5TuDx1s2fPqgXqIeVe/HIJSyqq+KE44U4htohpFyiKuwBB7JQ\r\nyhGFHcdb/0FktXSZX3dxCYFktiR40P5tj8z3/jdU3Fg+bIE/gpAsT0xl/wOX\r\niWsb0rg2mJjro0DLZAyLkX+FgDtK/S1YqCyXrKpHsHepD06MiWehS1nq3IPE\r\npTA/MIoElMhX7ky2hgzz3KIVxacQrxKzQzZIyisNyXjlFtg8JLCZVLg4r+Q8\r\nS4SWrdmg19u+l0SjVBIt58IpqlWCyl0tdKW7PMoJsuyqNPOWGsLGFRTlY2Is\r\nUKDLVw1ve92PEOi4u0amhbkL3QpRGVgf1za7YjintGHl9R2c4aG9M9QiEpt0\r\nZnXcR+qpReq3WoD0t6nicRWyDoKKn3ccRmr3LpqXTzei3AX+w/llLu4mX5bc\r\noIRuXWzD+Cc7/NzozbvfsuGwFlYdKFnU9yS3Kv03d7mwRo/1y6Pc4Bt4j0sM\r\n31WwQ/uYyBBuWyMtavah4SL3DOZerjfFIPm0udPaObhd1jWE5jrSXBs/U7Vh\r\n2b8LL871PDMA1aUhjvVfEMQlPBGmUsewJ/w=\r\n=9cnV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2_1650264678369_0.6454709768041851","host":"s3://npm-registry-packages"}},"0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca":{"name":"@preply/video","version":"0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"160add819418146e2fa000f1a708331a3720e4a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca.tgz","fileCount":956,"integrity":"sha512-lk/Ev+aMRtA9EQR9dDaAX4accls4GY9Tm+J1cXQNQt6AiDAXjXUdLH2B7IC6qhJlL+9vZ2Eej5XLAF0rtQq6Yg==","signatures":[{"sig":"MEYCIQCNpMq34fOGk+sc/eWQ7aW+jOSjAYIGq5U1/jtHb+m6TwIhAMm2IKRHftJNTAYZxYR/G55r7DkEp3ka8cYfqfIW3GPA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20752030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXS2EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqxZQ//ZkrrSzgA+pNoJUSfhCn6UkEjn6/6I5KvzTbqnTc4xy9c51Lv\r\nC11EsZEZiNk1Xg1hm69DLN6v+C3WuG00U3vQ6D1oXA0j7WtG3yoIXa1zFnvM\r\nVZ73eRgCZWwgQnha2JJAgAxU64G3/ke78OYFkuWz1tVQsMJP5p+TdoMvgTt/\r\nv+mySfzr4fMtr0mnrSinQQutLSkmgQNV1Yp1QPtYz0k+QeVEDR/ixi6X03WR\r\nFGdYcUBPLlytD8cXLPomGyLFTyHBUvQOpJm948LMXc791qXVgdhm6A3w25h8\r\nyzCfh6NzEzL1hdFGxat3xDcDiCbbnE4nFTm9I+0xOl8G+WzU8azLI/HIdvWc\r\nZGqaOq9fJHEW0vKVe+RjEOSh69v3eSiM6ScxsLuz52GnnLhYpq6wMM+k6o4f\r\nuWIh4N9fEYXlNP9ojGSMEAej+FIn3cvZ8yoSfdxZakLQkmSBpDg/6ju+aj02\r\nEfvYBz1wLWa54icr9gjFuyR6zEVUDh8X0WvLiSGsE4GL+XQaf4PfOSvQCjsV\r\ngCl/saHw3W+Ck09e3IXVz8Ou/YngiboHfSBhx74XrS0j4JJCaeZddRXpelSM\r\nsfvzN3bYn23JxtyUnSxoXF5HqdKaq0wp+kt67rkmzhVmDTpsgmHk+mB3yEmo\r\nOJ0PMFtDREG17r1BAXpnFSOMsWdozzSibF8=\r\n=U6SM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca_1650273667965_0.20921118584046106","host":"s3://npm-registry-packages"}},"19.9.5":{"name":"@preply/video","version":"19.9.5","author":"","license":"ISC","_id":"@preply/video@19.9.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1167b0332dd636ff103ca6bb50213a507e69f9ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.5.tgz","fileCount":958,"integrity":"sha512-iYB60pRAJ2jYqU4O5NDRrC2zpxNb6AXN8aQu9g8P/Hybt/0mYio3IcUg4z3fa8odoXQTf8F7cPyFTiUD75Mvnw==","signatures":[{"sig":"MEQCIFNX8DWlJkYVjS0l/rv5E+45Yy7FthMKGiwlCognUzV4AiAN8lPHCE6UrL+jX1EyLDVaXnSYdbdMY7tVjNGB9gZIoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20751109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXS/kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmon6w//atDjlPc40Sqt7zI9+FNQp87cV67DLYmC5Qdg62MTvvgU2jW3\r\nQ9m79qLKVXDnKk7+erhBd6nqn3hYKdVjGhB2BADMOjFlFM3o1kZlKqln1lqq\r\nWfmWoRgxRjsRULnw/0xOyltSDNhhEvs2Tfs0x8LWG/xFrd3II4HKa/3aJQ3m\r\nvMOcpyHGOPgC6DFx90wfQAUko5SsfdjSh9/kAuQUMEM6Ki9wXo9BBmE0tH9e\r\nOny9NlHifxaewz3NMBulBJ3ArjzB+DmTmf0V+yDhToGCjwDb+9OKT+oDX+ls\r\ncokvysTbcPvI7CUHorNi1pqUSEask7zT/vsOm3kw2DUl69Cqb55hQ5rmJg4m\r\nRXGEMMJRKx5PZhJU2GufQ6OwUKTLRC/kZtrNNevI0rs9GvegVS1griQww11d\r\nREe2QqPogf1s6tFGwO39zmtkv5VbO2xqlOgNoGaDstM2h13Cg94luaKNg5IK\r\nYthLFV7OFEpmfBI6dAf/+WrelX/q0Y4o+p2pgC1PN/cAVeXA9MDHF+0c+Wnu\r\nOXMpj6+p0At/DGPgtnua5G7XNnIiAC6HEWYs0fXMqRyNbA2jE89k+/wpu6zK\r\n36b5mmQiugjo4EZnV1rn4u5hhZA09ebLyvdmC8oOx60Uer0nHmARPqPuaCVv\r\nyuugvfby7OBGyEJwyQ4uol/Oo0cdlEP3GFA=\r\n=y46H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.5_1650274275783_0.21367336879706267","host":"s3://npm-registry-packages"}},"0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c":{"name":"@preply/video","version":"0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a2df6ad425a1ac224cfab1866cbd989beae341da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c.tgz","fileCount":956,"integrity":"sha512-8/RHirGmj67NJh/S1+Sx7UFnvkVmFZfXzRNVbIuvOSLAKSyyvUl9GLArwuYZWgWCIrgCY1VreQYmgdPWuWiNVw==","signatures":[{"sig":"MEUCIQDpwNigANHd/mGnwoSsyQO38S1XZmyvOYDr43r8g9yJ2QIgNox/Al4FAkbJW62yl3DIe1T3P1/9e2ztca2TXH75TZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20756726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXpiWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquXQ/+NKFrIHoxn27MxD/A6Id/dTcO0nvnQSsAYpobtb3FTqXZZlvZ\r\nWjO37HzYFsgETA7iywF9llVuL5pzkEJH9N+Q4O7mtgIBkX2bov6mHjKfOsJO\r\n1Jv2HcQ7VJM8dMLcajULgqYvjAHxEJAt7Z+a8jTF/uTTO9XmZylSPYzxIMhm\r\nJ76jbfvJluVj6iO5jZZyM8MsLEfbIhlD8DEbjwycKZwSUgddnAvue+WTkji+\r\ndJaE9XPLKM0b3JbUl7URaUrD8bglPv8nSM9t+VJlAmMIuFSJXtKWu3j9oM+J\r\nQjjKWKkSiXWpBLojKO8F381s4u6Dcr1m4+CBNxyKNx8i8EebJpLruWHogvTP\r\nDAs6wSGSOBBJut/+B1dt26F+avM4o3ntbeFmv0ll0lD3Odtm5tjTrpQ2m64E\r\nhdCMtfsQbDIoxuWC/Bnw9IcZEnYnP9Ko4lI6Tg3b3v+adoo8N+6gn81s69Qy\r\nFNQPkdAcZ/o83IWyMviEIaWgJeP6N3ZxR2/SeRaSNDtN4xl5ZqXy6cwltU5l\r\nKsU5QL3R2qtXoFpoRkvi7Zn+RalB4r2mocOM5SLqULHGGBh9UH7uz/nLdYzo\r\nu793zFHw+ApUCIcrb3uSdjYGGScGo2vzkgzGyII9PAhOZIVbM222ph1KrHYS\r\neKEGFq/RVdQA+BGMFemnZ7jPhKYP911M2tA=\r\n=3GwW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-4ff178f70b04ba53fa19579d1eac2bd94564a2d5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c_1650366614152_0.7320727656262298","host":"s3://npm-registry-packages"}},"0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd":{"name":"@preply/video","version":"0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba694d320c22008b7634ecd0503ea79f8fa2680a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd.tgz","fileCount":956,"integrity":"sha512-DLnfS1/rD8AUmYgAX1HXkgf6Vzgy/ulDqsDsNLWlRmW8vKwQoQ7QYOMLstcRQmK8C/L6JAOJC3K1KybTXWYVlA==","signatures":[{"sig":"MEUCIDFXrxPcvZY5Ejhzui/wVZYBHt4BFDatRRHVxwfVc3EDAiEAqXKud50aJG1RUpw5mEN0wHxiPP01TJmy4Ao2jny7jhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20756726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXqxOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBvA/+IAkUPL8ZftCjeZAnPCsZ/AlLttPS1RTOZ269dF7fHDrqtbwO\r\n8qo+iQtTcgeYUMXZkBRXGstlZpqq3khDbDvfKECWvRmvSce1XSN2EdlABDqM\r\n0PmhcOxNjXmbBdW3kPs5i7l7w5k6kYhC8FK/Da1/QrL4/Fkt5qJuNslrhSWO\r\nX+vDp9I3y7QOm/7Dwbbygz92PKZmp+Jj79fb5Sok9W40uMqYhQN+bOUPD1wa\r\nz8hGEqJnw1YlRb1ZG8JNyxyTqvNgGXm9mr+akoJHZKpjmTMBSz+4BruM6kEG\r\nGJWEcrGtbIUlWW5rnagCNnLIfzk5NCcgRVTEBWBvWvLJ1GvmCoteyWRROfen\r\nKXN5l0rso7zo8kmzlqDXKCcOp7ocwrft3ziX97rnY3korJZ9vJOJI2dTbNd3\r\njYLArRQ5nhi8vbR1gRXZ3os6L0gYpcx4vUmktNizSj0AidVktCqXmjsSg/2w\r\nnaZiNQIt8BW8E+B4DfnMVBW6LedESv7Wkjg8hVZXBst5D81ZgthLe4NH6Rjd\r\nEOUYHccIILib9Bk7Fp6dHTh9oYESy/j9l7LDwkqrldzTTZCv40FPqPc0dMha\r\nnPxRpVk6sJHP4zYBqfc3b+Rw90Pp+2cGRIfnC9adERkdpPPqzei72fOHBgCV\r\n2X7bF7LX7En5pBWpAN9Tcm48QIeqphD+Pfc=\r\n=5prf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-4ff178f70b04ba53fa19579d1eac2bd94564a2d5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd_1650371662053_0.9754972830625945","host":"s3://npm-registry-packages"}},"0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229":{"name":"@preply/video","version":"0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff27f1264763c37e67cc55a873fd36b4620780ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229.tgz","fileCount":956,"integrity":"sha512-GU74mifGdaCx4XU/5FL+PXsCqVfVrpAuCB3YJT6Z/jDxGwI2kjlRFRbiaul5yayuJIOyJ44sZ/qX2IsWs8b77A==","signatures":[{"sig":"MEYCIQDnGyUBtqFcVTsIHapilZmvZFNHD/H7xUH+PqHE1sxn1gIhAMwo8CcJldWXwT6KSI+BVSJCRNOggy16IboYgxNl2krE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20756726,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXrXwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrE/w//QcmoKW1/IVI7KfFeSobLpmcbIxUMpZAilooRHjyCZmBLgVqa\r\nD2Qo23zoQ3Pwqfm1COMW32X5uyaVkaDi5w4OhSbUTeR4POKOpHvV3VaxklDO\r\nD9EaA9d6ZNFGsQFeAI49oCvoOoiGWyPSH5tU0MJD8HqrTwCB6Xi7376RiOk1\r\ng7cSlHrK69VL480OePFuerw91FhBbTZX7Ky5K7/JE/JpXBueE2cHxRX2/BT4\r\nuJ6xAFTucqNLFVzDa8pXlz0sgNbefbXWZ8Iue1DgjjQFzij+RwMkRln38uPs\r\nTRRmr9BWKna9uM1r7IUFwehcQ9KEj95xI5SGM4uJ7pVPIgiFQOCt/2DV+FqG\r\noay8tyoUHGu9bifJ3fLENNUndb6aU/zFJb2Bhl12tHPX4ll9bj2/12yAtZYv\r\nM41X032Fs5N9xh24Ph65bluttAa5dQxGPePsENG+Bru0eRkz9uTHc4lY5Jcx\r\nwxfq/VYNPgjYwrHSXvlRTOu9OpXHCP2CamRwI4N2JgoMGgiBh/LLp1MV5qeu\r\nC5EQFxTmovCWxKNTQe6CGp0QQLcI+hJc5z2ieTOJvBxX67nZZ6N3/CxSREFB\r\nRSlH6MH7Lh8bTwq0JAmTv9YNTFZnK46Y4p1IcFfpRVqFV4Ow4WwFRAhYGIjU\r\nkoqdblY46pD1OqzE2JC8g5Hlpgoej/vGclc=\r\n=/aGT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-4ff178f70b04ba53fa19579d1eac2bd94564a2d5"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229_1650374127937_0.5117471062196375","host":"s3://npm-registry-packages"}},"19.9.6":{"name":"@preply/video","version":"19.9.6","author":"","license":"ISC","_id":"@preply/video@19.9.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d537762d79845e60bf9f89706fd748559a28ee48","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.6.tgz","fileCount":956,"integrity":"sha512-Gd3URoppS27YStk8IdvXGSvTbLuM+y1RbA85D6q49dudyKQEDNPtdQZlDDjH8BnwQ8xi4x7RRNo8NVDuqVu4XA==","signatures":[{"sig":"MEQCIF7p6FVefVkGaYrITrlaFPyUO+lXQW2h5doVcKwXjlTAAiAY6fzSzkjk4+pCJquQYnMXR5wPcMqSvYSJkK3Z9Oqo7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20758921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXrkTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpK3Q/+MORl0G0ClnTFoJiAKxDInOHqzF6zPlT8Tr0eNAXKZFujxSrR\r\nSW78YqXWSxWGK7ljJCTUFW29ZiGt7TDbeR/rzeSSUf8U/79YiJ45rey6OHYF\r\nF4kc8MsciD5QvT4u/NGrL0t9xVMLjQHhT6U0GjNWQaFhJcAKRWD794GNEbCN\r\nJ/N/qChT56fcmMGCtkdw6zVujPnH0mqskZKnmRrNvD6FBKMuqLoyT6brhxXm\r\nYwk9ecvMtIKezL6CKxc6vA2Hc1WGk4Nb6Ib5xuRbDU70MLVmh/oe6FObRUrg\r\nIm1vy0ahj+6cMHt047KUInsZpYws+SVmaveXR3t26BAdc4bwYPZyc5KQFHym\r\nbsxPdWWY/szMMHGxdyfJ7z2Rp10sW0gcUoHU2DENDsHFFJANus+JZnpei5dA\r\ngnNyJna6Jn74k4o5oXCxhj8jwoLQSz9JpSjgtheElYT5drG1k/kFiTcQfM3D\r\nF3K/pQTMwDc0BNu0+SqvTSXAKz8QqqGuU87cw75qi8y+emWi//IuxwWYgeDO\r\nCH1d2E+xI/fbLtfzC9bn66QsYlqlqPcEzDsuvLPV+m5p8mpLy+w0cF/5VoHg\r\nbMMoMKAitaheoe62Ouzsep5f67l5H2I7IUBSQmxaLvz/AalmSmCh9GWOTVey\r\nXoAXqD/BZuoAFZvTI9wyw1s/dZFADzQMYAs=\r\n=jDZ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.6_1650374931030_0.6663239617066612","host":"s3://npm-registry-packages"}},"0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9":{"name":"@preply/video","version":"0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"34ecb0ad63827ffaaca72e08cb8ced8e1ca87fa9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9.tgz","fileCount":956,"integrity":"sha512-3+GYE30cyw1dP3vBKOz0Vlgba6OSfl2Rl3MtH8Gw/d+97uLnVGJkC0ruAhoc82ei6oZvQwvOFQ6MVJqugP35Aw==","signatures":[{"sig":"MEUCIQCcOSBI0ccC0qAe4p7M9TqO0btG2vQQDVecy5g94O+zSQIgDddS272vp/46IG5OPxjVLPu/80bKSLSjb19QbZPs8co=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXsA4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/RhAAnEN/YyYB2h+06/5DfOcW1ueCDgdLPdpCLt1myBNeyzmzlbxv\r\nSdaECgnM+Qs9loIxCf6YQiHSmbV0unrlJnk0TT8esad/wFBa7PgT05WtP1cz\r\nfmUQrytEy2aKAVr0yzW7K94tvMs06KnmE0rcmg+bnzZitmqacCJbkdQFwdhK\r\nc3Ie4mR10i1Qpzp1wrjfKNJSqRw9nlNecfvr1r+LIDoYmIjYxG9Ijuv5DNWX\r\nJRTX5FOMFQUob5I2DxZIFxTyPds9Ur6CBFlaadSPb3JLVVsgpRv1+NazlwNe\r\n53B8JrN/hodNhVHzqP9daUuQ8jUaBxZEFfOLb9EYlcS2iEDonV8IdMxMnJNc\r\nF/Y/5FG9rt7L+LfPigJt5vzIYC7CFsXe9bV1cZWVKMlWGRZqRhbL4vYbOkgg\r\nbzP8R0/ASjq7iHMfgfb7fNwKpB0bWr+/NvRPQEoai+nsMCIpo2b6D6xX1lx7\r\ncn9yy27O0cBDivPbleLvYAgJ1/nsHIlI3T8Uq84Oho9gooeh8qKbh0ibOGha\r\nR1Y1ZN23oGg6c+/nGwzi801Q1c5bvCn10SfkhJda46OGjtjt2Wm6tH6gKBOV\r\nT82oCo1RxatLewRQqSlWvwrXYM0RwsdNSwMP3zlSGSKBiK+KGsMZb0oZ8RT2\r\n3GOBSDNExPmptKPj96rExZk6coBnjClZRfg=\r\n=j3ih\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.0.0-beta-d8542a0287893dd19dd242d3ff51d47dc82f7e1a"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9_1650376760365_0.7307184907630491","host":"s3://npm-registry-packages"}},"19.9.7":{"name":"@preply/video","version":"19.9.7","author":"","license":"ISC","_id":"@preply/video@19.9.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2085ee23986080bef2972e323d97eb53cdaecf6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.7.tgz","fileCount":956,"integrity":"sha512-p6mAPxq7d5yAUsTlfrgibQCiS4JYQA0nBq4s2lqzBA3BPnNrCkJa2hFBM8FnIcGdm/cOoiaRG3aozpuaTdwwbQ==","signatures":[{"sig":"MEYCIQDegLh7Nd5Nh2fqxS4aL3Suuqg3dtGc+zqf/rNi2wC+tAIhAPB2SphurJRZRKHDGURLn+rm0c4gEFmpALfpshW2lqkt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20759296,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX6xBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp68g/+Imz1mDkh8E2Z6OZpMk24ucmQINLr5Nn5D+/NwY12eUzz57hY\r\ngz5WxNyFMdCaM0EPNqo9k1oaUR0vKXUelbZhOO9kkJ9M5Dv+/wA2tBqGfMPG\r\nNzV136w/hCof9C55H91GDqY+sTE7UNLrUhUhOot/AGqs+x5ZaZzFgI9uTIj1\r\nVkCjAbGG2prZbhIr6hbUyVvQIfNeaqt8JSTG9l8WNefm5ENFKHxx8gVon17w\r\nSqeIAgb0ILXSPIx1X3O4tUtuBIoaMltXvVCsuMfpJSIpCK7SlXTeSlLudB9+\r\nKepwYrrpURzTFsz+3s29grIRyntPEMZpsVc6ogBneVeXblXt57UKJ/er2Qf1\r\nkW4QNWpjV1aRFZKnkQIpINYyVa9Y2D0xP0kSfXMhJsEXjGKTDqsoE7VtaHqP\r\n6lgUyfzXvU/8Pm4dIK5juDoD3vm3OZ8zlyj+PT36aghPsc7PqcVu6UOQdidC\r\niVMkvl/iRvg1S4uTRpQoy8Mear1OCmPcRDDeU4cBDrACl5JRmICH5JxNDGRv\r\ngk8Zr6z7r8LvuAijtIbVrCwtalw3LeeI72DVLuDWMCDwP2TCjP2BEPUqmkk3\r\n+/F9bweEp5nIGb/c3oMJ1zkn89aabUri6+dOGeIIntC0qaOGywMDdESfPXA8\r\nZsRkuZwMjIQQ59K//7dnO/Npe2uZNdvATiQ=\r\n=ZmZY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.7_1650437185449_0.36740493738311475","host":"s3://npm-registry-packages"}},"0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d":{"name":"@preply/video","version":"0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33db820c6ea917cbb614ee8816eabb780062fc74","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d.tgz","fileCount":956,"integrity":"sha512-+1TlrHlR0wQW7IMTiJO8KHJ9zuuTmKN2kIY415zYL2PceW/uhr97WbMySQjCKFM3F5GJuHCMdATzRCzwEZX1uw==","signatures":[{"sig":"MEYCIQCB7haHVgopCYN5jr0/mjYuxWcuj+R/0ZoGEBRUAZIcUwIhAOTzgaOab46RVFp9ix8R6gt88M5KjBz1on2WrvtdmqrU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX8QJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFjhAAgSZht/d+T08WCedh5Rhmh1Q5fyhX7nX6aRFga2ypTARcrpcj\r\nzpzk56PSXcc+hiAmIi3rhNQh0OEM3fHq748BbnMVpFSEJW8IWRxslNfqwQsl\r\ndZ2YFvTFLP9g2p66RNhrW5KdGQtkOi+VSTnOF4ruIHN2MWPj0KBy3Di/me1L\r\nOgiql1SJiacnV2SLO46Y0Ip4UqjML0eRsDuXsxHJsB3Tb65/ZRTpddGWoTu5\r\nmLR/aCKeVaDPNqEvmnDOm0L6t+gzPdeminydYn0YjQQqB4hFn4Yq4YTMpc+6\r\nBAR4Y5KZcJPbSuSV//kNCb25O6mmWQKqr2oD2+0lgI5pPebAoC4NgibpzDiN\r\nlvs70GR1X0bOABdq/D7IwuhEDo7PoXeyF8EOuHX2So2iyZYiIUkuIrm18aDU\r\n42A8kIKoZDTFjGsNEsopUIab+exGYNJCQN5XED42IHCHLLp8OcFzNlFTQr1U\r\nS6gbXqN/ycPSnkd54UsOoWP2FsrGCsA7625Pz3ZRgETr5fZXOdqMMdyKQSKw\r\no4QwkCD38xDCQsEUUK9XhL0poO9uHnAjgJoUHm/f6g5W6KSeb82ro1FHGrc3\r\nCjREz28DECkLQNIfy5R4/pPAy6G/eel+B7MkuSIrr+tt+b/rbNIh5InUKIuS\r\n4qqXgV8GSVGrKv7AwVpZFRTOsVZeS75OZWs=\r\n=vVmu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d_1650443272654_0.02745304035288232","host":"s3://npm-registry-packages"}},"0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81":{"name":"@preply/video","version":"0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"12e5ec931f4be2112e3b21a90b668d0ca030e2ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81.tgz","fileCount":956,"integrity":"sha512-pFZ+JUAvu0LSP0oHNqETCBZiBa80AQWKYLZfOU5ePBI/kktA7hMEJVM0g3uqfT0VsxCcNYwvhDVnrfB80MtkDQ==","signatures":[{"sig":"MEUCIQCxSkENWcpwPZd5JxSQdp9al7sCZKeN4CgwYrAREP3E1gIgdNYydxYvkFoScsB7D7+yZ85LXfNSB5Vdg/lw5972RZc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX93vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4cQ/9HJlOhQExT1q5ODqJ4JynK91l5HEj9BGwtSGRdriIjwg6hBFG\r\n/lbneIg+ZA0cQTaBuU+D0eDppdp4ftGTa7RAkHjy1Izpl/LrcviTqA7U9Bcl\r\nDD66eLWr5QFoO7RN/MUYeLVvXordkp4opJbXADka3wxvwGtFeOvsfYp00AN4\r\n14g1+bKjcRuhfpW/f9RaEkmN7/I5lQg2fMTq9IheI6FbrzJldwZLrI2yvQ1w\r\nV/W45Pmd/zD6aTJjF6aFM/5tcwV4Lsu0V+vdwCS/fL74dIT5IdOWjyqRnfI2\r\niR5dqwjBFc+6uJvxnbgJiEagQLu22O8XXN9O30pRjC7IVhJJ4L0tsZfRXBvG\r\npPCUPxjb2fbDm4bSHoAEVFFjF6kOU+zAzII8wTccSFAbUfoFVubRIQg4VnWR\r\nS/J+OQnfiVObTHivNzRhizHKl/ODbVWnpXz7sZ65Xf+Xd1t64oGconUPCxXg\r\nCc+005KjRR6NfoU+J7rznY3tMhb5cSLcwiRHcCVpUJrgaBCQPyXXGi8owEDb\r\nqD27fkdcbfm8q5yZwLqAlZ/34+ELtEl2hAjmvkiOLFCXWjqTAUCCQ0S5AyrG\r\nkNySTMjlCJyuvOgADHDWAjA+1tQFahFaMX4bsMtLsnmh6OXQaA9yVaUDN8GM\r\nLauxlEq922eGeRHzPtq0CUykFrg2cYV0Cks=\r\n=U6Ws\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.1","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.1","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81_1650449902763_0.6223918343439947","host":"s3://npm-registry-packages"}},"0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d":{"name":"@preply/video","version":"0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1663805babe3cef9377696c22f186218efaad1b3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d.tgz","fileCount":956,"integrity":"sha512-chbGId2jOk5VBnQ6mQtuMGCXETxn5tgdZriUdt4D2ZeduAtxWhRi/9/bmWlB/yqb4xMMy3hPwx1yF1+lp/5TvA==","signatures":[{"sig":"MEUCICXP37B0WjsHouu3Bv9a7K2v6c+X09lxLJhRDi3czVOgAiEAxZ8vvShSUSQOlpO3ws2JVxWgjWpvGViw2rcaY6xFOhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX/grACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCQQ//cn1GyaJf+ITSdhWQsBTU4tIyw6zhhCiuGnRTuSu0ab0Qvdyk\r\nLtR8PlsHURV2QWSAkXAszXUqk7VjHYT8CVYCXHiotemyp9izEuBSIElj/cKR\r\n5Cgq1ATjF5AaQfSyNPV7B9ZEKpdGLy0n8x/tV28Qogw1QrKKsdQo8GkR6NCn\r\nyDzJyFO+ikTHxujZQzAgxyGJtr2G1y8ltRrB98N15HXFY2/hh1ORRXOe5IC+\r\nvu+Ux0JzbpQ0ykgEf/62wpIwVSRqK+SRuY8phz4+ES6ljoDpQVwVyAPQhuWI\r\nFtbBYCkZHjGRufOhZ41V4V6u1iDdw4WXWyKZVw+UUNQwv/2P8VrXjQv8THlT\r\nTHKTJGWP95HicCEreLkkMGSvN5bMHhN6Biwf45CNZ8YlhuHHc4dhUHjG3svP\r\nNw5a5QlbU85saE6NgViIPOsnrevy4r0UNWthJAUZ6tg40AwDsbsG/Hi4zXTC\r\nY8slAQHabK9gvUCoKXZo47a+UoXV+mTGemPo5W+Hmv2GUZtnfp1RMrNiP+rX\r\nA/YGWYd4FykUb/KHbJrVvyiNA9W1wivdx3+/nT0Zfj8CTH/ydD46XgGpSiHY\r\nzCx/ptIxEAQKt4BcvDcXGBlx08x4uLU5fSG2UelpT6eg1uCES6rHigegBDQ+\r\n9jIoYJhNpyKer3LL2z5TNVbr8q+n3YaGVTo=\r\n=sT6o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.17.22"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d_1650456618347_0.07029824447617838","host":"s3://npm-registry-packages"}},"0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c":{"name":"@preply/video","version":"0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"be441c04e069ae8ebfb2d8fa2804c1f382a165ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c.tgz","fileCount":956,"integrity":"sha512-2u71mt1VqOU4KtYckJs0aFQzeD4WpIU1vxH9BsOF/hZVSwKxroYXdRfau1c8FQI3sGZrtZf2suXW21f6kVrsjw==","signatures":[{"sig":"MEUCIA/gSoF4cP/V1duFYNfwIS/4mwHAEP4dZ7AmPBB968/NAiEAr1r+54H88JEUSkVSdIUS3CgJa/J2d20h8Vxo5Pt48rE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYCkjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmooxA/+IFqi07qxRogHAMbsSqoVF4GYfMWJrMrm9RC2STGFKWHJm7h+\r\nAXUeYrjLleMxCMu0sXNHn+XGIWK5u5Szu9b349oAuXu0n0gxXxztf7hppq/l\r\nDmLaCIqhYlZ+ul69Aqsp03zDgE9/u2bMzKu2gew3M9YZxh1UYwRdxl+tYWvS\r\nIhpLcx4zboFMB4/YCpYw6KPPYyzjq88MDztoVVBfqakk/RAzNnkBGXhNsGXE\r\n1xIBfx365TwPOVMk9VsANFICQ7hMbM82KeU8WYiMbOfcW1WXqJ/kfRq6fIru\r\n9fyZadPysXuP/xzIf7y/Stchvm+PGc0SVeKElLD7+PjVcmb0NHYB2FJV5weo\r\nwfd4zSr3AJsbpGMvQ3kh8Ub6G3kcLZ0+a4vqtwVFgXjJBIzPh7pjGcFaOrtw\r\nbaDgF5b0TnVd/FupW7iYMG11qXNqTyN92SO9JG5C1aq/EDr7SvY/IS0GF/Ra\r\nO2spVkqZ+IGqbzhSQ28Dqvxmwrv2DabUiDAoPnUFYkl32n9TuMIzmZTnquI5\r\njVWDEljAXSqcX+sSPeNXuzn9gfmFFgmGdRzhma9gib70XxJnFYviXRUntJLU\r\nOFQGWk9GCu/cWM3H1bv4XZ5Itrh9kxFYbyd4FdalI6lrI9kWf/31+L1kK5aL\r\njX2GLmyw0wZUQFYM/WIMm5xd1z+/j9UkhKo=\r\n=hfH4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c_1650469155468_0.8334845532489787","host":"s3://npm-registry-packages"}},"0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32":{"name":"@preply/video","version":"0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b817dbc49c3f8c6925cd5f5e3f8abeb88280fa42","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32.tgz","fileCount":956,"integrity":"sha512-fkb6kfKd4h3EnaeoIN5f1YLyVkw35cSMjsHP/p3FvCe8AVdfiXYEkJu2lzufOMxv8w70GjHuTyGnCNRKYomIxw==","signatures":[{"sig":"MEUCIQCGHQVBK8a+NUfh1IuvO7IDwkdXAtH+Alpby4ByLBk88AIgRM1kL58Xbp7/4/B3JfENfeIVoIj/T8pH6ailJkAModc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20761674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYQ6NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq39g//Zq68QkAWQjGUZncmgdK8ZDndykBb5gcC2YjZmHLnGXVwZaW8\r\n87OyQxhQuyA4nBk/ptTQocIEGIBYWwDD/D5CsmAvqmEnQMOgtNxj5jsYQc/D\r\nwFBX9yBFsqey2lAERa+UpZAcmJ87dHZk2R++AVVVJm75g1M6xKaSXIgIjKD0\r\n/jdNfxYMp2aTCAjzk4Bi+ow1y/1LmO7KyXJ8IgRN+EzOuLGNZy4YkqHtU1AB\r\nltfrAzGcQgjV6fQDU7kzmbgwXD+7kfbn+rIdE8+vuqisAs4vuxzJmjf/r4/k\r\nfy21ikBA892axKvBozz4jYYSCaMUKz4PeSFfT9Rd/I1lG/0jnNkkqg6U+s03\r\nxuXVvC0ltd1rDzAEA9ksz5ilCQD1qTiW5dnAdz/1okgmPzlBz8T0yvD5SZx2\r\nq7C/An8e+dv316C7fEi6cXCtqAbmMtc18M6CDJ67qg3sgZnGPpwvsnY1DmJc\r\nd/fxH69EfQfpMoM+7OfNyuqJpqBbXdwQ1U93RsJUv7SJDDF2T2m/baExmhyo\r\nB4aId3TJydqMT1gwBH+zgRt40EoF4GKLU+BVCGsWT/cQRLHM3n4ofrnxhRJ8\r\nyOCic6BnIea47KjrT8pHy0DzUVTRdhjNhxa6auX1zXxID9zyuaIcbk5Z0lrA\r\nAgL4E+4ekCMD6GTq62i6Woyco7S+PHgJ/xA=\r\n=gb7i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32_1650527884791_0.5013473217424425","host":"s3://npm-registry-packages"}},"0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add":{"name":"@preply/video","version":"0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"99a7775293c40112931ad1026e9d4fd3cf6d0f2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add.tgz","fileCount":956,"integrity":"sha512-OkEJI/WGIgVdyYdEikOPs+I9MluK4W+831EEjg/W9NFcmnaQiKWnXQfed+IjENvft6N1x88X1/ukrWCqC7ZmXQ==","signatures":[{"sig":"MEUCIQCxEl5FPz8bmt5bZOZ/61qsTbcPUE9p+KZY6jp8AdnP6gIgYpfZQBPPeZa07r2NMqhYvm5frQNyA5yUeLCr94+K870=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20761674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYSD7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9cw//YwThEiZmyKoe+VRUPGadCdgblU+oRuhP3CO6heXLxL3WonZW\r\nitzcysGjBinZm4dn+20iUAqE9s6XTTGhMhKEM4G5v0+it1n0gV32YJzKA4/0\r\noL7eQcq9nKrdj1VzpGwwQ8A+xpqQUigN4K+BrLIhPTB4oqUlWx7Pp9Hem8VA\r\nTYKsbHG9I/JFB32fOXFRlv19CqtegMMr37FufrSrviLyCMLJjdBNVrDTO8rS\r\nuo3f5GBlqJfjqeYuQZx6rXMKUHu/TvwNE7ODbPDZKFzqVJdAlhoQ2jA7Axt6\r\niShQKLZEYmspr9u9tCDkAW0rOb4uMjF64h69EneqzyttdMbK4rPGy7PDHwPq\r\n5fr/Esib8Ir+oR1QDY3HyFac41TLI4is6Afyw2qX2xaO6+i49ugm7Ryep5Z3\r\nHJaSpy4JqTHKR56TQIZqZLzegdZMn844f9g5tHb0IauMHD5/x7QMopkYsDNf\r\nUOEQLboqeaPYIOSL0Ljs71GE3nmgCYWYYcY7VJY98JTPVhT977mKxFZzCvBg\r\n/l5Vi2seA7SYdopXgQqRlmY4uEcKT0tIs3yHK9g3FJUdgZku+AFcqW/IuRaR\r\nmeg0AU+gq2ibiNByWMwOnCHyIdgD+O7PaG63UsYXhKuHFEYJK0wip0C0hAho\r\nWnAPOGOM0UEwi26Y1ijsieDkBjOykKUMfeM=\r\n=+zzE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add_1650532602981_0.8051337629991697","host":"s3://npm-registry-packages"}},"0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9":{"name":"@preply/video","version":"0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f289207c06d3fe2eb6e22b0dc35e9a3bd093c170","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9.tgz","fileCount":956,"integrity":"sha512-kOKzXrKnmOTNFsl0mMiVmdg05kxjEOUSkEL0WUgZfKvFzmAqJRJZD0I4QuS7PnomqhCoAOHpxqdwLeoLfH9Afw==","signatures":[{"sig":"MEQCH3aH8JS//hDfg0sX/p0NUv+Ha4oZ9a4KXSQLWQaBtAkCIQDoh3AUMVq0ygpxjFzpzR/yWPYfT6RyrXM9G9V/z+Sy1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20761674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYSrOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrT6hAAjZ1z5iaER7bEXWTcqMubeFuClJ2sB2ZXlHpu7EsxchxTw9DZ\r\naDF6zN4vdaEqSK4JdpgOTb6vZirA6W+xnqgUCuc9QtF1gRFUn0ayyWDhSjxm\r\n8vcEqKpe2dOSSndZLYgiFk8WqyAkFuog2zWMl9QuDQsHqliMEkdMPNC73/Up\r\n+sIm9Gp5uXBKVWBdfwlLEIDdeDG0FsJLRY2lXiMjIyj/8ypCuvoqS2zkASUk\r\nr0Krfaudsh+aM+aX3OKBfWfI8GVIOXJnkTN/BffvrH3jFk+ZMhizmttS1N+T\r\nQBecSg8D2QW4xBah1wohy0SexAIub4afRmlORqyCRApSpYuVghQd+VfQatk8\r\n4ZBYr3wMqG19t8sZsTgOuMZlrwXNGGrwO4LrV2h/+YtwjBuYIiA/pQ/RRa9s\r\nQqaEB2QMeoBAQyngKXbT60umJZ+ZYVogSzBN3gkA9i84ZheeoeFFy6kWyuKi\r\nrCF8PyMqMgwpF2IriiZfB95nXw+AHxfgSGf+d8ZOWS/LXd8iy5TOo8OKYumv\r\n3zMfQnMbdKQn6TzPcyuoK3DbSn72PSB6zxYLJDUGVjeq2PyFpoGMAv+5+exK\r\nMrYEVuShE3N36kl67Tg0U3VQGTu/XuM8+scHe0t0uL67as2sURV1rB34HB7d\r\nKUVyzcCcD1ThrIVT59GQB4OOhiJ6m6qcy3U=\r\n=e+5f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.18.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9_1650535117594_0.0004167009268980504","host":"s3://npm-registry-packages"}},"0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749":{"name":"@preply/video","version":"0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"effc1f39d197a85aac27b1df9015b99c83d54744","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749.tgz","fileCount":956,"integrity":"sha512-jKBn2HS/6J+DYcgihfwdPEsRAcAfs3j7WFPmx7GcCMxZttTLwzVdf4uBCnsjmenJ0di+SbkNMc7969C+tBcrdA==","signatures":[{"sig":"MEQCIFWNbJQat1gP9Xs/8CUogiU+MzXx97zPcwxXAbklF5tfAiAJdgQ1nHNZsEYB01K4OV/SjMIxQp7J6mXV0/HcJ1g9/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20761674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYTU3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoixA//b+HaUnpMtLTV2+ZvEKRdE94+H2Bo0AYV8jLT2k+apGv6c2KX\r\niNSxEqbsGVrtdKk9qrUgBTXAiuAoTwKHDPmg6X0cVTfBw+f9uOgEgMfamdj2\r\nxEJJhi0zjQzDFoKXvEqAxWc/OyVEqPLHnjCXOyrD4h4lNFImaRfpHtvgjgfM\r\nkY81kQXHm6dsLlRCE/+8XMEEGJyNkdI9ncGH1SZxum05kujoaZ1Yv2VT2QJd\r\nxOL1OAeFE2p8Cg9X2/5jGY/YC/rlZRxL4JO4IrSbRrgf+55p0b97sNCuMYKP\r\n4Zz9pgW17XTOnXBxzeUGkgRo/poLpNvXt9vv0JjzPg7jDTLYx/NPtLRtqBsc\r\nF5gym2vNCVUrApscMym22k3El/Uea0LNYU+//RJ9M+Bp2QUp+2lNaqV8DvgL\r\nTO4XzrmvXuxA/Y5cq1EllfvbtVLt2cEgmYwlUMhpjqRJOrXXDSCIOm9eplTL\r\nwCdItGm0Dn6PWmsJBODzOlliZ6ExsYhYs7+iFcd9T9JXSi++NP+pKJMRtAvc\r\nmNUzihQUv5nPcKk1Y5XHr2pQtk66R+Q4yvAQe8xWzSubLyXc/NTqXXmgP5Kr\r\nutI7E3mSBeWvoKhWgLZruqORnMenNzcCL3yocwL7iz3rAcljYVPnAk70i9CO\r\n6DG5hIiewPMkGhTDhnpC0pxHYw59okyDaqA=\r\n=Iugm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"^0.19.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749_1650537782804_0.040607951103057705","host":"s3://npm-registry-packages"}},"0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8":{"name":"@preply/video","version":"0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"985498ada6572c8bbe0cfd22b8506274aea94f58","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8.tgz","fileCount":956,"integrity":"sha512-dL1Fn3bg+/pXekQlNjTAxn2ZXN/2z1N3rgD3zR1QcH2zYEJnPCHadMQISwLoYQ0D5JcFhgNSOmseIpdXH9tduQ==","signatures":[{"sig":"MEUCIQD7YEv1Jkky/kcSY+pb6l9pUDXeCGmYcXkRP9OWIOByzgIgdG5SYXLzQjh/V7KlVp8y+Y6qRjSabKTOF7Sg9t5NMis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20761673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYUMWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrNw/+PTzvSW7esc1bztK5oFCptLaQkcjker5cRmWdeT4T3Cd0QP+V\r\nHqLeFqDm4FhV6lbcJSxJVAH8oqDyQ4llapcjG3xJIHjBLqmDcPrFkuAtup+b\r\nTzl3stbS8RN7GAsXJINRKpM9DXax3RcT+GL9M9kcdtPxbBqVEkMZEsLvgtSS\r\n1s2omg+TxREBNIQZ2wnzuYNc4cy1c5/mgpXYfMl73Oc23JefKX/SeV+CXC5Z\r\nmErSmH/sVKeuDYS01YsD0I4423IQyi8Ov7U7NfQoAdtgryeTxAIPJeUvbBM6\r\niO/AdyLKi/Pb7XEihqeZ3saF6/0KRBQaeRQY3FWhi1bKHNvk5pSi/sV2I3SG\r\n8R+jGG5qclisjWEyePl1TTL7V5viRoDHkeD9cuvt+DRNO+ZlKXIzEO2Mdij7\r\nXIrKcf9MHN0tQ9p0mVf3OaVYi3vSvknvzuIvdi4q0RkPWHbB/VtIXDjkhHBt\r\nFRlWgGr7oZn0T82R/s7/4xRNx2ykcPGxmWN3LmLReqVMttmGay10MSujWOs6\r\n6K07MpuUdB9ZqFpIQ3EugtwZV89OgvldQDCPLtwgMG9y8Z4mMLLEdZuaGTTX\r\nlZ+8imAkNVdwL/FlrVDUPO1s/4r1JK0E8HyAclC9dgQH+Ex8yYUIltnig25F\r\nCmQ3Rt0ccYP7cqyCnVeTo0bY9LY4E6X5vHc=\r\n=jktG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8_1650541334222_0.369000879952867","host":"s3://npm-registry-packages"}},"19.9.8":{"name":"@preply/video","version":"19.9.8","author":"","license":"ISC","_id":"@preply/video@19.9.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"311c4eb74f7bdd1f0cdbb00df90e3bb2bea95b71","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.8.tgz","fileCount":956,"integrity":"sha512-d3d02QXnyQBDc49opkqVQYH0e3cZL9fZRmvmNPlwNgIea+0hZNs5w6T3Ud0X1jiJezirqiC/NVBoId7m3bZgPA==","signatures":[{"sig":"MEQCIFMmYfdgZVEiNMebmb1ONscXrSpfEWLzidP3ZAK8tfkVAiA4W6YwOnt/7tVEcoD6+j9Zixgr0jtJjPUJwltNKHvxzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20760929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYl4/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMCw//U0dF3ARKIdhg5gplwMmOo1KGoq2G2bQapjyDcCMW8CY6D3b0\r\nnkyznacBZOS7XVmTrFR6YZ3syut15n+m7QhdGAa6XDRKtMNL7n19Ng8diDU9\r\nJdmPtKyN0UQ6eE2GAPjdZ9CINkbPcZky5A8kDWio0WZ/zl9HlxR7nW+imdP2\r\nuyIDEX84LSeNxW4xvdidK/sh+bN84HA4ZELyJhmRoHLa87GNJhWa6QTim//D\r\ncKtZZxvs+bT9i4CeIw+92/T923FGWW3bJ7c3OUtgIYFvmau0eBdBqcrKejbg\r\nIWZvDaBYW1HBpW4Iu6u3RSFN8Ws0y8YZcPONsbWon9mWvahNXjaWxJlsk8eJ\r\nsKzlYIMrepboF8Y4lsoyeOBD4aiHSyqpZYgOc1lAIs1EBPNASG899+N5NlFT\r\nwHfSf2gXYmfhUWvsR52yZlWIMr6xZMBmQ+d8iI8HgsDME51yWvAEPKNTqXcP\r\nGCzlwGvzf8zcEiaG4WK1FmFTlXqkDcN3cv+yiIFZiQSWaHGjR3Tda1Y9f65X\r\nsvzLjnOqjV+2Vjee6v9/RJJnKn9gmSYNzeKVoxyxls83mWYUrKLqf9ayp4FM\r\nHfhuzx3oX//VJHmgr0wIVM7+4ewlNDTN2c+ZsCp3lf3OVrOmWZVnSM+hCfnF\r\n+OALCc7ctWyoCp6r8fRbK3pL/sVge7dHnsc=\r\n=pwqI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.8_1650613822793_0.9365497654575758","host":"s3://npm-registry-packages"}},"19.9.9":{"name":"@preply/video","version":"19.9.9","author":"","license":"ISC","_id":"@preply/video@19.9.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"308c82fa95d5660fcf90f4b7aa98b79c8a1e04ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.9.9.tgz","fileCount":956,"integrity":"sha512-vCAGdqyncdpCihFprG1vW0HPLJxzNhOLfWeG9IlqN1CrRa7PHn1r0MV28r4xm9Px1bvlDeGtGA2FyrYWbrleEg==","signatures":[{"sig":"MEMCHyXNpGcC+AMHO4I34FjvIPJ4V/cQiIThbugzaumaoKkCIGr2fpN2+N7ZXDYMiYvqAXUBqPMqnsrwZhQ0ZhXebwBS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20762733,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYs44ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6WA//debFcbS9hV6QeuyIjpmtEvjUISwOMshQSi79gQXL97f1MT6S\r\ni7TfqXv5WTQ5mB6YYxpEeLzL1nwV3PrM2+i1lVwieAZDkEHuGzzx9GEpMFSh\r\nihEAr976UI0yMX2WASRmve9JkuBUYcSbHLfI4mv61Y5idgslAc5kxQK7wMKQ\r\nU0h1lvg07AQroAMIY6pbbg+EwGEH1oyGTqZYcrUU/UZuysLnEnNMY/9ZpGF2\r\nfufEQaYbRdLCdAZ7o9VeBgIS4F06YQrjzvoDRDIvbgFIQT34spcUU5vv6R3l\r\nswZLtkWHUw+G2kqlMGbky69PjUoUrIbvP5mIYA72BjTukaOCZFrwYTOAC19e\r\njhIEoBrE8JzLZq2AGYoEsjqD/lvjJK1noWi7ir7HivIYeMJ6NKNM+2sGfSLG\r\ntXCxMttzfdUp0K9xd0rxzDnzEW18km6OFIQ1oNy+FZJ18bOW/PnsNsuyxiee\r\nPrMF2EEFqt3APXtnemXYOJpKxnySK3KZy9+rpgXogzqeFtmqxqgEM1pZQLbF\r\nHHng3GbDI+ggZ6sqMT+taOBkcfPPRz8Y2fGInsl4v4JfVNPCCzTKV3TtRb2G\r\n1+8NirLsYBc4mBjwetH4+LNjLzdCj2N7sUjae5EQbTysfaHYlFgWIXyLNxCH\r\nHn51uYGybmWIDMlh3ZYwfnP0NBQCkIkSmqs=\r\n=D0zG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.9.9_1650642487755_0.853921356772122","host":"s3://npm-registry-packages"}},"19.10.0":{"name":"@preply/video","version":"19.10.0","author":"","license":"ISC","_id":"@preply/video@19.10.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a5d73658481e7be92ff05f775c994525e5dea846","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.0.tgz","fileCount":956,"integrity":"sha512-dPgRYk8m41WQ208Qp7D4VuPGcpOtv6pX3520ROrhSEYngb/Il3cHi799VU3v+hCkgy2o2dCP4Ob7I19XiSJszA==","signatures":[{"sig":"MEYCIQCfd+p3RbIyWOEA4ViFKiomw15n6ZdLar8tnnHo77Hh0AIhAJtl4pvtc0wt14mmz8cSpcMzCJvl18m+bd6Z9bIlUyVW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20773225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaSlsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKWg//aQYKvUqJWRBTeJhPPscFu6ZLZVtOmaOPR9vJTFj7NYHhDNY7\r\nMkHdbDCcIHPRS8kdWIrdZ5Hkg72ux6yKY/b5g9h/3W9Jh8xexbkWyE8m/eT4\r\n6gtjN8kBdPl9yoo5AH/a9HfBcQUSlafQA6DCQ7pmrQxfg/kwYdttph6gRi2P\r\n9ikXSTyvi0wV7+iKEyDkmrgfUoqIc2Pyb3YOxd9C1eTsDcIARd2LAZG0+8jn\r\nc1+Z0dTwWrOvQExtDnSh6vmT013dSdlSROqO4zA4q5qstP4TrKFpxrE91F6E\r\nNwdR5LPcMh1vgU/R74N9sIwNSdzWgIMHYNJHetJdK1hTlOCjbSbuRH53aSba\r\nt/NU4tPggVelSHDWn5C7gu47K1nlbr6uhpel+ZYSXlGG8NRypV297yYzYZPC\r\nO7f4GxkUAQbwRMI8XJT0zfnwfezf1jMD8umuIxP1lguQr6FMLwQrcBpRn8cA\r\n5C7vaz/i9gfn6a3IqDrEhHDJ/JVQPuHOl3Q89tjZsPFHNKAr2+tlsYlW/7II\r\nS4FdPRUhBpI0tuRQJLzfvf8357mzkkHMzfP8R9R5DQ2YugL1uTIathDMwFH+\r\ntoS3q7jVPSja/MSVcWXr7K7YzndF6+iXX0myI5bDKHKp+s2B5kGIjoo6tafp\r\n6Jhm/rdye83FW3LI05zAi8reNlRu+yHkmCI=\r\n=7W80\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.0_1651059051830_0.05166686751730443","host":"s3://npm-registry-packages"}},"19.10.1":{"name":"@preply/video","version":"19.10.1","author":"","license":"ISC","_id":"@preply/video@19.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04ce9f4291562e854cd38244c0f8a63be8b03dde","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.1.tgz","fileCount":956,"integrity":"sha512-jVrlE2nj3HNA/PJ6NNexjLBOw7HGhooxA3xgq9akxicyJ6BJFbichBtyHVZCoSo4QQ8Xcaix6WaphNIcSSaGFw==","signatures":[{"sig":"MEUCICrn09kbl13wAMpzGXAhtARMxIlGLzISC0qXZKeVIa3AAiEAsWs/NT7IFkZCS8A45IrX4PqJDmkwe2+iIPXTACyyOn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20778490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaTArACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbfhAAjeJvCvLTVyjD3GZzJIEFA6NI+LB4Fe+LlDe5SYPQO/AkIv+N\r\nWechEEyf1CWX0bq8wYF9dA9ao8sRx99zPH6I47KlGG8yonoX6YI4a6aOQI12\r\ni1/CpgEmrqb8/Y5dPRRNlpaRqPcey33tSJKPo61BnNIv2V9e3/1BdC8xjNJw\r\nod00DxxfOG9x4u6eA9uqLw1R3HfLqa3t3HcKETMFjPnSwkCH1s2YRvtw2tb/\r\ng0QY8bBFu39AEUthuOb/pWOGnbx32ddtQMZZpxsq7zPDlSgNIRn6AOns5+Wl\r\noKPsySixP7ufOBgv2sbuEg6/TBhlj/fOv/8Jz1Yxhbst24CHXJZLiHnjHAIg\r\nQ8OswmnflQUH+LHR5Psj8FCJGCAzQPI/LuODJX3AG/+49cO4sbaUEXnRC9aM\r\nf91K02J3FGMi9N/m+ata5LZf9bJSVjhWCftYvQo0ovgJauicv+zyVdKkVBlk\r\nKlBw+I8KZ5x/IdNTtzEv//e9WD+5Ugeg3x4AeIUTk5cRE7bsqFU3S95viyll\r\nNa9v78wEtOTu9cDLHfeW59atnBH4jFNNC4pWqCNFXB1wz1ZliKc+iwaCV0PZ\r\nANeto4ghWrOnDxFl/cyCkR3TVpQkQjxMm3k7n88MKyKiW84tEfZqqw4Fqi55\r\nNoSNjzNlLhQTMfr/2urTU0XagopJaeBfBEw=\r\n=xHBx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.1_1651060779527_0.9744864960086921","host":"s3://npm-registry-packages"}},"19.10.2":{"name":"@preply/video","version":"19.10.2","author":"","license":"ISC","_id":"@preply/video@19.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5fae099efe9c795fe61277c69b0e139805715387","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.2.tgz","fileCount":956,"integrity":"sha512-Oz8LcTpoZW90VRFaoL3qOwfUpBOTDJkkN1Yqk+ZTobnFs98LWPzrS7B4m0GV3Wfye1n3Upm3QYv1tGzr5UwYag==","signatures":[{"sig":"MEQCIGy3A8kbXTUlk9XIjjlLmh+8BIbkSYZJuiNXDX4DfXuHAiBXd/u0UnSyiSj2qF+8ahM9uWMTsJefYxHnZIogX1Slcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20781867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaiqHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpr4w/9FFwHyELdeHo+XKQD9h4s1jcisnMxJRKg0tltcqQiBK16UedL\r\nFrqrXjWsEzERAjwfRuo8ObZ75Cg66lhVWcrjwY9gnEt+oMQK6hig5F3/GPk+\r\nMDsPujFoqoU9Z+z6xNitABCBaUxv3ctY2UpZ8WI2yypRS4u6MyvgAa07MvwH\r\naOb1OaSnnnnAl2cMJAWE9l29iMIT/9L4lu7yUuQfgiZMZpzMC6d3CDglR4JV\r\nrKH9phkBAES4gJGsCW9938jkR5SXS8M75g4s1zVZ0AZyAcsxidG693MTNjuW\r\nfmID0RGzzk31t8xiAimSSwHvfpnen2qcBWfSt4fH6jWUFRUWStORGrvNmplY\r\nDURG44dGfEMdim+ZWcpfFwyDbLmWUfYdJ+Hys7MnE9r8jRyuDAJWrp4Nksh9\r\nfKcbdAvIGP7hsvZH48yPnyT9tNYi6cFDUxBfudAEkYQDvkGfIofGKsxXZ9zb\r\n8x4XSp/V9Hm9ttSlZRLRmxDTlbveyGkneXBQQirD2OqRyowXFGpvPw76ZreE\r\n0oVgjmxZznYjBGa6XNT6ARt/NxUqq5UGHLSGg3C92BSO97nFfp927yG03hYT\r\n/rOn8/Yvc2doY6B0VXByvI+SkU11B4Vw60ld2gEq3zyx4Fmn9rcNuUuruEQ0\r\ntaxU280UMrDq2AzvjtqAtiQQfRaE4QW0jJ4=\r\n=ilba\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.2_1651124870715_0.8338919036029375","host":"s3://npm-registry-packages"}},"0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2":{"name":"@preply/video","version":"0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"43e989e31b45662e4b8e5ad8e318390f17139d6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2.tgz","fileCount":956,"integrity":"sha512-VvmJ9pwpT1k9uS2kYAhhxCXPXAtqwz+m/ApX5QYSBgH4oILwuvZIYRNfbnJIhh/T5R1JoEHcl5L0wtHJsxioGA==","signatures":[{"sig":"MEUCIQDYWKbDcGI8ij6Uw0+ojQqcOZWKK8Kygc3WcRAXbw8gewIgAI2kC4JOHAKhqh9LyFWvQKax1u6dCBqUXMZ++6ckMCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20782351,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia4UaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi6xAAhOAbAV4ZOCP1VhWpkt3GtG4Dm8l3DuaNBFM8wm/fQeyqK4CS\r\ntoaaB04ppf0MWSXOKyD3UqcGmz2ql19TQmwoh/OqznWQ++qT9JQoUvJiQa9Q\r\nNGBlwloBmtjf3ooVfpf2nuBPSCt/XMKPn/VlsdJuDDTVgmxY96x85i1D/Ydp\r\nynVMH50pLRLwQMtuCrSojFhrL9zJJemQHunSId4/yLxdZeeqXSk5Jbtdx5go\r\n58l13xQxkE/zqVQKaXbCLoWj8dGiy+rPjOdrJG/8VI8C7CfLHCQTGtfYPv/T\r\nZ+BaPcCBFp8Xu5yDiSBAkr1lAESdTqM//CWNhRWjBsfr/phCh8pyPMQtRv2R\r\nXVSmpRdCG3QRnQcMzpD/6a5alsfRpf3Ryo8+kqC3RgCFiUAa69rzT8ROVTVu\r\n0iizczykdZY8f8/3eHBGl7KfKLX7nuTBZYFDh/05Tsrk/dkNaBLUsM+EUFq0\r\nRw3GXZ31LT6dA/AVdNanrxoJoA+LrlhOGMnFiwhmsVT9vmOogVUdGI/R0ufA\r\naxlwO4Ub0QLqTnVX/lJpyNhmMWMYyLu2j/H0mU7OqLFODTYNaPO4nyDBxvqp\r\nSyAPAo3i6wNLVMVhVVSg31O0Jsx2DSKvrwgGvN0WIfI5UJKD2rQhZI/2VuYK\r\nu2B2JjwYd0jiPNsjAr/yu7WUkjL44aafCPQ=\r\n=gc61\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2_1651213593919_0.944070027570272","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2":{"name":"@preply/video","version":"0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b2d23128bf7be301f1da47941d5ddeb12914c831","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2.tgz","fileCount":956,"integrity":"sha512-P1DX/R6K4rnTUPwNyWjG2QpqBVPOhyOBDxxCn8MPjHRH71Hwgr8KfRYP6AL3SptXZL/F5PUANYyQfpe325y4SA==","signatures":[{"sig":"MEQCIDi/yxXX+qo16Bk1zVfscFh4zUjHpDpX0XlDEuQ0IMFvAiBWTL3Bz1NjYrapFk2AAbS1J2Yp4g71xd19XR6N7h9OfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20782575,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia8eIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLNw/9H8Saa1qvmjg3WDFvftSmxhRoBHWWqWUzSuz6ArIwFBL9ShoK\r\nEgqadzZ5r0tWBVs2pE5pMkJE1cSlSEGQcqEWxI4LH8XOTs6iXYJjYINWHYZW\r\nDrGPm3T4XLPfciJyXio7bo1dLxssDsMT5XSYVZWgNFYeiYYf1hadR/nklFLA\r\neIjWEPRfEvxMJzTxhf8EqM6FklrO7hrjvHJ271/cddoM/OazFAdoK3yXiwro\r\nOd3egj3lZY0rkOCASm/B/2TR/a1Lh1bHuJrHITaccPa9S+buGR76ygAcZ8fn\r\nKKKf9dq+4NjIcCxMIYQc55cvA16z/hfSWpGY6gAfdq6L+1O2Iul7qKWn852D\r\nmWEO1PQQQMXJVE1Wcd27pgNQVWaG4X34iLteGvk45q07U4lw+evaqIlUIeNM\r\nZctIMzy+1ratuHZTIRPnmwx002taiP08CNhSDhsuKkPksORnPo1nXmCwIU/k\r\n97wviXO9s883Dt2gIucn/Im5tratllQm2wzIyO4gOXbH6ytSxYdCXYmcW+zJ\r\n4CYXhmmjk4H75uJUBg77G9sY+nBGg9nvaE9GE4NA1EtWoF94Z9LMBkasT2Hf\r\nbOjU3mVT7ANGL9NMqpEtIaKMdgLMMNWI+/UqiLlnicPIEQettEMXlrZpQ8w6\r\nyBVgYr1HWegck7goDJky7CbNxqcCS+psjvk=\r\n=8pnx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2_1651230600025_0.7297807911017609","host":"s3://npm-registry-packages"}},"19.10.3":{"name":"@preply/video","version":"19.10.3","author":"","license":"ISC","_id":"@preply/video@19.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a89f5450735a272c00e07665c35cc0092a8185a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.3.tgz","fileCount":956,"integrity":"sha512-srdyG7WMDf6B5a+YPQkl73bcOqNGT3NRxdoeVnZnURaQNmv7FIIrl+2RInXdJGpViCvUMhBoBEFKy1rgMn43Kg==","signatures":[{"sig":"MEYCIQDuW0q66QV92T9BO7oO/WywmGwsz+AAvtoFhxYHgah1sQIhAM8im3V8kJeKCTSI/ocCXx8DHC4P9YPbY7NCDpA9jQ7e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20781133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicjaaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqyfQ/+L5qU6g3p2rgRb5kl1RwKVOVwWkQP0o2t9lINaFGxr3X1egM+\r\njOF63lJ49/x7jvOjcmzJEhlhQFiuxhXNr0zmqoL93b/xCdG8eQhULHc75gpF\r\nyZnUdE87/P3PBdGjN1DIW6XN0oawz2SVsl51sahBNPpy9ebSjmpLlWQYhBC0\r\nnK45/fpGj9HQpiAzAmUvHO4qxI7J7yP/hZsaW4Gt0hs3Glf+blOBxakIViff\r\njjJQmuVxd3QK83EEk54rZjIJGivsuIYoRItRPoJEItT450cvPVAZhtTPaukQ\r\n4gbZ9IsICgPB9LdwZjqitnkvOq1C0aNFVv/QAKpYSL9c4TgfXp5ngkezXur2\r\n2/wUAHfF2l5uafyxJ4HrBhLYFUpmp7oXFJyF7mmAtx5kXEp66d4q6pVODHLI\r\nDAdgOnXVsHz40oON7NDcpj4iL0FuI+DC++LK6t/MYAAPe2xYtH5eAQFDRd2v\r\n/43P0aR73Ft1+c7AWFxW9dUScHehpE1WipRUt1dxcJEMx58mMxsL8Jqj+gxj\r\nrmPn5L5fV9wC0aUvXfPlGA1oG+x333L4l7lAVMnaKZR29D4N/erveMISpfxI\r\n6NOOz3LoJvHlMjelIxTg5DJophcWgsMfxMXAm2cypvuJ4LqvkstslkNqZkRK\r\nnAmGvrWzHigN++fNzyegaPVUz67q7N2YC18=\r\n=oBa0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.3_1651652250364_0.6182789043734891","host":"s3://npm-registry-packages"}},"19.10.4":{"name":"@preply/video","version":"19.10.4","author":"","license":"ISC","_id":"@preply/video@19.10.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a03c4c7496a3ee3e144e47dd33f9631203ef45d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.4.tgz","fileCount":956,"integrity":"sha512-BzF/E9y6JeT3P5y0yF4zTGsMAxngAXFOhFbi2vEM/QQmFaNeaiYCqhoviEZ9PI+sEyjDW4F7rIu1kbrxroMOFg==","signatures":[{"sig":"MEUCIAbv2EKgVQZK2CA+1gSRoCTZ0d6Duw/gf/Hdt5+2J1pnAiEAkvf11vgtN57TVQGVSJvDL1qNvdZt7Reey0/Zxd2DabU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20782754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidOS+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXJg//UhL3BCQ0qdKyMxxzkjo05KuMzLEjVqF4pyZ3AspRj47VPPvk\r\n8qGbXrSdTdI71X/JfqFrBni6LWSwwQ0UJPe7rCs/KlUaEbkAC83tXjQpInje\r\niIxJb2H1yO4pk/9Ud9OlRin/bKeJreYGCTuhKd6AZBGl+yCmLvErgORUSRdF\r\nnSK7FQKEH0FmVIzbcjbFy5Njumk593xw7TWw4hhqKjxC4qPctxwmWeDLEIWq\r\np5RG8HOuiTrHAhax3JUeOYqfjUSmVIZ2BqDBFboLL4LeGX3yejx97Ql5cCIf\r\nJ9Wk8SubNp90LcchXyOiH6gG5U0O79WB1k4qk6JoSyWTQzCBxekmVwE7qHAt\r\nq7D/cBa0X3CrxZva1B1USieOdeQQ9BAYS5qASkuxXcT7B3/HL0S9jWrIPe4Z\r\nhXtp2pid/93vxdjB86z8cm/zMluuSLz0sRYNzKY+miVT+8FsXpdSY94FMQPA\r\nrO8lbm9qVLG7Xcxz90nrDtmfL6UHHXAWmcfTuBmP332Ga54XLJcFRK3opVRU\r\n0jkruVw13ixpxWX4khRoegQopKeUP1Wmrr2Y+2vVUt6bZZblvuy51tKv4cxp\r\nHvXqCLh2K8VkBWZLD6WoBuVJDHPArVckiH+q4GgkKZEPGkS80uRZxEL/oWNU\r\nNhKX1/Enwc7Ix7iOsItA+P44yxFRqGklhKc=\r\n=eQVL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.4_1651827901464_0.7346716848259289","host":"s3://npm-registry-packages"}},"19.10.5":{"name":"@preply/video","version":"19.10.5","author":"","license":"ISC","_id":"@preply/video@19.10.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d66389971801e94ed844c19b43f7e08d86df65c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.5.tgz","fileCount":956,"integrity":"sha512-yUS25hlPQmP9sB2igNAyB3NYT00FKBemo/5CNbfuf7z9kuEMHPjqyf3VEvOXIRUadfPNDJrJOwINK+8DHMVB6Q==","signatures":[{"sig":"MEUCIQDJS38sg3+jFHZ/iOG62srlPfffZmPs56T9hnf2X2GE3wIgJfpYr1EqLd1h2aeDGQ9wo7xBeNK0uRVcugdcpKFcM9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20782939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieNBQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIUQ/9F+eItoXxDqDIF7mA/A2nyRSdoaOzREkfy3Qmq3aLfgeLL+N0\r\nWQGkMSSBFtIeSDr0mRpkZFr8EBct1fBQ7Xnsmv/x7EILXR9ezvNh90FfjsUB\r\ni/H8ZFyKmPZnD6FJDRHhoEKx91c5AlWMoMz3yo/xJ4GiIvtsw2dv+yEAmYn2\r\nvp48xKRQfbxZT7DhkidDXXJjvzD1Xr9esnWutnjaOsY//6rQSZvSvnZxZdlk\r\n7RwiIsVyAEJ0kcDN45InG9Yy0DZXyJ2YoP09/4Ki2ACUEA6GB6M8e2D5vTev\r\nTcV7v0SKtONGHIdHHHh2dtoiWSRrkunTelHgwT8qT4dz0U5UYnLTr15oKTcd\r\nMEqJYKgu37g7m+SE56Q0KudMdrMr58SWZUieeiSWHsr0EQRo4ft4qvtGuCMq\r\nw26UM3LMvKnNeVwODzzRnkMkRBKLaF9p+tL9jd38epWpdyfVz/z6SNqgCAyh\r\nCdsy9wJ1DeaSxF+u3pFIkp5lEQCTClhqYHYYsnWYbfiRXf+ZlrjG3CZHvTFA\r\n2gb2PPp8/u6d8Uw1xFCOfgaLlTrDYesIAvnfLvHpWefo+6P+DM9rdNiuysoe\r\nb/3m5DYJOq3n2Z/N0dAstkZyR+oHNUvUqk7kjJzh1UuE8QOQY0noiX6zRLo1\r\ndZgEJCHr7HW8aWC2V3oKXHWnMTU6Q7bSClk=\r\n=7XX/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.5_1652084816624_0.003034980315590907","host":"s3://npm-registry-packages"}},"19.10.6":{"name":"@preply/video","version":"19.10.6","author":"","license":"ISC","_id":"@preply/video@19.10.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"32ada074bb44fe29aa5da91a5e9dd597a3781288","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.6.tgz","fileCount":956,"integrity":"sha512-PgfVt3IHxm0l154XECrq2LOqCBMIoBJSYLyXbQFhoH1hYr3LZx/stWr3kVEzhXDvw7UF/nlv3GywYiYWlz3FhQ==","signatures":[{"sig":"MEQCIHWESrhIDKNCJ1U3azGKbVLKHsZrGT+Tvz4y+fhES3J/AiAUJeS/neKX70QPP+7C3lJb7q34akaTmti7PgT0Z1C0XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20940091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikNGWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqTrRAAjM52C5S/r3L1YyMRbeDaTddBoJ5ODYFA0JnEminwRtzHBw84\r\nNdFZ8tmptmBdeyzJw43jlvOPOY0tEOVZyjnFb6xBo1MvlgTGW/Kf59r4+aDr\r\naeRa+q1iSplEOykWT9klceH8PWWWXd9M4ZkwjHXabmxauuUOw3u/EsiuCWq+\r\nk6qNRSq2kMI+UZGk7tLFslvVD51hxvJrMs0wmTSskM5zTtMSBdbY9hmNjgPq\r\nHJmnNvRyWSvIX7C37SGxDqvSJZ5n4RtPUMa00PjlvJmTVSMj7xaa0ZoGwmRw\r\nFUq8G/eMxImzbbqItK6F5sY/I5rySTG6hYpebVlfkkQNpnJS5efOQSh0vhx9\r\nq6Cu1x+V5+CgPQkhNY3GVXwHBUTVVQoV107n3GYNW2lNeDW+kVdw0fzTQbRb\r\neGOikpQZy4mFWoLs+wActtfgIvVD5iXWEY8eDWdZ7JgH3Guk+Pzu988yJ6Qv\r\naJxPb/0iCb9IwPbeTFFBcQnPuukJ9pB21iNijGybiujfvoUCzpGJ7syCvAbW\r\nwZbiDD7qfgfZV6Hl7gtooPV6kCW0s+b7j4wUXJ6GHOJ6/iNE2zMfCK5+DWMZ\r\n/nxN4CR3COgSz7BM/gtPZ3bttD50mthOiyFTLB9zh2D4LLxO38eIi6FpJcIb\r\nYoWHgRUPuDy+J9gWSV+XcYNdgoFQJA58dMY=\r\n=bffL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.6_1653658006402_0.2473814042820892","host":"s3://npm-registry-packages"}},"19.10.7":{"name":"@preply/video","version":"19.10.7","author":"","license":"ISC","_id":"@preply/video@19.10.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09d9ebd907a9d568ac193c085ccfcd6d0c1f5a00","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.7.tgz","fileCount":956,"integrity":"sha512-Cu3Bj+7+cIEHIBCxaRKPkqdrkQtF0Z8ErpxjaBd4tZ3rSSQ9Cv6IY0pxZlp7t47PDPyCGE7UM+XOBBVg3G/6uA==","signatures":[{"sig":"MEQCIAtg2xhGcDkbi+zQqdXELtGfnoRwlpLj9xjhYWae8f4bAiA8ujJcyRyD/E1SPjM5yTh426f1J2JdC4nI5x/CvFAfRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20956226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikN7YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr93hAAmK0kPk69DDAsnTPoeafuv/AR9DDG/6mlxX5l9z6Hj1s0JaBu\r\nOypljuH5cLyLv0fEJHBjmozR0zzRMxB1tLxEZYGaksipHG7CJx+TPhG55v8v\r\n81xk9aXInj5KkobcN1leTePCglUvLRlPCTjPxK0GgF5rJnmjqdbz2DehDyQ/\r\n0iF12q9rBs4AWW3YZXIMLhAwZ6z/TbxnR2rDtSLD2cK06meHvV5H8fI/jvdr\r\nijjO2EATVuWvNnAOYKH15RJRN7U63o8MhMLeYCZFsnLN1ndGo46WP9120b7W\r\nvKRWm3sYqF48eNolINf6UB0G7+Dzqu0nFxDHyTFRDCCqIomaC9ghrcHRANBz\r\nXg4V6Ohsql/ucxE2kQq0aT0o7yBGleHVmfpHnjAW/cRbCI9KIGLFUpCIuuim\r\n+F5jbBAMNyfQZQmMcohTCDKnXCiJEBKUqsgRvOzTqKjP77RC99xMDRUa81Px\r\nNvORsDEZn+O1DwA+jBBFh2wneAXPbjoM5/bgRVqN1YO0zoBE2F5yoZsaWouu\r\nw94Ke/K49Ybd8R6Ef187Hz/lkqq4y8WuJAcIpkDVkhFO6luMNuXub3EnSVoA\r\ntKwBo+PId+8vlxTLRwWweXHk2APrOQcEHOXok0UP/fC4xMOWxc3ENew8pRRM\r\nfPVvG+WFXWUNkjy5bakY7xnCICJVggaL0gg=\r\n=tDbZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.7_1653661399780_0.6580032428010851","host":"s3://npm-registry-packages"}},"19.10.8":{"name":"@preply/video","version":"19.10.8","author":"","license":"ISC","_id":"@preply/video@19.10.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f00324d36e9ef1e475f546e9dfece12f1972bd95","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.8.tgz","fileCount":956,"integrity":"sha512-fLENemqyHK/FxJM622V1BTiKWUoZvvvlenn6kxkZxSd9axFjjRo2YpaAHLXE0eafthsHBTIUgJrJ4nB4t3pAVw==","signatures":[{"sig":"MEUCIQDqCyACPblODcmqqMNmICwUp0Lq4wJ0RFvllbpK1PodtQIgZza9S2yB86Ara/UQhOw+1+sq400mryXVIJiupjLQg0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20972566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioe2tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqWZhAAnY4OMprpc9SANLz4glhSYdR4ppsn7AKUVSiB1mZL0+0IJKEI\r\npkOZlMMJE+SWOSN4bPP5oj4dLRYFq5UrmrT1WH+VvPCtX5C68ZImLBu46gK2\r\nzU4xZFjKhf5ZaPySh7FjZvaW4JAgk8rix8NMLlmf2aWBsI00svNt4rZLi/WX\r\nlJeqXusjUmiAhRK5rKAnnT/Yr+RCsr2m2Mje6BeByVC+sHEVxPSKSTS8G3c7\r\nBdVbpgvbDaQQpC8FauBzrE2nK/XZi2ITNLTC9uAdJ2GEPxiyIJIm/T1nfF5K\r\ne6w4yaJJURz1AKL4CQiw51zaRS1Dkmonbx34xlmmc3CF/XYwpzgawdhZLA8j\r\nWoH5b5GeiPRLrCoTpjsJlA8OcoUlHFXj68EA1POZEL9XFdbTkOHkeRyz9R2k\r\nceg1F92IcFkg5efoeMq9ya754Yswa5nLJQ/lzmvgg+jUmt4LEqUJETXUfp85\r\nAG/dOHKSqWm/QKRqgoyAyq6cnhJevGMmGQyPwGOJ6V1ylVEYRbsK/yNd6WuJ\r\nuyNFTbgCsa+GiqXiDbdLuEtUjPZP+qEav5EdeHIwPEQGKtY7VB1bRBHOIh14\r\n46VhTWz8ptN6Y/i5UHJJgzm0FRMOFs33idomG/mnbjUoFWCw+jNwx5vgASAE\r\nujD06P4QM1GOHqT/YHng0eH9wiYGMx0TaSk=\r\n=QN+v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.8_1654779309146_0.6536625517444923","host":"s3://npm-registry-packages"}},"0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421":{"name":"@preply/video","version":"0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"285f11c9352bd421cc0732e68585db7a0a2cdca2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421.tgz","fileCount":956,"integrity":"sha512-ogso08Cjq7xsnyrVe7szn6IFiiYmBPvvxtjlCKZE3J1YXEmXk2qHxuUoPkbMHr1GXWV3g+8oRmhX8dGv/txnFg==","signatures":[{"sig":"MEUCIQDnjHfFi9kY4PH3jONAtyX9jXEzrX8EmI0Dd8Ii7Hh0yAIgE5uc78RZi72MNRnJ4bZQ4F/H6POnLcGUb+ULlsAZn8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20973299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiogFQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLfQ/+KvpPuz8l1+UKkUJYR4d7NZ8YbkakF594aweF7mprQA6tJy1D\r\nIJ/dyYpkrQPeFgsK407KKBycmmjjdhRAwy8F4Xfsum4NHeYJ+EdFYfACAwPr\r\nB6TVSWkAwCDtic1BDrNF0jhODRcCd7nCoiVi4PAkB9Bd2sFyseNzEXqvP97c\r\nv4dbjM5Nd0GcEHnrIDHh3Iw2vIW+DdCvrxwHgOJo0APcXTkf+HPo48VC5GSK\r\nCkbRR13kgNGfHvq6x9vxnoii2NciV0BtvkobjYCEi92PqiiMs4dnHJq+GEbo\r\nkEpb6IHJuyZwUJNRabFA6wdbZdi9osaNrZ60CCQeIhzenZL9h1PHk3fvAJlS\r\nWoKiR4T7R+I8X1px2sOtj5hb1QAtL0HE+zM/QFa53XW+yEJTHoklEqwxiBuK\r\nkEUoMNxTkh5l3DFjJC+WvT1VvjyvQvnIdTPqEQiz+tPGXh4PEVTvBEu02taj\r\nFJK3fJOFu/h4upLxJXE8n+tNHS+5+M9W4RV6wKVK/eleyDSWSiiGZYEmHLaO\r\n/y4eWVpBCSMJp20z6PRJilZ05XSDmU1pX9ZUCK/buwMI5AF8PkeWtPs34EUo\r\nnpozgHiEZRyvz9FCdMoe4SQDTdi+FiUxEfuFHVVRNNBcbJp9vGKeUDUZxS+/\r\nt+tlIY/9wpc4n3pNdxeeoG/ZAiwc4juXFJ4=\r\n=JPeh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421_1654784336374_0.25889066849780584","host":"s3://npm-registry-packages"}},"19.10.9":{"name":"@preply/video","version":"19.10.9","author":"","license":"ISC","_id":"@preply/video@19.10.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7224dcbe90e4da2c71c45da61ec9b9e227523451","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.9.tgz","fileCount":956,"integrity":"sha512-cgZKLkOHCpy09FwqYKIgyasisrjplmsQ+uZb/w4Is5jShdm5oEcaK93udKH3YhPLm7b5Onk619TP52WG5KZUpQ==","signatures":[{"sig":"MEUCIFwtOgul36AfGPMk4NYwqwbd7vy0skDPzIP07I7Q4J2hAiEAkKSZgXOtytfFFObQCpugVR4ce4Smlvbms63gySvT8Ho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20973946,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipGzxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbCw//WyBPM0ug0yu4duJ0vIRHM0do5XZe9rORkuypLTj7lSnrhnbc\r\nSWd0Pr4aKu36eDQSa2JF81pVglEEaMcRiXTsARhMqK2Lnet/Cwbm6Qi76Ex5\r\nvP2alZNWlJV49dK2yZSkPgCqrxRRPGW7UZXMuaXn8L0D3yhjxsW1CmD+PX0z\r\nVtbVG3IpioHPFANwPEnvgla/I+Z6Ga874M4+bYqej+8eWBqqToFPQ2fBpy8F\r\nwin22GR27gex7WGFAi4UcdtPquAUM/xs9GaMNYbfduMMTCGl5EFj6zsU3lFr\r\nx4Vk44I7e4l3RVCynD4UUPUxvJkOTeSR4reeljfxFrr6T1iVQbur6NgGZIGq\r\nunHYyOIozy/0D5eYtZvlmZuGXUuHbnBzsHrR7/QCYBi90HCgNMh6LRWk9Re6\r\n9xDztyrVD2Ctcd6D99K9lh1qA24gqMX2LIoBRtLxV8xp2HBhKuGMfGj5JWoT\r\nXJTaygtrICiXL7Cp5WR1szboQ9/S4w7s4cObq1eNpFKfJ0LayT0+ws2fIuv5\r\nE8S/LeOZDCqUBQZ0nz9ESEqnEXwdBUtFmWGcztvA3I3CoxnIG0hqI/+diwS8\r\nXg5dTc4yUf8tLY1GhZ7Z2XAEGsroeA6JFOxb1zimSRvScZ3nm9tieVeehDEy\r\nPQ9KTBdx9kG3RjPJwpt6p7Kl7jaFczlaG6k=\r\n=5LA5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.9_1654942961026_0.16167962922710677","host":"s3://npm-registry-packages"}},"19.10.10":{"name":"@preply/video","version":"19.10.10","author":"","license":"ISC","_id":"@preply/video@19.10.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"18c853b65a2b8f7d5eba292964152605ed1e6e1d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.10.tgz","fileCount":956,"integrity":"sha512-1XdR61OKD1dIIxfDrGoAEwKm3pF8qXLgW/cvcifw+5kTD2tuJnV3SwDHMJpN8MCw2kcEaYAZ7QvtgNzBZL+KJw==","signatures":[{"sig":"MEQCHxF13SaJiQsNPPLnbNLo8Ez6Wz2Yhc1hfBW/5D+ksOwCIQC0fXy2hzSPDuL9a7f9L2Gg19JKgNxnY78IWuRnqkpmWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20974045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqCvRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr1pQ//fJOn8wXzejhk6aPVc43VmNdh6a2goROSnEAZbdm6MwqmEyvf\r\nHTH6kvJri0/0JlkjMTY+bSEDEzM3JWilpsC/t7eXCYZ6CUoHJXytGkFQVbGv\r\nR646MhKLOTazjeFiujYT+GzesMVKYd37VhKKmC1BEWyCGzwC3GcVdBmQxl7V\r\nvktggsihtWhc3PHxll7Nn7DCMr0f3kU0jlV4UR8zXb81VfiyvY6H5Uy0h/gN\r\nTpD80CYenwdBLjAvPiPYDT4m86Bo67waWg4/YxO/2gVWxZV7AVXsTSq4HnKx\r\nlfQ566kFeJ1ocMOInOjZlH1ywg1FtDhmiK/+teiur+VpzbvUeWUfmCiM33Bn\r\nKy5QlffiWrXqWV/X1Pj90bdAy9776bGiI4LJ5GiFihrK1wlNe9y55nlrCku+\r\n+FYyV4QX9iz2C3jWyIPilSZt0b+RKCmOBStZoC15w+lJY1bIDsUjGG0tjX1+\r\ndt/6QMOm4d0dTkL23IznFSR7Gd0CxTiIiFVw4snWwKmphwNlQkh4acqtC238\r\nc9szFjBAK+QeIoXDInnM0IfsPkg5eXCaboq2dRWrbPmGDMC0glUJe8oWdlW6\r\nP/sn4RSEhw0tF2rPsMekoJxH6emotSGJd8A2Z63p4WAspx8tqkoVedqLbJ/+\r\nMSPrdNLyxueZ2wXck1mm0oZoIt18TgD+3rs=\r\n=UU6j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.10_1655188432714_0.11992429947143912","host":"s3://npm-registry-packages"}},"19.10.11":{"name":"@preply/video","version":"19.10.11","author":"","license":"ISC","_id":"@preply/video@19.10.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a31d702de1e246f28119dc113a3aa5980c750972","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.11.tgz","fileCount":956,"integrity":"sha512-jYBqT2qEnulH7FBTnzI3qh9YmzXuabpDP2VWWVrtA6OeqePc+tj9mgdsCNatFnHKjVFvCb9TqNDmCBVpbSbQ8Q==","signatures":[{"sig":"MEUCIQCji9DSNM5jx3KJaVC0v7xqo+E5he46wBPEmi6+Qvj2GQIgRZ+l3HOr+HBUsV8vwtTpXSm93a68ISKnKfdq4L+zwdI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20974401,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqY9OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmruNQ/+N4kJoTDIuXz2rQHQ1cEZ7y/v2pdPDBmSKi9xdeUKaUvnoLn8\r\nPfpqYfp8mpfC86aYDRBaB4hN0RZBtjDJWGf5/PQvcfW02lpANC+laYXNkyid\r\nHCxyWTOYvq3Lr+a5L6CUEMTSvM9gWzMD1RsqO89NeXNTa/F6FAUNCwg+YSDw\r\nbAzEjVwF6je1glYfVcka5Cgx8363i5rKebmCCJySd0yaTAE2mn8eG9F9AT8P\r\niaXUJZ5M+WrhSdmPpcnZa5u7CaTAA2WsmJiEYgoa2gy8Qf3h1KZOBvoM3qJD\r\nMKbc8H4i1sN/56uKGggdtGacVWSKRx+hLvMBMWz0m7W1fKhvYx4iVpNdJWG+\r\nAQHwmXtZskBu+G6XWsV9MNdMTOI9bm1DzZQ7l5KOs55xT1Q1kXGYiK2jAOzx\r\nL4meXuKrytYX4xbaBkyBRnTJD/enpSfwTmeYpZyNhtTieQqXE1gRhakIoN4S\r\nHoEZTBLwwkfzDM3oD3yJtP446LjNkngO4lqkH+fShBcvlNnA0mSLUyOEmNIk\r\nip/NrBRTpKDKBhDCrJVs6YlU6VIcrfaXvA5OgV8n0KKQHjyKHQ4pYmNyeFcX\r\nDSm4f5L6E3TA7UM3zQvbMb3D0FB3z2c16uoXG6sHFocClWEt3fRQvagMCSrD\r\ndAe3FBnPQ3+/pGL2oNmniczri3Hq9QxiwsM=\r\n=bKgn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.11_1655279438340_0.8580413654201817","host":"s3://npm-registry-packages"}},"0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8":{"name":"@preply/video","version":"0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"61e04c755eb9ba912a3704cca713ec3c40849631","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8.tgz","fileCount":956,"integrity":"sha512-dvDiCzP0KXrNstZvh5NjmsODT3ZXELNjeDQC4oG9C6i40KFoF86Dw2Jd4PFn2Sh96Ncq6UBdKstDq/WNgevAkA==","signatures":[{"sig":"MEUCIQDbdsuvGydd8Z2SpMItjyLK1am4f1+W02Eim+fh63c8LQIgPL8BmCoSsPtalBeJ1Yg7LOdpL6O8JMT/l70JAOOJEAU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20975795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqZ0GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH6g/+PYGILARV8LRRiJQQe7+u7mi4YlBgfwDlfQe8VRbjaFUWrhkx\r\nVQKB4cUi66f1+sOWzYpXw2EilPvzG3nhcBD6ArHwiULYV+yG1d1dr1DOvgU0\r\ni8euSt6A8zCzRqRXMJ1ffdvrFVzQtUmqBR0x74c/YDv8RiNlndCogW7/iAs5\r\n++qWUiadp5rc72qlf1Pdj2CDZmKeAl1gs5Zdm9FYKlgFSNCt1OyXpSMzW6lM\r\nUqr7YWpCeqZ6sKDR2zGIpPNFR+snW/6UxYA6XL2GPWB1A1EV6f5ZHjXET/rR\r\nfSWWe39/DWQhYpwV3OLIN2f37FPR7tOPtxcPRDYxEWTY/9+ZO7kmrPCfwavf\r\n2D3YK0tfmd54DhTojGETpbQx215kPkqOdgVNHTCt1CKQcyNwoagE+UloltS7\r\nOUYlq6hOzJfsRgP6/iJ/x5/179z2oesQr5eqGt1JPK9Q7uyJnPb/WaYOWcK8\r\nNKEVRoXzN9w1XNNeB4MT7vikWSk/ukOBRii7y8zE0sBR1cC02m/62U8PTZe8\r\n9sTJK3qSkoAQMV5Sbq6WQUsMk8J2V9ebHQLM7zC3q2BOU3ZK+2YGMf6/vaRu\r\n2BtY7qewGAXTlsdcRpjWjvUPYAg0uy7CpeLbL9sv4NKrnMoQM+n78Q/V9DIl\r\nlBi4rYL5h4FceMNF+dOCRf4cSfb7PoH/Wk0=\r\n=FyvO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8_1655282950065_0.24726355613343176","host":"s3://npm-registry-packages"}},"0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a":{"name":"@preply/video","version":"0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1b445a34c5b5ad6075b57556c7f0a4502aaa0752","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a.tgz","fileCount":956,"integrity":"sha512-BFbvwKrudS7RIX2MwGvZ5G7mZNjQkAqCsmcy6RJKSWvucmamTwtWzLdd6fhFzkKIwZm+92HawkbDH5OaI4snmw==","signatures":[{"sig":"MEYCIQDqS78tHPgmVznA9/7DIOD/nC5Bu4S9xE0uapRmws3DQwIhANp/Moq5b93SP1R1fP1fdiYia4FO429L29CwCEMmiTmH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20976250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqdiLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2GQ/9GEIHVXfRZx47fjK7fZGv+TCYyTFrdkrIdFtWdRDBEDbdxw3P\r\nHATWN402QGamWnU5M8qqI2qOykdJ27p5uOxQArkX0KedsI0ciqZbS7lgDzxM\r\n9LWBJTRlhDRDz9ss3kPnCKDoKpUhHxhsQ8/Cb6hpaPTEHEvDsWeJpgOAoD1G\r\nItng/GFi30VN5SzgEJDMR6SA8zLR6DJYUUxpUq9+hdHOFyXBZrZDMakIX8xM\r\nGMB+Jed7+l4T/7oNWO6rfc0AEvzHXsu7RJYDFFSUfvOzN2DW6j9FaXcUYJaj\r\nM9C4pgx8ACxTMalo6Sl7f2f4CUA47hIzqMxTJMN2QYl3vYrCFctEhmxMjBu8\r\n4St/lGJgznomi8WEYhLeeNsqw1iaA/HoWUpbMjYMux4pv1ynkOxvqqFJq2wG\r\ns/E20oTlmYp4wRsal65NXi5/6qAGjbQWsfUVYYoePKkmaxJ2ZTUAF2eBrguo\r\n/xnpnK6u3y6gsKiPvDxJwIsIaiFOKE+io6ORwZxEUfBXH80PTC5dGx6lsLTy\r\nAjYnNIXIOO/rXK6A8NRCgB6pOT9lw+Rr3JEC100HYT2VN2U8kEHrwmliJAVE\r\nhj0vU/Wm6WWcj88BTSXZFg2SmBLFUDAbfN7R9dIgJFiyFz3y2fEFOBvBZVkT\r\nmZHMyCbciNleyWxrg741t2RpaDRSE3RCb+w=\r\n=rdlY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a_1655298186738_0.8205472679296679","host":"s3://npm-registry-packages"}},"19.10.12":{"name":"@preply/video","version":"19.10.12","author":"","license":"ISC","_id":"@preply/video@19.10.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adebde501673ead6bc63003c8d118dd52bcc9a6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.12.tgz","fileCount":956,"integrity":"sha512-1mZm1r3AnhgJKMrCCmL32xrYaOJN7Dd5EJxv55OSfflMQ/Uuh1w4JYybWtulaATf7OQCINv5ZsgltYwGxslXvQ==","signatures":[{"sig":"MEUCIATiIS92iBwP8DI05v/PD2LuwBK/Slp+cItU+Ornj9U5AiEAqC6+gQknuFE8rI4PaGcwZ51Bv3F7ta+E8O1fiEGPMhE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20975563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqd2bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrykA//Vyk+BY9q5X4VjTepDOw9jsmbsho4IU2W4EXIDD0EOc9WmqmS\r\nSotYGh+Oh1k6SXtxAwf6l0xpoWNQ3oSxewROeNVWCa24PhG9kR6t+aVX/nMU\r\nU2+Lv14bneyevD31FxpdL8qQ+7XGO/Ylpdu1UsCnnWlMncuTgjCJaUG5S6x7\r\nFAm0kuK1a90YYjNGI9w1utOkiDQH8SwOKOYKw/AtCVLYfVWXc1Eaw5xaBAQY\r\nAc9SMS6jSlCmGO3Hy5XEboUN8FkYXSmEORvLLmOc8clKpGaeR67oRrE5fQNl\r\n1lYM1ilOStcEsDnBGHsDZpUlbq3rCz0BmC8wg/BH2WdWIQ3JA8DlF7wI9pdz\r\nefr0riXVLK1RMQO8SCm7Ip/HqjjuSC91f+hywFkkbN76WrBzgPKVp8hME9rS\r\nQMHWSsw5rND89qUAiUIlFJeZt2jqbZ1aVnd4DcgxD5doXImiEJCD3+mEmvgs\r\nSwCmc+KCPSSSc6zdJkD47xtMrrhI7Z4bN94TwpImtpBlLjKCrohcTzcrlgm/\r\nNIOjf7NCeJUDiQvBxquFhYO660UqufC6nw+IE080IjXY1mLhjX26wVejzFPB\r\nBw+XK/aPvG6b4wqahAfLb5VK7j+YGdJF+8rhlZwDo633m+wUXDZsMd1f/ppI\r\n63gL2u44yDnRoIoZEugTXGB5Kb4j4COfb1Q=\r\n=eXJs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.12_1655299483096_0.35470185138378096","host":"s3://npm-registry-packages"}},"19.10.13":{"name":"@preply/video","version":"19.10.13","author":"","license":"ISC","_id":"@preply/video@19.10.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8e062be10447f93b974b91ff2944d1a2ede25baa","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.13.tgz","fileCount":956,"integrity":"sha512-aOQZ/3VMfpNzKmGoUFVMvaq/hmce13nWtzfhC94kunsDFibdzWMHJHese3+Bu3GuSp2ld61NaBpfGSK+sC88aQ==","signatures":[{"sig":"MEUCIQDn9F6bJIdvz+xzleEfwXhsENm1qTwjpyt6sYk5OyPPBwIgE6xG8g5DZsxngQ1qSmKiJu7Pw3BSqwqAOlx2DTrnD7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20975615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiqstrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEjg/+ICcH/fFNM+AHIeFcXcmNxTJ5mCe6+Vs8iGm6AWaMs5DyRS0F\r\nC1HIlFnzaj9okDjGSsrdEuf0Q6aREAQQy+Ig2ICnC36Bg2mcMOsAS7lReEfh\r\nkMUHXTFI2Ly7KnIYg3jI2D4YQkfusk3SpV3WQ8K5D0O2PGlSMEgyxHHYR+qn\r\nYs4PBhkZ5HJKUqxcjclyx/bgXGE6x0Que6GISXCmVr3R7v/uLdOggfDLvkO4\r\nyjXZ0qqRiUr9BlEIuxoHcjAgplli3A2mnNd+Wc6EboUmag2sMYBJB6vRIgRh\r\n2R85MnxtUkDKER2zZbDile+yfDSRpD4W2YvEuPPYHDiZh/dKFzyLwr4cGLSx\r\naNuWfRyZG4PHqDAv8glVC5XOYNMhshE6jwA+Q/kzFxHhiI0CcuLV06o7htzx\r\nCfeQ4gC+fXuEhmY+EGLVbdY7YVZNxJEyi5N9tZeU4wybKq0RLGwkP405vh4X\r\ngykjSk2TUDhZuIAFnzpca90xFvJvK3ohkZqWxrYSBFuL9hGcACE6oCOIigCe\r\nCkGJ52tD7622w0yPHSqJv7YWyLjcoVWIkwkiNZk51Tdc1k08JCp9cMrxrXTs\r\ns1ghKc0r0d3oGpaq91IqRuCHp7nhnzjFaU3enjTreJGhvgGJJCrIztfGhIBE\r\nSmYSO+BZqzMNGQvLY93BLmhLTfLj0/EuxkI=\r\n=pq6Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.13_1655360363049_0.13368925157643696","host":"s3://npm-registry-packages"}},"19.10.14":{"name":"@preply/video","version":"19.10.14","author":"","license":"ISC","_id":"@preply/video@19.10.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea0b51ea2bcd737557352a57c1f3e03b8339dd51","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.14.tgz","fileCount":956,"integrity":"sha512-3RPOC0DUOI6/l/JXWKcWxYwiQW7WrVTV8exKsUZPx0HX0VRnWLCprm7b0+ZTbqVyGgP2GZ5bO23F5YAsPAadjw==","signatures":[{"sig":"MEYCIQDIKyEaOya+YWnU8mzN13IBQPI7ZUs6B/y4TJuOrWswHgIhAITqmVBJ+JSz1np2Z46k9NFfYXTT9kj3NBYqXKorG2qB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20987442,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisYTtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8Rw//aWDf/WGNnHrrqZgLxI6NjFsToHiC0L28FfBDb/dEilG5hRWN\r\nI/+hIhluWlzN+gNJr41EhCqnTp1sPlWbyrJiNPxrO6wBg8clcslqpdffLIFD\r\nAARSpM1infwrTXs5wKA4M584hEYBLDsdkZq/1hDIfHXJAXXPDBbigGi+6W3z\r\nM/ZKd8/dqnx2On2jRTVtlnTOhK9rTnIXz5f1cKJLMzctOV83QqVXmzrUVwDX\r\nAS6gDN68ILi2MmnJKUoMA3mCGFqCJOVy5OsVcZw+qnmh1TMLZHg+1U7nabJe\r\nACFIt8y94zZFl8bNmQLHZVZng16XXUpXRfMhqPrcWAQjuMywG7tcPAKOoAIM\r\n7Yaz093yxNSuiulL87/a7g6isJRi7ngh9VMPW/z5ujDsu5A9Px6SotQnEUWU\r\nMuDV+aGIi1TtCA7c0JFivDXxs7coRv2CzmfCPAi6pa6WUVOauAv7yCW0Rjo6\r\nFST3PIT50DmB7lkXcRGZbXnjP/fD56hKrOqSzvnVWESkAyQrzE6yUODy+lL/\r\n3YqUJhAebQmIoF/lpZ6HMpwUdVG0wMVx1G+xxWUTCVK3gFbGVIcfcCHmHNdM\r\nHJcnvn5M2+fc9RAeNicF3pd4mEPREhjFdLCvyA1O2lP+ZsSbFGrVJ4LKf423\r\n9339GhRRR0S6t62RwtZMfp6JYgCnM3bwziA=\r\n=TuJp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.14_1655801068597_0.5726155117787763","host":"s3://npm-registry-packages"}},"19.10.15":{"name":"@preply/video","version":"19.10.15","author":"","license":"ISC","_id":"@preply/video@19.10.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6f6349bfee2df265d8c60ab555a17bda53493027","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.15.tgz","fileCount":956,"integrity":"sha512-sUM46VOOo6NGjuOjUxlA+TYBl6x/qpwXt7twXp15O00wyRC6pj8krvwgOMicfCnZWoH2LSFWj4Qq8UzLL/HjUw==","signatures":[{"sig":"MEQCIBIV7dxViztrz7fXQFvUTmNzqXIG7i9k6+KmNOOwHJDqAiAi3Kl8IV+NSTUGjnDOZ1K58dseCL8uSmK6VvMp8VsdoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20986661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiseR0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGehAAgLfI9F+c3OAjnkdcBvUzgu4xFj/wRW9UhQ0iVvvg2eApPb8y\r\nruQTbE8TnGssvB08rHayRycoaX+r3/+47Iuxh60XHOMzaxdGLLeoxAg7iEgG\r\nCr3DMECFh+L2ixj/xIh7+mIT98vWPuDWvOYOh9FbvjDSE3isjdqMPSOQZv/P\r\nuZQfzo2VH500OR42bHoicvt0PhRcwBec6yO1BcEMiMnLeDVs3tQE+Q1c2FhS\r\nZDOFsK/Ki2yv8WdoGU4lCBzz/JtAQ13XDBByIqANCxnMt5S1mW41E+jIHQb1\r\nizX7bQfdhaHHFytl6UDEF0xWTKrWJ+mBQh46DOrffLUGWQOvQdbngGTO2U5B\r\nIHrpE5bWzwOwpH5tJyCewb4CTeZD3YamaZaST9Iur6SQvLpepoqUrvXmM7sO\r\nM9iJx7vjYDaZ1msmaf0vfsA+/l6EFID924AxuvXaJOmijQTd+xnlcTBIB7tf\r\nkjbswqLRsvuL7C6coK34uGwyr8ixaV4m1O/dskSiI3qcWHA8Thy1etIMFzGK\r\n1BUlr24RUh7UMvDYxxliNV/D2ldzJeYgYPNiCcDllUcum8N6uqDRick3X37d\r\nVBus3jABL9Oo5OqGliga7Sft5eMIFrGhHdVd4eaanyxStnkCxdlNkdE9Vrl6\r\nHPzeh99B84m9iNEWzH4c4DrQVlKOpjyj5WY=\r\n=NPoc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.15_1655825523753_0.45994238133724763","host":"s3://npm-registry-packages"}},"19.10.16-alfa.0":{"name":"@preply/video","version":"19.10.16-alfa.0","author":"","license":"ISC","_id":"@preply/video@19.10.16-alfa.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c3d921adb94b0b77ab08d60d9939efe6ac5d8c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.16-alfa.0.tgz","fileCount":956,"integrity":"sha512-DupbI5rw+G/jufp4YgxS2HAAEh6Ejr90T01h9JKYsSHpQFaaH/raNOxogr0zciD8Ihnj3aqarzQEASSgl/R39Q==","signatures":[{"sig":"MEUCIC7ONBcLDaShK3e55ylwLMNPN+xB6dFXIfLaX5ltUyR3AiEA8nVsmx2P0krd7jbXRtOTwxUSouO65YO2zNEXbePGO+g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20991769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisu61ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPmhAAisAJSSiAH6ZkIWRk77p+NnGqKYaQ40INPnPwEmylJH8LZp3K\r\n/ORn+KQJjwluwsUkQI+5F0HUaaiKVSdDuqVX4poeMMGy8Kr8TD7Xghnn4pzm\r\nPYkUoj5jKrTUXqy39/+D8MsERAXD/pyhjdCbf33M8gGmGJ0udntYi90uWz71\r\nMW6KH2jt/xsJ+Fejmxu/Vi3Aah7i17bagkLru0B1f7h0hBTTPa8qx7493Hwc\r\nYRTcSJJezOYCLE/0xiCoIWlAQtZI7x/t+DqK5DMY4FQ5PmUL1iI5eCR8XtlP\r\nF10vn3Gb0ZtPaqlunj2EoTQ7hlZOopzImGCpDFaA2T8EiGj3L2gKRVpi3B1w\r\n4bYJwIajalfLsfeiurLwFBWEuSA+VVHhyhqqIBiW+XWShtDiFgT9rK1wWkcz\r\nD0Yo7izClVX0XEvBrkIPK4UAO4mLLUy3F8XHmvVX4jiHW0MAYUi91gMdOnTi\r\n9//SLdksP2jeUPgaveJRCzHMEnJSGgmHPIhI8k0iDcZHrqu/QKGehWRyObvY\r\nti7mvaJBHylMcCe5+3rDe5XS+T5kKuvfnZ2v+nUsvKjzlGL4IbovR+NBDqya\r\n1ftSaa6F3rYbG5iNS9lYlYjXxF2F7REJQCIaCv0510SJ1nBokCEhyBG2kJ34\r\nO9k3B8vjYuGGJFRYzpDOKIft0qDZN4S2Yfo=\r\n=ifiY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.16-alfa.0_1655893685499_0.09748809034456718","host":"s3://npm-registry-packages"}},"0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4":{"name":"@preply/video","version":"0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7601e4b1a0084ee6c03caa0aac1edb1e8113e50d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4.tgz","fileCount":956,"integrity":"sha512-c7P6R6UTnw5M+gKptqrKG0DayGwFZc3llKmZCGdYn7mWBIVCY5H7vOCPtcCkiRhn8QVrpECbuaixFwUL6nMVfA==","signatures":[{"sig":"MEYCIQDHVSaaaLL9LgvgJJQA1I7YFHChPLH+QIjU5Z/xsDmx9wIhAKFdcW6SvZgJ7SAdAKYrFkA/xyKFzXCoBFMPJvI5Nlmv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21024789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiustpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnIw//V8B0Tx+a5RwGxmdoc2cOJ7DJEGlLBpuqMSyxqb+ya+slu4Iy\r\n9dPoVAJGGO0SBgDqUZS+f2M3iwR3CUQj/J+EyhbZ8xlGhiwH+FZR13qSXHyi\r\nz0Bj8+XJQyKMUIu21KORzdyt4id6auyb0tVUJwZYjhF4gGSCZteYn3UKDthi\r\nbPzDlYkUOdSCB6U/qBA4HjVN+2cYA78jPzcVYjSOwp6XsxpWo4xIhb+j3KcY\r\n16kSJKUDmm7b8kjyZ0WDOPga4sjeJL1wNwfnf4w7P4g9szY+kc9D9BSOLV62\r\nSVO9tZ75qUb9kGjroELRQHneQzcCKfhGbX0HM+Yibp2ZL8WaI73qqCCXfDOC\r\nbjciUS7TV3s/XW50GzLZBchFlzNG7gcevhx2C1p1qQxDaYV+xv1yYVfRxaXz\r\n8l2fC5mV5y5jM6w5hmA0p+ZPLm9Mozj9AqLMDAAHNQJlE4bloX2jORAqw8XR\r\nSHmyleyaS0E2Nu2RPGHQnbIBuexHO/kkJomli9gMvhGKGW/8miXxGpAGc9bq\r\n83qpCcElqePEyE5rkee2NZ35ZYt2zUg5FGxRcd1klx7tdr2rrQ25L6E52nPI\r\nfdXTIbbmY3y+5+9dsEU3whM/FmYVjZujB/2GcxscFQc/wbxJgByT60sCVjoj\r\nhjmq28WoRtCGybT7xTVbye6b76yCbE4XSfQ=\r\n=YujU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4_1656408937423_0.2433445982728193","host":"s3://npm-registry-packages"}},"0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671":{"name":"@preply/video","version":"0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c71d94cb24d064d70eb71cb4f3ccdf8c3a27c14f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671.tgz","fileCount":956,"integrity":"sha512-OgQDiSA4NnIIYF8wy5TaGyfrq4KNAEN88GqK9hR2JkjmzCxPJgE/lvU8iZ9QmLT8kHrYhbfxvZeGkxj1LHPCgQ==","signatures":[{"sig":"MEUCIE21nJm2scCawUHX6HYcbSQLS/50Qwe9jXYUZuPLUnxkAiEAtGRPBijAe3rwr4GMB0ZFYcQz55KrVYuOTHV1+dFmR5s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21027991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuteDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpW8hAAms62LjmjYYMwGhuHa8NVczAk/A5enmTshyJa8dweI/qXXLa+\r\nXOdRqEeKSZLX770ef1C53FTNIAWiJcOuFjE1v/g7jr6uHgSjWYehgzmCqCgO\r\ncybSqenCD44mHnRvr2QrG+hscyf7RxtongCcwJEMmYoJHiMgq5JI1/zUPKdS\r\nZrcUHMZ9pRzbKFD8hZi7Qut5JiJ7KeAYfYy6CEYXZ/T1NZ5yFVKm5TnUR5SA\r\nh8oHxPpub0DO4VJrNCezN1XHJG/YDLIE1lEsu7lpRSQqk/ZkAqKN4V+ttwmL\r\nmfdetQFMJeITpHxDwcngTbqPXTK+Bud1ziE6IAUGyLBRVrroHDFbF4YM6QzV\r\ntsFvaD8DHQJ08dqgt0prsqnB4ZJpP+pZ3nJIO7JYi/INtGeKXyLWJmJiBSsG\r\nEpspRIlgVqfOR6W4Vj++7ssUTjVvvcYNyZjTjx2IQO3uLWVRSeUAbj+Vcc9H\r\n+C4wolKxTWIwXCNKwVLS99EyPbShyEhHm10NelPseUEmNkexLmcMW8kns4WJ\r\nTgLCvtipyVBPLSgssbz4/rpLsycY6V9+qhyzMscLZryZATcGHw4imaI4eLxv\r\nhcenhSYqv+MHSfUEvWrpI6wMvAV9vz4vFBD+TqH8hDqxMDiK5+ZsIWUKnu3G\r\ncyM28kWuveMPj7NrAPg2RVVaJBtj3QD14x8=\r\n=6RWt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671_1656412035531_0.6816879190338474","host":"s3://npm-registry-packages"}},"0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47":{"name":"@preply/video","version":"0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba29828fccd35c7247b58dbfccf0dc14880ffb1f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47.tgz","fileCount":956,"integrity":"sha512-vJv9UMFxU7QuVYqgUhFUxv3nT9uIOrbibuR6mX1/LoM+bjQiUzPiepy2G8o9zrgawmYfimWcxcgLhgD8X165Og==","signatures":[{"sig":"MEYCIQCAlChP+i/cd6zls+RRrYCgo+2eRA6uG2iFmTaHq6D3jAIhAMoIvWDcF34GaNRrEALlbEummTugQ9M7yfN5hXlZY+H6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21029611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuyP/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0Rw//ZDAhVWA322CDsIjNBPgB0T8fRDsXCUTvVfva6VAP8FM69tQB\r\nIj6MCn0tzT8wCYs4YfIEmNP75B99oGtSBdro1JfpVKmejsiBmOwNP/Nj31Mr\r\nF/grkHHoVMFNRsm7YmFK7hxFTxCYjASCSVRTf7PiLoT70wAgP9qVsb/AceI0\r\nBzcFABzyWe4vsTVZdLblq8X2JkCt86igZSQAbPVcT56CmX4nz10pedc6pTvI\r\nj/1AQ/9L9nCLlN34b1RM5uwoxhLk+fyHfO5+lNKVE9ZWxcmg5Z0Kcfmp89gr\r\nMig0e43uhli08yrjf3U5AB+WRm7fjN/QdyQn8aaOxRew29dQenSONkl4fpwJ\r\nZq91VJjZda15d/OJuet0iKg8GcfPhXd9PetXI5FZs//xmqhZQWuRHmdJd6KR\r\n6/eJLPMiDFRM19dOe5xUp5O7AO+OW8L+g3voGD0daqGXChGOyjY8rEpXtQJn\r\nXN17BnpxGpuJTjYu7zpapqcQNomxxFZAr0Y55KbDfvofBVutZ0bt0jnL4yTD\r\nUl7sINgj3ajYolHyNCP8ps2x5kvQ9fuwrcF9LeTN+JDOS4rpuu4p+53VMPm+\r\nenUpJV9cw38eQ4fnpJQS8Q9iSbVMAP482jdu12uvhkq0BjZ+o42TUo3QFSV7\r\neVpZs9OjqycQPY62ZiKL99Y8IphJ0+2+xVA=\r\n=cTVy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47_1656431614907_0.733395742003532","host":"s3://npm-registry-packages"}},"0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30":{"name":"@preply/video","version":"0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"50e703f09f8234587aafb592872047671227717b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30.tgz","fileCount":956,"integrity":"sha512-H1poGgXlEHhqdcMQtliUG8E0CHHQ4ySILKPFGOZzY00Z/UFer3Q/GHucZ+Z7NoHUPumJ+SWYzDXSaGjE5icaBA==","signatures":[{"sig":"MEYCIQD9f79dDIEMG/q+YTDnt92Q3tl66P8MbXLSDTGKdYx9mAIhAMACBD61Hset6g1xYXH/gwWHkA5aF25E1iwpmLhNIOe6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21030106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiu/zYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNAw/9EAOi4rXR342Rn+gD3j3wkGL/LBuhepaADU/2SBhv4GSsVw2r\r\nkqjomjOq8DyFlKNVZ5/Ifamf9FyFxTfBVbCBCBMXZfQth3myofpABtyDr7/9\r\nBESglsDCpoSYIuK24V8e9RvP/UTRpH1WP/kpzxWFm/Q/r5Y8hVo/jwtrqSg5\r\ndaTPMhS3SstP8i1qcB19r2sBHGmcWKOFJjHhXTmaFPajenuu7c1J4UL6kNry\r\nUMTe53Gh/d6MGsEI0GHVZAIkXeCzCZZyLEqVqBfz3uSWsTxlK8RO7DnGm31z\r\nou/F+jrQXE5GgGQRqrE0hIymYtIrXisckVaRjRXvsYkzBf1bFMQ6r9clmCfN\r\nnnHTDkT1ccvhMj+MX3h1jlmeeSJ3upRn2kZOsFVQQLvwdn9ydWUg1+mrlbOo\r\nUOO9Bw3U8e4fTBR/gNflpQmuouCx9nTmnjkpRttwPINtlTKVATVqmP/EXkI+\r\nw8NiNgqGULJL9TwhA7z/v5z6TP9IGwkqdF82sGPyZrFCRNvuSS4ueYQGA51C\r\n1xEIZKEIEeKm11XmPf33ZIrpl4TrL1VyQ5aswQ6teE82OcCQqPplt6gAMpiH\r\n2V84p9vnGoCEVjgXsNXweTTYB1WPPygRwSlX0/GBAoXTV0PMgYOltPEsSsSi\r\n4q+Tl02LNXOr45xm+RJ4FTKJSqxb1ngT/Hk=\r\n=lUi1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","styled-components":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30_1656487128427_0.09202134530730155","host":"s3://npm-registry-packages"}},"0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402":{"name":"@preply/video","version":"0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdcddcd3f821c855938a10ed28ac6d08e6e2d9e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402.tgz","fileCount":956,"integrity":"sha512-Y5ROmY207N9vfgsi9IDdZ6wYKeRVtdblMs61v7xjblczAVNud6Wt2FyNAzvGVr98QNuAQczqQqle9NIom7DGaw==","signatures":[{"sig":"MEQCICvveOK9iRGZy505RTxuDLqC1lFFKXV43H6lUox4N1d2AiAZoIP740CwrP8b9wsz4Cq5Zbk34elLQz5kgwr5/vtmUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21034457,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivH5cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr3nhAAoWzqDU/nn+Jv8IcVt7tsZI+ZREEfAWrpFpLIub3RZqxyZtN9\r\nA/IUkCIUH/PIlMIfcW81d/uWD0jnIQmXWn69ceXFk2XgVYA1mYizDqWX6Pdj\r\nWQ6nab+vQsJeu89xyuRGsn2MboSske9Z5/IvN3ujHbRHPuQw/UNB8TIF/WjW\r\n09NYldnmoJHQwaaxkumTbpIN4udtWqXFqOqtZ11Xd5nmUIJ7nj9Www5NXMZH\r\nTE3dgUFf+c329OqBJ03UEcQzqaoEavj+Dua/mY9SIvj+7Ixbq3PvWNl1gJiZ\r\nkECBm2UHVp5vWWjIGmvqZfxljkkDqRsT0sBgFBPzkdCJ/gvgAHA0wDGiToBs\r\nqhcr/Hs8FZm70z1FYMzQwLnqS1YYOQ+fX9HqfcSjgZNUSA5miABYtySl2CSV\r\nnHmMzWsEc5I7QSGgADQiwGx2YMqDI7HsZLljRPBi+Rv+ITkKZGzNrKooFc3s\r\n+O6RjyRHpvdHlYiPsDzT9cbIy2Jqvo3HNDKUPq3NWRq7wIqrLRluxZsxI+yh\r\n46LwIGwpWPVqBqFPOz/vJlw4ezXznkwz7H3GrgILGeB/j434dfbsDetu5EYK\r\nTFwxJGw1muW/aeY3lats1WzO3eHZ6M7b7B6vwuYDZOmzdgflow4QMl1A505B\r\n/9OPYT7JkL6VJCcF8GjNNU9vRJBnWq97Lzg=\r\n=i2jI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.31.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.31.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.31.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.31.2","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402_1656520284580_0.7184606258005508","host":"s3://npm-registry-packages"}},"0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20":{"name":"@preply/video","version":"0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a136601d77089fe8a1352d8391a9442aac724002","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20.tgz","fileCount":956,"integrity":"sha512-UwjD+eWPuEyR1Z8qhoI01E9MFQSTXfzC8/nPn+sVTdlZcibxUeERaLlSSggsPMSfnAenbmcsFi1BoX6YFUacXA==","signatures":[{"sig":"MEUCIHAogVfcsdQPAie1c2nw3v8s9GLovHJHcFOVL0S8izipAiEAjcCkajJxXdId3ezdAa7Dtyn0Z1pqnf4FI9RuKkdsB9o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21034977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivWoWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1LQ//dV2N8cINcg6vadBIXe0Nf0v07g2e9YinFqlEuQf+HsmnR3zq\r\neu7T5jDP2IpShTJttebAyhTiBC1jz4e8xW6rPpzajtnWhLoDDz+VXsYpJRUy\r\nXoMmSiu0hynQahllczfRYebBc8XMidIoRxdSp1+qtvNbwgFqJd7mgymVTEwY\r\ncwUChlMnn/Wx9+EoWbDvbJwxYGkbCYEHgvxt5GMc8gJWdanM1tQxH7xyY8CM\r\nXh4ERmydORXLT4W4xa/NlA2MoXhYyrTm+rD4h74CQo3UR/jBtr1T8n7FfU0C\r\nSXeDB7khxHjMpM0l9OlkV1gQwLteGwPh6SjDtelo+lmKSExKuXDNBjVEDcMC\r\nDF6yENTfuy8cgDKyXh2dswqR76CMHdVAKqwXYdfNO6Bnlw51UhvDwlbxARIe\r\ngbUdf1u5sp3NBLy+9jidc3I0gURLm8SVaUxEbw9rci/Ugyr+JPd7gnYV4Sk4\r\n70eEoaDQyVO2zTo1EaLjwT93o379B/LhPoZX0YIqQ0VuSv8+eHGA3q39T5Yc\r\nwSnvjNTj7oCBxexolFV+gANP2zcmJ5B/oJOQWet2o9ri8pV4JDE25Yi5vSZ8\r\nutYWjUma1BTafCtZ4SQTwwNsfQrYOi8DluEQrd8ft4GHQmqG3+oRqWUIJSTh\r\nqsm2gd1WH+w1gmL9W0FX0HT9MsJbgMo7x1g=\r\n=iOZL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.31.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.31.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.31.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.31.2","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20_1656580630016_0.12998212361190187","host":"s3://npm-registry-packages"}},"0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb":{"name":"@preply/video","version":"0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c9fdfa281dae4a46e01c0d2cbeb7a0f9d2aad479","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb.tgz","fileCount":956,"integrity":"sha512-EBAam/v8ev9Gf34s/ZOmD8jQFXoQi1HWOaVTvKTWwIHXYg2U+B9hfF0nwjiNZH0EzUDVDuparakCWQ+P5WkQRQ==","signatures":[{"sig":"MEQCID8oQwBGlqe9LRvwdjql/jgy+4nfUAG2+3Us/kb7mD+lAiAB33yQtpGjOll6r+7xg9UUS7bYfudBWAEbZVpH3gChRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21033550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivu7nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVYBAAh/yxYLqmZZdSLEFA2HSKoaIPseHmctDM0oeRvcHjobw2WPWm\r\nLE2dql9VpgL9on70M44x6+MdSP9hD/0yjMBg4dZD7fIZ05RTrA2Ib6Ka+0O/\r\nN+3BYbdfqjATvs8u8S0Fs3681AN6S/fbwWCZs9xpHOVKRKRgLX89RDQRdJ/9\r\neHreKyI5N8Xz59cHBmxqur0dHVGYGnKsc0dpbk1UQ70QirGB7Nq1KMjoOHgz\r\nqo9gyILDyRQA2NTR3jkNHjngr6XukofHeXSMC7GN8Pqla0WVV/8t/szkXA0B\r\nYJRSQuoT0am/SsZFgz1gxivqyXkKxLdb02ncPFzNO2Wl4eCRsOs8caLZ6wN+\r\nDfsjIQoVCx2hG1meyA2NY3TeFjPzHYXVF/lnFEWHEnrUh4JWUoufuWjxSeku\r\nV3esch2qqwBZTGTRZ9hzmosRvIZOmjORuJ47SWdyFkAGc/1DwnyJHM4cx9jj\r\nD6/WAyriAZNCfhZUKEX55WNGKWM8VkrObetRoPtYanvxa6dzy3E/14WgCk0j\r\nwxjXS7M3i+2ciioYUzjSTKbPWtE3XqJvExHeZGz7Bitmm20FNA6pt2cjus0v\r\nB+QSRX4ThkaUNT/A862tRxm/idcaO8ftXnR+vwhtZq127g7XNZNnpMIVcSI/\r\nRaiM3o48eH8y+EdVORUXlxc/DkMFUC+176g=\r\n=OwsX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.31.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.31.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.31.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.31.2","@preply/ds-web-core":"0.31.2","@preply/ds-web-root":"0.31.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb_1656680166987_0.22609328204944878","host":"s3://npm-registry-packages"}},"0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b":{"name":"@preply/video","version":"0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f3dc6eab33451917336581322cf1ab61f28e52c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b.tgz","fileCount":956,"integrity":"sha512-A/CBEl4EUUir3rsMvTqu8vz9Cru+ek1e27E5Gky3KDkkONJXh5IhvHhDc1QbAtFNrPqfctfbomtgW9v1p2WpBw==","signatures":[{"sig":"MEUCIQCHiw4a/4NoeitUn7hhW4xPL2XGWH7dcGwZwzuG95+InwIgPNeegREvJD7TVZdgeD8/uVl6uO1DNTLSnWF1A0aMpyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21033770,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwrnoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXohAAiKB4ArpHR/E6YXRXnwJdEYCzp1RDWjQbsZuAPKmdnluY4Trm\r\nYEtwekiUnTVnirCkSHpeN0iyeDwLG0j0I8HeCfyvoFd4gX5ZTkobarc6t1sh\r\nwbeg2abGmK31Vbay103TlP70Oi7eZF/Y4GdbaxhHWGXV9pT8uYvciRpoevbv\r\nE/FD3HxRl7mWtCcg6pKM36tBzmVVjtoTyleIu8SYsQYOkE0jUeox6kgYHkcp\r\nFW5UDscBgHLjnrrqIs2Z32s8OjrkRoj6KoOQAQaKCBZBdSfpXFKz27rI1D3h\r\nLEDgCsDazSx7qaqOw61OzakB5drWajl+i2VHb8IHUa0Et0R+2RkRUbFSDF0w\r\n6IygR3C5mtGkLvfW6+9UGgSMw16fpt3SsUr+oq6ySmF6//HG70SquosOdLpF\r\nqrJLubG9bw51osiCmkdZAUtmKIlFGqKP/4h1AykW6FBlnLa4omS+vO4go+3J\r\nxtA8o16jM02CcXnZcddYl9jkxqxn1JZnRv6RXd40PFj45+Mo5mohpW+kc6jM\r\nt7LOKXDJC86JgfF/BriqkhlBCIdu1ciOgwMPkOfdDQZZc4LU8GHIwaO+XW8o\r\nkuFxFHmLpg/En9esWncDewZ6dD+tMQUcIPZtuwPDiQOVootKxgRwN+TGoGcx\r\nDr7lxRWBEqQcZAWlSrxOVixv3nER/inmc8k=\r\n=wJE6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b_1656928743695_0.8640668818461321","host":"s3://npm-registry-packages"}},"19.10.17":{"name":"@preply/video","version":"19.10.17","author":"","license":"ISC","_id":"@preply/video@19.10.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9fe01215366a0514430fbe369967e0dd196c6110","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.17.tgz","fileCount":956,"integrity":"sha512-8yiL8PGlUqBRFHMLmyxLvkbf2BMIzQsgt0EI5uO8mrMy/IC4mvN9Xz6hKALiRZFS8AANCF6sxwmoD+Hgc5n1wA==","signatures":[{"sig":"MEQCIFaLOIt3Fh2hKBr7xlssIy0hxSZX9mo6mnNtvblZidjpAiAzGAd9o6s+JmKAI5WpNyvvf5fHhUWEPtkJUTt7OVNywQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21047674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwtKSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrymg//ZlPbnxQNaw59/iFzlBGd3lVRPKx2mIcq5Y1CzyJI5zXG2k0f\r\ngw+ftsrPuHUrAL7fRgwVQu5rjh5iuhND3cf8Zwbd2H5wn0QpfB2/iznVOdPb\r\n6hS0bE12FHhbAIaLeJc47Ce44N3rQX3mIrYdXBSmjEFsjynqV0CejtE8XJGj\r\niLjckii/qnvDv2Cz/+/4IKXEJ0GGjXrRwdcLDmIgoFtLWuGxghs093biJzw8\r\nW6L9Taayt605GmXxVSwM9ivVDfdQ+4XSPRs7cfkFwBBh2MZ70VcqCkHrwdm1\r\nA/R/MQBF8duGiLvwmqN5ib8BEp4718dqX1PLxW3N/CC6Ziglss2WylK7qbV3\r\nJkRaAirrTdLV11Ag1DKjnlTnccdN4dnUPLYWtqBVyX9NG496/LOmA1Hkq3kg\r\n1v1QjUnvHlepjOuheQ+SV8PaU6dRA4qAsCeogHjgOXEEeJHw40tOtVEwQUUc\r\nMKrogncs2yVaWe0MH6gvzN7g38Bmx/pb2HKIuBQ1P69JHzgNQg7B+Kpb5791\r\niMLEOvHIqYgx9Wrj7665EttQoTQ5TW3TP0lEwwQEVJINqaoZffXoDuMmAGVj\r\nIq/mH02iBZWOfY9CiN8DpJkwQgNJ+EhH5CtmWPjarM9AzY3Z8kBo4TfjVhUE\r\nnk4n+UZs3GuQQ3tVUwJVVH0ZDl1Aq+favgc=\r\n=Igg5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.17_1656935058043_0.5541137093939135","host":"s3://npm-registry-packages"}},"0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836":{"name":"@preply/video","version":"0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c57af6fea54d938225d27851947d49505d04ea70","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836.tgz","fileCount":960,"integrity":"sha512-v6qFKwVSWx7XpQ/dPFm7Vj1cebYLnV90xEQ6R2Ef/1M76TykyF8LxpJEAHV3GAzfMOhIgEjND3ntg6aVP8jnsQ==","signatures":[{"sig":"MEYCIQC4yh691MvJ4UcDqZTLOBW8SNfbubcj7Rv0Gpm+REKYuQIhAORVMvBehpeWog+O2MX2+AVDqehLhw5fMFMnkWMYvPuT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21407248,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwv23ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFChAAirderakW/TXgjpmqXbYOCAXL5dyKKP2/xvk+MCFfpEzVIWgq\r\nDw79Ovkt6c1AfKHx2cAz/yVkN57E+HBFLWp32agIr8LNFqX3pGvKGXX9CpqF\r\nOd6D/JOeN/NTE9PVp9jh7nD5VA2x/tezVSNieegXRaCVMNUtIAcLsHrV5udZ\r\n5hBfNfuVPNiG9uwedg+k0pZxWO169E7Oi3+fndkVIfGJ/xareoRZXc3ueKIU\r\n0jdBzjjam4TFVPC3LQonNElrDiSRslzKDC5rHknIqArk/b+vLt0Hp1l6BsqG\r\nJ4nGW/yiC4Dcn8g0jrCf+QAP948+aOmW2j7MAfuZDuf4YEdqEDEM5QT5rbpH\r\n8S3eD2Iw+iOalJ9rJIWGSUfJVecayHF1RIgW4AwRLx+rUEsj3jG+c+XCbAEK\r\nYDfDYKQxU5VJkUfSnusAwR4AsCWBhmyoriKpt+Gq3X2UgPJ5BC2KtIWkKjZ9\r\nDhHpB9banOoDBcq76JAvoc+zgd8zxR8Q4L7ZFh3e80RYZV1phoI0qt1RMwA0\r\nfChWT6tIsBHjYMWuNRz5gVhZJZQV8/g2e8ut6s5m6LpZzgKy0zKd+RpCrsr6\r\n0vDoOCwSEW1CjPPzecK7nJ5lejHnJ8N52kTRGGll/fNgTkX1cqHZS9DlfZ6P\r\nCGAht6FYwah/oLySemIYHxYG0UA5SP3hl7U=\r\n=5ubG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836_1656946103549_0.29687332123617627","host":"s3://npm-registry-packages"}},"0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb":{"name":"@preply/video","version":"0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f96d2f6dbe538233e98771c11d9cd70ce904e8df","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb.tgz","fileCount":960,"integrity":"sha512-s3TY85OzV2IIe4N9RvAEw9Aky+3r/yxYZjNLw4W9FtzFVnMkiE9wgewoyYPNx0v1/sibQDwCnnn7O5AzDV0F/g==","signatures":[{"sig":"MEUCIQC/ESicrLLSPCDLznJbhmDXJzsdUIk3j+ndT3HfcDjPvQIge60LRU2gL+BAsKiOv8nLxaF35VHccve1AnHTgwMm2V8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21406715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiwxGNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQSQ//T99Q9IqMDpwsdmA0VASQ8VqgTXf+GCAcWFsAYSQ7TP2aJhyb\r\nZNc49duN3oO7ckgY6CQ7EngapmW/JvnQzoSpWk1PFqxttzdIC/a18/JYqQF1\r\nrqk9AmUdAknfkVdU4mRtE08d/sIGinSMRy7myrcs3GK3syeblq6Z4zO/4y+3\r\nId6VZ/kwXXdhS6BSH/03+NAh9OIDUuZFRf/1f/B9gUS7+EPGrtuwF5FRfxnZ\r\nfphTcEOMaAzgUlN/GsEeKsqlECAJz/WdWl5rFO7pEY4uE6UAUOlxCs+BWn3n\r\nN5uML2mK04/HOQsn0HISCF1sZ9fplbWCMvGs4I/quWmlsfyCSRPQ387/zoga\r\nsoJ6FBtokB63cb0zDfP7+XtYR9rPcLZdAwgfX7cUzf8LLRbK2y6uGIe5Qalw\r\nIHn2DzptG0c38bKXsfDWjVoSYAeBhVqc983DjsUPf921X1bb+BVAn/UFPJRf\r\nNE1uKBc4bia4z0Y4UZIYHdZp+7FBFetXVPWYJ1/QHp4BMCDLwP4TF2HeII2Q\r\nKwzzQodbyKKvMHbBNkHYRMH9K3ial7uhVdWbAl+sC7c5huq/xeeRi5utRjDJ\r\nWfw0GWGD5C6/5+xNMKag8Y0Ijqd1Q5OSUC8j56i0zS4v+QSesgc3QF0jWaYb\r\nKtF1TjHN87Ama/NsLj4hKwnThVGVVyZ2jW0=\r\n=UmRI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb_1656951181546_0.5692253042922635","host":"s3://npm-registry-packages"}},"0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6":{"name":"@preply/video","version":"0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1a8f941baeaabeb4c50e83bbef1320399a8bcda9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6.tgz","fileCount":956,"integrity":"sha512-238qMO8huqKHjU6BZfzJGlxW5YWNX1PkNstwmiATuJGp/3oTnMijBC+g8YZEidX/ChZYijCWMSB1emrkTlZ/jA==","signatures":[{"sig":"MEYCIQDAqSKPhPyJTnaynJ5+4xAc2isFw60JPaW9iuEQA3DRdAIhAKO7LOISxGovUf3RWgEJKnoXmAJIFX0eDmq7kcKF61XF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21051375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiw//DACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoswBAAoXpObj7/gwVZT4tWJUM2CWSRvsxfq8nFypuQXEvP418A/cOK\r\nI/gvWFESA6ZxSngkufREvp8o/jWFjTRMoV9Hdpo7LuQ4GlB+DbG/xVxC/WDu\r\n2sAD1Ak/SY+coP8bFGD8t0mrCluJ4kALJVfzW9+soOr+ZHaJswFpzB8bvUhh\r\n+7Pq+AoDfD/d11dxH9vIuQMaIkY6YuM1fEA7xs0zK2WMwIqvvz9wefUIvsMQ\r\n3oXFvFXSf2LuKwp2+jJVrU9XpfiKYrCi9fSle7jm4l9Q216/Zu1xhXz+L5T0\r\nj5HiVmIp0UMeQCaeulckUqtqYcSw1gkQMxc80pbgDmTbgsxkyMvuzJ/1F52N\r\ns/lbIIuUbX+Id/XNg2TVoiJYJ9d8/ASCYsVRYeFU8AUZfIKRHIh6wx3cj1sx\r\nAUwyYDT/C8VYVdzWMcM6A9Z96EqmZKxyr8lZ3H/bSeXgL97jq7ZtL0fbBY3Y\r\n59/tlHYRQzk1MXKFrQzPJFLR2Dx9EuVo+oaOI8AUPYRvCyoje4OvVnODUh2A\r\n/P4Ong/NF9YAvLYEl6EWp/9vhXUreukQ5nwR1cT8RxGxp7NflZ04jsAb7jxN\r\nntRR5zeYLPdE3tTsuS2Z4/FxWCYpqm01LvMByfR5jjSrh2YXCibPxA9xwpJU\r\nY3Wb61wO8uIPZ6VSOwvu5QCyyWrBYCOXuVA=\r\n=5Jeo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6_1657012163166_0.19271078434111732","host":"s3://npm-registry-packages"}},"0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456":{"name":"@preply/video","version":"0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d42be400292591337ed462c73c103cafce1888fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456.tgz","fileCount":960,"integrity":"sha512-FmiKLCCG6J40Nmre91tqrJOm6pDjtCNJQjSx0ZCq+3PhVrpkkamTqoi78dG+kzz4AoDryb593ErAHDT3PansHQ==","signatures":[{"sig":"MEUCIGjt9QD6dxle7bbnkCL5tseTPI5CsOS2nfNNukjh/LYTAiEA60JszRSsq5K0hzdV0hk/i1iFCwNINoTbZKrcraF4rAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21408123,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixDS4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMGw/+IJNCQ6ikhhc/I31b/vE8FTi4+rwbmbDllWIk+M/D+4LFXkxA\r\n14Kq/QsHkao3XGk3tu1LajICUxwKAiBmDnsLxdQOxT1GK9FWbPlhXZwzIMbH\r\nchoXQGB5xwDlfxNtge9jnbS+jfVRoY2/m5yxH3AydlQmD4FwDgrOgrM+j8U9\r\ndTFvG1L854glsqmquiIeGYZYdTI4PXhSRNe8esk4mNcdEcAWx9UoXMawTM5J\r\n7GDW3+w+HU1r0iw1JnSkP9rRMzJ5rlCel9sVpfwLn+sShsDiREO32LPF8NlN\r\nqnuAvuRMNgnW9gRD8M3EfsbViLul8uoNC8nkJo9ZUVb8pkisXbJDC8XugeJz\r\nq1TsSRdanb3T+qobwBKzizgfdAkhjjzyUEqPsodxNlEqRDdPnrpXAnIRca+F\r\nmWBMJivw/GUurziLZoDGQMXe8G/DgXeEHbXgtKEOnabUFpxF5jATfqEgeA9m\r\nuo4lJh2eTShYE5x4IkbOAPLVlhBCXwAGFULt5bAIEM/7GTOwpVBmjhOG6xxL\r\ncoyxWFi8nstTb3tnwD/gL2QsJu4njfIWkOOhwKvpTu6aysbYGxrgz652zvB8\r\n/gc5B4XZ8WS+ySLiBFD6NvO0BLsN7qd2W9U1KHfEkvegj3k5O0XlF4d4cIkl\r\nZVCzvMl9rEd/YMJSO9vAWD54xrrPgmQizsc=\r\n=Upxq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456_1657025720352_0.5003432109880819","host":"s3://npm-registry-packages"}},"0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b":{"name":"@preply/video","version":"0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e487b032b754ba7adefd76d9346c9d16abb9213e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b.tgz","fileCount":960,"integrity":"sha512-vUbFJYEMDCjwTjSFokxBFv8ZnvuTBlUVJMTV1C7V6fhmlQbR9HaIWtV+GZRI5U0K6+K7jL83CUX1GOOEwyMKGQ==","signatures":[{"sig":"MEQCIDOY71ohteNax0zLqCYNF0Uc3GfqZlUgvL+ZH8aHLNz8AiAsPXvL+NKsKmVszOTi4Ab+BzsO8m99Tn35c93XBaFclg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21409098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixD8HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPXxAAinMtSN0dw2eX/FfjweGaMnVI9zmuCEvybTiHAZiJv1xgUj64\r\n/qrd+fL9p+gc/ypmJTBYZ2vJOye05o1A3MuvGPIQxB/YY+T0okBz4bTDCgMO\r\ndsTH7ZXoVYIZiwBt0GrPwFEauzoQVcRz/sgigwyIHoqOhEakaOM0dooZGNtE\r\neebSzpivbGHWjrkcygoA8K7ylbZkVS2EqWea90CuUbnkoRtt+8Mhn4zblBwx\r\nBJJgA8ObJCJKIPHkQ61CyYfaKOMpva/yLfgOy+pMRB2AIL5Tw15F2uXpkvLR\r\nhVcR9/F1bN5S+dVSZWPLkQ7fPCvjY1QNv0XI3YcQ3BYtAe9mabsCb2QwmaeY\r\nzU8RhGj/8hPWzAyK0552mg5t00enWjy1hsbhAvD1w9iWYMQuW7+r66GoYzNj\r\nQQVRZeHo8XVSeXhcEgTdeB3gQzsLswOQzvOzePj4WOdZvkNnIal3JDrbwNFT\r\nk991bcL+GFle+qF5E0tW15lqCHzfvLbf93xJJwZIEzxmOoOEHeSB6z6VfuOi\r\nkqyubgxdN11e7DPAqW81+DUn2fX0p8lvRami5T+eh7xX9RKsEPVsNCG+tZiS\r\ne5j92urZ0UHbSCaT8zUd0PLvFAjoaynCn+IIMR/T1VXjv0gRQX/1RkOKWVOm\r\nkmMNCoj86g355s+FnvVGyyAmhhzvcLYveLk=\r\n=n6BG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b_1657028359161_0.586389797998208","host":"s3://npm-registry-packages"}},"0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd":{"name":"@preply/video","version":"0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cb659b7792fe537be655882b6f6cf5d0aedc1fbd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd.tgz","fileCount":964,"integrity":"sha512-+rFGt0bz/dQltjJR3d7CpnsBgSgTLyuYyndYCwMeYXLBXFEFAC0dse2FXxp8h9+ApUGemFEK03L7JXlHkASweQ==","signatures":[{"sig":"MEUCIQCuNfYHsYrqM625AfN3VK0f26dE7KHhry2qLclfpfWHFQIgYJidfOp6TtMJ5Ciyplei1xTQXqZ86g2KCLjJYMTLSpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21452251,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixFFPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqj7A//QOuHHVCN6mMmyQsgYMHn1WJh7rhoyBjqWCaiFoH1PQSO8tVl\r\nSdgZhJ7DfS4kpGk/C/xpKQpshrO4NPeZCZWFjSyhrNCFK+zEHycMTuAWgAOd\r\nUf8SFKFb4kEAMbo+fsfwWi5eBd0dZeWlPCzzrUyjQDcvFLm/LdZgrWD76fe6\r\nGCyV14xMJg5mYbtRHrWFi8B+356/W83kCFlumODIftZ7iFA0tbgZjFtooP/b\r\nrcrYtClDJOBXWyMMTr3c/847EsON5J1te/doeexhxEv0FuMOdRBmKcYNm4z1\r\nfREIQSqwUdAm68Plq7Nu5duvxI+TUGEAOkax6n2cwuFT11wAli4BQ/DOJXKc\r\n5u+RhCS8jeHjtsFMnibLJrwCDC+xI8QGYgICMbre6cqMKGCmwdCLS28aUd2i\r\n0CIYFOJCKVJ1rKEVYquuZWVyHyy57PCPyAXzpdyWpGuljI9GK1QMosPRw9DX\r\nvNr8kpBdOVJtGMwkwzcHh3Q2Ny4rwgtT0iePAZ6bfvoRtNu210mQVPKX3arw\r\n4y8ld3t8Xpy0rkiyQRpFMl4AVu0j48ZOA15It+urP8dzRoO0O58tWVA50ECb\r\nWVL8sRnmZAV8lYDQELYdNkQthtbIjPwFWQDJsaudNwoxzynIST6VjXUkZxRq\r\ngKPY84bF3hgCGaWhCCmL52JqRcXD80efPaY=\r\n=sAd3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd_1657033039519_0.4188688293704117","host":"s3://npm-registry-packages"}},"0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b":{"name":"@preply/video","version":"0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e6c654cef2c88ca10c5b442ab513a628e7d508c3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b.tgz","fileCount":960,"integrity":"sha512-Xp6RXkU6pezCpPbyYkI3/KtuibS7rm4829gw2jcDFjebik1ESwU9888lD+a+QK3oFsjiwRUnkDycujsXbUxqsA==","signatures":[{"sig":"MEMCIHVy18D1YD83bOJ/A4A/xeud008lPygzdnqm5cL/PxsfAh8ywDnk9x1oH79ucOrT+N+TEcG81CywYAykE4oUy0f9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21408768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixFQ6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoquA/6Axa2PM88XiX9IrRH9l6ULcW92EPV67bI//E+MsKhfNewJqwk\r\nAMX+RPw5w9qSrPD0Rgd9w+z8j88x2hWXIYVDJHLVFZP0euQrRocqhQEPGoc1\r\n0PrF6RMV+HklpXliEyIc2joXUY2HiC5Ye6NXRsn5Dof/9uV3t7KahJG8EHgB\r\nYWYe3e9xR0ifrRWbxM0Y/8KheXqaRBphkOmAnaQoiieWgbTAzH6ShikuHvHH\r\nUvvgTueB1OE0w4aOwg9ByRLajTLSF2cPimKdq3AE262K41QUekVNGaXhm8wL\r\ncmz4DXvA+E02gugm1L2CtLD1rK5p1H73Q9UAdImYYDxCvqj/x/QA2xlu8OeT\r\n8nISo0pQU9M6vmP8Mih+0dqgB+Ip4p/r+J46yUKpeHp284adeKH02TeUI54K\r\nKSamse0FwPeUNmkyoLXKvguGn4kAvSQdlmcnJqvQMDApm+KIrJ9w0oWdIGtL\r\nOx1wr2YanpxXZPemMjWhNXYpYViMYLAYuuObtxC/V+ieaN2C19VQTJXcn1Gy\r\nRc4CXFqx9bw21uAY9X6U8SukWH1Pl9CRhm2d2QtVBoWpmjT7qFE65D+6f+zI\r\nl2PsI1OGfP8dZMPbLgxLi1qbeoD5srwdAyZNIZUuv1dxm1qAFJOSQtE3XBb+\r\n7IHOJoVWQ69aXLnV+2VXy/rtJeakog+F2x0=\r\n=8cga\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b_1657033785702_0.2968114692224435","host":"s3://npm-registry-packages"}},"0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c":{"name":"@preply/video","version":"0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"df1f239153f4c7b4876f5de9ff771d9f4e0fedcf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c.tgz","fileCount":962,"integrity":"sha512-HYTswtf2pNlvhy7wzftcNSqBSzlR6tvLem08eg6xeo/cEcrsevP1ykuPfutVCaRlHxECBgtgLXT/XQqXfbID6A==","signatures":[{"sig":"MEQCICZsDmNrUjM0AiilvtAZ4Wn2P9ZNCFsWdlxOaO6gfJ69AiB4BX0DJDBcQ3IW8sp8ZzpUWB5dqNno6jKwnbPnEHf1IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21405185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixVhIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAMQ/9GJblEiA89Jp+T8ITZP+HKlRVa306+YQnlHripBt2L9xljjzW\r\nT0n2wIrROUZt7U3MIY5pNQRLpnxBudOddR/eF1j8HdaLI7yEBRI02Z+i7nbf\r\nDF+/O0+ll6YwjZ62CjfsDbaHMUurP6ib0NMAdUD2wL2W+Ba0VP6F2KqIYo8L\r\nMAc+KMlSARzh3AKZaKZds+52w/t3L6J80yA0v3OPH/ijR7FxpG/CkDQYBqCH\r\n1dC3mVRhhjAuEuQyrQMCWGmFOAExHKiC7IsxkRmLlgECuF8sbujzkPGsVSb0\r\nADSilyf6dysrK6hZ/QeiHtqiaqBV7tVcxGVSPHallPCbc+j2ujDpP7ipMgN7\r\n1XMOHe+k8dSyrAIHE7YO06kQWYiAQakAoGXmw0nNOal1/0jgjEhyX1lBmbhh\r\nneWJF1TJKRNFFXbi4hB1804RPMiuXbZ0ICMPvz8RmsW4W1K/lwViw0UnTfqd\r\nESrppbpB9J0uqHLtvx7sbNnWEtpvIPaEs1cqH7KNX715+Cmc4oqxzif15Gaa\r\nO9NWJ1DT3bEwW5gsKBgp9haXz+ItDngQiMtW4Ii5QmXQOylw1+AEvBNf6C74\r\nLT9uvUlOPhzPq6epDga4EXkntpnM+qarf2LfSdEwaQqgWIP59hnfEdvFaOgC\r\nnWXtMmk1UVkCR/A9ttrJdQNuwGhx1IyrGV8=\r\n=noE5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c_1657100359609_0.070217643965937","host":"s3://npm-registry-packages"}},"0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036":{"name":"@preply/video","version":"0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1e76dd7105d4a361da5f9d293671b6362a82157","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036.tgz","fileCount":966,"integrity":"sha512-HNtOQXk7swVZS3Q7i+z4/GNWxtfJJjfdYgvZCW/Mi21BTdgnZWT2xaNkCL1JvVf25GGtVykVVdcG0eKFriN1dQ==","signatures":[{"sig":"MEUCIHmsSEpsZKuFo8dcnaRbZtbt1Or5QCU7Rxc3lm5yAN9vAiEA49+2t8dBeMP4Q6nlbZGcZBRoc+Vhfyq3BqU5O5lHj7c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21448338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixV4kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJUg//ZVYiJLtAi++ozp9cGeDt2rk+FMdZ8Fsf4odewnBockdSmhOm\r\nNaif499zoRXwxjw+wEwx7u3PVU7BUt2VnavxLQTiMrniw8otk21iI6czmGRy\r\nyHfIjEAxpH6CFEB/I3qrB7Uv7SWBmsvubfRtlInHwroWzTHwj1lTt3Ry8CSM\r\nllCUp4SZFK+qYpDhauzs1gJ37P9dZROfSyIZubw/dACFPYkt3PWqoC2K5T5Z\r\nKznSEl0iwkm2SzWQwjK92qevp75Z7Q4w77PE1KgdoeYptPe9JnVMpkpKkk79\r\nVG0GuIy0ZQvH/VKNkXlvC8OpPPEcE8onk9RlzMDGUUImG6x6Uc73/8PvQA80\r\nfCTqiuwpaWgbic1s48rBsWjD/dKdCtaW3DZt1sqwP8ddI8B8cnZkomZyOqSC\r\nmhjsesWuVQMxuR1JymZMH6QG2/+inr93bH+GAa5DXLAqNUowQYOf6WVKAp1y\r\nkB2aNMmaen5kqm/34u71h7eZ1PXAoIs6dyULOPoHq2W82A1EKMwUwSCYP79E\r\ng2hhJ/q+HMWCUAoy9BbcOXsQZPatSNSg/1H4h2Ho9ci0MTT86oUs/EFkYSN6\r\nTFQoWsySIBfsZJWW6gIh2bkjZ961/W0kRUfI/e1ysz2pZ9txzSelSjbYXFXT\r\n1KDOTKwaHnLMdKWw6Kp6KdFDcoNN+z2K2dU=\r\n=w3iu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036_1657101859742_0.24856329706801472","host":"s3://npm-registry-packages"}},"0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d":{"name":"@preply/video","version":"0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"41f4af817913a2d8c8dff170d131034367ce50c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d.tgz","fileCount":962,"integrity":"sha512-M+/YrfzvBcO6Lq7Dtg7i8EcCOPoM21oI3tVtrVRoYuJuXBq2NhuG5XXbgcleUaDoy+UYaaNAt+uphlbvWgXgsw==","signatures":[{"sig":"MEYCIQDcm1KQ3IHzdxVr3cxK7ZatzAHaHOfUX7cqf2GIzH9xtAIhAMY3EA3pOUJKrjeeL/xth2ZfAYFQ+jJREy7synUbaZU/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21405440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixWixACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquThAAnCOp6qMUodEYJ7mc3icDEKeacxf9GgIpbMUn0Vc0Kzs8EZ2s\r\nQUxuszFZcWVFx8MIp67IA5kR89lqKgdv/gCvxdbcJsWgypiVOnFzDdNcfHL3\r\naTTbvcKv8wxNWT2+UnWYvJUyQanSBjQSHT6sTVOPcXfzsOVisffIcUTaHrhz\r\nHYAXlzq2xBRPWUH3UZ5ZYweyZSrKj8/4e9yOFn9eRsQYEozfYUNwP7C9Dlgf\r\nVm1eEDKZaLIP50GwYjAT/MjxlSe5nUdVugPsHHQt57jgvxOXjllyk4RuzDA7\r\noEB5yzgK3bY+7igfTIhOYbgNEichr5cSM5gaKpTTl152xSMydQ3+r5xE34oa\r\ncdfd4gzeJBLKFvzRptoBk3+u1kD/JZ02FAiHilLFu7ukPKCRX3+K0cFoMdnK\r\nLyhFg010xorS6KhGoqFRP2NlUQl+5VzczNtYNnd7CcswnaVrqsqrfW5TbDpo\r\nKjMWqb+hZ6WGiYMgiFuozZvcbQ03BoQJBmhh0WDJa+NSWp5LcoofZLlv+ybx\r\nf7Pm9zW3dUbyN45aE6eJJt68lFH4pD05UEYhpVr4M+vQ4Uq4lHByrYFUXOEt\r\nQS+S4E8bHHIDSfSxW96xYb+E8Kmg5f3vaqTZdJRTm+8Uk0Zb9byauyHE0tzg\r\n99YvqOOvPWZUE6Z+T+hSFdJ5U5j+PUs4ZyI=\r\n=D8Pd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d_1657104560911_0.3641757372593526","host":"s3://npm-registry-packages"}},"0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3":{"name":"@preply/video","version":"0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee641a71a179dce4f018c6c405d8f07984f665f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3.tgz","fileCount":962,"integrity":"sha512-2dhyHiCLjg5jdgI3+ZokCVaVszhPhhtMFaIv5YIbsm5a6hQo2jbu1i1//KAAKzkz9MjOGQ6u8Fh7DR06YlF//A==","signatures":[{"sig":"MEQCIEay+D/wJFMzRyo5OfdknqM8Ww3m5uOiwVxBzcRs+h+/AiACeMunj8lGuex1nBLG2tM1IgoHq9/ldW/K4ozqI+bkwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21405440,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixWw0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpW/Q//cMq/JsBojyGTUH277eFlsx+ZpjWf170Noa+ah/Rw8JkVTMX4\r\nAP8KWJmoIf5ig24HSB50KNX08uCkWgvO9/b5NqUw0dEOQs77Y6yhHTEfWFBG\r\nO4PvJ9dUGcKTmDZkBKz5AQebphq0LtvJUNvppo3cRvmlQ2TfNT9FRhWKFmV6\r\noBNsBDfaXkqtaLIcZG+6J5Xv9XqmbFUN+pT2Gsx6r6MrIPGsehrIlCPXpZZZ\r\n+YSq/fZ5+mRoNLJ+IjA/U3a2yW+QuCHweiTsuuDpilC/CHXKUwVTmKP8dqMW\r\njPVvdeZEXP7wWUb0ZbV+VELJo+Ow7CMKnAIRZlp205P4vzurqPdkvFHDVtWm\r\niv2ULTtv0J3Y7Xp34+wzUkqTLYa1zJxB1NtOfViDbpHaYplp+Qjcay6uFr3m\r\nCtsQeGAMEui9abWKEW1v+shM5xU7jlIFRSSkqHdxHswHp32v03AFDApG7KUt\r\nwo4ts6oZlhvTM4Q7MZDv7IewEYYKHlxzpIObg265BP3Tk3EpWTWH6NZu3yTh\r\nrRO7v/ykvoqKy3QGQcfu1wfqYL2f29MTkoKo/6hWcK9xHOAwcOb6wYIz7uUF\r\nlddWWkmfe7Tbv5nuhelnq6PFUIunonXT2x99wntpmXLYwtxjcMEeMkqEMrVR\r\nUBJZMVanJRSdeaIlp+XSZtsVSs24FSV2Ld0=\r\n=YErG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3_1657105460448_0.7981519357473021","host":"s3://npm-registry-packages"}},"19.10.18":{"name":"@preply/video","version":"19.10.18","author":"","license":"ISC","_id":"@preply/video@19.10.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c03f9fffd7bf7ca58c28399f50fb873aa2b2e5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.18.tgz","fileCount":962,"integrity":"sha512-CwIWPNAK2SS12r/vUy7DDtL7OQHYx8ZWd1IoH6gWVmqD2Kec3H1yl92JJhuTYKaf8A5dlGCrQqEX2p8Afjk5og==","signatures":[{"sig":"MEUCIAGGgUSP8MfZvai60+DeiTD3w00IbSJw9WqnElko8CfkAiEAvv4hBAatPd+QSrGs4JfD4Yasd+NcNJS+8Rbhxa8KUIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21404474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixYXtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDhBAAifzCcbyUckE0mvkHbuVhBcapqjCdsYF1yE009YMWF+FmufwP\r\nqagCtMWH/JznvKDONIK0Cm7mR7j5JBvPm06d28m9raUA/PQ6le/RkLGYd3yg\r\nFKag0Ru/VbxJpY3YIGmFTs9+UNSsTdl0gQ0NgzPCEqKBfjAdLiKi5qHvGUlX\r\nX4frT101GmESUMuBDIPxDI4poc3Xy45OBlyXDEQu4dYWT1RG1KxLazuHPtru\r\nc69pbSxukZlpV3XjzRilObAn+ld4u6ZrgW7+F8O5szFRsP34gvA+v1XGAvKu\r\nsH+N+2kkCSxva7PeIYLXNpmwvnOe2CKYZo+tIO/Z4WIg6Yww/ZUhReCoB8mp\r\naP3OCiwdrLtzXiB6Irqbd410TemAGyYRzSVZ7kxLkTkmPCUVSmOqO7T0Nw36\r\nCTilVIcxzLigK8UDL37ONrkVN0AInMZ2lLUTOiZ9ofbTQ1iSuyuxvpsJzaFz\r\nnbHW6evWtbIjiI5WOgzMSE55XLyeYrQTdV8kXuYuWY5hc5l1xI25eLK+Ym8o\r\nuoaLMSaeqbb3jZjcbBEsUJZrIRI+2EYEO5JSoaLbWPNuVVAM8QmucT67cGeO\r\nVuSLjdntL4ayp7Gqafbl0DrQ1SAJr+JKA7uiByqr0bDp3lX8YHQcg0yDcuMz\r\n8pkCrKU+oFpK7A6ld5qgEq0qbqetMyjtviA=\r\n=rmSR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.18_1657112045559_0.638251287864529","host":"s3://npm-registry-packages"}},"0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178":{"name":"@preply/video","version":"0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3df71d26b9b273ddf5a09de03a8d2b83cc1b93d9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178.tgz","fileCount":966,"integrity":"sha512-xTTQ9vK9m8o57UmuNT+fN3sDkquKIkqSXnfpXfq4YoxKuAUHgLdW/JOZR5x1s6N5Rgt9vDnAAuiEqBHOgg2Tqg==","signatures":[{"sig":"MEQCIDgconughslEgCD8gDINkRVhe0z+oGGlNACi36HCWp7pAiBCQRuJ5xFBPvcnAr2eRpjVEjYhQCIonV83h9lFhz3uVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21450593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixZN9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9XA/+OvdFzWknHC1yKAEQTV0bCOJGLSw0997Fx/ugGa6cV9rAjxhp\r\n+S43qvEhJ7DrxONvjBOA4QByXESRd6WTqoQJj8xztCe+Ep2pNB792RXCMaA7\r\nx/6Ld8sR9X8N7EILFgxLPYlW6NcLDJUSW6Nyrr9Z+qUT67q2YsAfWPyL3YRS\r\nr7iGDxLMqCTsdEzyIo82omcy39ryYX8Vqw08VbRCitrl5V9RHxK6OrcaPAFq\r\nTama/vF1il1HbgUF5Q37kstua8eoT9C+JyDmBGRaCf7ESfBxlcwsOMQkgyET\r\nFH84cE0WdI4EsuuM/yBRqa77OQC3o/ia5yiqWEu8onGs1BsWa7xPPGwvh8AR\r\nBbJWotqlbPv5zj84OS23hNUnWZULP1ierBtfRxgLTVQmTRqUdGWxTJjHbrLF\r\nhZx2ragJL08sgfbzme/K/7Q9K3wc7kWbmqC+KjA/O1wdHBKL4Y/ezqSY8Bhr\r\nsRO/ZffbUBTg3qrYFIEx9KyT1HQ7FdMjQrzQGzqjd20qvOyYVqqEOnfm6oNT\r\nf9/UM/qKaybIOekH7621X85k2XTuFRjWjkVHbqacYebzekpWQB7MzBiy2QLm\r\nioVkFQj/opBSeKYSsjWHBm/rCRiIlLUpgtw1EJnvwv5VEquCPLYCFGuNBVG9\r\nDgXPaiG4NZXLs9b2n99qujkNix6ExjuNzqs=\r\n=iV5Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178_1657115517160_0.2639600547841898","host":"s3://npm-registry-packages"}},"0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b":{"name":"@preply/video","version":"0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"656f6bee695c2e7628ff74481926ba593150fd4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b.tgz","fileCount":966,"integrity":"sha512-SsemUXmgA9tAjofwYFttnUUAAKVHsLtTYVAfKYzbVE1/oKdU1Wk/YLP2FCWWe/8ooC/ID3dhIgNLqxr5muDx2g==","signatures":[{"sig":"MEQCIDhgqnxQZuv51Z7dMtESoE7/U0UarP7UUy4d9oCtQ5meAiBsWQ2VIG5bgUbIhJ3OYTkcrV8NsN05SRgSytBR1OkNGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21459357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyAEMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp30A/+IIvuqj42ZHA8/nv6tAJ9c4V/bZJBIAWvfLghJDt8McYsgcvI\r\nB5r6qvOrEEThb4q6scbrkUxhlmlzkPyIl99BEC5/BSFU+c90Kcqry4vazzPV\r\n3bkCYXaCJXV2W17d4JzE0IYHxROC1T7qMoLBbhSfWzs6dDutHCu9nNX7h62m\r\nw9hlG4l2cDLZo4XQdrib6g5Z/HjshdwaCZioq1Aof98T+ReqIyO2zjydkgtx\r\nk2TykUxdeooTNx4f7mX+vAeriI2cUCV9dWVg5R2JVqZaw9hSmBTVTD7Sj4QV\r\n+ziyQ+W1hOw2EuN+I3/cK0kI3f6T95PXjZsSuLt5YhzJ+hnJG04F3bmKSV5t\r\npQqc/ADl1vkzPnduGORsxjq8UQP+iBSFeJqa/wtw7ilmX33szDvzJRm4fQXw\r\n82hjvTknMDX5sSeYn1SGAXeJbQXC+WmB0OeIJI++2JJrLRW6zPibxTN3wljT\r\nK8N272jpmkv4LhwHYxpzy5IVI11nrCpyZESm9gWabMXSAgduqDER8N7KLEgH\r\n8oHryUWeNm35SGTUvFzId0lYZj9UzodfXCN9uO1xMsROqkql0Bbi55uLC0Cs\r\nzsLeL/RnAwqpjQaC4I8hQRRVKqbVSoKPflibGJDGHsc2v1PTnH2EdaG0Qj+W\r\n2uE9jfJRYJfCZiSxpt+FOvFNsv2ZLuSgk7I=\r\n=2vR9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b_1657274636268_0.6148906008458783","host":"s3://npm-registry-packages"}},"19.10.19":{"name":"@preply/video","version":"19.10.19","author":"","license":"ISC","_id":"@preply/video@19.10.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b6fc1678c7e71adbf46de986d2f6a7cdd757248","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.19.tgz","fileCount":966,"integrity":"sha512-PuI26uWTpKR6zojW+sTP16s8LuP0VHmtVsyjsMoD+QUE9RVfFb/KEDBUaZ5ZoqkkCooM00eVvOYP2MJUTYUL9A==","signatures":[{"sig":"MEUCIA6CC/JTEkR0OLqATj3jP42/VKQX3inI41afO4yLKsTiAiEAgwQseKBBWfwFbIB1rCaetTO2XvBo6fWncNe4kYcYnto=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21457275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyDSKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpl1RAAhKmbtS7cVS4acahbex0flkj7wbrmDtBfN37miRVR9/zJ2o4C\r\n3S7hpJc0ijEexqQPfym4guGn4Ycc28yvqf9w9dHxIpDbFkLP8migZWBxqsnj\r\nlwq2n5UNt6OknMvyqOGmsGZuy/RRA6NpbXweLEC+6g3yeG9Hv/Re9QaslA7R\r\nftOYKAhct6cERjomGoU19cuObU8oP17jqcQnA4BWUYQ2orTkwSh0Zg8eAKR4\r\nzxq+q5Y+OJ8NkFmaGekkgq5pty+en+Fm8/+PfD7Udvo6baqbf/YS6O4IrvEe\r\nB0NLAGBAoC+qG3zKYlX8GwzO7LFGJ9bpbC2CPTLJMMuWVqrGQ0kf8fIjUGbx\r\ndmfFd/jTtQDxZOSlxkU6zO30LWE9hzEcQe4rckSRMBVelu7fLxv4XfR+M3hc\r\nWs1dKRSORkWJ/V5/BcYrqvFe2a8kbbf6gVTKvo9S2bAdn23eATrQkRPOquWj\r\nHXaxQhK4Jv8ZTnEdh5z4FpkTpelN0TE2leoUXGQLW0YikLerP4JPDi4lFESu\r\ngnfw0Ja93leSjrom3afN99sCLDNcGS9ZlzFlLW/j/o+rnn8iEvSdcuF2246j\r\nz4GHqnY8lWBjp0aacQv/thmxtyPwpe8KMhA5iKJqOeyUxW/B/IP/1JXu8Qpe\r\noOXuq4aPowcLKLTTVGbFVRJvlDSMktAmsmc=\r\n=1KL9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.19_1657287817953_0.5473194909213142","host":"s3://npm-registry-packages"}},"0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4":{"name":"@preply/video","version":"0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a2aad035761c8d43e486e896991c4e691cc565e8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4.tgz","fileCount":962,"integrity":"sha512-NE71ct32QGTZf7NQSCntPB67887wRDI45SgA6PTb3VAEW9Gp0cxp/VoIGlWlXmzFQFTO1hTNLBUo/SjdhfBxpA==","signatures":[{"sig":"MEUCIQDW3VNW9q2ndmc0mYnm/PuVzF0v4/hC2Kjuqx14n0QS1gIgaAl7yqJgTJhv/NaRUUGNnu99fQ9fjqFMdO2LFTre7us=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21417180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyEHRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquvQ/+JSx0RnxffL0WZSyukcCzmpal8nw4E2BjhTIXr13gnMVmihOW\r\nR3UNCcg48Uqb0i1HDnHuAPShA8zY39L2ZhUk2SUH+9+8sLrStvC04shOlR1I\r\n7SW5qT7xUCACswmrh5HrcnFUAFB2h/RHthmPuXcu1s6OygufcZuT9UH1mq++\r\nHK9cB1AXOfBRxsSZ0by8rrtf9M6LCcKpPM5x5M4lUaRG/9xVqsGG2SXnRp2n\r\nfyPnHaKAuNxSGqDxbPuu7eZU531jLQlvBSXbo8ND5asI1RWreh755ioj8CK7\r\nHWia97MRFtXBKlQWNM+zkIa7cii4IKKXyXJhyBtJeHDHXXdMBx3C5orrji09\r\nH/7QTbGAaCSd88C4qOdCzRfW7eQwc+XkUbFTA+M60h+ci96uTETkDb4p1fsc\r\nHn2RXPH//9i5GHrekQCMpZxzIhjcNmoxUTfcdFnUHfrobmRqOAW7tMjw/dZY\r\n52a9tBa21+l2UgwVL2t3y25sMddNrgyBFopPpZlB2nkQgQm3npj9/eaf+yY+\r\nteTC/oFrSS8evZLeMhuUJvdE6NCUu64DRToZpRy0N9IL5cqfGGAWpu9oPKxl\r\nKr8k4IpORHiodzBa1OtnKB96fgTfEl1clpf4T7zUKYhLFF2gVGGuTa+gJ1cV\r\nOxFQv65ArFnRuch0RnXXz+GRM8yYnFf0r5k=\r\n=pGrk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4_1657291216622_0.9236364084362829","host":"s3://npm-registry-packages"}},"0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b":{"name":"@preply/video","version":"0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"838dcb92ed90e7b92a9e8cd9f0106bb2d63bd89d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b.tgz","fileCount":966,"integrity":"sha512-4GSXa4YBlEBbAHBEa16kqgnGoNEi9YYjqOu33LV4cwF/hNZSI3p0z9WQImP8EXTat0ur5PNbQoDEegc6dVdzdA==","signatures":[{"sig":"MEUCIBOjH+ne/gPL25o0kx63jmm3SACMjf7SLLVzlVvsugvAAiEA+IVFfMiW3q7OeKuBrfWH+z6DiP5qnYEDVcfyt6t0/k0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21460228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyEnTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYOw//YA/s7hQ5okxcHR4K8bmzLQ9kgTcauRgT0M9QJDO+yd9dr7TB\r\n0/px4PFlBKz/NIfSw6hRSlu1Byq9mLUkLhN0CnDksiVzlsL2SCGgQORxlrf/\r\nSqf+zTX3op8fmdQPvSZJw95lom+5dhHCxDb/zIA43uUwEyPrvSlE+xzlZAKb\r\n7CJHjh4kY/EuHaCI+FuO9taoZXrRDAgDnerumtwhZ3FXK0h66VRvnLB+9YGG\r\n2PYrpNuhf+bJakRNzBxe7MR14AeisAfqvcDwLGk/+fQ3er6HnEykL1hAJrXM\r\n8SkUPnwimyji8LSBac4Et3q2Yvelb5WePkiAOCU0PPVnNBfa1fykp9D+U3S/\r\nd83iJSO2hywLazG41sYrDY/Pys8yKaKRcbY7sD4Xd5WsOhJJvptd9r7SiNK1\r\nVbIAPtv2zv/6otiA1KPhZ+sf7eOgngKalofPG3H94ylVH8sHd55Nw291zqIO\r\n1S3wyY6pTAL2qQsHuxckzxnbgnV/d0cuP0BCylBGFLtCoij3Nje2f6F7j9sm\r\ngJerFaIRBvUg9DMdKGh1PhK4PhErdTBUzNiaM0EtT06QzYP6GYoBOUJX+yly\r\nqOBfKaSUEh9DgCO0PlGbYfRiXaB1hl0BbtWY5439iyZlqQWl6XMG5MemrlFk\r\nUsRnfW4DDwsIO+H/YE55XgKxOhs3kJIc4Sg=\r\n=36R2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b_1657293267227_0.7246686938045073","host":"s3://npm-registry-packages"}},"0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1":{"name":"@preply/video","version":"0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7ebd2e990e9344fd432111822d11491c5d09f16a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1.tgz","fileCount":966,"integrity":"sha512-LQbaGwy4UnzSqK4NmS0bmugvKSU8TvRrSvwGDFka0fK3qvxXmopIF4Jx6OKNMIYzxJXnmVJSzzzmS2lEvnMf0w==","signatures":[{"sig":"MEUCIQCsmNo2Ocd2SsvH35uGyqnaszVrgYF18r5skub7AxSiCwIgDTQu6r5bzpidfs95fszajs6j3gSXhtmfKCd/o0rqaL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21454633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyFNKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDIw//fLDhTwkRi7euSiZciPPLfBiRMpMcUL/FhMH5kZUNfSSSukRK\r\nNdJqrHcIQKY2D0BNv8Yr+nswp70zT1MribRh8egmn5IMz2LFnhuSfhDC3qxG\r\ntTXEavEF5eZ9dwjlT8KqvJ+Qq9M7RovC78n7ZdORAopQnLdB+wp8FnXbzuxk\r\nU0XB06xC7Jfv7hsxKMHY68CKILq3celoPJWzIc474l1GOeHLATlKjpOJCKVH\r\nHWgIhmAPJXJIc8NQ32mZi3aPe09uxqebILMPhXsp2+UpDL+XCIK0TerIBeK1\r\nqGjxJIKGhtk3oSfxo4V1cZ/WjF4LrJQGKwlOwKnP97aA0giEQtRzS5I6lCaa\r\nW82sd2e5xsumfWDtJpLuj7znpi/S0i+DkaK58Usbpz5H9ja87RU0mBOivNX9\r\nNUE9WUAZA41TJwqUdeFxjhgXMccuP0RPNzlHBZd9tIRi5WVM+lxboumMwktY\r\nrQ+Qtqx3y2814mVE5XNpFMcBrfUJOrFkmKZ19taEfZ0UsBUTqFJguYEGE8+T\r\nY+PAxfTy3qKY49Bu/N1Kkg1B22ipxyLOn2dTrRmxIB3xw98BB3ymIoXPipgj\r\nhNYt9Fwh+5CsZDwB4zCGhZsl5O8UKjiqotT5qQ/0HMHFOzc0Nwp0i5WOy6zQ\r\nfdiWegx5Kkjfte7ekVnNV9kDf9TQoM90ZBc=\r\n=TYCc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1_1657295689940_0.05381819729275139","host":"s3://npm-registry-packages"}},"19.10.20":{"name":"@preply/video","version":"19.10.20","author":"","license":"ISC","_id":"@preply/video@19.10.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ad7b8775536fad7aac564f39505004559f59d34c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.20.tgz","fileCount":966,"integrity":"sha512-kg04WShNCkda+FPfvkvRfCDx6UeJVG7Keb3qm3gxM8Y72bcasCFUdUP77ueVF9Be/ic1vd6utVRobIhVDclGjg==","signatures":[{"sig":"MEUCIAnzeCqt+Nt4enqa29VOdvfb/9dUXBNkDU9dfbmPKbwPAiEA9vfCOxh1P7t5IbNxRenMyoiFBKQ804IqQjaXavjDrJM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21458040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy+wPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqoyw/+I8mxeDN6+5VoT51k9MUujWocMzE7ugc8LRWKm+jm4dhFzpvL\r\nsd2m8QL0Bq57rYeDxgsLifL5mJtos9zVkBnwj4DhMnh5Rk7Ykq6cagDahX26\r\nK5t2W789pxJg3c+Q+ZeslVcD5hpPpWUSda+VuCxqpjkYbpC5pCGHH9Ge/pep\r\n8HB0V0iVKlK8mUgBlOTvn1ThQmW9BtW2iDcbr1idI36JjWLcPiMqwXWgE31t\r\n9PRfM9OWp2Mw0cCWUopb+qReoWQT9YzmQn6bgV7PFwjO9AKuc4H3PTEgcSoM\r\nhyjZVZ4fOGD8Ro2eZtnf0ljNP0idOzms7c3E+tVqwjpzSQKf/oyR6dtS0FKo\r\nQgxVO1WlcDGoPGJYnBB85OMI17NVdu1bQwWfAFFMS55X7C6eBIi74slUqZPO\r\nDNP5WQHL4TESoYZiu/YfNQtf9GxSLNuQ+QdB5JwTN525ZoWW3TAJfHnPrQjQ\r\nW8OGuJdXvDUBy1TOfkFKmJZEyH/eaqLrSkYEw3MZMx5OmEQAbkMip+uG89S9\r\nXDrcWhnn1ZTyyimFHoMYkUAHuQ6CFjf9krkF9nydhTHjaHRgVxF4TRXqSQx7\r\n+/gz4e4Xh4GOInCVS8KavcgW02bCBrdJ8S99bnMVRWX+Ryc74ruHbivICrWa\r\nk+Ut4biFWb6r7HmRif4jJbemL2p3jgGJCuo=\r\n=0Rdp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.20_1657531407407_0.7951232667493633","host":"s3://npm-registry-packages"}},"0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0":{"name":"@preply/video","version":"0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"66edfcb1ed613f0846cd1f907cdc1207abf3a417","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0.tgz","fileCount":966,"integrity":"sha512-jXbxugjjJWWXmlzb68ZNtq2JuBDClG4HiFIQ7GCjGo4++4nP0piZDLwiY7w4BmQAEd4Ln5jHGrLY/+JJTIHMcg==","signatures":[{"sig":"MEUCIQCyoKGp3kIi/DS7GcQiJ9nfntqElS0KdtRgiTnEi26j9AIgJ8LqL7T6qVDXW09nY/MJMQwVU2smo59ryjSwe3twxhM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21466548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizTvxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3VBAAjp0wuKqdBeVxXIXy8o3zHoTpadTh1nUVkquCMBoxoo2JM4v2\r\nMFdrc/AgebbummO2UoujWb+KAwRi1+gBPvODVr98ChBG/15X01ea3EZVI295\r\n/FSLAewM3tEWcR+zqPnl4P5IBQxBk4Mfil/xb5hDnX92R2vVvRhOA5N3gHFm\r\nwv0H43TjOGDYTdyU/of7sbCPCTEY2ejKiyyaLXXB9ISt+Xt03JUYWBD46eqk\r\n2a00V2QDnK73pRIvGcOPqY7Z3cmhVyayfnuqOXaA+FzaBQbCzZBimRiisrVG\r\njLMjBiA+PAhVvTW5mu6RosSy0cMhggrw3GUYSDwucrQ4MTGxTJ5YmHvtHrMm\r\n8wqdsC0AIQAl1mcVwF6kFrQiJfNnuvX/I3/4aezNzBoCFS2ScgpMgRLhici3\r\n9HpjC2eQHrtnCMTUV2mP0nH11t7Bb5ZKcWRM9BBWb4z707PuQBh4afMJDDiS\r\ndQIjq//M01DA9JV457RNNfhLaEwAookqSCnmowZ94oXtQqLTJzDAKoB/WNeM\r\nELAGDpT8Z+ZtXRLmTnAIWSRVdram1ULRxkC+bf66dSrXo/VyZZc9Eb4PrRo8\r\nniwkFz6Z4GAYN4PXJu5jOl59W80Mzwrz9O4w1ZEp8XmNbtx2HLrLJdszDq/T\r\nnsztJj7YF1iZeCFVbIRoJabHKI/NXOH7Iok=\r\n=MwBo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0_1657617393030_0.7668747855662339","host":"s3://npm-registry-packages"}},"19.10.21":{"name":"@preply/video","version":"19.10.21","author":"","license":"ISC","_id":"@preply/video@19.10.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"11b508d625bf38e7b11e30279f2ad9f0d0956eba","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.21.tgz","fileCount":966,"integrity":"sha512-smdilrl23GyVABSnM6MYqI/oBu5TswexaOKE6vODLKmNeP8YoPItEhPhm5lwDEpoK7L4lR69dkHa/xSculMIlg==","signatures":[{"sig":"MEQCIE5KnvSzM1C6Z9taXQGLfu6kjsBIl8/potC4b8HBsSYIAiABQ/Fla08RYbBWjw0sqL6ZZf2uaX8V2X4UwutHNwIg1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21464255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizUkxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRBQ//WcJXOqvVqSzLzlfl8DCnPlMdrHrLKvfmZhHuACX1KSB5NXd2\r\nlxjRwPHLms5Bz8fXw5nFRTN3foCYPE2Bqvn5vFKk+dbOMWslZIQVfV5nyMC+\r\nylqb2EMeHCDvoOASEzbxbq5BJ7RPcQ5Da38KuQ3jfuDhNU9YbLC1tDd1HGn0\r\n/MAyGMesY0q4XKKRxzgK0Kbyui+WyXAguxEVrY2s3Qxz7RYc8GNb9Z0Y3Ox0\r\ncyVyYAa+x+e7s2HpBz0pabV9bGb+Odq5jPgKlq2phvu96TpWneMpt+omfCi6\r\nvHzxehUuX1lWXaIM++pn/uTniiNCr72EXhXJJoQaJO74Aq9iddlvLn4dyUIm\r\nYMkim/uCQ/RjBJSNMU0YCxJJCRVnZ9YFNygWAIuq1GY+AIaeR6cS+2lzTdkn\r\n/pvpt1dmcbP3m9dqJtQqQftRRg4X3/+m/Vj+B9fdoMERuB2a5RCfhiISOrvT\r\nv78zfzaYDRmImaFOl3HNuZcch5W+11iX8wshcG2Mt6YS38HPOWCzQwWqBHL1\r\nPtOVC+Ah4SOj+EHbWhoQwz+GuSMGFZvvbnSEtqq7yVK9oCBIH6S8ehgd8Fui\r\nivihX/1sgi5CqnSr+UXgEbxvbD+oQuVgQXOIkO6fgeJoKfupidCo0q6y2y6V\r\n6TM7ABH4NA1Iv7eatZYj8/UOH5WymfqDk5E=\r\n=S2Za\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.21_1657620785013_0.7474285937338974","host":"s3://npm-registry-packages"}},"0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91":{"name":"@preply/video","version":"0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e09f337851e41477c94ec429f7a991cd05a9ff6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91.tgz","fileCount":966,"integrity":"sha512-DPTIQw2EO93SuaePHObKbRTjBy+7oC02Mg3BtJ+gVzquXgW/yhCLmOSvPlcV9ZfMyKu9mjrMQCV71D+0sVSEEg==","signatures":[{"sig":"MEYCIQCM4E5QxKmk9Cz3xagaZLJziH+Ox/uqYMLlouBET538XAIhAPKSEtwNfbO7FTrRTUkb7UISOt+5apejULNhXbGrbzqa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21467432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiz89FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbPw/8CIiWEX9pw9nR6OTVKKbZxJ6VRDO/UEehvsXnA0qh/GhwXX8e\r\n0DG4lNLSh5d2P5ZJAGpK6tnZYuoLJvWhdRJi8ouFu4p+FsSU0oum1e9YcufG\r\nBBYEh8uN3eJdZWQmCEaMI8xNAcgYqDe14Fs5GzB5zfrgLttv+qbi/YUFilAW\r\nnGYMtmos6vWMBbg2F2kxupjpkYERZaA/nNPJgFjia/ZbKPeSGyWG9yLdnbDA\r\nJYaVIRkKCjDEDggNiX/vzVGUYvWGH3BAz6ufN8NoSrg0wJGkjGAyKbKdEgWa\r\n9OKdr522SzYihmKTueMwDHqPwc2NnjuY10LqytL5ROQyUBXxSfcKp2sWYY6N\r\nG8p+yD5NPXZ2kUzZEDwYgD0/vcDWwmyGivUVh32UjZO8rs/r63D16P2iYflg\r\nPxnvPs/y+CNhE1o70M1y1g8NvazN2cRRiYyQXYKalTU3R4/f9l4EbLVZvnmK\r\nHauMqmrpq+Hyshss5m8kVzvFYWCvweoLP4Kz6Sl5NT953b1s6joBI85UBZAn\r\nMHQy+y78G00pXixTZDfQPNEWlFPvf1U+Q9iHsjRiI0jvGtSu44yiIaVMCjc3\r\n5E/MVWsiX6dvfIIrIX87EWn51c4kQsf6KSQem051BgcfoDDsEe+ti+DlRPus\r\nW6TYl7f/zL3ynd3eq6HxgjytyzKnJxTvS3I=\r\n=fGSj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91_1657786181398_0.16386476774513925","host":"s3://npm-registry-packages"}},"19.10.22":{"name":"@preply/video","version":"19.10.22","author":"","license":"ISC","_id":"@preply/video@19.10.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e972d214e8d35dde02196bf8684493b05e12d7ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.22.tgz","fileCount":966,"integrity":"sha512-hL3PmZXJ2pQ7i8fNItUfLkE75cfFzLO4yYV6DNYIV4irTOPAjPRECNoeGruGxeCxGfvj2mKUxxDm/SZcFkJ3Jg==","signatures":[{"sig":"MEQCIA02mzqo2r6MkRqUXkmPxrJ4om3QYwjL/4t3yknPDGw+AiASP6JIJtGoi4sZGQTSYIydINpw7hTs3TrqlsUe0y1G8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21465140,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiz+IeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpsRhAAn+4W7dZxFeRkanSc4bKqCbM5Y8UDD0eiC/V5yQCg9L7AMP8V\r\nLA0m7Ri5unvZrXz+0qGK0Krl+gZp35kFu4qOjvJu7UV0iyUQPTD96nD+f538\r\n4uriqbqg+g4LefRJxsT14tx1+igU4h7H+I6m8gVMBEkEm7AJbXvXMtEYTYpy\r\nM2xSWf+N7WLDuvCUAzK9NZWTdRGS1RYLLgnQzkyCFJNxeDQII+71qMhWRC/C\r\neVCdbT4J5JyLTBMb5zBVF5d8s4TxTS/ZcNBsd9ZD0okaGO/rWlo+bOLBUn7a\r\nwA4u+gIzbkTc8ndxK+goUeElyQ+JNbbM1BxFbvyDjK71PcnZZbDPLoVSOgf4\r\nk3W+87VWG0d0mTvbSWpoZz47RLPd+aZzEU1oEtwxKWQmRb921zQUIPYAfSuC\r\nV7D2hQcjlZKwqyW7O7JoJG1NO+3vPGGPijQeq2mPe0u5wytkzE0QH0SApnYV\r\nXXGYwfUfLAsO/2mt1RxYloHxo0RAOIc8q8g5C3fq5fT9qEM10tJlCuzSCABo\r\nC4QDb/JUEP5aMv2vI9ZeHj+gBzK6sI0LtZEW7SrsKeKzEwaAno3A4ACSK/fl\r\n+t4Tepwk3QzmVHXdC9vZvDaVL7iLj0rVJ21hZ0efnyhJV8lb+OGQw3+i3yxf\r\nDJNQJEY6m6Ti2KTqehBM/sCiu5tfjZ8Jz7s=\r\n=8QfL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.33.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.33.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.33.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.33.1","@preply/ds-web-core":"0.33.1","@preply/ds-web-root":"0.33.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.22_1657791005218_0.07780190812689858","host":"s3://npm-registry-packages"}},"19.10.23":{"name":"@preply/video","version":"19.10.23","author":"","license":"ISC","_id":"@preply/video@19.10.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"51b37abf5385d9ccb3d2735ac150e700d225b795","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.23.tgz","fileCount":966,"integrity":"sha512-uMYNyg/5HqGnj1slTzpiY4F0OF6FaoPTg3deJ7v7UMkJHeqAvq6JKqdL6yuyoSK4s5dnt5dzzlcir/8WirwPjA==","signatures":[{"sig":"MEUCIQCdKmBDYFaC+PJ7qffEkolftbtpj+FWl7P+kODG6EnaQwIgKCuz5jPIkkw7yHDGTnciNruZhKCC7ZVESWeNlyoJ/+I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21469715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi0XajACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxWg//f5stbz8vTg/5JfySQPPXY+pJMFmapGljiQFHXhzu/98goRBG\r\nSpXXM/eI3hTcUwB4YailE1PZw0Yus20GVbP5bfoD2PB/bxPsrXWXav9k4GVz\r\nB+KPW06uC7ljvkgkKkronQTT22B7VKf4PTGbJqmkwEYHLHrZwsGrovCJtalJ\r\nOIi/KfuaLT1txd4n5PuAZBCeabjzs4K331vN7Gv7Nr4xTZGAnIReaIffBCgW\r\n2vha1nmWwkTB6n8odju3g6LRT0M63ZWnBBbnPVxVXQBXLwXbicMaMaOevZo+\r\nkmHBYMGutCy3icQFvB8iXpYdYjLdb3lCU0O2cBc2v7Y0NLvI2YvW5zCCyNmB\r\n7pI1ivH1JSIsZYeyxmYL0RVKNSRUgkeoyaURAilqAhAbpu79QZ0edRdnB8+C\r\nNzNWtND0FFjubwT/5rhcfgk8C/0Te/Hwa75Li7pSIfwvvf3w3bsBfxffXPGl\r\nESMpZJifdLrKFvXOR2BeQYOsdMA2r4nGK4nEfwgXEjXUEjEAiGGZnrdsFbO/\r\n9x9RZQCHZyvXOvfxQrTlxYwFkhTJEilu9n1m0+OE2jXn8BO/qsBbQRVb2LSC\r\n5feo7CKZ9k7fijTa+/Nli9tUZTnvCFad+RLVEVizlcq1I7AbsdGre8g+RINj\r\nDiLyyaThkLEAzYp22E8XDQ+gIDKuZ8NOKLA=\r\n=TdhR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.23_1657894563239_0.8299809574231531","host":"s3://npm-registry-packages"}},"0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42":{"name":"@preply/video","version":"0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2740487c4f2ba27c0e2e2a8c4a827786c2ef9300","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42.tgz","fileCount":966,"integrity":"sha512-0h7wT2zJbhNTdWsHqUhEZRD2Adkv0bd9p0uQIEkvP34Ah9Eapclp+3bim7lU4NuypCHG44G3sO6Si5RyC1FFpA==","signatures":[{"sig":"MEQCIFXoEBGIosjblHNpchM+35Kv4mxn1Tm5S8b/clrb04EFAiAUaPB55NxBwzn8/1kNfosE+uXFgThy9hFIYcl3WeyU6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21476808,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1nkOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7/g/+IttsuHcg0hKA5F31OZSn5OMudc7jJ/zewNw8/EkyxhQjaj5q\r\nR01+9gcdyg29l3fzlKOiXaiX/uENplJCleJ6nVsCH/m3bX3cRLDqP2N8mIVv\r\nttp9Cw5VC3zEDtRbm9v+KMGVhHGfH7T5oYzWZz1r0EbuOb0/3gP+bTtLf1/L\r\nWmpH+msEw0fVz5Jr7lVjm98Nt+/2/H3Jbf4jiN07I7n3YsDYbc4lS6fkP+Ps\r\nlCd8OY7brAGoKmEUaal5RLAplcLqMyXNQ+Y8cvcaO+JQUIu0SqThamr8G8I3\r\nknCgZM90P/Ui618pBcXwVPoLbVrEloYixBg3t6GuphzgiTv6IWH0A5ofPzVJ\r\nHs4/Sd1ZqzdLQj/Lg6rLk7/nQXsRGUXnDMtulsyVTXGSesDMohXtRhj0a/tI\r\n7En29yLP7mtbYlPtsAP/+yDquvPv2OC9T8h7FXXFgbMc4pNK2ASPrBrmbkT2\r\n8GpU78g2fjfEPSAyjnvAcmHK4J+FbKtOUGPBEtPAto6SvDqPhfYxnaLFnE8x\r\no6Fl04cGTHekT1mWRtLJsZFMHCP8MNzIuBUy3pkntuQyKzg+r/h95pdsUjFo\r\nA/rj7czWvrnV/ihZAqtLH5NHUHJExROd4QtwYNaHy8zCFqMD7BCBpvlmkHg9\r\n7OsBihC5BypYq08XTIKy/53Q3W9j3r1YPAE=\r\n=gFVo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42_1658222862552_0.8468746804540845","host":"s3://npm-registry-packages"}},"0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892":{"name":"@preply/video","version":"0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"58d9c4ef3a59be6bb942ecaf8f592fbbb99bb564","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892.tgz","fileCount":966,"integrity":"sha512-DFli5w8gB3y5ORbJCpnphaH2wqgV2DGXDW2sl9AtaT+A33LsCuTjESUZvM3ubnQQL9fQ1URV8XQ5kFqtPSKR/w==","signatures":[{"sig":"MEUCIHSGpC6/RfwBa2Re+zXOTI7f4BwMBwQ0hkXhbaj5md2OAiEAwxa0fNIc3tJGbl574taARmmoIcdQ1t9Dy+esg6PnF+I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21476115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1oJ7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmorpg/+INZDE4IIyFdEi0bT9USJ7eKDPOKxSEFqGjFQ5PsUasN09wn1\r\nMtJP7ZUoZlWddcWsSkWOoHQERacF8mRdyw1DzoXkSX5NH6y4fogowABh/bdm\r\nhpHIfSRD++Jy8CBlT/W4+LqiSVEw5oW33QR4y4rjB2hIDwp0CFbL9Gl5TVSB\r\nhsf+1xpcQdsNcLCqtf4w1MOqQDNe68bh64/Ihf1jDaHvnLTvJwiZOnRcAeMK\r\n2oSFPFISt9xRPFNW+XLg1jvdbPkGJUVcbUHz4bFjgk9t1Ug1I3rOv+SoBSAq\r\nVVk2pCwX5b/HMjnS+8nILlsk9liCyJ7VkVgnTpD6ifF208sjYOURRSyephuV\r\nsdLynjITQ4fddM60cXBd/ePp+rFf8GMBDz+uNrdF4VGf/IAf7IUpALWIciax\r\n9m9DguFQcs3TftNwQIHQm+ppXVMpa4/BqyAs5v1bRTtn5cIldPNUos5/mUFP\r\niIdM4ReU+hCgIspsRhNS1JBUjFe6y+uRpPMf2DPphJuwa8Vy503eEamKkniS\r\nQYXJuhOYmd8p8w1ANLcVKEcw9aNf1FPSJthce3FOlRefowaMTmv5WtddtqC7\r\n0tpsbFRrS7/iqP4niL990LEdH71Mdi5yNkhuOsdofYSJP/ynwl3csKMUUxVe\r\nDzoAo9baRnRV7rAhZOufIBEVTkJ3jZb0myc=\r\n=UMkj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892_1658225275532_0.4524596120704889","host":"s3://npm-registry-packages"}},"19.10.24":{"name":"@preply/video","version":"19.10.24","author":"","license":"ISC","_id":"@preply/video@19.10.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5af3a21a41ec4206fd11e927421d818e83d3e194","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.24.tgz","fileCount":966,"integrity":"sha512-qmZ5UPspBfygTfiGdkaNHSAzD7GWOQ0Yxbi9q69sTqek1iuWVlD32puMdk3tzjBFDrMusTPPLMfVPZGLayFIHQ==","signatures":[{"sig":"MEQCIGK45xO+AzPw+3WUzXIZYXdBQ7A/8jFa2zT59ONO4pe+AiBG1MG2K1ie+Ie2gEp2kMzJzqe+y3uWPBqCvrMM1wcIZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21474234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1pFyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7TxAAi76W5Vt64cXvNNhQ81hL5PLiVNGREsnUEZmhpwlw/tBxR5R6\r\nzpreeGhbX1GP8x7PkDqPvwi5BThbXjBUZommq50Krs6pMgKgd9gLp7BJz08R\r\nIi30VIggKY+84j3SP/RU3EXNi6g8OLrLJLHvF/mstone3NJIyJT0wB8aE8g6\r\n07/5sTerWDQQd67mWm0x+g5mrXxeRoQcZKVVI/LEIwcTTTtcXGkblWILns7J\r\nx4SCFPUGkoej9I+M/o5DIKOff8q0eVkGAboPfADtSc+e4u5nf740zIH9lwVe\r\nNch5jPgAMWxTJXWN+m5ZAPJFZPzY4MtsHR6NTYMjJF1Xyi2FdI0BsONt8EMI\r\nhLX2qxqp0DwBDdMZSVGZBCRbN3cw1/7pMdbVVC5UPLYHCqLHjT+VE5CPBnjb\r\nZJCPEZkrWcGZCQ3ooRZOuRbF8UNTCluz5VeemBqSLYTjGzIz31uZPdKvjrMJ\r\nPS9LzAnVVfbau5l3jI2165CaR+6kCMF5+cREcka1sTDb9WPrfQWs/WDGrBUf\r\n6MCZOKwDsUqBGltMdlJui90hWGrNIZcxntBwr93auIIlrtSJa6ohX8Lo0J7j\r\nqqcVvhQmgLQnSPlHYlXsMWRQ1TC4Khu5WPCyxHpGcF4GwomhXxcpPZc21iHh\r\nDCjATc291RTtBu9UCEldAPAVAh+gBreCFrI=\r\n=ax0O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.24_1658229106163_0.9312994250224786","host":"s3://npm-registry-packages"}},"19.10.25":{"name":"@preply/video","version":"19.10.25","author":"","license":"ISC","_id":"@preply/video@19.10.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a1a5e15e3b26145571f81c7f3b90af0d1e140e39","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.25.tgz","fileCount":966,"integrity":"sha512-QyYMoVumo5iaKlIOgjbxwltlVx6kp8QcT/01xstxG8s4U2j+lZYXbxVWT5FpCH/U7EXA/W9Aj/6lRnE6xDg2Ng==","signatures":[{"sig":"MEUCIQDtsR0iYdGzott94HDfWpckuMWVIvJdvh493HHBOrrNfgIgEE89UBjs3BWEuFZVUWMVMgkCZRx0AR31aT/SgwRgdaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21482213,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi16bnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoShhAAoRMVEN/AjmsfSmf7/rQCCL1vZTRXSnD5oSS94QBsYejJdsJq\r\nZOUOeA5XqWckJFWl1eNnCSM3eyUqOT2ZD8YI9UhFU0tjby3dFaEmhVrJ5TWl\r\nIgs0zs6T7a8fDf4t6f2wTxR1MNUhukAI+1ZezXnRgQSVjsnfxxQHuc6ExO5w\r\nYH2YoPAfiii1meE4c3Frd64ItUCPYlhfPpEU9lu4ic7Q1Zm48h2QsbwlQWKV\r\ny13PQTMR7u+Xa/2ltM/pPb64A6mpZCrxRGFLGyxjRNYjafakgXQiY6XV6TYP\r\nr7H16ng6+CMUbbfxRgzRpaTzQFWG0jVtAptIyHQGlBsWdIMdI2NCWyL4/RCD\r\n/hmotqqKAKqIUK31gappQYnFHUyfebnhXjT1vl5xEi1d0wtJUfzJVvcZMjDs\r\nISypSXANh65p+67pUJEIE+BMHd2P2xwqceFil+VS+G+AU9cDJyJHpf/u7ADK\r\nep+xc9x+X4Utb9OJv4z/Kef33QMNsNlIU0rw6WLvlfxFNU8Ks6OWcr/bMS2t\r\nNn8d6YUSLVlemLCwq8eobOL3ieKATlmfjHTwdFZ0x/397amtbT8PWLJtDwM5\r\n5Z5FqQjIGSTkEV6iKaz3fbHLZBrZhsSXw9iTTPGuP6kjnjHT+vqOG+p4czlO\r\n3aW8gMH8yOeAUNYdI6Asd7d0zbdi/3dmivk=\r\n=K1OX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.25_1658300134942_0.3639205578184741","host":"s3://npm-registry-packages"}},"19.10.26":{"name":"@preply/video","version":"19.10.26","author":"","license":"ISC","_id":"@preply/video@19.10.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c43535541462275353355a8d42dc32314d5445a","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.26.tgz","fileCount":966,"integrity":"sha512-aZhdzbu/GCZ/P3udb92piv4/yHseYP4j0gTU1sedPh/qHAs4iVUAdPbN/iD01qFapZwweDpcbXLPyYHceO40NA==","signatures":[{"sig":"MEUCIQCjhypdLiYPPnzF08oVPFB3MKgSHJ2qtd06D/kmohRX9AIgFfkszjhetI9nTVnUlan4T8JmgN4teurIxRUYRGwGEOg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21488813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1831ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSyQ/+Lej9fQHkb8HhOMEvYr5VnrRe3b5KkyaB/14MvQ6Y4UnlPZvz\r\ngY41GbG5x7M4hk0tA7IdIvQEaovCPZcOIxftqbZ9uiZI6DBc2IvSFJhcVDDo\r\nK4qoZ4N1Ay33L06hL0qoo6zxKmiyx7vjjhAU0kgWv9AEWjrZp/obO8bZWkiI\r\nnbpa0CE+8i0eQb78mUvBQVGOs0lR2s0tKTmvxtK7fSgj8aJfGgoda3PPJxdE\r\nO4FuJYJYKuMOBgUlSZSsz7XwtqZmJiU5LMH+7+UCkRUJP/UTx0jMvbTsAlF0\r\nxaV4cO03MEKmiE/S4iSREt6qVtb/gB8sP/QtEeN4wKy0zqlhPK4422bH5fF3\r\nDoK+EhNcwcKyQtq8mug099aKiDgjIN345JBmr9ssLAHqN2VKCy8y6aQDAniN\r\n2+fiGyIarPAKo9lQjPrwbD/Ihh6d6Mb3dWr7MnrQ7lpwCeViStnm2qcVvrhg\r\nTWjaUg+fWTtDpX8KBLRBENSpFso2a8Bp+TZt3KVdVHRr6FxT8hLm74l4Ok9E\r\n/IUg8igJD3f4oPC3oxq0XYyIjclLvQx+2Ea7SQTyl6i0iUFYbOtiS/Ls34AB\r\nikadRBjqwQ2AwAjIMPUFKi8CgONcUMAHWojF5aBvlZR7s2+2ufhP+eygF8Ig\r\nljWQ64aB47Q1MP5os/xqiDBQ6kNKHyjKr6c=\r\n=7Aip\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.26_1658310133342_0.8437253121572841","host":"s3://npm-registry-packages"}},"0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81":{"name":"@preply/video","version":"0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"19e6f16c855bb1589cf7a01c10ba97aeb5d23dc2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81.tgz","fileCount":966,"integrity":"sha512-9Bnuy/K7ZCYEjwWbGCCaV15x4pdyXCBDrpmOOQtuRgpirXqZxD3IAaSDJi0BA4DM2zucVSnH1ww+IQT2MdsVsg==","signatures":[{"sig":"MEYCIQDrMMOe0gyXH6Rsm67unRjags88Ox+9ZazZimWlGmrroAIhAJJkHjA6Mfcc1frYm8RwYZzebGxqeeg/F8wkt0yktr1H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21499088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi35OZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr41A//aFE7Z1vxXUcOgtFhH9O7qOCh4N/5nGx6mKHI6ZyH22ED9ayY\r\nNAcScgwAYa89PJUNBJ4F/lPtmQKU9w12D9vArFSsYLxRz1I1TSCpP21WAt68\r\nCae6H8XOoHo4tzOVTQ77oNbnWGipaNUROjoTQaM6yCKAljrkNwqDxEXUTqkd\r\nYyHZHZ3E3tu3RTWV0GRlisZawxwBq5lKMNxZT1/W+AkIhkin2Z6qtc18WKNn\r\n0Hn47blQg9K5REEcLxfPmkcEvdAjvOkvAp8DCymjuAKaJOb7iqJwzvNrY3aK\r\n38ZdrEvO4AnZJ3YwlVzrBU66aGNWryp2alFg5l6WdIqpzx/I0005HhfA/8bO\r\nETtMMCUOhuZu82jCwBIuMnbIiS3q4rJNT94eVNGz+AhEiwt/bFSuUh0I7r4V\r\n4hN32GljJ7/mMHFtaz/sHOA27wATB6jyKrO3MaCICCBb3cPyUJ4RNcLRejWg\r\nAAm09YpCrbGcvnaqsCJm6gGDyv/5sI8gzRssk1yOs8NkdnbyvH2cdiuL08I3\r\nzgTB/p3Q6qnUGZbuqlcpWDV0gZds9V6LawpeOiOYyaKJQaLx1KASNLVsNR8C\r\nK8eTrSUz9wFvKNttBzNREbj+QkLDpyT+zXt8NGG9qU6QrXGcHfwQEVZUNeJO\r\n6H+EBfZmsZSmtXMokAAgNBXt7jRmmIykKAc=\r\n=9JGI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.36.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.36.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.36.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.36.0","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81_1658819481292_0.33984890172144144","host":"s3://npm-registry-packages"}},"19.10.27":{"name":"@preply/video","version":"19.10.27","author":"","license":"ISC","_id":"@preply/video@19.10.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5bcc8b77f44ff64258ae47ca116e75d43c728a90","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.27.tgz","fileCount":966,"integrity":"sha512-f08MzgO+gtbjR8FnfJJu2eTMR6k9Rp5zk8MHG4kaXcD6ejKbdJR1mNww+OsPLONaEcF7J4zsDJA6IzY8SjnZng==","signatures":[{"sig":"MEQCIAG//dIcYuEaG9WQWb+zDfvurVXyfP27oDvZEu8lq9aHAiBxxgKrgW9o+HbD0PcY7z43el4ddkRQc9ujUicz0CI0nQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21486220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4AtpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo27g//f6QQQUFq9g+xpJ+eSMeGoR4YhE8lx9AklYmTBJB6Lq76u7w4\r\nHS9hnCNLy4ADPqxH7xd28xyeWk+pQyU/tHl23M/Rron+BkV/P/mNpqA958de\r\ngQr/tLS68CVxzmgSfWTXuzT69RGatVBTStAZNxspEYf0XsC6ew4zBX62/HU2\r\ncSz14Jo0isOtS9QjMdKpx+wOVyeLDDuOHNU6VJkWunVQDf/sexQ0xGjy1pOl\r\nTuy/FgqafYguHzHuXz0UfUYh5nSo57UKn3usFaBmsnRRuXi031kuPYN6U5L8\r\n6nxaWZdBzHh17YUvlZE3j43WiD3MU82dolRN9mwdVHCih1xQw9dhjijePRBL\r\njsbgBMJI8rN1aAIPHBIIMh9WPPUEJ8rLt/+XU6bo4cSANEiKjcsncEiNQrYq\r\nSyaPY0FOukTnt0tLOsimBh6TzdwFgyKXnPB1CO1RfNHpK8+hqhSZNfGw3+eV\r\nChDjSAYSgtvTfwaaEEXyQvnZHHP78D/3a4X0WImQsLL1RiSB/nqSTjj0/b1u\r\nST5ikCaVbEWXcl53jw3bjOCqv4XFcL0yHiNy7fsoevVP9FPGhaRR4QfZvmdJ\r\nmjTtBbJRtTxeCsmil+RCIE55Shg9nMvRDPolI5EDNX7rGbl2KCKtlKki2zM+\r\nkWSe4/0CI4wQwwhJjpe7WLOcHW54fuTJfHI=\r\n=vZMQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.36.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.36.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.36.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.36.0","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.27_1658850153369_0.41726199264723585","host":"s3://npm-registry-packages"}},"0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba":{"name":"@preply/video","version":"0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3210a497838f29d2f82b07feb318f66fb573149c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba.tgz","fileCount":966,"integrity":"sha512-O/8LRBUQuZpV3vBHUySIm0J7Yd3giaWmzQrQkItSK3Yreva+T8m3hLQrnAQWOGVZ+7O+3TTOFZwExB9DBZu7NQ==","signatures":[{"sig":"MEQCICs0C2bvLJSJEBuXI8O7eUEuNbiSBqMLSg+6XWAlniEoAiA+9bWvJ+8kyskLLHO9wlMWddfEgFMv9OD8/ZurAb0/3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21487474,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4j7cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkcA//SZlZrgd1d7T4vse0MqD9QI7kzisbbO31XUMYJxbTu3h3+Sqk\r\nP6OoTj9UKKj45C6/75p+eoyAuFbsR33tvChfUfLKbjueChkurgu1m09FUoCz\r\nJmY7O1Z3O9eaBeMrGyyk8JqmClSsp/IWBg9M17AbUqyvjCB5NbOXtb61pivM\r\ngsMop7leRjScGkHE8LAkG6cO+WaFMbAYKFUTz3ox4IEl8syXP4F0uBisDBmg\r\nNSIA7fVL96XfvtMcrjsuWK9lfc6rHpTR1f+PrNP+GAwRh5CwE3ScDesk2FH/\r\nEfzEOo4kUDR+UvWdheSCuRsLWrglNMDIRgi4viAs5HhmC2OPgYVJdz573Dn8\r\nsg5Z3RJ1McySBN8e/W9Yg54KrCOv60FbCo6JGdBr1O6yhAW2S97HUPtEhsX8\r\nPinBblXQp+MLun0VoEL3xLY7wxkDwP8BcBjAwc6pA817DLOzrFiZyFZsTBO1\r\nLJGaLKCurcDLDm417FvZpSLmLmz9+sXt+9DR9fm5b7CxNg/2M3+2PRqk1/KP\r\n4x8b/mC6EXXCilc2akptU15Mkv6sr6UzMMNxuZQ7C8804L0zdVzv+f3vfkUA\r\nFMlBk7e4HtnWvJtspLL2e7OXEGAP7vWjUm3iQ0lwmqFd+mgvFSr6f1grsZTo\r\nYI0QLMHcJVYVrmQ2NW9050VyVY9tDmS4WHU=\r\n=Awd7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.36.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.36.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.36.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.36.0","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba_1658994395944_0.4340857120191508","host":"s3://npm-registry-packages"}},"19.10.28":{"name":"@preply/video","version":"19.10.28","author":"","license":"ISC","_id":"@preply/video@19.10.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c47b7b3e92a3cfd50c0bb746dd8ea5cffc2080a","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.28.tgz","fileCount":966,"integrity":"sha512-Lgbwt2nWd/nRkWxDUs++yOCSLisUYsYU7DfLBLzheWaTXvCLr2VHqxIOvvIXgz0BJLDc6Nqt5V8KTA1IjlNpfQ==","signatures":[{"sig":"MEUCIQCuKOfgb0hrH5tnQmkCEiaf2WtO90LEXwLdt1pq4RFpxwIgSIB5lOF2N5p5g/Cye6CKmywzUuql5s3gvojo+0IClv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21484479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4lM7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmquSA/8CSLBow/cnq+mQIDFAot6aQbbM/0At735lBRsvGULtVvM9K9P\r\n96B3+uLc8fbD5GE1UlSSVEjP9e40ZTQw4t/aJd85jiRClp/DzMYK6t1l69h8\r\ncDnRhRpv70+5fzTl/dZeJuP38KAqvv/4PGEebpNQYSWfOdAyosUm7OsNnH4w\r\nVLP1IEFd6tMsGKokYc+1FKP/KdwRCj0I20T4Yrja8ozDILj5zuGipBndizI9\r\n02X/GfKgUA9OijwRYVHG8subKtnNqfXildPF4oN12WnEeKH2AFZ4aC7+WFrL\r\n9ED2LKi35+LtPNb6ZDFjZXVAM6ggLd/03xIq5zDGyIF/f81VSkePdBaxUNFD\r\nOkMtWjweWERU6j8XLkZ0nlYsJN6gsfsYLv6If/zBG3bq4ir4lIO5hOAUG9eF\r\n4d3Z/fMgASBEyoxrc79tLhdvpSxkwdtl5FqmVfV312nDCZyu3ESygtSNwhnP\r\nmdG3K/DkjHj8M5egoiqocKBiU2ds0l7WrQNoZxMy6MnzKZKvRtCHxOZk+3n8\r\nKYHl+Kn+2m7B4JnVofunwKZN9uXsAWkLRINWpb2e+kAxPlMMUd6YwAu77VMy\r\n/KbF1obDECiYutILXZNmazgF9hex1cfJifLzOu2NuLq7c1alRKU54cNHH/oc\r\nlOwYJmQj1yDnqzzr36gZaBDoKBI28KfUjhE=\r\n=43tJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.36.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.36.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.36.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.36.0","@preply/ds-web-core":"0.36.0","@preply/ds-web-root":"0.36.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.28_1658999611463_0.5318126496404474","host":"s3://npm-registry-packages"}},"0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324":{"name":"@preply/video","version":"0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6de1a4a2e57cf5f6e6846b7e9ba6fa5713071d70","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324.tgz","fileCount":966,"integrity":"sha512-qUxunaW/ZXrnFvxCcvEAyBinHWsrTnmPpYo4wDm9ZVbsopKumK9mfN1zhTRMa+gG2m9b3s2q+hWzZ/xzFgpLSg==","signatures":[{"sig":"MEYCIQCpiE/jWTOYsIRqpX8zvJ4ci6/Uz8pBm3TO3omu2PoLgQIhAICAkEXzujwlieb54mN0M81JDhQcaKz2PkuDSC8wX2i/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21486772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4nWXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqONQ/+NMPP0V6nUTzC65Kd666Ng4gGPX8QhrdugJjoq1k6ZEJIDB52\r\nC9bWku8V9WdqFfouJ51D9N4wMM0WkBD4hQK9rxHkE/kZBCXxSGq7nluORIaC\r\nMd+xJgUKKkseHaeQu5/pEMInbdm7BrTwZSNNyZAyF916kzd/lgLzNZlsrzTl\r\n3/Ie/6DDdZSvRZcBiSotw0KoH7IrZUY87cGHzLvMmHMYfEby9hJiehoOw+tw\r\nM8UqzcKQeXDL/JZRljL+EakKktBT4axR64Za0BX6DXL7RVIA/rpTjG58fGDR\r\nwPA0FH8PnF2/7hw6RfYu/OJJJe7hOYz59KFKRpON34lHGY39fK6xhx7+25PH\r\nyCaDLWFnbnH+qqLR0qzR3sh1R4OMpluhTU0C3yenCKsufUw/jCE9srF2PgZt\r\nR0FSN6NjHWVEEmN6+tl5IIB6QiAYp22rt1C0LUgW2fRtels404WCC/m1hSWG\r\nDNOs+baQFcwZoqfGh5juuFTy7dUW/DoeUhBhGQ76uj/B3b11F72lUZzLeEPD\r\noOTp9wN64ZA01+Mf0sFd4p0J+1itbw2o/wQzl16w3ywLX4rgSGVatFBRiqv5\r\nZ11NnF6hZPnqVbENcaMm+xhj7gcocqIxFrJx9rxvAN0WQUcdGYE/XsHFO/2y\r\nbzEFiKKmaoDZxIIe9OR0bJlJqfALnIxIFsA=\r\n=O03G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.37.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.37.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.37.0","@preply/ds-web-root":"0.37.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.37.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.37.0","@preply/ds-web-core":"0.37.0","@preply/ds-web-root":"0.37.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324_1659008407550_0.8923461799133121","host":"s3://npm-registry-packages"}},"0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5":{"name":"@preply/video","version":"0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a24ac88f738e9bb9097f07168f17ca5d3c78407e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5.tgz","fileCount":966,"integrity":"sha512-a4vAjsTjXODK+Fyygeq/muXF0aEqkxI9lKsx3b/hdo37l6h/xSVXFW//hUEliR2drrWZBAF8tqhEoYcrFF2tMA==","signatures":[{"sig":"MEYCIQCtwsG65rBr39ZA79bp1KOh21HpGBTldpxHJjhsAY5maAIhAIa9NWGwdfD9CIOxczwO+mT8kJeFPb/tKltNiwKCcXv7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21481837,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi44qVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpv+Q/+PpnQ3D2wGnu6xzY5UV1OMeHYM9LXb4ZsNsg3eDnn1NSa4WuR\r\nRCioAyBPVn4XvOv1O6koUBk1qFvQXVr3Vzw9HWbMuXoc7RpFUuDbY+kEvbZf\r\n77xSh4fNb1/eZlyeq+1DgH0whcbDruT3hm9GyAhV+s/0avhKexa1b40DhjMp\r\nH7/QsvrYcgjvPbEiH0Dg8IGib5G15TNkfdnfIncSHJh6/88fUjDZIpdepq29\r\nxnOGA3KAOVOx/vENiNw75wgrdnynfgk1+G/GAnIr/uigOb5kOqh10Mvww2wI\r\na3MdaKDkJd+R/mL3YXxGL7SAaM5zhZRcBh+CokCi/GhwmvEZ2yAjkq9v1g6m\r\neSa6ILkhCJN4pY6gxMUxmsoLou3DCpq0a6ZL2IqcGB0s4Z8CIjqvUsR3rI3u\r\nqoB3ZhHI0sTZ3BjjRzRM+IvJ6SwfBmwhzqUwNf7Q/4pv3GuMIH/ySaZddlvF\r\n16JVmWVMS2hnwwNTZWeHqYPzNysXyea9NrYzNOQQGY2jfUstn/u0Z0Xe7NAs\r\nnGztWkoaSEMrhSvGl+4uFbgZcohti9n8m4Dt2S3NhW13rthn82nkAoYa4P2Z\r\nAPFdI5bvOTI73k197Kv2Z08K/ekpf2K89S09N0rLqfUUZwjFADKMileXo2d/\r\nTcnjAlchVTWxadx3dFs8j1SQ0b6EV12d0rM=\r\n=04O0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.37.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.37.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.37.0","@preply/ds-web-root":"0.37.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.37.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.37.0","@preply/ds-web-core":"0.37.0","@preply/ds-web-root":"0.37.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5_1659079317165_0.8712368458484256","host":"s3://npm-registry-packages"}},"0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c":{"name":"@preply/video","version":"0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a041fee663cc2f64035cbb73104f0239ebb8c3e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c.tgz","fileCount":966,"integrity":"sha512-vH1SkTrfMNDQjnpI+1Byh2sJ/76mkAlMRbipZBkpeGokhqDVIaHRuEK65FtX0L+9N/zL0LKqrV2DNz1284jJMw==","signatures":[{"sig":"MEYCIQDTZ15ZKN+RvkzRVsOCA/yHwqSbwa8BIklZdlVaiGPuTwIhAJJjzVBzNR7+YK+LhXy4V5Q5/vntg3oi322ApPDS9u1b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21538423,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi58OmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1hw//SN0bJNcMkT5Prhms1OwGusaLS+cPUjgzCEz86xJ3HSfMKHdd\r\nMmvMZBNl14cL7rGqHStcy0hSJYeJzSQlcXZkJ4SgrPrHFUJEmO9id1N0O7cd\r\nYgRahlAhyTF66LH4HFC+TBfkYgZ+dcS7TDdiACPWbWQL+mmWV0aYYkGd4mGG\r\nKB5NRnS/j56ousuMS+hIduJ0fv/ElG6GmQsbRU8+whWLpE0MR8vHLIPWnaPL\r\n9QiRTSfBn3S4fdeq9to449L8fBsEUaFt3cIwTwWC92rYC51OXKuq1ziY8VMu\r\nMNhFZmNzxiGk7JUg4Cew8z6NZgrLBuqMcVpiP9PalrvzN9pX2l+P17iPrfv7\r\n+a2yvD8JevKIxoUgy3mDhfIs1B3RgaupW25gdOOUkEhToolBEsNnA2G/+dV2\r\ngx2YOi55iIJPrh3v5DYldqfctUptEXlcUfDXL/+mhmeSICnZuqePKjKlUucA\r\n0GFlwe2pU+OeeNg4MQXKlLaqPXBCRxvx4yWQqoodqU1iA+4Z0vAdVHMHVJYD\r\nU+ESij77CAs5qDDk/iG2Ri15ibbuLhZ3TnC1fAkweNZn+sbiubKcWGVITMYm\r\nvgePHmhdSRZOSTD5mjyyUmhonewMJCdxUrx1wxrhzWUULUCPH6g5ZyHcrCg4\r\nejb3fbsxnMDULW9GegqBMxSvDkOnmzAJ8po=\r\n=OO8E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c_1659356069869_0.07149881840291972","host":"s3://npm-registry-packages"}},"0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0":{"name":"@preply/video","version":"0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e1a0feadc54fbdb1c356fe81a0c6f9c87950415d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0.tgz","fileCount":966,"integrity":"sha512-GqLfdbAvZMq3kDHRIbt+mzxADfXT74r6uosnq6XwR/8McJWulyAVXG+/8urx9+Xfn9/Esid8RC8fLtPgmNHB8w==","signatures":[{"sig":"MEYCIQC0dsoFV5cvkY4TwslxqTnTsi3wad8+PHDBTOmo1xIzPQIhAOmvSioR3jfmuUeUVn4T8mb9//Ue0xUjZZ1uAWV9+w3I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21541929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6L0dACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodFA/+NUBl5QUqQnaDcKpBbXG+Tr2Zy/8rMg2SU2EsKEBbmsFeW1Jw\r\nJy4Wk7m8ZWX2jNVXD6F3X70ujimZL8/upsvZgHrNweu0A2hcRhv0/FVza0b9\r\ngZmFJIcC2b9MoylP+QkGjYrDxey8BCpqQ0jKPszFpfmvMqAXv28CojSlEr0Z\r\nIYAGZ75z3rhzgyh3MXL3BjIJ2Y7c+VO34ZjO90e+T/hlf+wFM+z1vNqLGFMY\r\nO6JsIOY2qHIhB4yBmkEMpuL2gjWMAzG8RrEqDeG90bwApJ2vM/FZfnLpRaV4\r\nXbM9lUw2qUqKmqa3x68bKT5IjCnfhOIumIBEry0eUgGM61GJpCB+UQ3jmXlr\r\ny2br/PdjAce8zdljck/EsTZpdUflYARqvRD/20+efD56B6ey+Som5Ha8BD32\r\nsNdTutu2wmsjDBtGjiGaHIaNlT/w9YohGQzuhecYXBfXyy1/bOjl74JfaHZn\r\ntDbVjSiOgAT1ZHIDX13lY5FtJp0Nzh97IvmCbvf4fRjF7EWbk6G48Bl6Jd0y\r\njnztM6UkVF1WhBdkH09+h1Zti5OGmnuiPu1mvfFu0jvJate5JUAvyZeZmg8J\r\nEUkDxLITgDLQY2N/ymJyeJR60UUGfla7xSRqy/XYaw1ausquK24a5WdCTblO\r\n1fTMCD7XC75I0f7yZUhsrF9iwIFk6y2y0YA=\r\n=t9sK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0_1659419933185_0.6763743251916883","host":"s3://npm-registry-packages"}},"19.10.29":{"name":"@preply/video","version":"19.10.29","author":"","license":"ISC","_id":"@preply/video@19.10.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"391469a8a1266cc551bd961bea7d4ee267048a12","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.29.tgz","fileCount":966,"integrity":"sha512-aKOtOPwMbl2go+GjeHFh9jP4Fqb+nnQ0kNTEafnpTGJV47JlI+N9BWIPxaJQ1Se7XJEG63rbTKxbyqSibacj2Q==","signatures":[{"sig":"MEYCIQDUZA4lOT98lTE01lZImZR/vtZrbqGo9++dqLzPP/5o9wIhAOfRt5dUPC7UmI1DZogn9+e0IWY0PTzhCYE6EM4bVwjw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21540017,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6i4oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkgQ/+LxdQFSlCzkWLQSkiBsydVStGZ1hjtIzrqnxe0z7N9Va01x0T\r\nEzaXhf71oE1jve4WaJTMuHoouFgITnbm0KZpbtlyhjJbt9Qm828YHhUoUHmu\r\nSvbkYZjDSJw95/9+V4d8EVZqOZUQyWX28KJtd12CbNhc6nS4o/DrIYrWkbCN\r\n1kQkDGcNz1Qs6B7DpDYr3fRgbUAyNQYg++pwI30wFQXy1Qg42deoXDPCR5EH\r\neuMVm5eER3Rlso+AVk8wXWxoqD91lX83BkgcQI887zbd+wbPjGy3e55kMxik\r\ncAET4iwcbAKIDYngkXIpKzpHVrzh4L3cxaLSb1jP5hwxRGIBqjwtA6NX+kuA\r\n/aVLboygH0EOJNFxVKBt3qDQ/YF2UZy1IB6ilxYrTYPAnKYhU1MqOXIQ4WD4\r\n3EMYLJrdsyQUK4BRUd5OPI2lODV1/u+ZygOunhBzIB3lp8Q68RdzAO7evGRu\r\nFGRe887BiXfkV3k7jy/KSs/id01w9A+R1gPsnPHck+3GNRQ1kh2M902ixnky\r\nybsYGBrJyPZES0e1UE6Iny+jMdfutZqi/FJpn4u7WZP0zCqkvKjdIeFGwJIM\r\nR3i4ehOdLEI7Mfv0MwpmY70i/wq1nB449Cf47AszCl3v10gULlzBNvu0wysu\r\nzMs1gSjF47ekhriGLRF7dwUihlb4nJvsDM4=\r\n=LWpt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.29_1659514407922_0.994869349333694","host":"s3://npm-registry-packages"}},"19.10.30":{"name":"@preply/video","version":"19.10.30","author":"","license":"ISC","_id":"@preply/video@19.10.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6994768252026647836f922f2294b6b822d533cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.30.tgz","fileCount":968,"integrity":"sha512-YeTS7faeUeAZURUMJNNCDx2nGRpn8WElAagzCUGJZxrHcmURolBp7wglpPsx6j+FHZPsRp8MZS61HKPssY2OeQ==","signatures":[{"sig":"MEUCIB32xP5gWsf6zTvHa0GeID8oJqMrY8ierb7DXKCmHz4oAiEAy1XtjmCEa5S+FCYVn75zzNWIb9gkW3nTty7HhSSEdPQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21567812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6ko0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrrqw/+Jkovbyd+ycE0IE/FyveLArUPrfOCShzMX3UVdz9Yl8zEHAEx\r\nvuJNT5sUOqwc5OuFMlAZ/I3BM25tYj4plx8KT9awN278i7JzE6/QwJajgNik\r\nptPWFbrEmdzbywtweErSlrFPajQHo3C/JJBTcr2KMpCnkubH1Qifoa8YF9QE\r\nbV+3ArKLn2gWZ1as8s3ryqEJ99QyCzK9Gv+qoQInzqI8oWQvGrAuxvStcTqA\r\nL+HxLQ0mA/HE9EMI0opDaqC0DbdIfxYE6qhRS843pqnaQ7GYVGpuv9lQILL0\r\n5F7WZ5C2nTCjvpmMbg4W/riDvTwZHcYJrbV+JASY4Nf5LmhfTvAgn6W6iS7b\r\n2rm1n3gLn/gmenBWcrslp72h5YCuL8wnbONd27Gpg6teLE76Sl30k55Gid6o\r\nN43OaSECDJiH5gIH8h9enyMf0UOAWUd+YDWPMHI7Fo1m30/Ti05rXg+2UOBV\r\nthq98aVEEJHYmnPymr2qo+xC7l9JBfdjpAUPntuO/BMXkvsKJwMo84Nbl26L\r\nrYVgXZBgluc0SgRd46cxoh5XXD4U/Zz0y0UjGSExQHtTenb7YAdzrpOP6aJZ\r\n0F6+7MNXQntVw2va1waZk+NwC1DHPqLo4vasvnV//9t3X/fjC/dWXBQsZO9v\r\nhxZaYEE6Fugugjqn6IrQdFJx6Li/Djj9Pu4=\r\n=d9x+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.30_1659521587771_0.19389050921438722","host":"s3://npm-registry-packages"}},"19.10.31":{"name":"@preply/video","version":"19.10.31","author":"","license":"ISC","_id":"@preply/video@19.10.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1a6ec4dc8a75d81f46562be5f8efdfbb1ed98824","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.31.tgz","fileCount":968,"integrity":"sha512-0euOF1vcwiN7QqCcNZnxfMb6GVOpOD10vj5djyJ96vT3+uwSlCOVg8yPAAbhAEfD/e23lu/7PCbWhYFRUMubtw==","signatures":[{"sig":"MEUCIAKZeEkdKQhQIJwQWsjrN7br1xLxA97+RT+3g6CBAGmXAiEA1lYgXsOalVeAT9PhSTcoh1SImIbPcUJyvsa1ZPAHIN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21569679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6lDUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFpxAAk4/+BHDkAB5rWL/nMqO/CqRW9CHbqFSN0z/VH7ROvtwIPk1p\r\nOwBRHk6CsecpEoAMWMpOdWU1hS6jsthlnLiFKhM0EnjpZJgIofMVrisR1lI5\r\nkfgL1ZestRLEjrd96Px6sEcHHNDbOqZf2TZ9qP01IxmIzlml/3DYE2efgBZc\r\n62jE6BuCwVYuYuEZuUC2b1Wh6vjUAAQFxKrgeK4KUk9L+DfUREKeCIOZG5cO\r\nMcaTyZSbCm6OXL7C2JqEDDUPGZ5PJ8Qs+pJAuqYzE+Olz25aH95188zIue/q\r\ntqVNnY8HJFkP5IAqkv8jga3DG7fYlXcbAnDQuxo5FLy8fNTk0Pg+xdrP9at0\r\n7tg9L0rdylCoNVWHuKHFEu9eDbh8VbFEbztT0w7fq0iopmwXuHp8GGqpEq1n\r\n19rN3XBT98UlPvAUYkJnOlwsIjKcx4LlmPEhMgnS1sMOvBLmtsOiZXfGRPz8\r\nqHZ5RgjAx5okz78Yx4pAWw/tOjoc8MDYefRlfsRIf44BkQftdMmtNL1MJcWl\r\nisuSaOm9qsoaINGm84lcByVxdG1uCqc5QKjepOoVpkSSgqZi02DwC3FZAWys\r\nq0tv4NwyTYC+pK+qcjVpkHkOx9DYwOkm98/+Ca/40xvz2KSIFkvLJpqXqrUH\r\nQiXbXzsffJuDRhkdkKY36ABL36xRnkbbe7k=\r\n=Cq92\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.31_1659523284193_0.12805283416706614","host":"s3://npm-registry-packages"}},"19.10.32":{"name":"@preply/video","version":"19.10.32","author":"","license":"ISC","_id":"@preply/video@19.10.32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e2407cce11f85798e676a6166b5bf3a0993c61ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.32.tgz","fileCount":970,"integrity":"sha512-B/P+t0V400FhHvN2I6qPb93CDxiLDUJTUujtyQgJTdkz07ctUnKgX5kAfkYjPeCyQZ3oKy1JQwQYb70TCu4E6A==","signatures":[{"sig":"MEUCICPmwV2f2DPHku44BRByn5RHqIpy1g5mltrXq9eywJEMAiEA0TRWLEBQkEgAgDCGPbiMmif6heJzuLDbC2Z/uvt9CfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21583099,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi66OFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptRw/+I5wrXpXaGZXSDDLHfhU5zlxMRpVavtJVXyayQw+0Gy5JCB9F\r\n/IPWJEv1NSOdX0oXbVdIfp47VOoUYbUKjiEr0C9kglkLNlSXH+wSr+S4r0Cg\r\nL5tSrmJI7qDkpXFKEsgPFgRBasmbPU1snBVAzyLseZLH9aLbmvGvsrwBPxgv\r\nKrf6+VQvJ3y6P9G6ZdDmjfXw7YJABL+dVxMq92KrT5jgA3yt/FxGfV+tZThv\r\n5+H4IOd0P8ncFj1lOB0Sk81+lhjFoUoUpgSjJSRtCDOiHsmOmV6KBQanqJ3t\r\nUE1ZmRbC0raq/wZJz5Y1rjWqaZXXo9FRVZzWx7hj10zugguGZoVP4PlPVXFB\r\nzSu6MzmD4g0xzqCT1XmSWTn4Y26dp5h5v7Vggi68FF3uphdl6fvpovEmIPgP\r\n+0bOQxq40EslPaO0ujJP/U9FDiRDOjUvcgUTm6hwhqyhXWSdTbSVN7j2bgQG\r\nMkM/zqrBAMRaH41la46c5+J6Uc59KkE251l8y+MHNaSZltA/oZi3k405srNW\r\nhrKjqCEDFoukJvteJlXSAl4HEnKNXEzG1a6LsfPCZfBcuTALfBTEAdk4Woqj\r\ny+MrEpqKPbRBQrZf/71x2pZS0j/dB2p8aTRoluKBseCLAbLxKl48z55QvbUV\r\nqUpFZaX4L7jQKb0FE5QWekS6fUvLACB+ELo=\r\n=K4AL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.38.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.38.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.38.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.38.0","@preply/ds-web-core":"0.38.0","@preply/ds-web-root":"0.38.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.32_1659609988828_0.66820469963851","host":"s3://npm-registry-packages"}},"0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4":{"name":"@preply/video","version":"0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"108ed83a563d9ff70b73787eae402849317e0ee1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4.tgz","fileCount":970,"integrity":"sha512-ec5k188hWlkEziOAIfN0VrSEFDNLNfK7AsXhpLbw6JFn7gmlGu1XkZcANVwyoOItFXry9bYO3r/vmevWGlJE/w==","signatures":[{"sig":"MEQCIFMezeKjuawUYL1w6QJ+ATv+orJfFVEK8fgjJcikf9KJAiBvAFtGyzxg/G7m6D+p4naqq45MrFqLKnhANDtOchV77w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21584942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi68SAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPTRAAnsxS6aryyokXvF+/NrajM5uJkhybEsZs+sMwvMnMA9N0jt4T\r\nAmsdfhnASfrM+Sa6fTS4PSGTObGwfgwt6n3EBB49tHh38y/il7Qo5Wj4zoV+\r\nxrceXfJOZqqcas/dSwjDMondodae9xj5Tyb1hhAK/qKF+eBCq+nFpLQPp2RO\r\nzgO+e0vfYT4kvtIAKSmwjCYYfhzvfQ1PECLLOVxqfT5VElso51d8yiLqYTkR\r\nC5+9u8sTlVBeSvuwaSuAA2OtaZB2iBUyAGqPHuUOhgA+zItwi0RFWHrBt8xG\r\nL6ak4zs5LtWCXi4ERjxpJrbFq6iQbLezNfdi1F8azjIwuZgemEP3iOz/JYNy\r\npP8ux/SowIksO996D6cYcyl3m5ZjFB7FDwvG8df06JG2QOUrYMnt+4Osfm5t\r\ntce+GQgu4j/JvTfXOVmCaAxJ2us/eKEYuYlVbesxiAj0HfIOApyCezeJEiop\r\nnITjV7kY/lk4RUv4mrpRiufjr0w4/wfXf41D5Dl2+XzV8AGN/zDspmzDjBLu\r\nD/R4apl88F9zFg6AxhUXZTCFz9c+LQoDg7rIaQijhKQWqORDEJ+S9AsLSQ38\r\nSZMHJ/LZWlU7xNlhbi59COSKxBjAqg7xVXDe+nOkBgejwSKv8mFx8S7qUwsN\r\nFfeJwa52hbi/d/9ph/I6UOdUgDqKVcK+7jY=\r\n=6A43\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.39.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.39.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.39.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.39.0","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4_1659618432389_0.04888624122385643","host":"s3://npm-registry-packages"}},"19.10.33":{"name":"@preply/video","version":"19.10.33","author":"","license":"ISC","_id":"@preply/video@19.10.33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"578bc75c668451298c249ac7b146b1f1290947ab","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.33.tgz","fileCount":972,"integrity":"sha512-QgIhEdd74H+V5bE1QmKqngB38+DfFmhhbq38suz5ExMe1w4h8TKRpqvKuEH+ki9OleMt1LTmXGR9NnUHKrjVbg==","signatures":[{"sig":"MEQCIA4vQ9ML4uArxNoFgE0bcA1ERohEbKQ2q77hUtfX0pRkAiBR1uxqdmT5uCEH0wsh9GMZP/IzUzjjpDTExnQYVI7Ywg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21599231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi86iKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHnhAAhY+wp4CiAGkdCCYSpnBLoSSMyILhxlcMepGEp/5eymxoEArv\r\nYGvnig/ceFf+B0wIXFEwH/Nh48EcRd8mIOfJEWUzpQUdOhNsjlxsFa+nnlaN\r\ntIOXv3neqrXW3Twm438vNsVF8Hra2rludz4KIGOaGhJWRtFxdFMIsypiOE6B\r\noK649/1NrWpBG2mz4C41UiMJEiOaDb2L78bWvcK5c+brHWq0wRGrKQ5CeiPo\r\n8Bih75CMIND9SpQnz8q2JnDjB4q59ztcFbze5Wtm1EP46t4rFCV5xBXYgHGe\r\nkxJPD2V0xvFkWhs1sZC5hr0/v1Y8hBNZ42BKgqClag756bE0GIk9nm5lq1T5\r\nDlJCfoNpal1WkxJOs84p1eOmp1gTMrGwJ+7r4Su/1CJJNtJhBEfU8ZMWRoda\r\nyRmm0gw0dE5e49H88McL+EGc8HJkdAoflHHYE8WS/14oC38NQgJKTTA1/jkx\r\n6t612vItSloanm7ltAoTljebNpZKPLyIACX+eNes5SV3Z166UhinUV62/Jhv\r\n3Z+ymrZJ9VhhgArqg822ngaETkCAxeEzRzHPhc84xGLZG48w1HyiZ3WSJDg9\r\nkK0r01yYwjHPsiW7sK77x+zQLTlwoLFa3kHw5BVTPKvOefOHK1wH55bQj4cz\r\nKGHN3cNcyv6JLagFMdKlHhxcJ+7OyJSEk+c=\r\n=ok4X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.39.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.39.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.39.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.39.0","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.33_1660135559665_0.013345422036229015","host":"s3://npm-registry-packages"}},"19.10.34":{"name":"@preply/video","version":"19.10.34","author":"","license":"ISC","_id":"@preply/video@19.10.34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0409ae0904692df283ba39c09eec7422db854efa","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.34.tgz","fileCount":974,"integrity":"sha512-tAvlOejzlpin9XW/wpuqXRJlQUoFlKhC8rCo6uMXAXQi0TCi225oC9OF3iTW1LEL+dbWlE/jFpCv71Cz5G4gKQ==","signatures":[{"sig":"MEQCIBt5R4/5FP+ds4GDx28o8nIP1pRL3MStORyRbmLt0XHvAiApXFGbLLL7sOUdwhZKAxtkPZWM0V7Sq6DPsJGOQLKFzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21610449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9RfKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnbA//RCDwLyERJDSHMpElAkq81oRzkbw3wlqs0taAK5K4L/Y4y+WP\r\nRtaRQjKuGyu1aYiTmvb7d7jrWDs+IzDrL2C9Hq2MJM7C4ZDV8MFXcdKreCcM\r\nJsucyxzhAzQlu0F85bPtmm7G2kbaIoyUDDZ2ttUtusba20E3/bm6jsUimMIb\r\nO+dCq9XzGVJgWCQGYYvOcVnlWK4PVd3447Qusahh8v0Pi4x/B2oCbCDE4Nco\r\nH1Ja/f6ZQrHbLaUfU8lqGEpMVHKZWDX7udbLm9XyQ6aTEfcdGrNvH3vWbzVD\r\nXJ84nr1zf45Wx8NSS886NqJnxr/yexj5MBNh9L05d5kE56EfG1AFtdPzlZFs\r\ngR9/XnofnIHY4O7DGpJ8zhlBljXpO0rKTLkw0YkOpncZJijkGyCPYBr2ynLM\r\nMc89DvNdf34aS9Mwg/jIw2wyGptOkYq9pTCDd8HKoQk9fEb8qVNkeyW0kkO8\r\nDtQPZJa19+/qi6kCprIS7r1tUG3Gc5eKmTrV6ba6VPTNxlIA7i4eVO3w0XL9\r\nd9//KigLRq7QXamwkQDnNSZ4SFzTySinespWG9fi7F0lpvh7F5gqNwMTdabQ\r\nWb7zoZzXmfgKwopIMS1QbbWsNA8SSYPEMyMnH6RUSUTTdW7l4JY6ks9FD7QH\r\n758G0v/pFbRGMhv054NUKTlI5/Ly2DtGTVg=\r\n=2CfO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.39.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.39.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.39.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.39.0","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.34_1660229577708_0.08334641600623582","host":"s3://npm-registry-packages"}},"19.10.35":{"name":"@preply/video","version":"19.10.35","author":"","license":"ISC","_id":"@preply/video@19.10.35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82431261073349032fc2cfd7bf242d657a209fa9","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.35.tgz","fileCount":974,"integrity":"sha512-PvJ9vqYt3Qnj7jh4fr5lAMZjRxXUN1oC7xzCJIXI9IOTgMRut8Nmut8dY7jHu2Jtf781gpgxKx9vpxLUh8zkag==","signatures":[{"sig":"MEQCIHtdpHZcW2N+joZ0F1+oQvnLcy7aiq3//F73EKct183jAiBAx7QzGuDQePUYkElPm8XBlxuJdv8v3KAxOoT+7JamGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21615231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/M7UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCyA//dqDVpwvtQnBhnBoScNfxpg2bp9T8U0AzBxmvfsGgMugXynAI\r\n4EE8FvRF9rg++WLgqEdFr/UuHjpH2HupEujh5RRKHFwXXJSVhrCqqoKH7xnA\r\nRlnJZNJJNwGOfuAR/k+jljXbSigUA5ByWPHeFZvBCzFDd+NNtQTIJEmVkYZy\r\nc8Jp6uyoWr2VtOYdWs7761CqdxKYEpAOXKLPBv6uNSZQ1GOzZEkUtDINmvHO\r\nFkz6O45zbvMq7CWBoF5bJ+vVVTDvNuspl3wV7d/1rsx85ZcYFs08fF30Hqj5\r\nppkbptQdgfhIntvDvCQmnStkIK2X57a0HZwRIiLW1p7IRlQ5dd8/ISNGjJh2\r\n49UL3AYtBGD7NKBMfoz+cE9d1cn0srgyEeP0W31JAvieb6P7uwd/owXAUBsI\r\nBJSFWVwrea1lYjbaNy67+rrlIKIl2/mA0bsYYMMMlm/9Cw5PeCcBp+CFX+bA\r\ngpGMJYXGR7EBAzJYgzIh7dxWbCoYDr8a2H2U79iubONI+VJ3Za2DcCP+9hI0\r\nnrwmGYcnfClT1IF3MXd9YZeXsTOnA/Xje2uBoRGjX7W58cAfsI3H9A9vgKS+\r\n48LiCVQYKpytvwj46m3AnOES3N0GRyaRnWsU+ew0ViLX8zMIvLHpj4y9wS9f\r\nUna0LAX6Do45CXDmKMAdDbAKsQ5vK9F+EZU=\r\n=/SZG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.39.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.39.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.39.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.39.0","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.35_1660735187500_0.9923332185175926","host":"s3://npm-registry-packages"}},"19.10.36":{"name":"@preply/video","version":"19.10.36","author":"","license":"ISC","_id":"@preply/video@19.10.36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d8516e9e77ec93a036ceb0cf3b1c5e5c8346629d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.36.tgz","fileCount":974,"integrity":"sha512-POr5Z4Zvn2pu8UuQHWNPdmImTo1UcZUdTbuuYyY1QAfU1p5rFZc7PUFRmLSrniIJiIZB86X0ELLDFKrx2cd7lg==","signatures":[{"sig":"MEUCIQDl43oj+Iw9ZX5AmMlrTEL7Pmw/rpRwjT+WG1rqcqwlZwIgX8Ppkwc8lhPUk9yxN4M668x01zZtQMaudGvd3/Ajx0w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21615231,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/e7wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPuQ/+PItF7UsbjNP6T78+jsPQDFu3/5iD1BWx4zd/E9Vg9GTL1mps\r\nU9ZaWVVpp154PT7qDRNm7Zg7Lp+Qcd7Bk3O6YMIY2vlFXG3qxG73axmw11FV\r\nV2m/CNlMb5B4wuU+zEsuUrIwavPnrzhokaZgiQDuK/jO3i6W7BLwTdkNkTUg\r\nYZMZweDL5Wdw1suqB+sQl07mjDfu6NoOG4rN+u/i3ssldg8fd6wdhEJ2alGA\r\n/3gjxO3WDezEYaN2o1AMdcwrgeSbvKSyv0INgqWPiDSd+UwlDvqgwMd1v9Nh\r\nCxswuulstqIf6rLewXtpVsSpXDriIqC2RhQxxN7pkw6o3+o/gWSTjgaEHowf\r\nSFDiUcI4B0m57qnmINqRfUQYbJeQCfLbsq+Aa9YgVjddN4ZpwmdXsbCJw5Yy\r\nt8eMNz1FV2lDO9QscGIpsti2nlkDBdZYOR9smHmgQOjEVWz1m34b4SL1jOW6\r\nDsSAVcRuA4IcgtXL8dOxwfohE7+4rZbvP/hXQZYsCqsRQy2KlCMEzlF5cgH8\r\nxOpAqzyf2C7hQhzf7qaH0ZRs2kHjrwKgFxx+TEwAQSwVYxLQqltQGgZYn2uL\r\ncaHF47mdQTy55HxPlPsv/sLDPzmC3UlmsCXbsuVCY/wErC6bgTLJODcsP4KD\r\nl2u5kEj3NTJdu9rrT3WHQFkWzpZZLU4XqaY=\r\n=oPy8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.39.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.39.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.39.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.39.0","@preply/ds-web-core":"0.39.0","@preply/ds-web-root":"0.39.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.36_1660808943702_0.7285376650746358","host":"s3://npm-registry-packages"}},"0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f":{"name":"@preply/video","version":"0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"261379f042ada2e6af5df5338116485d151fd2d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f.tgz","fileCount":974,"integrity":"sha512-JmObHVH4aK+X5kL/m6PYrDJ7HyfTgDRqBSkih3+1a7xrnV0J3ZaSvhK4zjEqCDqbRulMIEOdx0bORMeyCRRclw==","signatures":[{"sig":"MEUCIQCe9LhKm3lJ+OwbbC+QPJt3x26fkLv+fncIsSKvuD/5YQIgaiWPWrlTfGRBfCYo8X53gdc2nQDM7I9HzTnFecCZzqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21618951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/1SiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr92g//e+xftv1fn2nx9gqzNAUKEyExNyVVtsNbe0Ya5gUWwtTG2Rm7\r\ntqHEmqFoD+5BzDMZpC83Qgndg5a13RFr//ZJtdrLH48jyk3wQ514CoJGjjXA\r\nEdpTBKOcOB57numS6SlplccHjjo7JpFXuUlPxJ7wo2LMzdddbjAH235qun/V\r\nPPBxhsTLFUFKynlRenNuLp31aKyBjQ+u7wMCcm2wsFZ6wo3xdxS/cI5f6aqD\r\nh/VLDS2wRkcgEjBOrp0MI7zUbsaDd5jPmhEJGvUJy3g8Dm1Si/efmqQRcK2l\r\nc/Jb28F8odB4Yy9ZdyWQ932soxHyLYzCIIwglY8himrbF2Cx8fZQ1+Rd9XN+\r\nQR7OI77TI316G/EoMUwySttH2rn0orsOzlYkB2cmE3OFczGguNVJsu1iTIX2\r\nlM99MRMAawuNzQXf76/x4PHxkx8OW3LguZwunpO+S61kQXmJQkQq/LkpDpSm\r\nLXcAGKdgXI+Vf2eZotDReHQXrKz9bkrYtdW9At+CSDbXqtTVlgVxis6YiAD1\r\na0MNltZqlgpFEnzgj/2nk3bHsxPUY/MY2Bm1007zUPKsMTvP1Se08G60GfJl\r\ndVaTH/GbBPDUGkOdRL2PACfYUuVAOpj2RHuhQapjj3qOc08wYUj6hTZqBVE8\r\nY3lAyBwEvmGRsUdC7yJx9kVhavXiGjm9lSc=\r\n=cfC2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f_1660900514350_0.758783201580008","host":"s3://npm-registry-packages"}},"19.10.37":{"name":"@preply/video","version":"19.10.37","author":"","license":"ISC","_id":"@preply/video@19.10.37","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d65d8901b830bbe39f0a554c51cfbf6c8bbc2d33","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.37.tgz","fileCount":974,"integrity":"sha512-s+Rx7fJoSgR/v7imzAiEIFzFwAjF0zwKU5CRvkaSAZb3HkiUHcx0DaDEGPLUvrWmzselStNUxDE5VxoHvb1nDA==","signatures":[{"sig":"MEQCIBGLf0WZrSeIRgsOoJqcyc6EkNY05IPBoxhJVm3oXuZZAiAKineqZ5RnOs4Ro/dfhergWJRj0PP0i/qQg57WYfYZKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21636168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB2mJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6UA/6AwA2yl2uInoWzszvMq8NMAfeTkD5lfNYrCUxhUSilq1ebGbx\r\nQgxsJaZeAhxJs9ccMVkJ1yaiAtHzHHE02ACshLt0sPEIxJopsC7sp/4+fIOi\r\nZWaGKvYrIJ/X6Fe6Sw0uJrOxMUbrxHmgSZc2wUxyWZacj30RAcbPhdPcxGlx\r\n7mH8kn1ZugMNcxH7VAP85xOxRgNhhF1Z3rx0fCggAY8AaS3D+fO3i5IupbFA\r\n3NHx6tezuLEzh5ym06iB2bv6wFD74wZDfpvI/w3g9a5d18f218Q4dce/sYLV\r\nMKxKlH92UPBAUTwkZCvYDf2JO0aPwYoZtgiScy7YWB2HZ2cyWiocqzmBHNol\r\nYRvA/8kgGB5zH+Fs/XJtLHPg2uzYaT/dDIOxBb78N3/z/Xzb6FUxlBNbGfZ/\r\n9wHQdCKObYEiljhob3oIiCP+5/swDtZZDIan+cxnKucSf9eb7d9pO/ZNIeJv\r\nrcFldXj6kDPFI5bM3nEXOWDNsuKozSfTqtS871W7a3ByIDF9wz72x1i9bis0\r\nGvWjraiJK5VGoJRJW+gEDUSQIKqcQi3eFbasW+0DAhQFUl70aE2jHlHXIJSK\r\nkOA7KQwRVyrKEKYX2GlDfEy4cw2ZtHTKw7fvScqqE0rWdMnqtS94a840uQBy\r\n9AneS7XhAc8Birm8kxRwbKukUqzkoNVYKrE=\r\n=U12k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.37_1661430153349_0.636837822790354","host":"s3://npm-registry-packages"}},"19.10.38":{"name":"@preply/video","version":"19.10.38","author":"","license":"ISC","_id":"@preply/video@19.10.38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b914e742338548f4f74a0bb910c5b3c34fe540c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.38.tgz","fileCount":974,"integrity":"sha512-ohXXC4CUcj7MOjFst3Ir6w601mpbPPMYYvTQtknDrvptNajAw/Xyw13+2UPZzE4xgituKgfxlNlJJToUu+bIWg==","signatures":[{"sig":"MEUCIQCq/UJKce1BHz501jwjyBhHKMc9lUaXR7QULXmjPkdQ3gIgQe0WB5dQpwGnibkbZcAIl5BLrT6QfJL7CGEmcdR/KWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21637293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjB3g6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+RA/+I64If2anJAHZkIblAvz5T45VY6jLvkZZDgUYFaBYBefzH7JC\r\n7W+x5A1HCnLmmhwnrX25741eMf3Wlb1BlROeXIei5lLY0TQANsU2YpezTlXF\r\nlrNSl15vSw5wcgRwTOmGGi1ebHOEN1ZjY6mIQh0QZqWEwSe48pCDuKQ2UW6F\r\n9b2Dj9GiUdEEi2m2GobsZcLDot/5WEZ8WIr01TEuBGi7L9ecD7WYFOgNEJKJ\r\nthRT6bUPswKmB6lj/mqXJCaYhXDBi/Dhk2oV8OMNTp5a1N8kQqF2EJedHrJc\r\nJFANhe/0pExU8q0P/cPYv4bU17QICjfgUPWiQeH2TywMirjzM77k63K5jTrY\r\nY1+1mT79xC9KPdCpk1j+2qklVg383vOC5laEiBK71EAjERI8GzgQitFnuvYf\r\n2y7Eimtv1A03H0vJLBXsupkBfxQAtRk+ORJag1lZnOETWcdory0BaSsnPcLV\r\ngdSP2rO4kjZrFGUc/rQvZD7TCys+aKVtHD/5oSFEskbdf9qL2ogHumdj1UQ/\r\ngtC/dCtFc2Gp6S29CeDuyGcdKLfF9Pd1pYdjxsEnUDs2gPQ79Zw+GyNZ35gk\r\nnZ/dDgp/R68XaRvFYs0/krAV+AqF8c9Faym8eiP+h8cCND3k2PcWkKDEJOaZ\r\nrymEOY69G0izvH4vwAF9JbqPIBeb9starPU=\r\n=JiYj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.38_1661433914212_0.22842786027448025","host":"s3://npm-registry-packages"}},"19.10.39":{"name":"@preply/video","version":"19.10.39","author":"","license":"ISC","_id":"@preply/video@19.10.39","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"803b52ed304938be57bf5230ae19b95811552fdd","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.39.tgz","fileCount":974,"integrity":"sha512-lbeID/Yl+FGf+K8Q9sdRA+MoMksc0PSNlUl74ejGUL0F5Alvb62H1QBrAEi4Lz4fR5G2ZOhNsHilCbrf06h1jw==","signatures":[{"sig":"MEUCIGIeFQB6QVID9vxjzNvzC1e5rCWmsrESg5tpv8wNb/LRAiEApn+QeifPLAMWzjmCCLwrIoB7Ij60KvpJTNyScpieeo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21637459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCHUQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmocTg/9EaJ6cg5RrifRi8FTuXk31rBhhL9IE5wog3ROS+NhaOpKbMSq\r\nmEIqeGugmhYzDk6t6ZImTL1Z0+2YZ5qzjL0wySWUAQOvpCTj1DPBj9S6LNUO\r\nD7r/sowmYuhV67pkPqRCGNQZaFyunv4FW1AKpJ3cUAQ1yrWn8s/1pmuKplXN\r\nsy6Yd+jgSr/wrl+6+Vewcox0PbEBuVZ/j44FEiVP2Y7TC1YzWJrVs+u2Jaol\r\n4PlI69xgwkhsfSXjaOXaVpr5c0A8jJstfxRUbJ3azpWDQwUPxB984pNp0/GG\r\nnuYXCZwM9hIvSj0V8GRlqzLBaOcsHlSKPwTaQ976wPbrHYA+uQzwiWp60oBV\r\nNkT4R1U/STcZQhyPAicAiDeSLOmpgc056snE5baQW7B/N0tcpiST0oIxFNr8\r\nOR6YHdmeFIIBmRD+rCoCPAkNv1RHqeqZdzjXZ9ERmgMWKd7Z4VHhq3q7ctVb\r\n5b/pGLXliOFENl+ajVxqRv7bTmMUnChbvZjM/HJf/qtp8Ly9EnJJv1HRwBsF\r\nFH5qYazsgl6jtI5vBLZnjbgV0SW9mIHr3nrXmTCG2pIsLBkm5QgPdIeOj26J\r\nlroJx+pRDQOQMWSHjKAQajrLYSeSCYKbhmD9ZGBBrjFsqpuKrMcP54Wcu2BS\r\nljB9BTd5fmP2XWJB68eG9ZiocAcZUuChGKA=\r\n=PzNo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.39_1661498640312_0.6233466639859611","host":"s3://npm-registry-packages"}},"19.10.40":{"name":"@preply/video","version":"19.10.40","author":"","license":"ISC","_id":"@preply/video@19.10.40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3f855be84e3549a8c67a5190bf8e6216d3e4b16d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.40.tgz","fileCount":974,"integrity":"sha512-2T60JWZ/K0MVVhVupC5UfV4mN+5xXjYFaoQ+R60/prmE+rev0IzdJBkBEbJXkw1Jto2X/bHMCtHdfAMCOQKvBQ==","signatures":[{"sig":"MEYCIQC25HF9MnJqoCi3MFKLgX1sdzuk456HFuBLut2vWVXF8gIhAIimZYhhOAb4uMBzG1vDK5LkT9Rxv7dc6ZMvfDFSayOf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21638439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCMSLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPhg//dNhOFt/vjpzD4zak05+LQWpGaMHbQkHL2Cn+bkZyLtzMdKlq\r\nnKz5FLsp4KF7Tr8l8aI/tzf7aqdmX2JRzrvOaqEK1bJ4eNfPFRcEceBcuSZG\r\nuNw3VpOCWeu8Ljzb95DKSqW5BvLvSrvluwM0hSR7PSxygn1KfYpxi3JnnLVt\r\n+fxCgiXd4SkVTufZGWuUIzo/11CCpYnRwVziG+PgYv329M1yp/pPm17wmjcc\r\ncjgXLO7Cn3IQwFyZvDD4zXMzqTltSCWz1K2/mMMDUye23GH4VTWuyycjrYMw\r\nIaGtUKrk7cKy1ZHxTueKIrpYha9fdlDaYipR3WyXkGUatimFsQZmxPDoMvMy\r\nP109wTH/v2QeGFhVXI5MHeF+g1S23IHVXbhNUORDcXZ8KHVeBpZk7q9HBdGc\r\nlz6asBjjidbc63rrlhO//MWSLu1ObVoAyS79Y9lrcszWhYVgCgHjJIiKyq0U\r\nrDWu4WCny5d9RVf5Vc1mLicNdUBfQ8EW2uIy8Yl5Lk3ARNTeq/ssg9bmq/ae\r\nWVmAnCB/Thlgjoc/pkFa7VNvLJTxdH7LVSDPr6oyk6oGDU9AJ5dtKHHN/K09\r\nfDGYeJONT+uZnay9XOdbHa3ou7083JgHNf9F+vKUYuUCIH6YukB7C1WlIihi\r\n3GewmIK9TeZQYy2m79icc5qpBhYGhUj8mzY=\r\n=9TIl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.40_1661518987082_0.4620743718263538","host":"s3://npm-registry-packages"}},"0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73":{"name":"@preply/video","version":"0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b2ebfefd69c623f7961e344e655b0e5905057164","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73.tgz","fileCount":974,"integrity":"sha512-uKxKPiiZyNsqBWBaHH0RkQuDFYgwEQOPNfGUNHh4DFBS3DNAv4T0svKep6TvenCErFMmsYjRZxkDz4X1BxuoLA==","signatures":[{"sig":"MEYCIQDmYWzsX3DSAj7txif04+35jd0bLWFaxA+OVIIO1/saLwIhAPMW2uhDqtgTEktkM+rHJKDJQQWSrYtRnW5W9nT8JDO3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21640388,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCx80ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopdA/+NOV4UvlZnM/ka6eOe54rU0NqzY7TfydFfuV0zsJUh2hwG0yT\r\nS+dI4Gv5rf3ch0Schp/BmXkTpGf8S63gHv0X2rwJFgLF4SwJzWpWd6sN3VrC\r\nwZrCaHpqimwkHI6XN1GT55tlshlCuCpYxt6fR8GM7g8HoYfoqAmb5zuyaAkA\r\nSxvecECA06Rl1uMWYfX735fa7RhGN+bEGSLeFxau6AhiHO2Q4lhl2jyJ+hX+\r\nJAGqh7sH7o3BF0RuC8DfwnkfJPkmN7LnGUu80d7MfH86h4T27LMG+uCtDe7x\r\nk1DwbJlOzSoYS6kbsgVvzaOJs2kn7um9fwBEkjoebED9oOxaDWUEycfZ/0DE\r\nbdMllYj7Y3xGaiF/teeXPj3V/ZKCijdMuw9jGWHV38porPhXBhhxBonkuAMJ\r\nQUPdpxDXg96T28kvYE/CO9/kXsTVlnkllWc0Y2wMETXvPd/OtRZYpCJPcahR\r\niDKFkg8fkmOw/Lz5Lvvk1cqUi4AQnpjT0qRIer60Wm5ivqdl/TxlGcRQFrRx\r\nxfSyKO5cKd3QYUB9nFxMgCLsqeLNLCVJrnBb6u0PkJyUDcvjXoSMei5fkTwv\r\nXJ37b3Goj3q3EnvhEUZWYZ90XLzOkSPPtMShNp7cAdTxeAfpLifak2TmsoOj\r\nvCzSX6Pv3/wnDpxeGQuXOh12FtTs2z4nASk=\r\n=uB1P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73_1661673268401_0.37609882227656466","host":"s3://npm-registry-packages"}},"19.10.41":{"name":"@preply/video","version":"19.10.41","author":"","license":"ISC","_id":"@preply/video@19.10.41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"964956eb0b48484fa4344d0ddcb44188bc66a7e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.41.tgz","fileCount":974,"integrity":"sha512-LmTIZOhf1kE08zjH/8chzEwvEVHwIBTVAIZ2vMq4EU18ha9q7VrHDxAXt04PYqsRfGzXOu91vEQa2klDrMzMOA==","signatures":[{"sig":"MEYCIQDZN7NQNRMh/uhaUnG7hapnepPBAnO4qJPjUxgQjptEoQIhAMoNaW1bF0G/BZqjXLQv9yPz68+uZ8REsW1P5xUvCYKn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21638656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDFWgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqRvw//a1dIa8qSnCgPJHofg8yH56TuPSTYjiRHxJiPWe1bUkJ2OC4D\r\nIdXZ9K1xsWwy4RgY8f+DWGf1iGvsBqN3bU+oKXJUFnkYXhsIgMVUJVn34KRG\r\nptWDQSwpfYCe9y04paOTIWPnvHETyUyVsMmNmdQu7UXVetCpmZSr4ITpgmbW\r\ngQNdCKCo/jUhVsvgFU2xlJCKo8dnAIs+yrSaZgrHomwIyqo4CzsDpboli7tr\r\niS97TYUWbfIElqgHkITLCRPd1DOkb3l2TA3jxa2g9/HRYuy3sE0NXA8SKX/E\r\nmUKSa/VeybpPTZ4wShfksGpMRZUkse2thi5gvCeaX5UlNHyo2fJSbhO6dCC1\r\ngJnRx0XPZlM9+7SN3Tsq7VIA68df4/T5mS7DNLQdRftnfJbztP6wWv5DcAHo\r\n4JV4FA9qUnPZGff5YM6IXlr4UFQ/USWqRrk5PB8A9t/jASx4BC9aIhidMw6m\r\nT96Gf3UUYAsiuKKEO6pRtA5OSCnYiVs9Qnuu3lHcq4N4w3cFc6hltfnrp7xK\r\n6bZlGW/szqiC6RrZPbomDh7A8uigG4yx8Q7MSFoG45VQTICrzRLO/FrVgb22\r\ntL678DCtoZqc+Rk8y5eQYG+f1DQbw/iJDSyJGnFx1w/4kTRkqzrvOrGcasH6\r\n/K1PRCnQ60RcpV54Bet7LlIeb24jEzCKlBY=\r\n=+X6t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.41_1661752736440_0.8927922326277922","host":"s3://npm-registry-packages"}},"0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3":{"name":"@preply/video","version":"0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dc4ac72eb145157ec469943e4245dd4b5edf5ccb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3.tgz","fileCount":978,"integrity":"sha512-U2+EDGVbb0KjIXG0nm470kEu3xVSkpdt3YVwsdODUDQoPRiwDg55NI3UhrVk47M5PPPqPuEGfbhUFeyPABOTCw==","signatures":[{"sig":"MEQCIBeSS029OVq3PjWYmI8BrjrGYML9QZA43B92J+uASi1zAiArTaQrW5ls6zZSjtmHn0XJFXmacIn1N+f+OF0KubUKZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21671082,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDgIYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLdw/+Lw1Bi/8okMWwB78c0WJVmRS8Tyw9j1UthRgCt/fMLbmPUzy1\r\nHhiV2MZvZNZzsIJDqdq8js22hpPlA32gpgLwPKXOF1+mt9LyKZaFVW4q12qx\r\n5yzbZ6Oq23rI5RwyY/0/JWPkMa8M+eZ4I5kC5QtbsXrrcsG1D0Qj+YQUF1K4\r\nS1/TLLz98Cb+IP4d79RtGcWWxLydi4JYuAD6N/1j11AJmtZ7ZPXa7gVIn14O\r\ne4lxdpCC+UHG/DFFVS2ufKh7H4TOdpr3cHZ+LjvmoZ12Ctg7e0alhSQEsCEN\r\nqv0OLP8AKc8YKXjHgH6d8IXDlRPmyg5WqsmfO+hvmnahvNOdEz/2S9KjsWLk\r\nGWqwqFlf0JShTtHVr/9EpT8XK3KEmDYRtDNmCK+WvyuIMkCYone8Cj5YCZvE\r\nbjUAT/+Mv1/OyWkeoPMHMyCqSF+kre6sLWIVPO4tqkjyXFo9PkYstzMxn5lR\r\nDy9JCtPxA5ScPM7sL7lh+GOgkUEdR8yUbiHoI9BM8ekD6FhBOzll/sUrBsFk\r\n6nT4HXgnzl5jjqSIinqab1btF8ypR+dEeuo703UoTzPSlwKD5Snu/IQQVbFH\r\nrqaOW9HXVl0KWMquxWqixnpyn0rAJg+L9DsMWB+JeTde6naxDGUv1bVIhjB6\r\nDEoPa+rCC2jTu3dtoOGcox578Cvk7Lp2jpI=\r\n=EuRv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3_1661862423623_0.1033893309602456","host":"s3://npm-registry-packages"}},"19.10.42":{"name":"@preply/video","version":"19.10.42","author":"","license":"ISC","_id":"@preply/video@19.10.42","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"362bca6cece792598ed285b06433a6cd660bc91d","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.42.tgz","fileCount":974,"integrity":"sha512-7tIB3LPatyoQqWegMwb9JsKx0Y5MLU/6EmdI5I4L0TyrBwKydn/idXbSjV2pMRl6HHMGpJItQ3P5X4BZwwgdFA==","signatures":[{"sig":"MEUCIHafzmeZNrM7SgE1WEDhSxwoF6csl+q6AKVO+pJ2cJICAiEAx0V16NXiPizqGVP4U/JasaX5+kb33es5scgX2r3hsJE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21638174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDisYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrMsg/9Er7JnEkaJFXEq6YeJIjcrkpx0h9yEvLXDvL249OYzqkXGGWQ\r\nRphPh0RgGQZZRHAQzFaJ19D6GdPa7NwCvA+HTpSHdYD0v7YYnNA+yyM/BWAf\r\nlgVRqhMOKpr5uoeE4UAP8ka0+se05QAucfW8HK+5t43JipXcSllkXr+0m7pe\r\nah7mb0+SYS9ZEpYukhaXN/PVK2vLwGjJIlckcU904hAFoRiZ7rV6eqlPGIPj\r\nbKTH8ubuWsIw/NE6uG6dKag0JSudEfRu+rewy5+62gPXfaNKxrJtP9TY1v7o\r\nQqV/RNpKfWHuYt3dg7G3mHsEl+2IiYXhpMR4oQe4PQOG+FcPpJIPA5ox1qmb\r\nHIMwPGq1jxJcqu3yAluzjMwlq4cUK0ozZE48r17KeMWXlxFECgF+OgLZ7M6+\r\n+DC5VyqS2/JD7jTa+b8jLfV+bLZwjnFELQ+17ThXAOzbnjJzUti5IappPk36\r\n+pNM1hM/KRdnVqN1LJsSyMh4iKBb0YN0xkR5R5Qp3T+tlBeCmQQd9HN75P4o\r\nL6vxVbJ7YahGnNK+deAqVGZyyV8Li/1Us8tqAGKbxIVMpSI96uH6WDofTZ+F\r\nqzHIyE/0DaJlnttwSDrSjy1xOhQUEzfZUtyVIiAKGWCEkOKPS7arBwpX9N8L\r\nyQc3n9GXVz/0rQHkoCbziEckfH17p3Hw9c0=\r\n=Dae7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.42_1661872920402_0.04081020743074637","host":"s3://npm-registry-packages"}},"19.10.43":{"name":"@preply/video","version":"19.10.43","author":"","license":"ISC","_id":"@preply/video@19.10.43","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b69630e372d294bd77e182fc3e6628a8924130d4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.10.43.tgz","fileCount":974,"integrity":"sha512-FRLPRqnHB/zwuxseJ6LahteXvSPxiZzMHe62TrtfNQK8EVy8/f3WL24dY/oFca/N3sEDcjn0LwSCPeD+I3bW5Q==","signatures":[{"sig":"MEUCIQDGAvo+tJD9LFKK6wzdocMV4yIK5oHkkvrKs39YVcEsGQIgPYFrQehgsluIByYRrraI7Guka3Nya1o7OSD3e01OA+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21638175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDux2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXDA//QS5wU9lCYUh1TCJqSF3uvNy9LQtHzF/kQZzBPfaQBa5HqwhO\r\nwAu1Ojlgk42zuynWVq/Okv4oJOPodfQ/3kSMFjgJLqS2GDXhumcmYrHt+DGG\r\nm5gAVCc0oi1Iekd02PTsk/StB0mHiOuCAGoWsUq9CpEM8LmFu+zh1Zhf7mKl\r\nvBiio3Z3UQs8Sr34yVNcbH+M3hfa3ZpERxx3ZewROirtxCTwQg4zNs15AnBC\r\nNixzDUNuxoqSLMqQ4XkuLQGOdOAYv7Uv0S6P5IlZUaHHQA1FYxbYOzPKMSAU\r\nc/P/tULTANyciGOpCPMJ+JOytKXuFSRJ1J36S1JYgU2RTpqntNOPi9RMUpzW\r\nai/w55aARUkGanV5z5wstZbhZDaPnZWMrW20Jdmv1i0hqTB/oBxt0moBiYtF\r\nhSkn3Oj3i6pdPUY/dwSHW89sacmV5kA58Zc58meZW64IPRKYu7ya+lOBS0S0\r\nuV8GLk+l2auejo1aQ81Q63SVeY2YaCXoPzHGf4sgRdn4bu8BokkuKNveZ1NQ\r\n2mwQ07Wvg6Ex6AF1eReuDrTIPnEd0tojTbXqEqaHAXgc0LEYMx1R7b2uay6q\r\nnwWKiGr1g9T4c6dUdmMI8EXpd+dEV12jEgk4LytNwPrw9Q1U3lpvfZ4zsAQq\r\nJAWqyVxAv3IZGks+wT+B4k3wjseD3D+B7uI=\r\n=Y570\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.10.43_1661922421826_0.1606054758589004","host":"s3://npm-registry-packages"}},"19.11.0":{"name":"@preply/video","version":"19.11.0","author":"","license":"ISC","_id":"@preply/video@19.11.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7409b56ca3a0cd5f3823d9209c75e9e93108baf8","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.0.tgz","fileCount":978,"integrity":"sha512-IxWppYYszAxX47px6RdtsEk12+8FZYhLSdHxnn4R5Gr9Gx8xMst3OGOUzpoqc+JFFD+zZW8KeWdRcCD1DG1Vuw==","signatures":[{"sig":"MEUCIQCljZNCEV0NRvgJaIJD35/oDasvYhY0ZVcoQOqQfuHfxAIgfzIg3l76j1e7U8J7qi/JCL6knhqQT2H8MoIx0Xx8p6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21668385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD6oYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJRQ//aEZUzKNivpJIWTZb0l9ybO2+o3UWmhOqQCs7amWTLqiUal1J\r\nG+m40GARkWEG3nE5cgoj0YvJwh+Ms7r9c4Wq5bdOjlczpj/9JyAOqibExRfh\r\nuH8taEYMf5TNLxj05NlgpBTJNKGIRoAFZXn+p9TGYKIPrw417XgW1xhY8h35\r\nYgyT8HYW+YqHUwZimjZ0zI5L+oNOxCBYXa99QfbBiPC3r3j3ZOD1OIgMXQLI\r\nZdHmDMKLOpnyxROyt7xUyLwZbOUdk/WOfetNFZ6WmiuDuCWBmOkOCt+IZm2o\r\nu4HxGPr5rrUBfLFZlBJn9vJIgAY4qIQd3KKV7d1pKlkkBTrG/dHy610EuX5R\r\n9D/7LcQtQcP7EXeZMgML+e07GmJNOD+y7/aFTlk/epEV8i7K9BQlAQVHytm7\r\ncZ3eejqBc7nVcODsd25+6jC9eRVoy1KZvuzzUtAiK0phbGKnJ37vN5+Qtd6y\r\njtBCdsxj0a0ufa3muY1fiV2hdEMjukLy7J6RK70K2RVFg2cj9YqNGhnSPyiF\r\nmT8Ekzz3cyQLfcvzWnLr0BfCUGh5VMqTqXu1e5L0NSnOytknv4YojNsNnUIb\r\nbnFUaMSC7q1M8wv16TgMUVzQhabwZwljD4eukhzxkxk0vgRx7jXU6xTWLpMm\r\nNWh+XDI1/0yOVHN8f3NYSZ1MqcoVnAoARO8=\r\n=7rmr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.0_1661970968072_0.423754858523989","host":"s3://npm-registry-packages"}},"19.11.1":{"name":"@preply/video","version":"19.11.1","author":"","license":"ISC","_id":"@preply/video@19.11.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"46b6729cc02b802d1c662864a0c07186a522f976","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.1.tgz","fileCount":978,"integrity":"sha512-4SSLWm56AQXErOkmTLafzA3p57GAhMPN74mBeGpvKTeL93SQU4NGYhBRcqPOuiy+NaxmcnKol++EpJuF7NjHmQ==","signatures":[{"sig":"MEUCICz7eiO0aNDX0urCXDWF7DDvUc66oUzXe654dEya4giNAiEAvgz+rL0pzjHI+ZaOhiMbJ1PLa9DPkXXp1qSQkwnws7s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21673995,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEE9UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGXA/+MuoPFZBnTrNTlO6gVK5rghWfjAsaAv+zLIlAlqaCeVOQVB3s\r\nU6CZRF7lToB9aTqtKbkqCz17dAAyjywbeXEdcyUxYIHFo30D6IIZQL+NbnSw\r\ndQlkVUTr29U0T/1e382zCjC3cBxIo834U1dkYczfJr7xdHUuDyb7s3+iTM6p\r\nqjSjPN3ywzx+8/doUfqXf5WbdNDKyzFfrY9A4nAxzzCa8KdopBeym572trS8\r\npNMdFojw4gef3DC4wYum7O7egbWMnbyC6sBbzXTCYQ5tV/yEeDc+v767wHnk\r\nzpnNVXH5J+28R0xCSoHRI2q4/uctToYvcJWklx0ga9kc8eGYg1EiDjxGe85e\r\nOXcFHTR+PrGnVS25/RWBk8QUJgd2LKJZlXCxfvxYeIv5aN64jaJGpiSLvzTC\r\nCtviOM4bYFrPjOHTNVr9pMtJ6tCDJ0IZtj6MQUUOAeuiDYHTm+OVnxj9yVpM\r\nhmZ+yJqEPr0l9ZUrw3dAFa5dBW+/jmnhcVpQ/eCK4XqLXkr7Qky4kkNUz6+n\r\nf9mHvCI4Lon2ngYkr9//mDjaN5uQLWRJT1qOJ/A3kfXHvY2qk2YSUKryMkb9\r\nLQsfXFLh55yD8J7m48TVsHm9a6RnPau/SPhMZN54Af1q1/VTtt8HmB2m8B3w\r\ntM+SFjUDqD0r9MNZWmj9ttwWSocikQZdsSQ=\r\n=m/e2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.1_1662013268360_0.32266409400812135","host":"s3://npm-registry-packages"}},"19.11.2":{"name":"@preply/video","version":"19.11.2","author":"","license":"ISC","_id":"@preply/video@19.11.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53439e2017e33b130a4b4c92e7450f3935bcaf32","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.2.tgz","fileCount":978,"integrity":"sha512-PEjTaKcc7deln5z3J9ShuGXiBcXSePb30quBNuGRcfRN3tPT0EUiqqqqvFSVXEiYJF5KaUFRr67ETTSMUdY9Hg==","signatures":[{"sig":"MEQCIH7iMvcUfxB2jmathf+1K8MsqJP3QGLst81vluXHe5OkAiB6HTdk3DWTm+vIgR6y6tfuBsylOq1iFwj32Oe3d5YTeQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21679146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEiH2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqg6g/+Ikf0yNwh3VX3hR50B3sv/AREwjAnn+wZBo1jHO08RmiRwXBf\r\n+ruiZqlTdxiCSTnFLIqWof3MH7EOyJyL12JDUfHaT1SqXW9xz9uRqrubQuEO\r\nfIrB2xTb3wkQTAyY0J7PMcqumNfLl/ikOCQUJ/j+ytT8dvT71IygbZG6ecYH\r\n6A4ocLY6ycReGh0CZq45YqKL8CkAGgIQuKyuWd+AqcwEYOxVrE95x+QdtV/X\r\nur9rNsFbWCV0zYM5K7bZK7lekYER+hwwPqC53N5YulB82TG3Ju1ANJrfVLDJ\r\nX9McFNggrSwSgeAY7WaVerNOw+uuhyuiEA6iQIufOKN5dt4aXfAoOvct10Ai\r\n7bve1ysOZzC0EM5Z3jYoOsBDHd6siutWxbHzTEDdhIVub7s+8zfhC2PXrOMp\r\nfTcNVrsLilLaA7bMp+QusZtWcJh4ebaQCaJpIi4yy2tZzZj0rAX08fRKUbvl\r\nYKsYTmEM55JA0ZBeIC+uFF/7fZkbhkFVQSACKdkMbuYtKMO/7zTgec4STWB8\r\nNgdw/8eEG7z613Zn2oFParacXJ6HJ0+eWKQ35FDJhmFYFWlUC/LnbYFsk4Ss\r\nwaJr8kGQV7ZFeP7KKSZdbWQ7gyZIfI3NSCvk4KH8gFxZCUxu26G7Fth25VLY\r\n6x9Ug+Qlz2p9ALFGA9FJ+75s0knv+otRpQI=\r\n=nbVR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.2_1662132725783_0.21875112028051613","host":"s3://npm-registry-packages"}},"19.11.3":{"name":"@preply/video","version":"19.11.3","author":"","license":"ISC","_id":"@preply/video@19.11.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"15ec44ee1e22af593fe46dc5d268076f2149bed2","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.3.tgz","fileCount":978,"integrity":"sha512-uqkeYN9hUIxeplVjnnTluSA1XigSGp9ROF9QS3CAZAONwYnwz6q6gkXx9yTkkMohe7yYEG8p+ywF/w52wHWq4w==","signatures":[{"sig":"MEUCIFoWBNgmbC6V/ANt+5vOOlFEZcw8/wLt/OmHBvesorxxAiEA8x+3i9dDbsiuWSPtihE7KNq7hQC7MrqcRvH+CJq54CM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21681146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFcdSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/wA//S5faKgyFb6m6hjfN2cIbFdXCgDoqhWa1asV+G6YNGkxgRPFZ\r\nZZ6uXGyJWMMn75LCcgLDB+bgvRf3XH8DatniAqn6cYBydflioApaG8dw1Y6C\r\nDxhEZaVkG9Z+HUG19xN7sZroqZnfvx+MpHSpaGLJ/hPNDOq4clgnQT4eOukT\r\n9BiHri0P47rlTXYeP2gk1zuGO1M4zHqNf7yQMf8ywBYyEQQIk4OQSXIqvV/+\r\nSLeiUTcMJJqB7E5nKthl6Xgc9G23suubPBpPYaPPERTDKSHHQ78h5dIXtv3K\r\ndoTTO1TwXlqeKHtnSvpeN1v1t5BcSLJZs2OgjIyvPZTnsfF0VqaNvtkFSeuf\r\n3ZGaoqqfqnmPyAAKpG2lZ/iXJDZ9htO81xTiuzLqyWfibdTBZRCs3N+L7lvA\r\nggGAyEgifI153hSWtM7hPihjeyBJ+TT1USAMT1jqikTFq4wezy49fOgKZTtb\r\nw2qHMjbHuTfeUEU8Lye8ewdl40tArw7qgud3IW51hvE4o/+1V7OFEKG+bQk1\r\niV+v8nbFTmD/UjUHRdUJSaQrFG1OfKmt9/xANibn1l0AMLMt2ANQ7yEbz25o\r\nFSOQ9WQLM8+LePBVFz0qbzWll/tzkgmNZnHyzeDP+gI11YvD1xRSTkv2XY1M\r\n/a92L3NNTXJ3KDX1+woitGAecDDjjcRgR70=\r\n=NZMI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.3_1662371665627_0.9469923745248989","host":"s3://npm-registry-packages"}},"0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc":{"name":"@preply/video","version":"0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"109e898687479321e21a176a59d9f0e7f8c9713f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc.tgz","fileCount":980,"integrity":"sha512-87Nu7OZkAc+s7NNmWvAL69rxY7fN+jv5DPByvQ3+9g7upHQuBMARnbADFajRaDJ6MWz5lxw7qUJvYsykUFo48w==","signatures":[{"sig":"MEYCIQDW+zhFrGlAvjBcrcsxAemHgR1L8mmanAm2QdLUcg68aAIhANG5hLM4F/B1dRC+ptCPLmpZgJBFtOOwqYtELXvt8vsb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21726162,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFe3eACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMng//SWGAPzNyjRjXghlN3VwQq63S4GK8CsaFcBnx/kj+4pHuoRuR\r\ncSktv8Dc6rSoqrTGuUVN+wYv4SoW0z0rTqW71i8b+7NI2MPgRYU/QHAiUriu\r\nJ1GqAXJ4/OEc9uCjvXhsytCrBCR8RxEzD1guYXpoSLjW58bUCurlTEJtCT1U\r\nhEU6oKUh9p5rcc+ePMZxo4khdH1DBQYb499/Ka2uugH1vD3BtmYnEQc2J7Wu\r\n2uUDaKdf4qFp8aWPOTrq1+yEqbDDs5Icm7f98+Wcjw2RynPxfHR5pIvhyxU+\r\noGBPxsG4Jj5SVGCiZ5qq7FDYcHyi+nGLqw9eQBgiY301PHhvvZp5i2nhOWo8\r\n7FaWkGfSueCEXNpw4lVsFyAYmtEWlBD9YIpa83ROhIjq53M0xwM7rl7dTCD7\r\nlwP7Gfi4IxC0MnV2g7Kd8mT7scBp49Mz1w/u63e/tELxjh9l08DccY5YW7TY\r\nXrrMcbGqde7ay4fWifOW53MsIoNJqG1DG9weWkrpeRVJ2VdC65SIo3LhX0m6\r\nSWU464wSsIFiBeYiP8OyZq0T4Hw7r7UhCMeLWWOT3rHsuGn5Mg6oYLbYmS9k\r\nIEX+ik/A/yCs82eYn6XIQ0P69UWqiEql265bXMUhOhqA+K9UGTrxus5RsP9M\r\nTvejy4OiYI4QZf8BlEI3IE4Yr9NnHR1r3aA=\r\n=lK6S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc_1662381533966_0.5843986196108599","host":"s3://npm-registry-packages"}},"19.11.4":{"name":"@preply/video","version":"19.11.4","author":"","license":"ISC","_id":"@preply/video@19.11.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9739b7b13d83734cf8faac93112637cf98fe2447","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.4.tgz","fileCount":978,"integrity":"sha512-nL7GkDJ8HFtthZWjoQWoG87HByZt/YeyzCS8Vn2RiUFt0kZmSi/J1pkJHaOoGu90x3f71+jdttGPZnm17xJ8bg==","signatures":[{"sig":"MEUCIG/s0s+H9DtS73CwAzG7V0MJBITaWH+vclZz53IFd75+AiEAkOe0b31UOjR3AYcVGfjWgx6nw/Xblbizxf8k2EvG6wo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21681225,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFfRBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCIRAAgqFKDnL1Dq7xRLMfcL9uRccGAHczlX0scrdUnsjz2lj1ada8\r\nVIyLtaiat9oBmCVNkgH6itnDkiUX+MIxMlUlenqaj1k8nKqyWl9IPrA0iPqv\r\nJao1juK1G6zbxMbz9ZLvQY34H9Km7+o3jtMJoaR+I9yGKTWJ1e1aqAiU6iAO\r\nqO3JPgghHw90F2rXd0WXJ2KDDYj9mJFXfa7nnRzaFGkj4lzOhfeOlyjdb/13\r\nCUrFFzWOE0VFfZYSt9CvjnsBSPURJQj4z6gtmz+CbqLyStmfPo0pI6LTu4RX\r\n6mtOdc7JhLkrWlMFBqFQiSOcWv+3DvIf5pTsPaZodj/pOr1DUnp0xJqYhQ7U\r\n+ZXEensuThQ43VdBwRPuyE7AUBNgIcEH3UKX5l1e83glP84jNyJGoGYmoFqB\r\ngE5A4w4X78sbLGlCfHnqwED5mhKZ0ruzebhTVskHvGmLQ8v79/83u5t7resy\r\nBa7WxtNvVRk31knmtSbH1l7/BbBFM6PjIWBBlAd2ocwQtCnH2KCbTZbJH2FR\r\n+QusGbuhiPY/5faJHm8joBnptXuMjNYqN5Erbxb/0YLFtAm8OPDEhhF0CYH4\r\n8iKXtUZQpPNHYNl7+RWGEjtaXl27VPj0D5ev0ypin9L7ENcHwgFiA+AizvCn\r\nHrw929pqIfRnVI5txFrtAD09061fNWqZg3E=\r\n=xozA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.4_1662383169160_0.12200585168733813","host":"s3://npm-registry-packages"}},"0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf":{"name":"@preply/video","version":"0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bbd86ddbd4b60ccd4be21bdd3c12bf24cfe21c0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf.tgz","fileCount":966,"integrity":"sha512-yJkHYM+Ja+NLk68YxINr0ACH8QgtRIYnJBzUTBSJ+e3QsGPuhqlIQJZ6AnvdCV1HQwmpqb/e8AsREn7VzWjHRQ==","signatures":[{"sig":"MEQCIGh12kTYpkzM3FmTh7NWPWx7COP9W+N2Eu9Au584AhEvAiA5zOoZifwIyPcprVwx461aJ7Mu5sKlpAZBwhVvbAB1Dg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21473797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF7D8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDtA//Y9o4lYUCqd7WpAb6KbbJJQdE+v3ArQoUlBkdIn0cdEO77Oao\r\nNkefeFGWmOyeJiLsGNZ1mnb7dMn3fA2T1DCs55uzJauhIlyq3WFrwWKF9KBd\r\nIBUx0ti/2N4WuKGobQ50Jjqolv7hdivGZYO/Y4FVKKosI2pMfMD+KZMPckC1\r\nNl6k4jOAei54jFBmqnjqeLaVICE5Mrh8Jh/45frprxzXLMtCie2yD5ktZxkd\r\nuG/8cckqI4QiLNgJS0IH6Cj5CKIj+yRnYzcuaxmpsr+qGY2aIZccaBoDwEvP\r\njrpLhCawVgRtFDSDYI5rGW9HFMTqGbdGm6HOyw53Ast4Fn+XtbmF2WQGvDMX\r\nDzdkxoYuPHsRsvMHLFhnaf/gHITdzn3kFlYOC7SlNFlUitTHAMWiK43Cy0HH\r\nDfiWLULH6fTVkip/w453tVbkGGNttJqO1yTiL+HdYS+MZ3ueoNjWG700vbpn\r\nXYTRRPk+71vWqS+EPCnuOZz6uMDZku+R+2TvKbXTM9rCKOM96ltKM9tc+9Sb\r\n0De5x0mMWCwhApKIqWHgXdCWTr7z67U++f27LRpBRnalTrmm8crNouTsMjMa\r\nyXSeWmqCjcxFUmUceXSMUx/1GWF8uHbDPbodiLmSajuDNc2h3iT/GIyPwqAv\r\nwRtjcmVNPu1jouuiCJ3nnQTRKJcUub8fvug=\r\n=2r2v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.34.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.34.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.34.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.34.0","@preply/ds-web-core":"0.34.0","@preply/ds-web-root":"0.34.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf_1662497019774_0.29923067363900224","host":"s3://npm-registry-packages"}},"0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f":{"name":"@preply/video","version":"0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ed7701eceefcfc7a5b815baacca590d2d5619be9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f.tgz","fileCount":978,"integrity":"sha512-bPjGmJIpRSYvwKJ63oDtS1/lRUuRi+VdL6wiTl+oWm2Z+q2KC0h7H8VEGb8tlOtMF8aMbe2+f9Nxhntj/YLEvA==","signatures":[{"sig":"MEYCIQDlzi3gT+Fj11o7hgBZxn694kM4JDnZKTdCKvukebXp1wIhAJvZXXGymd4zp6XlrGYuv0zlD/rosWpl53HUQsDgbUTC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21684907,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF8IMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmobMxAAlzzvRPpkUqRkNcn+zh1QZxspfFHb9pv4IYAJOx4fwGOZH677\r\nLGg7e5K/uU8PWtq2AQFo8PM+uOYZdP9yjCr2+CD7ZLLyLTjb+MfHlOSa7At0\r\nqgWR3MBim/uECQ6rrwWrzlfV4N6O08MvsclwUNoInq4sNJxCrAY7vpGS36Ir\r\nGgC43HItmofDU/HodLc+0z98fJAA43i817HKPPvAzzBPgU1TXK9cuRTnZWYz\r\nL6wc/URK6GC4hEJSBCRJYmdDXx0ajMNUJ5U+TtlOEitUwPgzBcbFN+4nHEP5\r\n9UgqSgGOCU0qk8QNMlBbzHMlokuzqx/9GRo1+bhTfeMfNbMv0CO+anWaG0KB\r\nOM6CmkbFX/mmBYTlqYUiGzXnwsq+TYqRPCSaaFQbBZTslWE4LS12k/rDPbYx\r\nqvKfkJPn5iME1gt9vO9gLPaxnbxsk+xXJVJvTmAEBPrF10RdNr4ko/Rekv+0\r\njUJbudrxVzqY6amTJyMjJsfu386Yk8lRNMhvgnyXXN5ViGdTUtpMVWM6Kgpi\r\ncz0Fj3rMaAqYhPktol8wa+jZmS+w+uCq5NMgd49JVYMyh4I6wgIIssMxaiKE\r\nh4xm5+pLC/Zey6R/jeC0hIzCA1IfUSOc6iYHTB2WcYWViTYOQDl6uAiPB+9w\r\nURdPBjHIEA+LUpHlv2iHI2eLcQehXViyj2Y=\r\n=15/E\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f_1662501388485_0.36396620240244903","host":"s3://npm-registry-packages"}},"19.11.5":{"name":"@preply/video","version":"19.11.5","author":"","license":"ISC","_id":"@preply/video@19.11.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2662b63e32776b4e11de3e8fb4b406a10e25c496","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.5.tgz","fileCount":982,"integrity":"sha512-cYLxWmkD742hZLwFFN8wiqWPgMfArFm5VyLZhe6WldeF1wrdBO7UuqHc0MtrvwTr6vzOnIfUabLZFc+rZpUN1g==","signatures":[{"sig":"MEUCIQCOHnGaAg3v7z52iHp4GBNvy5AWmTuhazZFTTyj9U9isgIgWnj3AlFmDbukv85ZFjiIucRxm9a2t5DMEzgoNYFQYaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21735177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGEtjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrk0g/7BSkbGxbEuBlQjuxJjquz4aU5zbDs8BDXjiZk955SbIZJMGYj\r\n3vJeLDbPBdJosBeVwmZPzhA2004aSwpti22Q9nqtwtMmK5T4TpNNmOWc2fu5\r\nBDnvvSR69/mEzdzqhRUHtSGwZlBD7lbxLGdxgbI7jetTy8X9sCnfDHnod1c/\r\naQpCev9aKj7/HB2PKjdhFfQPfhDn5j4NX6sDN4u/Ls6DEppLang+dUbtPuLi\r\nbfH/Fa9GJpBwmfDifjkvF+4iNc66192KjJGmYrq+pBzAGF3wemYIOxkaEkpV\r\nI11JHX2xaMLElpfV0k/JyvMRPI44cAxDJUyKV2P3eJZD9yuWU8CbrpLYqIN+\r\ndMEyd3RWv1wtwL26ytewD1cXM0UrUKy9M3I3DOeI5oUUy/RTOKbJ8Uw5NBWq\r\ntjbqpzUy04KSnyT8pItzvyVckEEwqMNWYGKesHxsQiXxH5NV7lhP/m4rron7\r\n88RX3RPZsc4BcOQOEMy44s0Oy57xLoghwqvrFOZgtVawcTEXGPHv1XNRvicI\r\nff6c91VXyoYCJesNl+uQdxHF94xbPSSdNsHZKLtJ5yuoCTKmm/eppKElJgZx\r\noVja6NCeDT8rQxb2CHbqdt6+scsWPIcW9jQb3lXwz9gTn5no9ICHG2C1PBpA\r\nyrghczKihWiZvpsHJBVk4tMbL+aU82B8+s8=\r\n=g7KT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.40.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.40.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.40.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.40.1","@preply/ds-web-core":"0.40.1","@preply/ds-web-root":"0.40.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.5_1662536547491_0.2794429646379064","host":"s3://npm-registry-packages"}},"0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48":{"name":"@preply/video","version":"0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a1fed624ff5565af5dd4826b6ee9c24bd8a07465","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48.tgz","fileCount":982,"integrity":"sha512-r4OQZjHk48ONz3GJAZ+irOpRPTMvuQGJmnt9ZGeXMFyYSMU6q64uEB4+385iEsosrP2JrdbMtUo9yKhQE7CeQQ==","signatures":[{"sig":"MEUCIQCdBtxo/pPb1XpIiRJaR57BsHGpjkI+VFxtefqCRL5MUgIgI1ex6gs8Hz+NCTj06DO1/RaU6O7XgQlFUtOLd6kXfdk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21737081,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGIJvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/Ew/9H0hJ0bJDBqcf2ilWL6Ck+cMCpixuANjG+kPf+Q7qYfYV3ooV\r\ndFNXt7q2k1PQVjD/CPZjjhjbemuA3ITwoooBqvJeStXJYNHFmXGcnIZlvP0S\r\nk07ZLnUoIoxHPOm7RiJnXQz7HN+nNFZ3cEZBoNx1dyzEWkr6ceuDPY+LPlnu\r\nMen46gYg2qE2M15YQ7qjR8tk4W0OFknkKkzfkAlIILzK6VPm25ZgwtViFWGe\r\nbbUcxNPcOc7TUW1rNHtAhkZ49WST8FFgPH2xY1PB5LTu+Wx+RV5GoVSS3UfQ\r\nnBooU2oXoJ24EfE8eu412f0FnX9FFHEzVNIxEiwrksuGArALv9Tq8LcEmpzg\r\ny05NngB2+PrmDjoEOrMBeiylONZJJU5J4AMv1zYEwPMS6vRWZKX0qCDn9RFC\r\nQ36BQcLQTMjRCaQwGbz9i5541SOt+bujTm1ljkfJLSiYMozMVH2vgoNXXz+L\r\nYR+5j79bvt6E1wljSHTv9d+sfZQ6F21hICobH/ypOmkCMQh+3wN7kTS92D/5\r\n3GOgBJlmtOB+U+IBP+bca/RfCnKjQ4wxiP7Ol3AlQpTPKpcqlGS2VIiTeNOI\r\n2c1ffQHfHqQ181Hdj97nIffuWatBVG911SciQuQoxr3nTVfu6qkIu9ertJ4a\r\nauGhnCuTUztGzkZ1/lm9YXOjqNTc2P7IYG8=\r\n=7fU5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48_1662550638884_0.3981034796064562","host":"s3://npm-registry-packages"}},"19.11.6":{"name":"@preply/video","version":"19.11.6","author":"","license":"ISC","_id":"@preply/video@19.11.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71b6fcc5c927fd5ce9639a3e8343c6e11074a981","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.6.tgz","fileCount":982,"integrity":"sha512-QK4V5CDpQDE5VkP448lsytY/ueVmDP0EP5daEpZXLefLImTANGPUg3l83E9crUfJktdsi6UK464UvoIsNzN41A==","signatures":[{"sig":"MEUCIB3CyCxhysQZJnxEVfvvKfBUMuj6ZQVBNhNLUVUN9tvkAiEApBPrQfRydmQ1eBaw7jYWA2q+NPwmoX2Ry9v5JzYt2YI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21742766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGZakACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqo2A//XchZpsSx1Ok6MRU9owEueSUSE9laKo5FlwDaVZbJDkI7X846\r\nrZKmjQa9QBGVuTxLDDDujjmSluESJQGg4JSIi1mxqim2I0t0YD0B8Tt5zvLF\r\n1Gs6rw7B6HlmZhybJwEx/zhcqRoCqc3FQZ8bck9nO3FX3D4TNpWQxiMb9dzv\r\nIPmkc1A7hvMuAln0gxCt6Iqt0n4LCpoeDbenSir2ZZiexcRWH9WTRLS+wQUf\r\nUpoprG1S214tl4k/4UUJkDMwIV6/CC+Eh6q7KHqjnGqZ/Q5+MsMpiYncXt78\r\nsJo5Yx6nveuEPLf5368h77Qi7rps2HttCKcc4u1QF4fcUCGsfTUMW9g3plAr\r\ngzU5luPeTyQnpMWDqsjzb5NhkXqVeus4v6adv6kD/vaSDOpTnlrA5eAXjSQi\r\nlqbCMECuspkWewO56McyK/KFn5b6W0zOwXMvKlaMlkKuGBxjryt3dvctidZ7\r\nbm/GjLu/s+3E2xtnXi7TLv08XH3blVEtm4Ietfn6MJ49ikSDB8MRKPnbdpUo\r\nYxXrg0STcIQESiS9uoOyGIPmc6ODbeaoS16Cedur8n2Klbx96xJBHwKcPFEn\r\nFMdw3FGKQDLhmz0UHbQJWxZVwIOQUO8NME8kTIf5CwBz0GXkIX/huzbp8yWS\r\ncwvxb8fDa8Bk4QakoeWbDa5d6NzzjptlHbk=\r\n=lbem\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.6_1662621348340_0.9100823101080411","host":"s3://npm-registry-packages"}},"0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06":{"name":"@preply/video","version":"0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1b489e29a03b3c94166a9ff5b41af3f9402b7aa8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06.tgz","fileCount":984,"integrity":"sha512-EQZjFqI5bQCnD1kyWQMAoXUArY3o6UWMYrGsVmWfR10UMX4HO7a8GHUzhnak/B5b/9E+vRtCrOtvVH3GXCcQ9w==","signatures":[{"sig":"MEUCIQDSgRkzMDDQ1cHuJdbKbqXpS3e0loYZ+Wx4Tt57mimm7QIgPs/Q7axNuw/RWct6zTvuh1SLEIJItNas0cCvYtFyVhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21745774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGsnsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6ow/6AspxrRpXwlcBUS9jCLXo3ZVC9hMD8787m7Xa4ueVUCGlRIDl\r\nvYc7r4kqVZp7igiC4fSVmTL/5ceOohew5EjXqDQOaMt5ewplcyPN+QCnp9QG\r\n+6w9QhE2CbqofEVzkEEDrg8RO7zmiq0EtqmW14eMmlpGzPZ+bmfFlOpDoxoK\r\nSTeWZnSGiMjPV6upkGRQOEprCZOFcrNwaN4NM4mdyWKKDIk1TSHbujEOjRGE\r\nO3yUb0H09fZF/JNDn/haKs9+Ucdc0b/i/5czLUMnaJ1bW/RGA3GdI6AxsCrH\r\nPPxbSeh85QxP+4Aj4oo1kgcMvadcONwY8RMEYyfitBYZlBVhbX1wEhHPUxwJ\r\nBahqtVaonFzxqtDggPcVbwG8r7/HMGTCIP8+CUof62nHqup0IAh0YSeZS19Q\r\n8XCgu/2RgzgeR8Bp0CMypOZ9YtCX4VJihBIIf7nI8F+BDxUt/mtYanb3pRKO\r\ni0TM2+EDmRR0465HmkKQP4g6TgmYHA248ygVl94CZK93UhrXQeGkvR8eMhQL\r\njbI0Wld+TasncUZZ0A38fPsrc3o5ONvnSR9rsV4WrM14y8MpKoQyKTRey3oJ\r\nOumYA7JXxIhq+3MDO+5pGACsxYBhXIWEAvVDGiittdU4hCHDMFWld7xm+Z+E\r\nFGEcQJmQIRpdJZrpCN/F1kt4ucxrlOTYgEk=\r\n=0Eq2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06_1662700012543_0.18723009804491508","host":"s3://npm-registry-packages"}},"0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c":{"name":"@preply/video","version":"0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"517ad385f8c9f142f889c9661aef2d1dbc4d5262","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c.tgz","fileCount":984,"integrity":"sha512-fvuO24tBB3un4YeGET4q3VoF0nYVPIr34sastykNRyj7ND4T9kzNHHTrla2lBPCjDxs1eWTWvI5PKpqu/6lAjg==","signatures":[{"sig":"MEYCIQCeh30IbGL1dVlua+4E0MXe8dkYLo+NT1oEAk11OP5UDwIhAK0YqmVNWCmwH+3xsk2rnXJUKPtgvrOTZ1r2MYRMBuGg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21745774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGtFaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp5oQ//btiKQd4DdwjBumTY0U/MUKQhKjYQLpRiPiWy3VuBINWorNkq\r\nolXuklVDbhjSgBepOwRu55VAyXgJGM/ri5b/8FsQdv4LHswkBsSW0YZ0xzr2\r\n9XMZFvgkqFZE+jjpm6TcZbjlvnQ4Nt64YPF/90GA+zKdldQa9MG87oF2gLY7\r\nQWGNqh6WIvuXTiThAVU+H/oa/002H+47ysInud+cCUcX5JRSp/OAdegeeY5k\r\nQamMcagPA8++3BUNX+RVh2lik1+gFoQs/39WjgyL2V/RHf/33eT7/jyMs0H4\r\nlErW/SJMNDgN7n/i8Db0pVQXi0twLGwhFNwuDpdbFwCWIT/dsoh9WAf8HXoI\r\n+nzgnJpxHCsNaF65T4DD6YIO9+TD30OsKJZabuQyB4o4Z/vg5F0LrDwSRcDf\r\nsJl4DLP0ouhJSEoRKA0V0h9yMABFKFderL9fVcDWNZ8nc8kQMRY370p3RQ0J\r\nRJuUvTrVYY3yeILwFjtAsQQL5J8eFSYISHqer3BSi/hBQvJN/nCcFovPk4eO\r\nWWqtvh8Y0laNTPPfgMJrkdVphcwyYZPz6TNEBlVpTDbi+xGPzTPeO+rcCDjo\r\n7lEwgMmgMFl15dpgKofW6mgAkWq21JJQPvOT/w2BCf2jJ5LMTNo5ZD+PVnWq\r\nDNP1yDFy8bNssXAA5DPHG3Tx7ijgmaSN/ks=\r\n=xeuF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c_1662701913697_0.6763951396719157","host":"s3://npm-registry-packages"}},"19.11.7":{"name":"@preply/video","version":"19.11.7","author":"","license":"ISC","_id":"@preply/video@19.11.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fa282c61b4839396ab9e2c63e43a0100b9a60704","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.7.tgz","fileCount":984,"integrity":"sha512-x2pOvDDjJpJmroiH7RY2+KdC4+j2wOOu8yzvQmdOJK+uzaAxsUWjWbi5t+Bx+V7JcmFMQr3R77dLpGFGiRphag==","signatures":[{"sig":"MEYCIQDQl7ibGSoy7+YE4uXmtDxJZl545gPspCopZhdaIDTqGQIhAMTGyqgpkI3xuovVlQ4rR6rNlIAVQ5+2u02AExmPLFpn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21744569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGxw/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEtw//bhapwlCXAREEI3kK4aSegmVDlliAmj8P+biVUjC0NdiCP7Ge\r\nIZdia3RU6J7THDSA7ft4EKV9wqz5mvozFkzwGyyQ6B9NooWGD5T7NyqIvLLg\r\nTFI3clTmT8qEkh0IXYpMr0Nk+9rGjjINSEbEYj5NXbE8w57DG7sp7m/jAgZn\r\npjioeUzAR8R75owWgHtLSgCKkwwniATwOngzRHjC/BL6E9nB5FBZgdO82Pr/\r\nArqnlSlI9XKzsx1E9GRlQSJoEtWWFQJndHA2RSL1jkYjqzcm1QaucaCeYS7b\r\n9DuEMglpwbkmSBS6PgK1Ss8DFD6PrnCyEiT33ftY4IwiLDzy7aAZu2GPTCZD\r\nq7a1NPgG4ts3XW+004LxOkhEH7UblUyiQX8qikGYWkkTTJ/2n32Q6Zcow2L/\r\nviGxv48HP4oOS9a1sl6KS0mN3bOZeYK7lVAGk3AcKoyca303+RYrfgD5Wx6j\r\nwmloaUJ98fhs3Co3cygHm8cty+TJ7FabU0/50YgkNWUDdaqaKFKMfeF3MH+N\r\n22HC0NIolwhb4wQhB7u6UgOEt31oJYzT3XD1wyozkz5MlO553hVWTje8z7HE\r\nG5F/KimcL6s9K77IJlFNXtWl+cGAwsf1uGiJNgBqgPAvhs/JCqdoGavcoX/m\r\nvz5dOtfUiY2n5nYM/UHUAipsCwcUgPEy3Yg=\r\n=VloE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.7_1662721087216_0.18540942414872386","host":"s3://npm-registry-packages"}},"19.11.8":{"name":"@preply/video","version":"19.11.8","author":"","license":"ISC","_id":"@preply/video@19.11.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5393ed3b6b256b27c86a896bbefd48f5b3905bc1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.8.tgz","fileCount":984,"integrity":"sha512-pEWzTg0lchAUCeqs9rUYkQ5b9esfO3g3JswUA1/+auje4VsRakUdfJSmJ32b8x16XgiJ5UlH2VeF+X1Oy7zyQQ==","signatures":[{"sig":"MEUCIBpx1HQiGZhLIsqvhG3CTqYOYtoU+XhxmBJaeFBtoWUsAiEAipbgO9Tgsl5j3MKaqV2NOV+2du6jXRnSGKoSu4IHJiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21744605,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHtSLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJxA//TJ88RlZfYz/uzmBorrS4b6xgM+aYb963zlCxFJ0hDbUdkrAB\r\nEohpOrmHYQCOMeoDKWYOeddpPcx6+Vo3x2OGCNIvbJjxFvBDLntLPAsSdOr2\r\n5g6wm7y0SOA5KOTHmGfUV2wKQ6Xs35ksZQkc7p2DCS1by1BNP3pSyp+bLyPx\r\ns2yehyQ28pjPdEQiMIf6mxjdgsBdWpUkf0Qjb8i60n5Z6W8O/0U40WX468RF\r\nKPBNjRxWs/3FEw9xeMYiM1Sc/QFRyGMg/GCisnxWv917a8NTh8vd7Ip/Ag6o\r\ntiZTc8ng2SecjMo6SvjNkqT2HVgfWs8tZFhRwvHowJTH3eH57ZVSeFMpqIzE\r\nuEhJatbFeVWo4Ty7SJ3f/OwJ5L7/4GOFa1bkbWJLluoGkPfAcKDpzuVl97oA\r\n/KJt3GMMv9IgBH6ciQoldyZmCN0ygkbzT6WKEliIsjrZYtii3Dmkt/j2muoK\r\nj2MNMkxgHh+oOs/ED2nuNxt0tO6r8sSkaH+7Z/yj047rOt+3O3VPu0udRcoB\r\nJIeTtu6na38fVqflOCQrcAdEAWRyBmxUI6Y6U/P+cXTOfMWmLY4Vro1xeXBJ\r\nOgoDqh1FW59TALCEDYeH1doHetfSCMSduQ8XAeiBY+iJuiL3i5XL5RY9TRGN\r\nRUrrWxVZsyWe20klChhFdKqyS2PIexMg+V4=\r\n=HugW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.41.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.41.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.41.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.41.0","@preply/ds-web-core":"0.41.0","@preply/ds-web-root":"0.41.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.8_1662964874969_0.551206171878841","host":"s3://npm-registry-packages"}},"0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567":{"name":"@preply/video","version":"0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ba46d861dafca24b78048b5a8a73fd37af0268d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567.tgz","fileCount":984,"integrity":"sha512-CKo3A8OYMiYFdDCT5nk41IzrwuYi2ljM6hAUyzxc4fXLYxxVr+5GpabHn+svVL4Az137cDppWwOFVJxxvh8meA==","signatures":[{"sig":"MEUCIQCqG+Bl+pNDS3VIedb21Giv8svm4KBtUvOT4FuZn8MMYAIgeFLghUlDLH7E1Ox+sIyOodaDJuYSE8Eas19Yso8z8tg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21746813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjH2IEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVKBAAgQdDtwfDqpBe27nd0E9QGM+Vw2KMwyXNJpNuYHOuy9jPKMv0\r\nnnDkS39lgBCsdalmU26p0cK8O+Mk/8h6MG5+ZFUABSYMP1sS4mKT/q0qARiA\r\n8iNs+Wm/H3xw+0QdGaa+Ilre4OovI88ovD+aTPJaWTQSs3RnywKVqbzEr2+n\r\ngqvC9GsufyIV1Tv4rzzPCDptq2hgLJsU88tMmmIFn7lu6BqSwZpEfMllNAHY\r\nTjqJmpimA8fmaZD8wX19AafoDieNHsLh7B2EH8HkmOYzQCarJJImT+kq6gyU\r\n3PtIxnBpOzzmr+VzXR08uZqRUweQFP01AwztP3FbsnOYmzH0o0Bf0tSa3GE5\r\nN6VRaJ7PbA/03bNl8IjmkfwaJ3rn/OK3JxEvDMozUWoBueCugKKpvLfZjnxs\r\nqDK8gMZ+QsiIe7YF2zCVJdVmWq6fIvrr3k8Mg4Gk9CGtQJah6/Z97+XXhdzP\r\nwCndAkzBl2Va/vTDqzqyjU4ESm4N2cNIsJOIosRxBNluIVEpsKQGs+wig1iH\r\ntv8Is/kYVtjOxbWqH+fFq6fLV6u8lS4i6TBoSTFzDL7wFt3IojzpTGR73j7Q\r\n3l8k3GFZgz36XE8s5mPr9R7N3BDqQY4NfV0ECkUeDgF8d8IUZTebouQNZ/cg\r\nVkg2lbhGVq67WkOu1sqt9U5g1qL3xBeAQEc=\r\n=NBtu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567_1663001092076_0.8858726084629254","host":"s3://npm-registry-packages"}},"0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb":{"name":"@preply/video","version":"0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4e4eefae95e27050be54309bf2c56d184b5c59be","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb.tgz","fileCount":984,"integrity":"sha512-Lk5byfblheTwT43YlGApLNJoQvHmS+UUGsIxq5cPaRfPDGDsWX/obB7jtRwyg2kzdzqATdpGWxODeoke2D4XiQ==","signatures":[{"sig":"MEUCIQCJ9dmCiH3nmKVnMaKRnpPvmnNrnAU51wL+DCeuJHwU3AIgSXWFbXGpIHV4jrFxr+Lgcber/nVjhAeYHvzYTCAe0fE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21746813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIEKDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3FQ/+IKauX8m5E5J1B8GzFa72UvvWFzuJV/E3n0ek8oDPGxCfDJLi\r\nbtcG12Gvvvmcnb7KTvCTpYQRp3ttwpmIyr+LmVzH7L0z0L+gTZJksI7P4wvR\r\nUovq69nyecRVLbtv9k+BA8clpQsBS1wcSU0hwJbRukt17/cQMx1lxsIUt39X\r\n37Rvowfb4l5OW3LuLmRJUMqKDJPNb3x0baFDa8QQ58k3tHswXhjp6xxhJ/Ee\r\nlrqSFA5R2IYqoWqzMeTZTjnVyS/mhJEqvx9XXf+SnvK2aZjN+pb8wQJ5/6Mb\r\nAjpqz12WDKs7xngcb9ZGbESkPJB6rfUHGU7QHqnZ3/Vy/1gQDMmFTiaa7iaY\r\ngMWY2IcjyJDyiAqzQad8UEYXif78c7I6K0AWiaMTX9M48kyYiPBoQsiq4qt1\r\nxBaaxtQ3n+Jr7uVwWmbgAANAiQnk9iQ7pv6AQ6bdYx0DgUnFrtPgw9Mqzw2b\r\nGqJ/b3i5K+lgxuXX5y9g2eaRtHzEZ079aPgWdwS+a/poKIXkJTU99qsBommW\r\nJIlNb5CbmigHRbsPwU5GaIPgn6dmitnD7TAOWWhOZL9SKSdJsX6UOdnEGk9M\r\nYQJGXX4c+PPdpG7+YmseZy5g1LOgQqGsxPMT5/tTxfLgiETIhD0NrZpZ6Z2m\r\nz7tlnbUZO9PTxwuJ1uNGB45xsOoe1D1nh/E=\r\n=NcVx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb_1663058563611_0.9236383637139447","host":"s3://npm-registry-packages"}},"0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd":{"name":"@preply/video","version":"0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c16bfd750afbab6d33379d486d018c8f872f2d7f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd.tgz","fileCount":984,"integrity":"sha512-FyGuvEfeBhHB2/iPpAzx7eZyKn8nymO/mgOo2tWuc4j2kO2FPpNmoPst/J7Egxj+uI9+NSgNvBr9rHuGEztquA==","signatures":[{"sig":"MEQCIEO7CwGg8RhlF+q09y0YSlaqEKplQy0yAK0DjY2WbYB2AiACjReSMXCu+StbZ0/VH6bVSZIW8Hs+EXck03m4QMYvqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21746914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIfFcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIQA//cEYFPLAQ1T55qJ5jaM3LGkZDC2cZc25MQJJX5/eG2xfv7Ag1\r\nw8E7xjulOaIntxnVKTNCoN4CYC1xs1iJgIL46fuHyeDQSu5faO3TlBT0BqU0\r\nHw2abZ0jDuANO+FTF9tpDMRgfYG2JebFVsB8tC3FhDV+2gNchgh/KEPn/h8/\r\ngAdrAM8nfl/sNVfk3VyeRpYJznsGlZgOpkEYcS8GX0GMWQTwXAm71nfuY7EI\r\niWKEGkMrSQGGUAYhgXLtr88dAXf5cEjasxIrJT8zPXbn/XHJZpA53zkP80R4\r\n7uN26v5J7Oj0z8RogsWN7/H0K4tGJbxiZFa5BDWzgXOX9y8MtipYMSWB/3Yl\r\n/of/o5OawAeey091kR3XrPcGJD2g16jNN8zHFu973bnmc3035VJRTms23zdt\r\nBPRElwRjDtzAGvxl4sMpCj6p6c6juwOTK+b97ZZrDmin4unvWlQ3499NtGpf\r\nnYRhNIq2oMOQdh2rbdyS1LlfHXlmITEcBbK2MJGcLohN6IqBXhUVI4APk56K\r\n68rFXJNXYQu+v8nocQEYPm0Ssr9MC/D4lc1v4tHVUb6JE3Mc7vNkK91YAziu\r\nQROnmCaJPgUhe19JI162zHENwDHdMnxmWaBpUqVjiTbykTGpnDucL9jGA4wI\r\nHcVM8CvJqkbypOTYcSLY9h2Z5le9RmsOhv0=\r\n=uHOf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd_1663168860220_0.4870183539616404","host":"s3://npm-registry-packages"}},"19.11.9":{"name":"@preply/video","version":"19.11.9","author":"","license":"ISC","_id":"@preply/video@19.11.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4e4f82ee36c0f2278b61a83b13704fa04735d9aa","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.11.9.tgz","fileCount":984,"integrity":"sha512-wlhbIPfXauoqnP/S4Qsb8xrMqZYgpeKeTdUsN0Vk9zZYL5nJS2+E57qGqjOBjV+2Rs7jHUN1rIghIxtVIJaOZg==","signatures":[{"sig":"MEQCIBswlgVDotMhVbxBssuCZUObwpBjkt4vYf8o8FqhkChlAiAmhtSLhv0mure63g4rmlgO2k+M9FpdwtjuXKxntQlqUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21750022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIwJFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp0qQ//RqNeYLdlDLgiKUMqQovlHQXgPZ3jPoz7y7XzDhMxVIPJDxhn\r\nT/Pj+AEJ/bF0IAipI8YgT00zLRu+CFFs62jHUUpVeVA5AwJogxyffQA1e6Rd\r\ntBsSYZNEKGpV243lc1/Tet2IrmTb+hhBr/CDFEOG5gK4TEif2b03fQpxDT5T\r\nmD+u2gjnOp6pQ0agEmDP8XQPEwswnVSux8WAiXYqFt7m/zHr5si1oXtzx7dj\r\nbuDrBEe+zuOSvba5bzt+E+Mu16+dDwkQDT94+EOu7q+E8zPQX5QvwtlJdoV9\r\nTpVBXlea3wOUV/eMBYi+D8jBH91wOE8LC4W2wchbHro4UZxaDGoB8psVqozl\r\nzxFlAQQkSH0XrfE9fhsdyvEIZofO6w1Yp8r9nlGxO/i3WcYcntSoijDDGI3K\r\nSMMU/QvxzCBy7bcHfjSbOb0rlGyy2OdRt9sJFrMad/J0DrDcl6t4NodZD+Ep\r\nBDlKGzCy0CiYhYkgjry1XGMYlanlVKVN39FKd4bvlmv0jrnnvQJRnrqXFZ3p\r\ncIV8fLW2LPD05jyup2WlnH+n8LvKtOiYTtLvZ1RL+FwC/9fVWWmo3onJsyyp\r\nQAS41x91vvtj3P1E8tjxLDd5df0/rYkSam5NAdTisiE8IUscO9RbFc9qv4zj\r\n153Ec7HzLzsXFPQ9sPhGH2hGbXsdCObrTc4=\r\n=jMiP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.11.9_1663238724965_0.2518029295985038","host":"s3://npm-registry-packages"}},"19.12.0":{"name":"@preply/video","version":"19.12.0","author":"","license":"ISC","_id":"@preply/video@19.12.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"960aa93a6f17b0e0c035d128600781e7f2ab7662","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.12.0.tgz","fileCount":986,"integrity":"sha512-6RZBOjXAa60jpHARGjbdPR2vdc26P1vfCZcQ9XrdEyTW4oK14rMLXi1upgfwd/Y1wqQiiUb8wES2/aPDRxnBpA==","signatures":[{"sig":"MEYCIQDcqmnefiUyviB6a9ZwwntGp21F1iqw4H2F3gc0j5Gr6AIhAKNVlUQ8eFrQDgpWjqD1OR4VexplUpjXz5JIJ0LVOy6e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21764068,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjJGutACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWRhAAmI2FUKszuzoU4ykAn9NGADfcEUoJxgfFNG8iP9A65Bs31Qoa\r\nN1Z7SBW0YwsdegTY5NmXD6knrXJFCDn1hQJ8L0R3e674vkZouvFIgB3TavJC\r\nM0xK6Sn245CtCYK55FbsTXKRbLp8pZbJf17sHyg8+mX0v9SavKVA76kEbRvY\r\naua0NV0kUX6ZBah+L9bo/w6PHU6RvU/c6JejME9/HzERfOprVQrSwqR25+hs\r\n02Ha1beOClUyog4rH6VXb0vvGZcK54SOvWPnVv5ZcVMHJ8yjLjbFiDiulM4o\r\ncFXaeTS1jRY2z+P0JB4zmDXUl5wQt6pg4TdiqADnF0hiaKlW9zrUn1beD6Nk\r\np8DqCzzIPc+k/jF8eAbJw7Zjd2tF/VPMNhQpTuXFghXlQvhi06NMtOHsp3Xe\r\nw0LOvLcqjUOKsuP2wlYBsAQnKdTPPSrVnTa4G/2+F7kBC1ZDYNT9DLL17mvR\r\n1k0reV/bzWz52a4HWrA6qiKNkG5fCK7TAcNk8yIzLPHSqQjwTQBoGRPiDrNS\r\nGreMer5v42bL57+jnvHjLsF0tVEZW1D88Qv1JgRFXLgzWdLGAeEJUA92CJYN\r\n7c41pE3xIAHLXYfu2X6k2QwlELDjsYMf4dTpqTy7FvxHyRqX3ybirbz5y9+M\r\nDEYpr8Ns2gU6KW9vCmiYBSlWVrTZlosu4ig=\r\n=VuW+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.12.0_1663331244534_0.11149271957280593","host":"s3://npm-registry-packages"}},"0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e":{"name":"@preply/video","version":"0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a6208a26d8433ab5418f8c99fd179513172b429","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e.tgz","fileCount":986,"integrity":"sha512-fmCmNsXbRyDeOKwZhM8M5A7Mp3PIFQreLst6ZJHF4vKnLpCzuPqFaW9TPVEJA89QcUtGPJtEYQDO9N8Nm6F0EA==","signatures":[{"sig":"MEUCIQD0yCC6KuapUdgWPfqDymb02CI70y5DuE1NrdrLsFfypQIgSxRNL3e16rs7LSpbBHPY2cTHzmqAUmATQnBnnl7k67w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21765929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKB1ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrENQ/+KXjhNVXyjNuB/Yn6Xx7Va4vh5c/kuoJQc7mrxe8SG/pcJvZ9\r\njA5A/wJCcowy9Sq0BABNWLz9XUa8hsS5AK7tVur4ORpoyAaejjNzbrFHaphg\r\nA2gz5kR2n7HFwnjMjWeDmFTMjBRV8z/rrwFcuKAHc1t0vTxysySg1+NFIdw3\r\nqw9Q+5QJHHV+P+GMliZsyyyIh5z9RXgDzxaRA1MeZzrAeXTKgtcOR6Pg8+Cs\r\npCYsX4KwsGy+iHGewWYzZNryL5FhfMetr92bplSqUO0/9oumdQ7nZu444BhV\r\n1hL6hZlowzpnvdcWJQqHKIA940ou7MKAa2m/7Y7N+FK9fr3SdMDGovGst16+\r\nXs+kd3M6fmzEypZdpO1g8jPZFd1qv2so05Mqkm357+5ZBnXWX+PS8AJaV+rD\r\nPYSc/jA0VMXShTd79rjCb7J0KbcY7QbOPMg3XVr52jJMlMoE6eABAJC68M05\r\nzMOcrCre/7zbnoVUFbfKPzrfXjg/7faFHHzmSoRCQW0Kt+/loAY842s33VLp\r\nD6XDbScINiB1WgJOkqeJHu4RhX/MGzcen6o+9olMoPEQ5gPLXcW9HtWPQsOs\r\nv+nhwtVTzk6iHP5UZxb83Yeoajfp4nNr2IynMXDWZn8NDCsVIbzrQCmc2u/m\r\n+1YKI8DMdG76xS0xVetMg9tpGon4IfpOvkI=\r\n=etWk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e_1663573337186_0.47644404785365824","host":"s3://npm-registry-packages"}},"19.12.1":{"name":"@preply/video","version":"19.12.1","author":"","license":"ISC","_id":"@preply/video@19.12.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82c05652deaa0a02c65fd31cc247e9d0f3e176a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.12.1.tgz","fileCount":986,"integrity":"sha512-tkMUGwxD5vYjo/VOlnZk40hR3dj/5rifUfRkW+62bQuZ+7nQGpHfbOh9h76+194hqeU6DfQfVCWAPlJTER7/0A==","signatures":[{"sig":"MEQCIFL7gnuFyDfYEPI4waTS+VULbKBg2PVqBTIQU02WMlSoAiACCemcjdPYTU412hOuAW+Yr+zegUcZdC/ITrjJXMhU3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21764025,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKC7LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKDQ/9E0CBJ5+Sl3MC4XYtbX4OL9umjHPa80uRAuyvebQx7TCZrmmE\r\nmW0Wrr81k8UrxAOlmmOOd/1MdT1zIcOn4DtBRH7fP3AGNBi0r71hg/H7H2LO\r\nQOMnsJUbsefZVzBCZ20lJUsdxXOm9ejzHZRct00CZRNeeyvjmqUxyzNGE097\r\nXZxosycur6O5RjeDfTdyOPl4G+EKa9YreaxU3E7ZAikJUkyTN4lCN44rZWo3\r\nUBDeod8ZdU3CsOvTtvf6SARjIqRoFfSppDqriL/ykWbc7T1NEStmrf9wDT0a\r\noFdaTEviFG3MZuUEkRdOrPpi5XEKjNv80qUz1rpjkHRtGoLkRo1PHSl5uVUW\r\npGafams/+sqUbp/06h3LTI/0f7DZ6P6n9eGS9TmHm+LQ+dHw/dnJwY9FfArz\r\nUzMWRUI4v481pIs/7eKmuvkhfoehsA+GolwRFCKi6dPTZtFqwY8enq6/Zwwr\r\nhnC1O1oEO/b90T2uj+4gH5F1tNy7IL/jpNEdPo9CaYgIHzs0a2auBoZMqL9l\r\nZ9u/mkx+U86jzqp47jkEWwYXK9TkA36+XaFSx03sFCBXqm+DLXW6NjqS7lyp\r\nif9W2zFx1RV4e9CbR0kv7Juwm/yQPPdl1/RxtXDyOI/JfGnvLqzbq0FHg38v\r\nWcrAjSFcmELzIXGEqhYeX07Pcp3nwtjf2HI=\r\n=tZD4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.12.1_1663577802968_0.6412867303903331","host":"s3://npm-registry-packages"}},"19.12.2":{"name":"@preply/video","version":"19.12.2","author":"","license":"ISC","_id":"@preply/video@19.12.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7af1501a0da93da357754ad4539556dc74453417","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.12.2.tgz","fileCount":986,"integrity":"sha512-rx+nn4Y73awgmXr86pN4cV/1J036MUqYeCxoc2JDgpYY4fnSQcGK1OydoQHRFj+FGsbvDCbmolbsPlIefANOjA==","signatures":[{"sig":"MEQCIEZQJDwQJRNaKoRFErmpIjrEA7j89A9YxPvp3x9JKdFZAiAz1Rlbc2Xad6VUcReOJJvZ8Yv4QzKmLYIU/Np5IhLPQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21766681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKrz+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppDQ//VKmOYL0gXiY5Fa+dAy9QzUDtf1oqipoWeKuhaIxHfCWT8rOX\r\nElXyThwDDKpnyco1RdZkpTF47YOO8dbhi+0PBnKpYdfOd2nUYnyhL175t/Rs\r\n55oheI83uOe5yfpfNyqogZuPi5eKX6dRIEaLousFQempmYw48dZYJZVXeI+l\r\n9G7/fJuRWpirDXxtmRAYwirVXT5aLVESgxPhIGTq7d8FvsKMhCVtD2x9Gro8\r\nYUXNAdOXsP9avUgMlIIHq6P5gqDecghK45vfMGzzW1nJyGLQl5WYZnFgfTzq\r\n9CgERynh4NwkDDe2tK9FwdIXB+SgwRO1hWCz6Ga6Q6psQL41OpGH3G/3xxsT\r\nG9RW0fR6vCFyjhrkQoYdjZV5rDDX00CHuDEviwYaGr3ODSFELoHzR5WIIOJ2\r\nGbDUnK08zPYWOKq7IvAWMXABQrHyZfQ5xUMl9wB4Dte5DWR+sa7MTkyFBZlP\r\nHlZa6G4lyZWOiJ4ajR+1J4CPJNa5sXhwEd0ItEzoWKAnQqjk2dLUkzFRO1Fi\r\neXONK5wl8PdB1cZ/eEfOv/tt/qeLiX8EuuMwJthSCsTs48W9Y7Nk2fHN12n/\r\nOnmhkTC5IrGSnWzuIBoPdrCWw1/kD+rZLsygvEDqcirL7u/zThnYj4ib7yCz\r\npkabQ81OXVRAxXM+2YZcHI1PFZoUnqnpCcI=\r\n=W5wN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.12.2_1663745278410_0.23302130087680317","host":"s3://npm-registry-packages"}},"19.13.0":{"name":"@preply/video","version":"19.13.0","author":"","license":"ISC","_id":"@preply/video@19.13.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e5ef599eea90fd6ea8d90bc748b2988d9852fe90","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.13.0.tgz","fileCount":988,"integrity":"sha512-7g3r6OdWGgL+mvLTkSeUViWEXGDYiJQ2iRqqPR3qE381rrjFJupT8pgazYCZ2f8FFyjs35cdmZ5viE30P7LEGg==","signatures":[{"sig":"MEQCIAc79GNAl+ZoB1KZ63W0Sw+AVNcUb9j6aI1wa2379OXsAiA2Yhkuqmlint7on/I2CxNVtJ6nutHMCck9snCXybuKCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21842666,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKsffACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrmgg//cqMK4JpIGCwdRZ/f+bZ1jZmayf1izI1HUn6igul3kvsGu/lA\r\nWsf1jW6NkFkNCDlMir+AMSPCDd+1JV3NJvuaawt+GA6tVp+IXOBkZ/WyK0Fe\r\ntLCXknI8ZZfhtNWAlwKaX+vyXDCBao0N4nnNkJ4KQSrgynhYVMrgUYMyBRoa\r\nMKBMTxrEzXQONK0rhObdZL9pPmtM0HKsraxbyzIBaDZXhyLT7XLsiALDBw7l\r\nHUsjvXkXGKl/NGJuuxYJTSpoAo6ecXiFh4UdtodBFj+KVCeBBrPMiZfgi2Nj\r\nBTu7W9Cf/71eMXee0hOZQz2bSx7tGGYUgkKUvUXr18bH/CsRTxgGOJVuoTw0\r\nmuH/yLyb3O8u/jIj/4+Uo4LNSF/vR6+8oTOPuCaynelfsFGZj4plAT00P4Vz\r\n1IFFSBKjUDbNTnbM4RFLXcIJToMUTTwVnOwbLyyq1/sfzSmD/I1XbsQtkfiN\r\nAvPybVOsGsW+zjtOHX1VFsnA8wa9Q+i3t+lGmT7cCfYhLucPsAq//M5dWhpZ\r\nMvUnqi4NcwqKEGGNfIHgDngiiWXQFdB3XnhwYJEC1czSo0s4Wgty04AYCd21\r\noUKYaP/3ZncsfuFvz5v21cWkiM+ydJ0s3S6tmrDfMgO8NfGB88eQpk4cWpR4\r\nHHyjSC+nxWBm4OVtYXuvFkJYmqkEAaRS4Z0=\r\n=xNKa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.13.0_1663748063125_0.3644755193121816","host":"s3://npm-registry-packages"}},"0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461":{"name":"@preply/video","version":"0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e770e9a563de480868144ff5fa1b5bc553900b09","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461.tgz","fileCount":988,"integrity":"sha512-4hYIFSSDfyI2wTJI5Lm+3yaoOUwOilQuDmIXEMK3LoRNvhVcStkIXBjfqtEjNMAITADJEqvaI/n7cTqS+M4QQg==","signatures":[{"sig":"MEUCIQDNTMF1pHDDjxtE0bu1J92MiGlPZ56DGnelmf86KtrWgQIgENoTuJ3RkuHctDqB7oaoX7zKXHFm5wcp6kxu4UB6rk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21844570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKwynACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmot0w/+MJ7BJLEFnfhSqDTJ4acmibekZziPC5K4gokzj56COFklo1ID\r\nNkEBj2mNBNM5e+wsz/bqw2yfQY/NGoLqvECLy6/22rgIqnYQbIseSXA59YH1\r\nsky/4eigDm4PO6ZwQoPhUzoJljwzo516dmRfPmM3BwmvO3uugwXRQq8DQU2B\r\nbOlHLMQw23mxhEq0nH4rJ/4Uh4Urf1/l6w+FkAJp8ztxJf82cQG5TK/w24p/\r\niEVAFY68qgryyMRPJ6TFXolHJowTus5myWp8utyym/22YWBudP/rvXeIQb/G\r\nm1SRXktBIkeUOyyZrIGlrVXnWBSZD9XF84KI6tmnhxHWTh+L7ElX91M6zSue\r\nrhgnDYOJSuQsEFixpDXvqmLHeuePJgxtHODzBd3+q+um0+jQlJz1Z/Zx707V\r\nzEtYiiK9IZlNcfsVdyS31bb7AHC+PJGGCLWQM+OP0+sp078w9vfEgIcEyUul\r\nMA2LzFzgllQ+Nk3gpziw74kN8CPypoYB/higWvGWs/xKy2EBNlBI/1Rw8fS2\r\ni0PfSmshIjGJW3vQ/4w3VX8GSDnl4Yjg16NXvYE6IAso97o4+s9evTfurzPc\r\nYHb4VO2AZlYa05fgyjR4oq31xsJN/uPpiiRWZUTQwEdUDMRqF3dRWYMm6Ghk\r\nzBZXNlGOxX75KPeLzHWPIA1y24+FN20smqs=\r\n=C1Cw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461_1663765671491_0.8006021742427492","host":"s3://npm-registry-packages"}},"0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65":{"name":"@preply/video","version":"0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fd6079a0bca61b610fb70d5414556a093d192faa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65.tgz","fileCount":988,"integrity":"sha512-2CGs+bLb0RW2alFYR5Jm7YmZwg94sat6V6k1GU9MY2PjOuafKnnLGLIDPgLEDBcbYQCcXfWJaXdcv7zzwqfUBA==","signatures":[{"sig":"MEQCIAmpPVY8nYrVpoCN8HOGdzszjNtr0sZqBt74ee4ARNdOAiAswD9G/OAjQgpbNN78qLqTjP4kQzTfc8VoTjfIO/CUBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21844629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKyV2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbMg//VLKPZ/P/LkMydBFr6hN3uZ9/5lcRg3ZV5jhAbyYv4qUAcFPj\r\nKwq/eQvt5Yj46cigS35/cZcxvAGsYoO8d+/eVo32FTO68kLdmnKw8dn33Kg0\r\nEWxWG5E1tnFe2qezF4UqdrsoHMxpK3lSCK8+DlDldj8smab3FO34MsHKgx0e\r\nnow7oPPtMfWVRvdA6VdjLng/P9OYvpEJMDo1eixIwZPyLtbEV+0pe0bn8599\r\nAOLd8v/ejpbVvWtQfKM1vnUakNGxE0HuL+Zb2fKtzWQZGgDnbTdkH8RhlQBl\r\n/wmdMd1OEnvo3XJKGSk5SG12TRfQSBlBV78rYjnRs4QGJWztPVlCRb6FZZUN\r\nqTw9EYCfrOnJY0h/bbpmrkgB6ik+GBune/QGqK4PqIbFoWSLc8YQuLjENfTv\r\natwEZt/zBA7N8yEXB7VE/M0VlHWj0ERdwyvDxRGd5Q4ECY/HG5Wnr/TZgdiI\r\nm9btzomCbTZkvMjOXGmOgw9avVqaBRRztxL8CcnUrOjjhmO9eAF75G6JLy0P\r\nS+BirDOvSrh+5Kukprg/l8t41tH8IhiLSxDn6iCkwARSGy2rJp5iR6o3I+YK\r\n4bW5lcyFTx+riReXk/3a8XSusNaZNvJjocdLUulD2PC3t8BJNScSvuSgZhs7\r\niJas1CCsOyGZXcN1MkRQwqTIKhGNrtsbeNk=\r\n=zMYN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65_1663772022156_0.7661827569051081","host":"s3://npm-registry-packages"}},"0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff":{"name":"@preply/video","version":"0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e13d2c37de789f14a255134c67c2c6f8f48cd203","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff.tgz","fileCount":988,"integrity":"sha512-BuXHIaYWo3KBXwfuIRJk80trS1qED7VXz/qeX7AZHu6xHgHwa6JQ+YdsHvEfA9kYryVdSi6oJqu9/TtuHPF0jQ==","signatures":[{"sig":"MEUCIQDBchFd63vU6yPkjlTTkxVx6bP3FF4fEMAOUDJLN9GnTQIgclEZUFRQMS8lRSt3PjM490nZ7lR0xBUFugDNQgw9ui0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21844629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKz1NACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvpBAAnftyBWeFdit9ykZN0W+0Pp9YhAXbd6yNyoNEj0Y9+RTxdux3\r\nXkRyqz7imYvZP8/rMlTHF9HO2ZIrZrCR7JvURmRjx+G4/Fj/jWJ0X+zPiQRX\r\natqTxmPxDnJx6D0MnUHBbJUGDW3+o3IBVs14RUF+7hJWrGlV840ntPnlVk2i\r\nENSXx4K35osQyFQPCeVDO9CUkaZV6YoZ9ZiCpaWFzbFuYKzkBit29RSUFAuK\r\nHiAxz0WXaHiiyt46VEk9J6MIg1xToO7oZkCrYhpdL0OX45wL9WaP0S1/dojt\r\nK9xbiTNEl/KPWxGqCk7OzvKIehdVEHV7VueFTL22zp/uurf79BeFWRiTVBQ9\r\nDNJZOzdltVj5RYdevwoTiUc5s92NLuks3UyIiCiNQuPWUYOwa1JzawGjIXQj\r\nsBJznv2hKNMNeF0/GG4eXT2IavqyIGckvJJTCrvU6AUu3Kql6zp+oNRliMqS\r\nP7N/kOD/FpiF2RUg47/1fdiqmQIc9y5jn7aFKFtTugO0NC7zeRJPeg+wV4TK\r\nsePxtx1dwqTm0HfYl8KO1pKiRTGpiYD+pA50TTM37wGTkS9TONJaCes5QvUK\r\n/VSwW3RPAXPVepe3kOqg8qU7sng1cGg61oejFfwZQsz8Pj1Pu2mNfyOGGWsm\r\nElbvfmusBTiOtt3ZJUej7Bg4oSoE2htqxmY=\r\n=UacG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff_1663778125290_0.9993705857230499","host":"s3://npm-registry-packages"}},"0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f":{"name":"@preply/video","version":"0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d1edaedbf86249589a02203a817bd86361b4bb83","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f.tgz","fileCount":988,"integrity":"sha512-uK6G8LjU4Ktf3FyBTFHopBwnwgejkdxA+/1vehXjzGOHNImbti2+Np+yJuMP+iWDJA5h9kuhD5099fVgvwx+ow==","signatures":[{"sig":"MEUCIQDNWVStm9uxBbjMmtiQ1JQUbBYqhZwfnpuDuNyyWaQgBwIgRDhH+trIGyK/kN1t94i0diA1DeD7f7BCWgnaSBsnzrg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21844629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLBbiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVCw/8Df2EuPwld23BHpatEiDB2d4zD/chUaF8BryPqqkWfe/AGcmK\r\nwuQFtCLeUTJeND49fWq85FyFKI6JWFfOHac+Mw6PRF9Pv0WyuIg68nbc1sAr\r\nkU/MM+h1X5I5mk6TtnpD0D9fn13HQ7kBGb7ZHk/C1nWUNEb4O5HzoReKSo4j\r\n38DwPEHIwcSZRQn2R2ilqnp5KKEAd4HGbselWlqtd/pAbetytAz1TK2qQRdR\r\nrw9G7L+LB6ox7aPqsFyUfCZbDN0+KSf/z4w1uM7UPjpIzR1jFlACNTmDzbJ1\r\nMcA9XKgw/FinStf25024Bm1dX7Z4OX7v6USfQ5NoOFk9/R+MakNClp8ZcSgr\r\nYzbHS2W6lskX67zllmwNF1P3YZTw0To6xiMCIqu4Uo1islHditb7PgveaNZq\r\nOlzawEXOPPVqHtrt7qC2xF673Btf1oXTucMXMldoOG3wO7IXrIh/XMWMBDLJ\r\nyU09Ndrv6FdUXs6d4TmzWVMWcONX60XnWFn8EHJsc/PNOkahd60JOPpeRE5o\r\njBjwgbOdT19aEne86uYV6Aajy9MK3C0oFqJMK/kGvnMee0N0BuoE2GlHOF9n\r\n7JJbHEafaF1Ar8XlHWs5tfkcKlchabPCLDVegWuE56wuaudp2qrflDK8neBQ\r\nQ7T3YwlQOEGdO81/bfPL58VuOzY/mBqyO+g=\r\n=eAlJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f_1663833826185_0.3113439102322424","host":"s3://npm-registry-packages"}},"19.13.1":{"name":"@preply/video","version":"19.13.1","author":"","license":"ISC","_id":"@preply/video@19.13.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a13305e08d3af39f5e745c308e2cc47f19e8816","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.13.1.tgz","fileCount":988,"integrity":"sha512-aVqIXtWzTlqxrlPARiBx6xBaRE7mp8eSWIYr5eWUKd1lwpIf76YmSXvTx211oeGg1SKIEW3DvUqc044LCf5cYg==","signatures":[{"sig":"MEUCIQCMWGuOsBy9U2LFgm7YCSrZ5CLdDwFDPzbjHEPfFzTP9gIgJWc962NSAdlpfhUuITxitchma0qXPHCM8l18cseokJU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21862555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLH/fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjWg/+PgeG/7bh5074XH9MN9KQ/D6yWGN/bgZMopQy0Oz7mn+Hzg7J\r\n/TLjHHWNALiC4bB+5/TYzH/2LD5oJac8TeC8l3v7bkcI+5TvRvgR/9Y5cBI4\r\nn1WjXMhwcae7dL5jDFxumkvwe5mcw5ezN+G4dlN+88+asRKAYesBMZrljLdE\r\neQ0qSuqEbdTDWUdk0HX6niA80vEgW+67KFCjfSxXv5kbOB8XIstWdCpHWRAC\r\n9ci1H8Eie6nspf2R8qAr3miEBpaHbqYdQM1gZZ65gUvWPYbKA8QbJ4z4P8gr\r\nAH6u1CMpwoOyOqafmNDXiQuXDJ9LQyT5ao8n51Zc+ntoOVVZGNrso4cCR4go\r\noTTLbVg93WY/yNmzZ7wtbuIZ+xGPfpOBbjdY2iBKXJiwl8FiIZroZsLnNnTg\r\nGd+myCUoamnLHpZalbTy2ImZ8/eM3xdi9ZPEAAW8J/OdYXf4T6fNXrvZgA0h\r\n6xNueAskg8XjJqjEZn30iJw2h5XjIAdRMCGrr2rhJ3hvCZvQefmo3gQR/UQL\r\nvU0VsE3digOSE39OA5aAOppsCsysrqCR7qOBR4V9xCxZoNbUihbLmGLK2l7x\r\nANMxFQX8cbb+yfbbTncAE9jENn3eLotBek7cEvG0KTxGUI3n9M5W6MN/JNVf\r\nCZ2JvAxz16eLpTbGvfAAu1XWbEwAOBxanBw=\r\n=lnAd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.13.1_1663860702868_0.3943875385676816","host":"s3://npm-registry-packages"}},"0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58":{"name":"@preply/video","version":"0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5f53dc9591d5e0d4b5784fb6a5285c1768708772","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58.tgz","fileCount":988,"integrity":"sha512-LOsgxADpPsx/mLjBGwMS4XG5MjTX8eWr9O9GbqH0FJ3vn9wPvBasRT4Vm4M04a02I6P2Hdr1/8aMnTnyhP+CKA==","signatures":[{"sig":"MEQCIGHRhw3ZUvsMikfOyJPghITDXlP+J1y/EpQEFet2rw6cAiAqDXdxxiIR9Msc05Iw7NcIjXtU/noQvmpTQv1tjqWgUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21844629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLIHMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrr3xAAin2dtdYHC7PT/zpee6ky0gmc6iPWtXpCOCB24ky9TMs+eeOi\r\nnRODwIulh0F51BzLpwwlPS9yXrZK4SAhVLLuiGKErvNfAjOiRsxRl2ksbyeS\r\nPrqyvKsrMoFgD0ISZH683d1MmGMLVSRAS6swXpJtFHCaMFsKBUEhEOmGHl3O\r\nmEJ6HkW6g5Jh1O5s62A9bNki+BmlhCl+vbQaFz02IqKCfIiip1hBRC2tqiIr\r\nrM3p/DWOwTZN5/qyxLRUBSdB9bqHgBc/lNHj6A6jUaEWzNjLdE3wFvh6i3hK\r\nPQP2LN/ZZ9XBVtuZ1gWumuQYyzu7GQT8NBT3ntqFFKQj1gC5AsRX3BSCGY1g\r\n5rSGM9I9+u9jCmcghqHdJt9ViUba/R3MfGG1oHlHdvX5HPzOfucSDHN3NZLv\r\n22Fbk8orzEoY3jqQjUP4CpgktgHvFerUDqq7lMgXCDMaQvf99a6lG8ls7NFL\r\nQGD1wFoVg6/7RMVbsFqXcAOcpQV9ZSAR8CpaRH5uBH7Yuao/33yMFdtzCxfw\r\nOamgWnifJLtM96pWuFtRwATKohRxvGxKoo/PogoBbvnLenhOTvdOfyqn4gvj\r\nX7BKoJuEylpP8QLmERsN+XFusN6aiVo4y1/myyMC9TWPLTbo4GbpBiIjQevE\r\nmnNh0iqnN3aJ8JTY79JT8PxlBS6b0xfIHFw=\r\n=MGXQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58_1663861195784_0.25433269771573275","host":"s3://npm-registry-packages"}},"19.13.2":{"name":"@preply/video","version":"19.13.2","author":"","license":"ISC","_id":"@preply/video@19.13.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75017597ea698d5dd027f75b4a49b98a5372277f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.13.2.tgz","fileCount":988,"integrity":"sha512-W9pSFYYOnFtPiEszhWLx4e33AEHQ9OIUGjtLBgLb8stpydu9WAliVsklhlp9RaLpTbHCssgCQjPsTAb7vpGsxg==","signatures":[{"sig":"MEUCIQC7SXj0x2PnjKdo84SCSq1des/+oWn32tMyMXJA4Qd8owIgbswEsbhObfH99CppXY+QMwNQJMn6/gWYDZttcZ+KKjo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21862694,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLWmxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvTg/8CXfyIPHuxryuPxt/Ty3xiICrCzZX6JyNqLS9r8L1dsmXlqql\r\nIp97EgJQpdHa9T+WO0wfvW82GyTExLXenPBmrTo9Su2c4P5O0WsJPD70e/Ob\r\nCENctCEhqL2XBdQG0YJjmSg90pf7E/bhJQc/2wg4PjwzU7+Jq3peNlOkbgco\r\naL6g7rsAZyZj0q/TMUet1mKg92fK+TQmC0Wcq3u282cvrZogKFvb0sN8pQQG\r\no/D++BQil/i3uuD4cWjBIfwATaVERjxciJhDOxsPaaearDAuFE8VfNnXswcJ\r\nuQ0Er0P98VhSge2mLhUGmdVi1ot4j/PRiYmtZjrQF7s6FiswUkd3voXxXhwU\r\nr+72jGRKVOovziMnDACfn9qKghMKEjmuXLBA65pn2bpzWKYQ28hQXZZhGtv7\r\nsmjWrMj9xyaVhcse+/+W1dAOiKyAaPPDXYaTcyqi+ia6YMl6/Lgjdlkn4mIt\r\nyDfy0Oh9AzN8ztj4kmDlREPzl7eVNglgyT37EumL6PBpLOQwQCF+eCzlKoRU\r\noVolpS8spGJvw2HU1sfra2DutZcpBmG0XFKyzq0aPWLHSL9nadxIy1sjplYv\r\nxYTdE32AK6NRKmokuccchk08pQlY18xSq587fLx4xkW+FUgrbpyQ/KcGwKDY\r\nAmI3bRr3Pb5PM+D+yD+4TRBdHlUfncmMhsg=\r\n=9dok\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.13.2_1663920561563_0.9707783539394312","host":"s3://npm-registry-packages"}},"0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c":{"name":"@preply/video","version":"0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8c5021ef6c13f15b0a9d31defcac807f30f735dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c.tgz","fileCount":988,"integrity":"sha512-xPcy0ZK0J8pCm1MD7JcgaBKCJk7pO116vTgeZIUW6eWcrv0RyU1JRyCCfhTxm2d2DR1J93IJpMQBh3MJwyVB0w==","signatures":[{"sig":"MEUCIQDFkHrIGXc54kDFk782nkr2mRGCBwJOMxrfYmeXFQyjJwIgfolV8P3E+hb5V0R4jY6mq8FNQktoiN6yEDwyi64Vnug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMrC0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpX2Q/8DZu2LSw9mEsPDhjfKfwbA4CveYKCAHy3tkPn1xFkKEyjfaI5\r\nAtt3WV246rCa9fwYnieJYy6estG7dVC+BZubY12JGWsTkUiBgOzflfbocpkL\r\n5RU6zarX/hb+OY0FHKHuAcnb8ZejfxxawRE6R6l4mAqZwJVVBy297y6OEz6A\r\nEPBtlzyLlW+6IweM9ZFh+TcCqzqszZh/hWM6OVTsMIYA5mxSq3ifEA7UlVfn\r\ncja7Zn5rcLcMSFrZW4KFYeRHuZGrnx2ZfZWuu2+R1VYVNG2ONpsi0L/dSpqO\r\ntHvI0ptj+fuONRox6Aj9xfdCzb5N1Y83e45rGR543ed4P7HNYsg+GFKw8wcw\r\nZffkzM1fEP9pAeMgOa6m5GxEm5Ia+siYnYJWGBJQ46DAbPQdY3yeEALRIpAj\r\nJ3pD4p39AHFUqM0zw0SVUS8Vzr/UXx25OCL5qR2oySZ6fwu28DzxAz1iZwa5\r\nCapLAZd1ki9LxCQPUJw68arsHZNCtJ5ZKnE+TZUlb/hTgTJ5yKseOTNFGiSC\r\neqqB/gK+cP4HPI12cVcDsoAHyCxyj4fyudn7b5w7M5iHUVX/qgeoBt7WEqxb\r\nJzioAn5YTwIhG1drif8RPAubecIDzZBujttO+WJVAvhdV75lW14quFyiHZSz\r\nk/WoqjsynnEFCzKZCoggGZwlDHdZbA2Gxn8=\r\n=EQdO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c_1664266419897_0.6141742055212298","host":"s3://npm-registry-packages"}},"0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e":{"name":"@preply/video","version":"0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4aeec118e8327a5872c712d7ac50642a037847f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e.tgz","fileCount":988,"integrity":"sha512-3mNGCAJn3VtQFeG+V2PWqp/dyqsJFLG58C2TfE2HtvtfcS9feSRtXlMBmFPi19MpMv7mvtrDFhKqHwrE+vIwZQ==","signatures":[{"sig":"MEUCIG7A5dIcmFBmg8TInVFI1zTIlqpqRv28rUDDKTQv1X8lAiEAwpsnImguzFEPLxBukNS1tvWTqcw13UCg7j+ZtucrES8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMrg9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogFg//TWyr4Cj9Oq3ZiRCMAFBjx6k0tLCI7ITVNQLweDNqvTwgNWaj\r\nBvWYO3drqyhJAOSsoc3nAzdngwB1a57Pl+LPm+G9JO+ldJubEGs7Rg2qvQCO\r\nGcKtwr+718WL8vLXM0/sVtC9LvZMgkrvlHlRefqptJKlLoEc314mYoFRdKiv\r\n/gHWaFfrGwX/cMJDFF5u8Fp/dQ8GxyQX+J0fzN1O/TaOqNfiSTCEoebsqrfj\r\nQOQloH7okowzSW7M8TXChu8951CjKX/cYJ51Sg5lG6Vl2xqLnFduZQd0MRU8\r\nWBiXMF7iSq2nG+bmpK+8YCUwMC7C7lXvhIFE3Frjj5Kk4OHLQjUke+hG2SWH\r\n6pkYeDCvvFIow6/65t9GF0DmF0+g0ATAsq48nxJwhmIdJoZhZEeUddmsOlAo\r\nDjgY3tnos/1vsN0DB3Byz0QcRGCyXjJmbDnA60MhPaDf/2paLxu+f0e0vZu2\r\n2//wVjhtQaLrP8+7UMyxlb9ihb2otFGn9D4DP6HNCIHSvickuJt24swbsjBQ\r\nS9IlqhGarTqkUAOhfQfbhi+cjYwNraDUXN+ptbq/Z2pwHIgbtLgtlDM6oRvk\r\n3QqIDYpa9p+DEd1JuSzmWiYNLR9rJl0GBAd32HU6GWbtGWJwuiE8dkle5foI\r\n7pCI7AGxZgKy/SzTCUs2A5qVaZQ9jggcIGU=\r\n=wI/H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e_1664268348706_0.09798507660048017","host":"s3://npm-registry-packages"}},"0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e":{"name":"@preply/video","version":"0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ef003b1bd2d1f5d988dcdd37425586c589c19e77","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e.tgz","fileCount":988,"integrity":"sha512-mQIf1EDlHDVuDLO7V/fttt83oSds101V/NvN9BTLA4qg1jrGGjEDcfwl8AVgAdmiE/blqzxAPbrWaDg9ns+Dsw==","signatures":[{"sig":"MEUCICCFY3HdfpBWL3iSklQVES4xmA4Mg/fgR+GEmDKoRFCSAiEA2HpdSn4ZXxOwqb479Y/pKFeCDrgfvHO94kpffcLjHCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMsvPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqRRAAhN0cH+ZBX7VVYGMrEHQhLAdYzmHqrzCCLXwaOaeXVXEuuL37\r\n9h+wWZCImhbdCnByyi7p+geHe7KadZGquqN26xnevnwvPIMDfRvQCplxmgrm\r\nDuTKTBbMegNevRGwhHNN1c8qP/QPdP2Rz34545aTcnqAymGzTCXp+kG7Z5CS\r\nZHaeOsFtJoPDZYgcJKnjpsstDOVFZEV3P5wgnyJOCvH0O4cJbE9KMm5iOF2G\r\n+ZlIjpLPwJOGM68auZBjTyaOONKgNULC8gT7D5Ii9jHXM2da8pHcR2fhqMfI\r\nWK4gSUrNdwcAMydZhwbz+ovpuD5Za8JRsBVaR3oTAH1pDTB4zoCvMl8dgQPQ\r\nl9sUW083Ea/gUTguIVwqj1O1nAYI5h+k03gtqanIicwd1aePX1jtaq2HZK6a\r\nv7sQr48XiH0jnzJvbrIoowsxuELMTfVOM5ihFhBGuJzSk6SjS9n00HbeeYv2\r\nVUb4sWbW+If+f8bybAXbEny+TLfIgv3d7J/6sTBYnLiIcMv8562kN5sZiL1I\r\nKf7A3gL1q+eI1/meX0IzuTHD5X1hQKCYwkxB9iIBf3z8welfGvDKLf/5NwQ1\r\nJ03LYoExy/saKWjW2U3aJp110uvunV1c8RSzCc0eicK4hC1Jew0ziK43RLVJ\r\nKWf2cIjmGYGmcOJLIptK3xIoLodTPbf0IfY=\r\n=bn4+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e_1664273358777_0.32563045337348506","host":"s3://npm-registry-packages"}},"0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51":{"name":"@preply/video","version":"0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adfb61cab6baa544aa31bdeb949c1da631d1b530","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51.tgz","fileCount":988,"integrity":"sha512-MVFaWpMPIwk/tNSyIQxEB7asijFL8irlYolERUl59KA4i4JIZqyq6yYOwE2ZcHAm28lgwEsBPIeFoxsSGUrQSw==","signatures":[{"sig":"MEQCIAyz0VWGzvhl0/vMvVY3c7pUVv71JaxRGx7Px4qpV5KJAiA/4dvgwvEwFmc34c2nMRcwpjWzH/UXGLJqYVv/SFIJdQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMtVsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyQxAAkI0OMRISZ9MZZPEIMMpLkkcHyjMtL2uKe3PvmJAh4VQ0zFEC\r\n/yDNZ+ysyPyVS/RCOZl2DZooVopPxMKkNtWe/Jmd7x4YvlWlJ0tLlkCnywRJ\r\n44ts3eM0Hc189YK6HWXOgD/uwHZ6Rc9zROXBDMljPVwEIvTYV8oj8uitkqSh\r\nrrc+D6n4SuQgTkMQPCdv/aWn71yW6gv3UYq5lKU3FDYQZnG9iT5tsoz5syol\r\nM3hWuyrGYXVNgEukSJBT2KDEcQtRtYQgVCmm2uVStjQDHGeBp89b7U8IMkER\r\n3SOhwkogj4aH19/sDqE5r3x/zOv3ZDR9nKi3MMomZojJf0vasFRdzhy7zLFq\r\nEEFu7Hf3PG/JvcpNVZG8/5oSgmZA2WwKn+8jlYVXKl5Cjj2Q4W7jR4btK0j4\r\n71/xy8PJKHTz3FoK3mcj1dqS9O7FxM5lVAtp4zMaxvPSJpGLTVUOaWdMD5Hf\r\nf9qvqDF+Q2i9n+ca1vlvqdvbeOI94cNJje7ghkcA+d0EOyEZgIc6IlMn3LAP\r\nvjRu6nRYmOqy9/IiqF2/wOWyAvVgTz/nGZgbJ55ChDpFZ7+ElsJ+F8uG2YMS\r\nRXIGQRnZIJwdV22nhx4rLgAgNqrPhKLMI9NgeVPv6TWwlg2U92hGqqBzjIzQ\r\nks5Rbm1tNMBSuUXYcm92rkWkIH78FJX4ZHQ=\r\n=NWKY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51_1664275819967_0.08029745896119089","host":"s3://npm-registry-packages"}},"0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34":{"name":"@preply/video","version":"0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6bcea880f0bae49d78e64f45c56e3c9f1ec5e8f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34.tgz","fileCount":988,"integrity":"sha512-RwUzhKMN91LfhTs9Yu7niXo9VHIOXsYh/DofZUdkMxXseMzJk2LZ3VuKkZP6u7QSR3DbbKLFF/nKKj26YhJJcw==","signatures":[{"sig":"MEUCIQD3vy7aekp1AOUMzCbQMLr747xH3GLlZdNVZ5g+1UNLQAIgZ8YJxgiVjMvCiE2vQOMhW+XpFST69MHD4oWU//QMavE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864905,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMuetACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlUBAAmWqJfzyasBW+nb46lAAQ5kEw6K0n3dOHl7kJR3iIHpyQHa3O\r\nULMBqR+0mfn/oCOzs4OWzGNNBzpcCgPdPLh+QdTtUmPdKAnHFMbLsWUbCKcg\r\nZhN4NNAa004yi/v3GiXcGCmDGEJyljtz3VlyvZs1/0aNP4ipGdYwk8OMFMXv\r\nWz1G8f2xS60rwaO02IKluNfhvPtzLnNq77+05Op1o/qlkVuRle6wPHsXzN8o\r\nWJbEERvBHYqmpKRjpwGey4JWev7VjZc2ygQLupJVkDdJzZZusNkw7Ie6DszJ\r\ni9K/xqmuSLv4xGxz12L8OpXsyYGiPDAcX5AXp+G4bP02HOF9OpdglxdLJZ50\r\nlZsEAgjFvIPekKUOe3257IOSZMtMgYcfmiVtaktLm3XFH7vuPJenF7Ci4dlO\r\n+0OuYuC/YA5N7u40whlqN8TvdxnV7owlYi62J4hHInonT07Vh9MgMWErxTLF\r\nIhoRiDNk7JsNOD5jUG7P1d3EDVWLYwhuzYrE6/xYrRrpWSzIsNr5uAYNGRh+\r\nxZiYOWzcWzWX+Mw/xGNBqH2asPrJ6TWoea+k4CZ6J05h69uyhUamph4XyiZF\r\ncmjFiYLeCWa0cAuyRSUWZMCwfNhsHT4Huya1iEXfrQ7n6XVK4RdHdIVj0V7K\r\nj6SIS4ouAKGWzkOGi6k2GFtYE4Rngg33Qso=\r\n=IA/h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34_1664280493438_0.7565045245523572","host":"s3://npm-registry-packages"}},"0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300":{"name":"@preply/video","version":"0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"501173b8022fb87b3628bde9adac119c5bdb4b1b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300.tgz","fileCount":988,"integrity":"sha512-D3JQXKYAgON6ZEM1WIj0plr/L6FiSv2/yIFRWAHdqlTUYeVcPl8dAQWIjCyKohnV0zj00WbyBo1sVAXSydSk1A==","signatures":[{"sig":"MEUCIQDhyNQQGC0D8JBpByWj/tdXoLHlJhATuDrn056kEShvCgIgdSFLyndvMJRAPcwsSczsThi8R8dt2os+CZjTOLSZeMk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21863300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMurQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpf8RAAgbfpkbL9EDMXNryyhYKny0rprKqPsYgHF401zyyHC9gkbcWn\r\nuZuGNVkwxSwEqHnrQhk/xxDX8wYqxK/lpqZC9GkYIxSqZcGn0QPnUMB9z6wJ\r\nwCTlDyOgAp4/jet+CAvmsmcB8mwD3ToMd5T5oHagewwI+QobRRiblndNxyCH\r\nocEW6Vlt3lzqruQVkgzdpgHyLZwmy/CEGaE2B/RR1/PsMmm6rvj0RZxRalEk\r\neQbat6IpguRXnFX37Of700CrUiA5JJggmiGciRagsI4iuUW6agXIe4Q5OAWx\r\nX6yk5M6rTXn9Ls0qfq27nifslNBvQ2Qi728InP8lXF5VItFGJ1/0Fbx0iKwB\r\nYq/o1FpsH2G+qtwX/K/ZsuQH2JzWk2nfkSmmFC+U/gDDw9/efIz2apuNliAi\r\nj5cIt/WXIG0N7g8Xpq3CymZrZ+1PP/Up+2FL1s2VHLY9cdL9wppwZ82D5ruX\r\nw+btEKjYVOke+NIb1MZ/aKBsUA53mXy89zbMDQum3x0M9xFlxZikXW0kSx89\r\ngtItEyNnUMCKfvMxaI28D/gesSKifP6oehaWdqm4aON2ChfOz+Ze+ghNbee8\r\nSgJp0fzORmoxtOdGfghyLJHLid6TcWs5pQj0riIQRgMms6jbUxYTCzXeqg+v\r\nubFBPFSWxvkvmtyfPWKE8aSf0pLKmhIti5E=\r\n=fKZY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300_1664281296547_0.8489765422715614","host":"s3://npm-registry-packages"}},"19.14.0":{"name":"@preply/video","version":"19.14.0","author":"","license":"ISC","_id":"@preply/video@19.14.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0278e77621aa46100b0e88ff4314b38d15adc491","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.14.0.tgz","fileCount":988,"integrity":"sha512-iHa317sCIcT+yXvpV89f9PER7h8KNwlD3SjKwpJdojtZQNMd9MSvdyZN+UNeP4RZ+8d5jGCTatQbcTiTLOhmMA==","signatures":[{"sig":"MEUCIQDmUk/mKgdFsQiNxu1w4JG/eMQk7i9X20PWwCROmp43pAIgfYTL4kwNacKyA828UxCrlW/jbpH1xs0bXtUBPKktZIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21861396,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMvm9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmropg/9GJs7+IrcIAuDK3vIYGYGVJrXIdx2N0uGa41gVVYx6/ibnS3m\r\n3WABZnsJarvjbtsqZ5s/7OgIuxgBcTXCrY1A/qAfJaBQmvwLRfJ5cFcOBUoV\r\nvTrA8QC17j8KaEvRNIVGNrV0A/EPZLdbfQPveP4zQhCSZ+oBkDtkCPnN1IYe\r\nl9iYKcavnEaq9oeIqiueSxDJcC1p8Ane4LON9r+EzvANQI2VXtSXtIJByPFc\r\n8YDho7zwXwNAc21vb/2oogP5HTNYoyzWZ+Z00oBXHltGmo5ScpELbprRurmU\r\nVxzU9XhJRaXRGgBdsl53AF+T8PLWRnw3XWwXMim0euGQJkJwXCO++Irf0RQX\r\n3MXQvq9vRqVdoz1CV/wxdptN+42ZYl4OA7T0malbsAdXqPcsQVdb0ndkLSj/\r\ntp7AnZ8+WU4f9fZaYwZhnTrDi8MOwAiEP/ouKxMW9Cry14FU4efvS/Kegxvj\r\nsBCKZbglMIJoXBWFjsOpFhM3JLqhabOwHU2C66wAGdKS1DGdOXVnySXFNlAQ\r\nNJqcPr96YEZCPPXfWp4n3+bpyh1osqg80ev5Cu8NqVWj592QQsBTSf+jj3VF\r\n1eh0nSMfX8ly/lfJj6wcjWefX08r5vX3KuB4InZAG95P0jNGPA4Bpz626Jye\r\n2hkVTmtcn4OUeqEoXr69TefciGD7hrVz2u4=\r\n=bKD/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.14.0_1664285117369_0.9072889631955741","host":"s3://npm-registry-packages"}},"0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe":{"name":"@preply/video","version":"0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6425486451f08f439acfe573de6d1494694d6bab","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe.tgz","fileCount":988,"integrity":"sha512-tz8/UoIbY0z3w7+z0+wGSgegSE+S9NYXRdZivortqz7XkZz5ePVEsoJLgi8Y1hi0J9SgHXIGzGst/faYckCz+A==","signatures":[{"sig":"MEQCIB+pHQz/yTq1zj3ly3D681iTbQM9aewQwjd2516DJ4ZbAiBip52a4krVugSwyQXw9Sq56Zf3FkgW2p/dJpE9B82b7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21848110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjMv03ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUbA//bFShnzcls4Y9lPCoRMfa8poaWwDeqUHzxsviM4FqKhjvUDmc\r\niTyi0Yla3PxnCTKV5h77lmepQoPjib8tIAZlI9xCId/3ZZkimlyzq+1MYdkD\r\nW0xar1psGUtH2IMGYSok1oXJGbu7jSII/MjselD5A6kU/yxPjSe7bA3U98UP\r\nNpVPVxnfyAxHx5lIFoMMvOXhpNBAjJWB4vTJMpZLVuPePoQYq3vnSD4bkEL+\r\nAOIAFmyL8NJB36gBRng3rtCFnCV3QzBp5Lh2qcoYVAqMCbULGwKoHZjjXi4n\r\nUZUGLwjx8hc45jJ9ZzML1khjjSwxFHFswk/ogtFxn1hSxYd0LJ+dg4FcaXxm\r\nu3ZOqhl2h5G6PJbN3qnBRr7mt67O7vi64eHQd/x29CP0awiS3C7qrYk8ZNHY\r\nMl1pleF+BjEw0ClYt4pw9UDtAflg2HoAEP71daAztgyuKCt75ejGag4E670D\r\n7kirVN/O9dGLNwIzPqRov+4nrs6vA03F9R+vTn5VuXTA2sHeCdynw95oWx9B\r\nyWClVWbnlJWXSJfaliggcIg9tllxq9gplTokEpWJQ7hthl/qPnLYCQvhjG4Z\r\nVx7KgsvoM5/au5BbS8EkoMTi/ogGYlYV9BRk/JBa/ErJMmP+Oh7oLx+2KDZy\r\n/SU6KNpLMmFt9LnUW1r2Lwt6RqZ2l6lEnqM=\r\n=NQ4t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.19.7"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.42.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.42.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.42.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.42.0","@preply/ds-web-core":"0.42.0","@preply/ds-web-root":"0.42.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe_1664286006975_0.9510771971451069","host":"s3://npm-registry-packages"}},"0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d":{"name":"@preply/video","version":"0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9bbb52fdbfae3bbc038dfe75893cd52bb533e840","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d.tgz","fileCount":988,"integrity":"sha512-Mr4UAHbdtFiplNtlBy9y7KbL8ikl9l7Kx/Fk43eaUK3qh2ia9IwHNbXaSQZc9c89oRq+C0GRFf98XnUXEtx0LQ==","signatures":[{"sig":"MEUCIAXOGzdOzIK3ZelS8SZkOPvg7NLhYlWlvwFaGeZgpNLAAiEAuYe0cn7XepHYY+lWFPHhdweuscQKI1LLcR1XvA16gbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21863300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM1z1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUDw//Q+7rX+a39D/n75Zrfqr5b//QRK4dMLc/A0b4shi+7ELSKgic\r\n4qj6OKS4BGfCDm0ac71rYk2bafEWGYFIN3YyP6LkVaN0+bSWiBgrqwczxNnz\r\nQl/dLxUlC1+KN+T/qK9wg5TaJq7S46TVeJ9qp0nMH+9QrUtmaKXEumZ2Jd37\r\npsZUIGg3CP9ZPXGcHXjvY/0ejZnGcLEe58ZTB3NEpFsFaWK7NRxMp2WsoDsC\r\nEyIJjoOiK/pEzL0RaEtRnZEXPhEI4lRoJyY9U3EWkQ8Mo5l0hkCBvJhYi28/\r\nduApP/35qvV9LPaVW/1LKV+VkDGcT2LlzBh/DlGylkpW3xQDwej7fOJCMrbo\r\npgFC42qjl/y6upJrcdkq24WyWhs0VBat3tCO0mQrR23Okjqg5L2gyEtU7QGn\r\nVbUygRWOuZDX4FuyUL4wL8PHB2Ro70yjhsSdXSZLKXOpefced3kND48DJj3h\r\nutYuOlGx0PpGlojragWrkSH+l8PB9U83f8bvCc/hXtwCka+Yot6dy3C6sdOm\r\nz1h5OQwEtJhn61PCEESOTyoAzJiR0LNd9fiCyF7Mk/0bG1UpUwkscL4OqXjA\r\n06D0Rgm7vh1EOfSg8KaISTKwin5VTam+hkl4Podk/4s5W5fy+mB+lt+vu6ou\r\n5fnpHwSpF96LmZGksEQZdiK2D7N/hwXiT3w=\r\n=JfzA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d_1664310516791_0.6260563851530372","host":"s3://npm-registry-packages"}},"0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680":{"name":"@preply/video","version":"0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cc48de9b5e5a2958a02c0128cae894f53e2d99f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680.tgz","fileCount":988,"integrity":"sha512-6zLRI59mxq98U0E7AyEFcOmtTxdP+t7GhWIotrmkQb5P/LAW9mX43deeBjWpOY/lLute7yiZUiTDu5mNtK8dhg==","signatures":[{"sig":"MEYCIQDZ+FhOES8n2tZWwTuyeGqMy165ixlen/gdMy7VnPWJ8wIhAJB5PphLTpSPN+zrLOj0yqkElX+a3VYCDSTARmoLdJMv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNDa5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQ/w/9FPix1+upVjKRbW0o8TY5A/ESTWkWjHjEbzMnrGyzk/P7kxOo\r\nDZnN/BkOYjC2/oKNeVng6uRYlHCL/966Niw6jKxCmpwPEyWwuJh/3n9ykpsW\r\nkB9Ww/IZ+4WGnSSOxVC0OxMDeHFvj++yYsecQnCv0zHnZ35Bb89DuLWhfyTA\r\n1TPmbKF0hfZaxDBxkpfn0xnT628l/FCiipBXtgADWJUISq5HgvkEEopamC1/\r\n072y5AKyOEaAvqn20KztHwiFdOdtl6WOLEigbiT5jYxDgaYJj9KOUNU3hPni\r\nTqHD5o60Y/AEzixBrOBVt2zNvNIUinO7cKwmi7p2i8yQbgRe7lK/FJZFqYPZ\r\nKzYLkMqQdN53+YP6UsDLEGFNII3hI+BHIqmguJwrNr2nIgzQDJ0ifOyd7PbZ\r\nlsM0NENeFoi4k2Bb8oWhj27jahn6FaUFqTE2WzXBDtUOIEJWFDKiEUnp/fT4\r\nxSf8tEmY/KRKgguN/dKMEE99T93SLUPO9/lMpJLtYnpeXW5Tdtj+bJk0retH\r\nkxT5jk4lx2nuJ/hvmVlQ4p4QyMlPpkRCtE7fxlNOPtc5whF5XX8QLOuoWa8q\r\n3pj/ytGepOjj7bz2YI7oYQgxJGWn0+fEBSc1AWOrKeokKz8U8YFGWjT9rBK8\r\n+F3MRg6ghKC1+M3j4/iED6wfFZTL2Ue9DAM=\r\n=weOM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680_1664366265286_0.4072032154840284","host":"s3://npm-registry-packages"}},"0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48":{"name":"@preply/video","version":"0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f2ffab0a9d11284ef94de47c46d80c630aa6f0fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48.tgz","fileCount":992,"integrity":"sha512-iMEh03Lf3m8aXVGVfcB52BM5k47XPRhoqntR3a44m0OpVPJp2wKipcVbOpq5gWC7LkmAyz0bajScBz94M23M0A==","signatures":[{"sig":"MEUCIQCIVGTAYCbBESviI7F2RUtOZRL/Yyvau7VwqXUAH5+v0wIgaVExVZL7GnVd1LiJiCbYjTDHWlnWKQZsjRpucrwZGiY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21907120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNFOXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqh/w//WqolEMwBJgbsxQDCpHnCI2sMtfuIIDyqxzLqvT4EoU/08Zgs\r\nR7/x13uJBV07Tz3/LqgoVSf1rHujGf11etgCEvJYtu/B+haz68NteyGl9RwP\r\ny368M1OjaV641Tr8JIxcgsI/tVkrfzEg8fvT46NmO2nwa8fwbZ6NYkQgEngi\r\nmJ1arpWkYEP8rARigTIChyU1R2kYBELFXTXHpf5u8HFGY0ryjQ9EVX5I1BcH\r\nfmIjdKk8lFKUlTdHJyin+vCDPOVPdtLemc0CcXfklvd7jue1sg8csi+9Ngk7\r\nT9OhsYIwAwP9DNJE4lP+e3tbaqHnZCqmzDJJDVY+qia+N1Q4z6/N5nmcZPHx\r\nZagLlfSs0ICfdp2fTLOGLi4q0US+8idUF18qA4bJ+OpRXcqZWon3XvA4VudZ\r\nkPJv/uOhThNb/UDQmj5gB8NOA+imsWupZeluwECqko/860CjvcDls8sCCIpl\r\nzy7mEEjEBo/ZWpel22kBThpWa8ukg1zxwh/bdDFlVFRjAPiIy91ygATWzBWb\r\nJQJktf3yduHBvEz4lIu3VqLHbsOzG3ecSRk76KJOZ7IiTcd2o+nDJT/Wrv5Z\r\nr63lCgzlNMpwO0/LEh/cbHVX7GG3scyd71wb4uK/Ho08PqvZYDO8A3aYUbvm\r\n1zhX0/JKKjf2+2EkIaqBKiDOvqfw2HqZNjk=\r\n=+zBq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.0","@preply/ds-web-core":"0.43.0","@preply/ds-web-root":"0.43.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48_1664373654775_0.9093274945294072","host":"s3://npm-registry-packages"}},"0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb":{"name":"@preply/video","version":"0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"99209ba818f34cd9dce4da90c4165c49281e239e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb.tgz","fileCount":988,"integrity":"sha512-5JAdZEhImKw2SvYGugAHtdoRmdwpLdgMlDJxaF3ArLJYmums8WzTQ1Rj0aX8q28EODleWmiqth+oUDng2KcjWA==","signatures":[{"sig":"MEUCIQDeDk/URFlIfS0ygVMff+JA6ukKLvjFqEjCiRTx3SLE2QIgepJuqqXYYaq5cqdkJR0UtS24XFa7Jx5rS7N/JFBvomE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNFcRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoQ6w/8C7ZhqDFBv6gioMObrDrLFLOo7/NBELAKi6jawsn3fGOnj0uW\r\njsce/Z9a9L0tx6lvBNNeEbtSoYylzitoW0Y5ffvnvJq8Tu/bdjSKwksdzGbh\r\now2bt+R4oU3RFU23vkmE+TUZoX5a9Qb0ajBlPCugE/9Z8PVcJfV4j4kDfnmJ\r\n8x1igx7cGVqfIKn6mHtD2nEToIc3XdIkPc8F3SSGj4yPy4jRBLUmNWcqSLW3\r\nr7caHmCQtUS/eqhzleVWYqGw2qQ9A1fQGrciHgugRHR7FadxthBxMQhWlT+p\r\nLNAW3CdHad05KXYjhG9NIFr8wOUHS/bgpSQnphuba8JlBL6XCI01+quJ6eEG\r\nktl8rch6RiJHVWe+Tlm6VnRoj7W2Ua7/S6Ekbntd04+hsCO05k93i73B5lKS\r\nh6MjExeS/WSf+46diojpS9V7o7FHB5uMA06SJaeHhp/k953m5Gbh6Siq6SEP\r\nDBsP3en8s8hUutzD5QqihC4sYtQQTeEqY7iZL03LKzJaXSeRoQHzR+eBLFAo\r\nJ/MTSuaXB2D3EFMuMeqHbvcJosciOz+rhGwrSw+EZcwTFyjZ+2MjjQYxxsxD\r\ngmCQQZVAXq/BgFmtJgkjyYd60PgY0LLCV01VVosZlVMCoBRVHvRJUPAW3+Zd\r\nv3C9oF1lOe7IJewVTthIC1Ty6XVD96ZLILk=\r\n=Q0xQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.9.4","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb_1664374545529_0.8309760279070848","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75":{"name":"@preply/video","version":"0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"819409427771ef878c690fa1578ca30b92b075cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75.tgz","fileCount":988,"integrity":"sha512-3QUVRQoaYrYVjO3D6TH33asIy8Kf9x1qikDuy82hfRSXLFohMXCgOCetY1CIkdcbRCALGZ5uWK7MmumBvHpb7g==","signatures":[{"sig":"MEUCIBJGSVVk2aYQml4Fym1OdHMkgLPbSv44w657i6cWeGggAiEA51drALjOZYjFs5LRdkqnuhrmUCbCG3kRI8HaskyeDIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNTnBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprVw//WijiuzB0gHbFKjNCE27sL6W5e0PLWqGx6+UFnpX31zbAASGG\r\nKDtGiF/sCDv4xsE/lR/WbcaCNU+LDO9p4ps0hmhtXx7zwExo0rbc9gaJKCJu\r\nXeazI1e7PkrDiegr5gxHlFsyIxBUQ2XZ1QKOecREp5Bu0UcOdWY7emiwEN8s\r\nemkCtCrU8yJcc2Q3RmQY9xuA+nnF/BlS50JMAkYdrHyemGTe2IwFR4tKcHVq\r\ncwL/A72a35SvWKSZTWjWRtn/UQqtpaGHx1xlkhao+7dVGc2RQfYNndOlF7aH\r\nHX16RBuvGzBjKinxXEBTQyDncZ8QEqVGkYV73uTu2N3NEzvsFGDJVyOiVhIy\r\nCc9JKNtV4wDHSif7UJoDqBpEOMdPI+yZFK42tyYBHuAYdbgmXZCeQbUJxHy6\r\nrGKSjrKaErckGOpMFwcsDAIQhZW+/Emwv70Ase0NBPfoYIF+U6eNRrmQm0kX\r\nYj6AOX1zrYdm8Gj9zIJSQ9p+uh18ggtiBiExJgSwz4vODxZipqhSKQ53FE6K\r\nfGb4wskTYKpSioTEPWxXES2SG8jYHZ9jWuZ/+s6oSsG7G4Z86+ASNhRmYVOf\r\noBLy+TfOQCAIlx2LOUnpHugpuPOtFGqvQIXmERjVMxlhxL3e6K6ySSXTe0CM\r\ns1EZahtumOWrxoVKTJZUo4oEpB2VDSsl8Ws=\r\n=ktnu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.9.4","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75_1664432577257_0.4354873715269978","host":"s3://npm-registry-packages"}},"0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68":{"name":"@preply/video","version":"0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"197d1905ddf36c1e54b3dc48317573f53d1dbd61","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68.tgz","fileCount":992,"integrity":"sha512-nCfcCC8tZEs2Wn4wlC1eox+n6k/J1WSIEvyY3EX3ME8wCrD7T/I/RaO6OF74uhZ5tMCLtn1WWGKRRBj7TwqvwQ==","signatures":[{"sig":"MEYCIQCdhB0j1wyqna1vsvTdzFXS3Ta5DyvXT1sZp472JjLeTwIhAMqNQUTL8WT96744bsHVFRkRHkIFkoy9cNhTydjKBpT0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21907120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNTu/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVyA/+ORUjqunMDXYE6fs54HjD2ZZge01E6QhWUE7OxYZ0PRivVeBt\r\n+BMD7c4dd+vqNUiq8MXP8zpuINYxogj/HonBnksN2lluMd0K0kcclX3jB8nC\r\nWx0MmsSKO7m6JeVk37/0xAa/tNkCil7XxPlLcG4/OMbYMOoRww7TUTESAOxc\r\negQOTEHTWybzcLkSagfgZ673pn+H1TVg216veDcHU9yUvwIrjCieSOB2UdmG\r\nvT26ZL++rOCQHLer2RdLAnMb2A/SIrtsmsj9eP29rDOkAt0KMzj4bmOr3Wig\r\nwxaPq2qlWGozSflOMf10xvSEXqy/n5OLOiPcaD+jHQtD2g+Cm4GXYihrnDAj\r\nycFLJeiE1Q1k8qgIr+VdK5/q0avKgrIGBjKoaebHSc7mWeu37Bly0AZw8pZ4\r\n23FZ/Ro/+QiKrSmCUQEwgbfMfTa+PHoS+STy0/cNbddzWbYvEfBC6KbElzeP\r\n9tKVMuce0iXJ8qGULh0NG6Y9Itrhqw+dTIPyemsp9HWxFEOVGMyscsDiIUVH\r\nPreJCarAoGApuWbBsnIC51WaZwTJkGMZ5PToiuXkFvSZA9PhWv+U2zr7/qLm\r\nWyaOvWh5ThOi60hms7FYBhmC4Tzv1VTBZ0w+yDXAZoXdmdGcUxWAG0GqcQAG\r\ntLwtH5FD2wtv4nu1RdIoJRMtqLP4L/WBCDo=\r\n=yjkE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68_1664433086745_0.6693513850120176","host":"s3://npm-registry-packages"}},"19.14.1":{"name":"@preply/video","version":"19.14.1","author":"","license":"ISC","_id":"@preply/video@19.14.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f7ecb9b99951d00be5883f36ee7c38a2921d35d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.14.1.tgz","fileCount":988,"integrity":"sha512-60lLnJgJF9raPkg/SklyZPVCdmeWDVEnRVOPj0IFi+A7YaDDFBUe03Yb8N78In4i8ups6tY/OAvFi52uC2ykdg==","signatures":[{"sig":"MEYCIQCFK93GSSeUWijcajBxTkaoiq+5ljibNdaEUVAgyNeMHgIhAJvG/NtdV9NIkQLAJdyynsq8+QIUPQ5WVcV7zHXZNWAw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21859620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNV4jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvFg//Xz4dFPbozOSaDXzhLIOD61l/5dtblvDzA06pbF5qTlGbQmnv\r\nh+iCjaGiZoGzAGQ9eqYnvcG6b2ii0vWnAPUx2xWhT0MegVlFC1iBIbArlmSq\r\nLMx6M8Te2jdcDdDfM4A2DnlbLPRFkhr1yRPbUuRZsLHapjiKYIwLbHE+FdE+\r\nlBdjA//kmmvO6UUC6DWyDdJygriDBGcv/+DUmqzc9P5f4UnFrfVj6cf4Dq1z\r\ncIKnL2wkj4IlaSqmIwLca3hWt4NsvKR+df4Wx3vth7NbSN0U22EjQ/iqLguo\r\nSW8beyqU2aULdT+G8B1qosQBpQAk6OPsT4edznrHDIl94Nt+nLARg3IpJ+M7\r\nSXZpXA6FRXrtxdIBm/OCodsFT55e1Yqcbp/g0KpowvrbBOWextlNRWNKquHe\r\nirwkpCwFYb9RfbXmuhLibzPKKTUhPhgZjDV0aKmaWHvth4m/YFSLtH4AAm55\r\ngDvvDcabQvJPQPHVr8cS/PgygyKGvt8BLPBTcMZjAbouryGs6Erz4oW/7gJV\r\nrPN1RYxeECeiLxuCt7/YX/iZTF5RGyNTtnW6R38nBq3xph6ALxdQeVdH5nfV\r\nWQ8sa8F3fbdpf4c5WVL5KbB96KrC/7olSI/R5bbRRyVSERUb0EABJ53SnflO\r\nzpsmVwNiqDB4B7CfcY9VC2tZu4+iWfFACIk=\r\n=wwJE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.14.1_1664441890890_0.519945717179163","host":"s3://npm-registry-packages"}},"19.14.2":{"name":"@preply/video","version":"19.14.2","author":"","license":"ISC","_id":"@preply/video@19.14.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f17c2cff3fbf283a4b5d77df5f137072e4a9f66","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.14.2.tgz","fileCount":992,"integrity":"sha512-A2oQOEze+jwwYWPPJs28L5hEI2TVReh0yBqh9uAZLJnMLiFptLD2Y2WiFZ8iI9R/kju0HCJkUn0wmfAHGjQurw==","signatures":[{"sig":"MEUCIQCOXIH0JNxcsF2yEVZX0htOr9mYu75ckzsDvlIcBEOfnAIgX1oxC0eA3ujroEyDIU72pFbl2H6Q0Zr973o8FQa/oWI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21901215,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNaZmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/9Q/9G1kUf1OyZViQHpDVoxFheVmxlKng6/pTq7nZBvqEeJHVHRHF\r\n0TbsaBH993DbN0qiIdEUKIYdaTEJC1EgPyW5xi+RVfAlzB3ffycdTCUBCAE7\r\nBeHReM3cAM7PDDSj7kM5LxEr/+WomHsv/dM/+2R05kk6Y3aeMatMuleAqB5O\r\nfIAVsn3GqtL5zrmgdLPNA0zLN7V9SeQ5GlR4e7zgYhGdSyIJ5PHf8KHhuh8V\r\n/z5XT2xaWZJFE6YOkOLv7/MA/aas43UaTwxeyJrDgEUr3OSUnGO5UpafsQES\r\n5xy9wL8Zzzy36Ubqx0Kt2X4OINirceHmsHKr/eGgYSdTzoRYlGYZU4IgMk9X\r\nfTDuYG62Z7XRLe/OyPZASpDn4M+3ecCT58ezRBjjwQfPlW/coaZ+cXBDGygk\r\nw5srYeNMilSMsFtCrYC+y6ICJg7q/ULHKLUgEWr2p4rZ1h9clkycmseNUyTK\r\nHX1TFfrrikLt35ISL69KActcffh0R5QIFYnzbvBfqi9jzxVrvPFrXSv1jWH9\r\nycmsBcG4x+WdlUVDvpOGyNZz8fXDORbZNJPWxcTKD+YCokVLvOOYtGAcCPL9\r\nhbbVZRW+b/v92L5aisBgNUEqD9vchO4kNwvsL9ougUvamkFJcq3OT5W8IZp6\r\nc5rmoNNCEeNeexdd6s7nsVuqNIRwdeTqLow=\r\n=vRml\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.14.2_1664460389771_0.6504992237207674","host":"s3://npm-registry-packages"}},"19.14.3":{"name":"@preply/video","version":"19.14.3","author":"","license":"ISC","_id":"@preply/video@19.14.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c8d29e4bdc8a1362d6de3b1defd2a2844492d267","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.14.3.tgz","fileCount":992,"integrity":"sha512-pAVZ39x11uETnfFsGkLBhryzUbp6JLGiFb4NZ2Ev4aEHT+dvqngGP0kDjrnVv+v5VjjPiqMNRpaQAAbwEWhHyw==","signatures":[{"sig":"MEUCIG7pxCKVslx5m0NFtddx5yGHkujyY/khGJMpj7UWI9ApAiEA6qSkA7n4wpwCXLyXaMxJNZt4K1SnevKbAjZDpWXr5vg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21901475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNofTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWfw/9HS64KXKJPRxaMMn4YQQ/873EK5u6wyhPrBG43+jcM8h93yCr\r\nTkg6O/r+h5+N9ei4oaLIqEAn5urZViaB6zXfldm7LwJ7ewgrPC5Z5vIupJ2W\r\nTE7SYigCBrF66K7o87kbUsbdMO+vm11CQ+hHBxQgd4fcCq0JZ75P914AqyDG\r\nkCF+8I7TSQ/Y4mFKGoIMDd3XqWOHq+XEX1jsvz2GVxz+kHPmWiN/V+GAA8DX\r\ne2DsD50L0UjyMnvrc9rRLHTlDJeCPocku/6w0rFYhHXQqW9SDi00Nykvh0x2\r\nmW1Rar11CBAO2ivSMICTYeYw/UOE3XTVxxH7/fXmn3W8n+ZOfqTPS26707U8\r\nBjBFquIvYrqmZu+Xtcazr9BWDrXCK0s9GvGp1qh+wgxN4B4XeUSXFYZXcEoB\r\n9vTpbq0RnXZ36cmSSCqyuPKiX3jRgH6DSWi77M9RsNvSsQtFh5GZ9kVW1LSQ\r\nDaeErK0qpXfSKl3zTPR6Vum4L1+sRrQmg/i/ff3EzZHYY55jemPiAl8cJrrE\r\n+11jTRJz2zXNljo9tOJtB/A194szxzeBu1sbHwdksREVOLCNstjZrc4aJDv6\r\nMT+mPdlS4O1+0RamR+ZEo4owXUJGTcf5yQR5gthuo+EUjTaxUOTA5uFQYD4W\r\n1mOXJGFhEYu7kVufXIb+IVM7A0J4W9Jnq8I=\r\n=qMmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.14.3_1664518099593_0.25824524601263166","host":"s3://npm-registry-packages"}},"0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c":{"name":"@preply/video","version":"0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e20c01b79289a827c524ed8436f98366f2d14114","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c.tgz","fileCount":992,"integrity":"sha512-wDQWI6EOnQZBYCHSvhUrmVIY4dXyVz+Mt8Cl8Xr+0tw/69mK3ExM5/cNj8t0idOIXRs5BuYWmtXb9X/+HyVZpg==","signatures":[{"sig":"MEUCIFeljn3ow+qHFJrxRdcv6eLSVMt4QX4HqCgukyrolj4zAiEAw+hFSjyBP1F9X7AyVUEcJKwe3EsjoemHH9cJPiPDVU0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNqlBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXzhAAhyXQuTLvemf+BoqDh6ACG/HV9V+g3ZasPkNdylEsjLg/UjMb\r\no4F/5dB1JRlJZe0QIHqpXMy9VLtzcXH4Z8OIhuKVQpx7EZyxFN05EyrZuPd2\r\nCEPMItDKY+DQjVr7pVrhj0J3BU3Ws3qNyhA7pypZAURYrO8y0leVvI0VmYgS\r\nGF3VTmbnqdOJ4KNz+iOHuTJIlNCViMvxSKiMR86k8222CNk1rFm62EHWSNBG\r\nfBy23+YqVWszSYmL+BQH2CQAYKQK+btLw+pjPY4lwA5YUErG9E+ccaLmU9XW\r\nHuOygcXhkgvr9XOeqZydo7vo6g5dLtrRQLHFwLH2WACBMU1rbf0qWa06nIyu\r\n0p1I2rZWMwewXUc4j+ogGUBXh9NndnRX1l7ga0XKNnvUzm4MZ+AXzRb+FTEW\r\nvvT1qrQ3/FeFwYHKBEQ2FAQZ4xs2Q3h92hCjWXISWsFCPEiOosY05StakXJL\r\n70Q1BTO2tQwR8TL9SNUW/Vj7E+4V9hk7glw6nQUGrBWpiFDBH1CJWJNRqfAh\r\nVoIRaCnzu8oQpq53oKu2sLyy/l8UTwTR+DtX/77weTdUXN7mmjpFJ+Mu5HH6\r\nc1q4ZOjLweKHaGvz2DMbeGnoW58f5FMJU/HI2Oo9H/k0Lb7nfhUeA5UaA0qH\r\n+/HPtoy6/r+eEzB47oC3AiAe8nVGWVMTwzs=\r\n=0UIx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c_1664526657091_0.14514577241551296","host":"s3://npm-registry-packages"}},"0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97":{"name":"@preply/video","version":"0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d0135fe6648506e3daac731c58a23ccd2191e155","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97.tgz","fileCount":992,"integrity":"sha512-G1Qx226UN5TYsdKv/01Si/gnB2tk5aHQPlJXsTMAiSuZ1+pdEzFLHMXTOrVSqiTFFg/zlQlweJ5PFasFC01xCA==","signatures":[{"sig":"MEUCIQCq8xioY/xdM2TSOj0OGwgyvMz+P8ZmYuWTdWt6FUKG7gIgVb8GW5xXj05RLQn5gaRoCl/OYn4RUBUnjB/qAlH6S+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNrmhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrIw//bKZnOp5O2uIqFtZZLigQA4+ekoUSKV3jZTLbM6IunKmkiSPN\r\nQJ4IQPp3G4OPkI0MQVHObdfJJf70S02VieMYOafdX+Vkt79wgJzmQSyGTgvA\r\nqlHYAOfhtlp8ZPAJBGDT8ZA/qjSRfXBEE58DVt6g7M2S3wOcQjtmfXY+UpVT\r\npQroLlFe3fsE6m2Rez8/5cPYY6Mrw03+37EC5kc1MIRCB1WjQO6pUN5AxlAj\r\nTcCb+t27NUNlirSTIVEqSPEt9AQp26SW5ESKcfq1Z0XF+/hZIaiAvaSOQKZ+\r\n5H2wesx0VI5Ud98UG42dqfNDfmPEUvPqC1Te5V23vvMd1USgSAxYVLat65GL\r\nrlyLkGZH9ltGw7u/2Am9qicfBJCeNdH57vNQ94MrX8nmynrifZKqegPLasjM\r\n92Zpj9+8B+62rW2V0ua1ylugBXrENdO7on5uTOav9uj1CzoLPleqgnAQUlrF\r\nlDvLuQbQceKN2rLBVN1SRe1F5Ui8pIXr6DCzXAiYMqn3twKKZMcmR4HPfY+v\r\nCXaFPszqGyFnF0JMX7fInkXwp00VMhsccgzBccEQdgu9vwyPuWclok3rS2Os\r\nMHz1EFDL+cLoa342pxVM+Pcoa1He6xDW3vBStXPOXdrc6iaqET2J4HHhrUDm\r\n3LJMbFgojLL5IxZASj11RgYSpb8chNhEjHM=\r\n=eox4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97_1664530849059_0.39413192949443765","host":"s3://npm-registry-packages"}},"0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181":{"name":"@preply/video","version":"0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c8cba5d06484588bf3504b8fffe53c426a4ba37","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181.tgz","fileCount":992,"integrity":"sha512-LPR7NThwGVmQqcyQSirLMJ9wdqom2QPnr+k5DpP9NPzeLdqMHcLMDG7x0t8zJZPWqi9ZMeGb5radhVG6yipBzw==","signatures":[{"sig":"MEYCIQCG7gqDyXnFAowqD+WTuC5sAORiARqVgxT8OkrLFytF/wIhAIIMHKqk1nT8VimuC/PQ43f/6YG1kQBMObviJ/MuXkec","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNr88ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRHw//Stbjod4Th1fl4PLnoE8iowNUxQRywV+QTqowNFVFei8hmhmT\r\n32aDm2jovkt1uz8CXiL4Yq5zqDagyEL3GLLZQZMlg7RBQSVNb+YAGUZZeqJO\r\nva9RsgQ5oOHqW2OvUhTLDlSuNxU51z5Rn9hgr2gxdpviAelCJXEO4Q5a20mF\r\ndNqL5N4GOsk3NCeNHa3/sVmH0gYeuzH+Q+yVZ/CGy4dkvbJgXEISSX0HzlES\r\nP+FC5kH9DMiro2uBOYVPBl7eUEw2EkcKdBQ/5+vzH+QOhnodu4zmMIicr7Iy\r\nYo6wiX2yx1t69M+t3ngjy0hDH8HC0xsPn19chzsi6hlr2doS2zhW03b7vE0x\r\nMrp87JvG2k/f9fLMwZ1DLXhg0u/Ue3naa5AOdxNQg0hqfnjh4WkkYoiZH5hp\r\n763V0VgWOPVwZNAlDbc/Mzj4uc/fvGAByH5Wj0KJmfLyAfFd3xNN5+pUfe8a\r\nCE3TPmXctylD4sqh07C4yd/17xYiDBdGP7BjxA5EjSan9dd8D3lfofDzw0uf\r\niiBhD/zEYrCnSBFG3c6Iu8rmIixp336Vw/pqFofRmXhaVBlFycoKe9/S0dJJ\r\nE5rKr+62VNCLZonvF8MIGw/xlBLv3M1xfkbvNhQbEFs5N+sV1bb27XRvPkm3\r\nVKFVzEVFsQMz6IrY+LAm6ZQnKkuAKTVsSns=\r\n=nUw2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181_1664532283782_0.19351636871043265","host":"s3://npm-registry-packages"}},"0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4":{"name":"@preply/video","version":"0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"32486107035289be04a5b44f3291fb3bffeb6de4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4.tgz","fileCount":992,"integrity":"sha512-nzASmC79yZhMZ9fVd4CUJHAfsOPWFW+9U6hwui+pRZFCqXPjxSKPxes39hHnW9ERj+KHHMbtyti8qaC5kpo+Tw==","signatures":[{"sig":"MEQCIFAnqGyOpcDHPcRDDwIHX6CAUzGuLhTNxHq0DD1XB44xAiBl+2qHkXZxzgdv977Y+2HmXLkZbD4GTJGb2sYFkNuREg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNstyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvuhAAonQVCKTjU6RMjRlEI+KCy6RSCN+CijPXYelbXZrJv/9Kk5Di\r\nM/wXc+gRXDMv89lVJhLb7pqijDdNwR+vEZxeyj5RLEXIS3Ex6W6kROvybJ2o\r\nFYtCXRq0+f7t7pQjBI0lN++6k2TtNz9dpBA29NzC8M31yGSPQ0W2Ke8w/rG7\r\nec+aZQGrc2ti+kUBRKalYwQsI930W2Vw5uLr/fDVxttx1G2YdzBJ9gFNy4yD\r\n/2w3toiEysN2YI4WiKpcQdhWo3tfzdHJWvfGBpBHlZRAFq/x0NK30ZdqQrGL\r\n0F9wCtNy51phvWQszpfFd8gsY80rQmsVn8GYYXSgPRBJ0IyKBPdWq8vqDeIP\r\nQx4bWZWOWRmeM1uOWDHR4bMO7kwwa3BPLWfUTx4USSn5X70lKqiWEitU5l6A\r\n14mFZofKVtaofhgEcD8CtH/i92ITMb+2hcNGjpu2DgzajW/M67qTHfynLFWp\r\nREBLytzY7Fw64fYnKzEOX1TqoLMifoxQH7ZOE3/FOQhc/D08GdvG3NXkSk1i\r\nrbf9IZCF63y71+q+LOCd4eQcxBDuVaHrCQtom9AKU0Fp7N6cSou26zfSEasA\r\nw3lzRp1jaYee0RQNK/4hREU4asoaZW7du1rL2N1Ur2sUeOUv4/4HT3zYJPHn\r\nq+gvDgzYzGG5+3cddiOsvzw2l2kyIb5QalE=\r\n=R51A\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4_1664535409853_0.9774445811229657","host":"s3://npm-registry-packages"}},"19.15.0":{"name":"@preply/video","version":"19.15.0","author":"","license":"ISC","_id":"@preply/video@19.15.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eed55dde54ac60666fe3da9cb98e03bef09a3fd1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.15.0.tgz","fileCount":992,"integrity":"sha512-8IopagK170ISIC5+U7YxvyaOtgCbFavCU4TOJLRfqAkFlKrwG0IvaT8v7MRwU63SdXxT0WxmbPiN3nYYmZ97+g==","signatures":[{"sig":"MEQCIDmLGsmCMN6ge1rcRc5yvr5GRUGBf47Es2gjY/bUhLgKAiBpQrWLxLm1a6TvDSBYzGr8XfirF1MNXWXjnzid3EJMNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21901768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNtmFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpteQ/+PXDGAkhSCBTf+6I+DqUA4pFtE7PNa2ImDC6zVqbQgU6yRWgT\r\nFJEHmjB+8FCPwnShm653FpmSlTmkmoJj8vMLy0T/ebq5gFyZxKErRA0o5T1Z\r\nU/4tEQNfPFAh+CzBqbipXo+g5Beqo8BNj1I9usJniSlc5DCg55IwS5X9pKdt\r\nc3jS/o9L2WqaxpFVfeKbfe5YKlu9vifrtbKU5VpCLPUbUP+2/sXuO5XWyC9F\r\na+cKAbzXZYlHgHK9n1eLiVJcwTIuOgDr56J29gkwHaE0PpheJU66y/Wq09ec\r\nVKaCXocI5u05TY2Cuh4GoRozj8qo1XRe1nEvFTt0hqeMEyFzDb4FKWoVDeSS\r\nwI65qMdg5jnRwRG/IjoOoB+XTiylFzZBkDLTNAbVpUWNdCOrBxiiA8tLvynd\r\nltvnWo4TIxJQEf0WWwoVP3nL6eKRDknwoPbNNXSDE2clyN7pr3tGAFW9bUWK\r\nAfmsekQSbcoA7ZNJ7PCuCxBiwi7sUXeLfwI7ImB9fRty5adoQvfZVkyVkKOx\r\ne8/fg88GsM7f9j5DGRcugkH49UVhAJ3W9gzPAghJvb1UyiOOJ5xh0lTsqNWo\r\nfdz9HhnYrpHjSXpS2S2yHSEf7fPJyXil7Q7r+y4oP2eAv29G4P1g7Zcnmgkn\r\nOlS5j27Bpr71OtUNDPLMm2hBgwnzyhpVduA=\r\n=DkTx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_19.15.0_1664539013504_0.8609658142683094","host":"s3://npm-registry-packages"}},"0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a":{"name":"@preply/video","version":"0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"735b96b54bad2d3694278a4e6d04c90690acad04","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a.tgz","fileCount":992,"integrity":"sha512-G3PaclYi0sR2jKjvZ2zhAsWoyj4cde0XCvHXLPe2Seq4HMiWhLm02cnensYe4FcO/hpMvs4GqtscGit6xS42Ew==","signatures":[{"sig":"MEUCIGAuLYkiKUFEG85zlFttJXPgmfqZhk0fXAu1MCxAk8bBAiEAuDyXU3ffL94+JjinTXwh75H1ii94XRGH/wBa/AwoyNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNuS7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPihAAgP17vA7eQjAvrlx64/ekDV/kz+Ukvt+2pn8Lf0T2ml+CRRlm\r\nNJxFNxOHwNpDhSp6YQXta1Csvic7Fbj3m8OCIUu328q3Ks4Gyr+7TJ5gwb6Q\r\nnNenmT8hhFbnJ1DpFflKBWY1isxPvmcxZCZhutLjgyhThzYMZLS/tsFe48Ey\r\nmf3qMTdLFVdpz/pqss03U8IUtUl4KkgShk6ho+xi0icLOPrad+F7shcnY21z\r\nN90wCKr+CX5g/M+uGoekQi23DH4AtTcUNZgWNVk2CClMa7+7kKa7XkJ8UUJS\r\njO/k/71XejZwv3iGtRMsdB3px6FhcGy0LbEL+G66Bt9kPQ/Syqp2nWkmT8YG\r\nN67HueMwF2Eg0JAP8myN/dNLiZH9llzyW44upG4cxEf/8LZblOPfoIxjttRI\r\nCgFubAUwPnaoqN/loUMQ7eBglrxUffnLkIPy3BErdUzFciXJ2OC/2fEu1ftL\r\nAb2rA+IXvAUtdzzmlVpZ2wAMRz2Mw493fo/j/vL+adA83Zx3ooJ7w6hsF7Ew\r\nLiF3y+ZXGZIB9FIK8aJTmA9lTfuR/0k3JeOy4Zmj3NZBydqy9hizuuRg9ZG9\r\nUrUx8h/Tl5XqIy76Vzokzds1V+ipYEHr9hpr3XWv2i63AWYpeEoOF73E6dYU\r\npTRk0qqU4L8v0oex+HOl8kqabALiqwELpfU=\r\n=XSsb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.22.0"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.1","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.1","@preply/ds-web-core":"0.43.1","@preply/ds-web-root":"0.43.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a_1664541882924_0.06744481100871536","host":"s3://npm-registry-packages"}},"0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21":{"name":"@preply/video","version":"0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"267e1cde7a7d1fd12c3fe31075cca34398209d3f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21.tgz","fileCount":992,"integrity":"sha512-MOnswuf5e91/puaxnUApUQOd1Q49zY9KaXg+XUW6LYKksHm9Umtc5YscJUi2Y8RcZs7+AJMFAlrNBN3RRWv9hQ==","signatures":[{"sig":"MEYCIQC+mbkdilzcISeptGzhf8I5PkNf5LJxYCJUvPg5hxvWzQIhAP9pmFZue8fbXTgcUt1eoSKQMw9vIwWuLdtxheomv4Yy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNueDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoW9hAAheZWyYmj31QPXp1j4G+HWHwiRmXNVxb4tCJpD3NGyVFbThiY\r\nMLYuLKuE10pAQy9EBOiGooq/+fLDdkm8THMRQWImL7WYLoXzLjNpl5RXwP7d\r\nUKANvwTj48FDB3VzqlQCatLZGGKbnRdLqQvmfCVSHl3KNKyeXj4CszfiCunj\r\n821dUpOXKh4tVlQ8WodslW+NwrwP4ZobMvo6BwKLP1XvEuwJgNXVk9iZVPKZ\r\nhDXW839n7Ne1EVVsc/k5SLpQRbbgyhFNBobzy6ytrVKmAe3OdkFWtVxQJlrD\r\n/sQvLTow1QOYWxp/ZSsC5UNSGUj4BrWj335/AFTuAZ0V3tnjZev/oV6/v9I9\r\nkznp7CV1aMSHEKemDn7Ysv63bCfTKXud/EG9nIWr3gNKZhL8F7+Xm4bRq1sx\r\nsSpW0HcJ+kO0kTUnvridqKzdWfCKnNY5VNifkKWCJX46LQnVJbCRUGEfn7vI\r\ny9aRC1xmdEYnVSiDOFcWwG5NnfFRfne8OCr7cCPIqAod9cGRsiOaLGC2qrnu\r\ne5Mp0A0BCwIjZgLuoSBAbF6b1juF2as42Wz7scuxkh/op36Cw5hJj646AKdR\r\nMhjcjSO+flm2Fg1ynjLDuT8CpcFH1+Fz5qdRP1/8eD2cUSrYOdkPZzTzHzLu\r\nzSuhgFpl/cR2C5KPd4erJxAYMqbh1ibbJdc=\r\n=3O4X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21_1664542595515_0.16887581980647837","host":"s3://npm-registry-packages"}},"0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e":{"name":"@preply/video","version":"0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"810f3158913c63231e3326b322c3f2860dbb7f57","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e.tgz","fileCount":992,"integrity":"sha512-04DlGsODwjtCsuuCyEWHBum/kAJCBDhBSVh2UfYfRsAhL8XWNyZ1B+si4iQthemnCt45XC39eJ8LMAY4Cq1QhQ==","signatures":[{"sig":"MEUCIFxDq3Y9nRb4JkefPszX7CK7U1j8U9XMYP8+lNkYz+1eAiEArpRxsx0v3ef4MDDe5yZNFRl14KvD83XDRH8Ol1NbWiQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNu9rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1BxAAlIQ2DHemk7RXx3ezGOr4TtWf37OQ2kvRN2nRXVLl4R8YQSGK\r\nU0g92/LjeNi/kd9D9t7NVSwA4GUIzorSXs7u+g1hlSaX2GkubF6lTyR7OHo9\r\n4fqHYIcfEcO55opP0/526ArtLudOygjivF+CsdLjFSWNnd346mjs9O3x6DK7\r\n+RBhsCQNiVK9kaYQ5Zb0yOXZklI7ljhThlbWgKWS3KR4un3vPVGswkdzVk4u\r\npWt9pH6WKBLKebuHNNUM/0q2pADRNe2luVINe6YBmYionnoPLyjaFAIFv3qt\r\nVBYe5eq4R4vWFbOVx4TWLSG+O1JEGKjPKWg6sUufqMzfbsilTjW3M6b+Akjm\r\nOsSoXG8P2WN7f63xGexpp01qgHZJNvds5OLJKr3AyaiZ8nle1eRmv7gfJssw\r\nN3DEnkcuMG57ltqLeOpxCW2g9UvN1mZ8FzKSdb5DivMlvS1HqyVSKsUuNcrW\r\nAI6vh41Fdb4UjcX6NHmRyxNNGhrqsfq6IFS/OfHwP5pMFGdw+Uu9E35HCgVc\r\nd9mSRq20xnLmNFXC993f8RJ31ZiwiK1Oqka/599wp4iJgImkMeNt/fl1Ajqm\r\ne0rvp/B4UDTKNzze0oiq+lpe5UHsaFYqY6krqPjC/xWvkQvO8ia5jvybHVFu\r\nzbmbhE88INlq2e4XAhkTpcjXPQtkUEe5i34=\r\n=m4nE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e_1664544619256_0.011123886853322551","host":"s3://npm-registry-packages"}},"0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b":{"name":"@preply/video","version":"0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ef2d32f8d2ceec0879a40928c500fb91abe7e558","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b.tgz","fileCount":992,"integrity":"sha512-1Xy//Sfd7kKvyHGYt/UoBbH18bp3Nx5w80wVgjuZ6vwIqcEQkp5b0tfyeKrbf29iBgwvb2hQ2vjgtubKiEzcMw==","signatures":[{"sig":"MEUCIQDJgWltSKV11ywvC15qRs7FvWOaeGb8n7UViAhX2Kk51AIgcCJRDc2uXmaQtuPqY8K4b0Cz/LlzDNjLQTc9dsNi/SE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOAm2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZlw//ZHQgEgEBe1/RAJW53cBYi3syZ/KqlevPfPKRk2B05aZf1tMI\r\n0Bi+Oirr1ilTRf4A004hWD6ct5swQTuYAz4+ioE0C2RV23p82sc9n8MYuk/6\r\nWp3/fYN073cXX7hWxmI6lF7/hON0fmA+CFVVXeNyNf9sDSJSv8eN1pmGnN1R\r\nMKwupqkx2fitG5QGbdurw24/vco4lxj7rrgT0sj4+0rzvxY90LUEVQcqIqmH\r\n7OCJVI/z0ruPZCj1HtBTl6kF5OhYAshn57XKay4QXNEvSIP6m+q8nFjoRg19\r\nWDDlYp6gKfznDPt3ScQxwZYNLBCbRCvAgXGl5y+LuJkQWwzD0vm6UmsJQcOl\r\n4h6hVFXyCeNKjFuh3NuznSB4LhOSFKjhBSyKJ6N1OGTzWI32LRKptmvgYs5Q\r\nF+wN1UwHIvfKWwxFcr+sfIRfyP1XY3wBuXSctyb4/Ryf39lWIXSr9KohMQuL\r\nMYgLvxOblprWdHk7uOp6UvbtljWJ0u25/ymH8UkhOU+O4UyBbM492q5PzU17\r\nEPtBv0JIonnv8BGzKsGI/MOaWBsuVZRfxezv+NqRJhBGREj6C99/Jb8J+ol+\r\nQpiIXczw+uYfRxx+3RJNJ794Aj4j2RZVJntZihddZeWYaLVEN+c8skFuiDYI\r\nMN7U5Ojk48toQzmSgWvDBMFnDg8P12RfCLc=\r\n=IqUH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b_1664616886569_0.8424518298793251","host":"s3://npm-registry-packages"}},"19.15.1":{"name":"@preply/video","version":"19.15.1","author":"","license":"ISC","_id":"@preply/video@19.15.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2c9cb6ab02cb7c507ff5268489165ed6b097c1cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.15.1.tgz","fileCount":992,"integrity":"sha512-T5hPPg4JPVmLgmOayITn2+QEQOFfGX0QFaYHyeEqsBIacPPWB48/OIzFZAlI+DALlME2o18vxeCFYyYC6WZ7Tw==","signatures":[{"sig":"MEQCIGDy0JufKn1i4AGcrbYEgKbyFs4E6Bn0EGemE/AWQLgXAiAJ0v+mDK9m92UesdXi9W4xJwvtvKv88KY1AkXwIiSUOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21901506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOYs4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrtew//aP82JUmM9CaMK8be5PQywO2TJk/EM4OVxA0OE5rDVjZJhaXJ\r\nF3FdPJN1KP+FE5qCpuBaRYxLYc7EskYApZ7M58qLRNPgRti6/iuE5V3odaBe\r\nJ0MzTtbP+ERFZ7BDVUnMvUKXXRPmeufytCa6bKn/pXMhjXck+p/mEWSh5VSr\r\nuQOA3m9u8izvB2ClL+qbvnHJCPYjGNJilZhwQK8J0Lg1AQJqVnbotjT94ztb\r\niSvKFLZhvAhbV/8+xnSDaMOJTo/zpuBam4DQpe8AzzhbgZgCoHP3b3RODDii\r\nSk9BRNv24UM+obZI5SQyuEHAQS0mhS+LpnjUWAbRQARUlwWW/sx8A9Me2aiF\r\nwI2cFD4Z/E1LvSz/nPtPJbBVf4Fu3MW/GumZWbCeFZM5wgTgpk+PDf3VItRH\r\nWR4RxnEpj2f4UkJSVnZ10wcbaOrknZYKUGg92YQb2ahpHIayE+btx7073xME\r\nZfwlplin4P7WG+1HQmC6v1oC0Rvl+SmwonMmTjed2YQFXP3aosHpyxloWfNw\r\n3dq3OcAQtKaEfv86wDgS065hBD75y3ZKHUBFQbu5Fnvy+e2QRe6G96mIr0Ra\r\nrAA3xJc+Mjdx/Os8WOUWwIXULLLxFHproyJBVGYFHsK8V2FhK/i61GQ4QSeB\r\nLaNnUmVeUSq/UjJLl6v7zx/EBr0zAMJcWX8=\r\n=vjqg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.15.1_1664715576177_0.27219271166722914","host":"s3://npm-registry-packages"}},"0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc":{"name":"@preply/video","version":"0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab1573c858a878e4cec394a18b5726cb91bacf61","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc.tgz","fileCount":992,"integrity":"sha512-XlkTlGmDBkF3xfPJWhSkR8E6LPZr7VQMqKNBIXOTZstIw9gzSzW6UADa4UW8itxSf8Q+Mlv/AwgiwL0xv+xbHA==","signatures":[{"sig":"MEQCIGCzYAeYSVXOUmr7134uUZTETYNJ6CXg+WvmGe1HkLSCAiBOqisyxdX+l9CDi0wcV4Mlt4926aa62K2nsCY0F73GXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjObVMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGpw/9FRzOISx+50dvD7TRyhVjiqlqju+Iz8haBOmAKdXuppbeDKqh\r\nP0hSJkrk57tTOiltHEAOEcsroH2XwKb7iTIJb5LlUxSnYuV1ppKWNYVky3d7\r\nFIyAWI8AL5rY0Ay4GhEeXsdD8F7aqGW3928rT5QW5OSCE0Fj7ErkLSIf4kVP\r\nPw0brSgIUlP30XvEIcglv53VX4NcwKh7RUNknfMRmE3aOto1M4iuAtXl1+i+\r\nill0HhQUTTHrKEsKsO6bziVQJTBCpVVqh0esUg9N0rne+Gd/TFdnvLM1uQCZ\r\nLnbq29mdEgLwgaqh80Aqn7nKeLfZLMn8/fry65Yqd8vcUuUN6vDzMtMiZ1xV\r\nJT29WVDS57CiJD8ZxQ6CjOJWsZnyEsSlTcjKNd5GKKdR6r2sKDtblxDu2JtO\r\nz7l+f52+yRsbQ4rmjs/xgnolFY351EI42YiwmpOyY19ue6SVrrB1lKLO4eJS\r\nbAizdqpuitr6ZgoULc2safkaS0Slf2f98OhJuKVovKtIux1a6rWQalTQOz/Z\r\nXNFfjU7OWmr6xLGzLDi9rx/xckQwyTMfZ4JBKkGPRxWIViHQ6fJMaaOlWQ76\r\nsD5ZwCBvCfhm1DYTTN2FihlyYVbFk/He1DNZvjeDaPuthQ9M6cDesfguOzdZ\r\n9QSO+VW//aWmN8k0lSFPGdPSMdaNqaEelm4=\r\n=00Nj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc_1664726348379_0.5624531034828879","host":"s3://npm-registry-packages"}},"0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24":{"name":"@preply/video","version":"0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4496503107272ce2be626816f3b0ee426ce9427a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24.tgz","fileCount":992,"integrity":"sha512-Q16PcVRj0vo3IfQmzWeORhWKEYmwEHWGuknoBQ3X392xaDMUsCABppgB6At5RJNJmxBYnFMGRvORJ7R8j5P/AQ==","signatures":[{"sig":"MEQCIF8r3q8FftdHdRpJ8DozhFcBiFpPYphzqsq0oPBYHxD2AiAWd9eYLKFQTP2reH/Rj+y2ZwnbQYxm7akKlC5yfcJYMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOpYXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoZhAAgjRLAsEqQewcRbjOo/gxng1NfW54kQRugc07xKEXk6LiHriY\r\nPk1iG6re7LgVAv13qxfnFNdJYBIRFD8XCe4kyyMOIx6z/nPzqWWRZt2Wj39X\r\nWSHQ61sza7lcNZHPLLxraZsUNulQBai3bzlpwKLji/+UNeDfhBDZlj/yItK4\r\nM2RyZxu4Mg0h8n0jiYZCWcwslEphwmiZ8PWdSrJsKYA8Nh8blif9fRHlFjAh\r\n+V+GYJbjCkMg6xWWuLHaHF7RXEDEICqQszGnksJXHEvQEM9PanuszL4FvSO0\r\njHFmdwWL9zVbQAM78/xF7IEwLG/UnuqwWN4kCGhodgHFaDSf3NiMmgHRq4RC\r\n2YMmtFioaI3u9XWqOdLYWGMQKIJnZfCIE3Kohj8tG9389qptK9EuLYMGp4MO\r\nklX18L1snwiE1wLBpIPCcMJ3z7kUgQMfEizrlQNB10+0NbqI8o/VI1CucXwq\r\npN35oBNwqCnt/pBOXx7IbvUYipL73P47aCOZoDNWR8RU0OqMYSXuNbbn9KuB\r\nptP1BghC8ovUSLm/H3fMG7gjA2/yWgYJXJaY3YxzqrNcTivaICX/TBQvavKx\r\n04FBjE9cWPtRNFCvVLcW/19I7/Nu1NUrmUO0AII7And4Z7DQtpDFcphnxS9S\r\njWV9/55gZfJQ46jCUmzTejiCIzkOZL6F29g=\r\n=bWXm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24_1664783895021_0.21717428509100323","host":"s3://npm-registry-packages"}},"0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78":{"name":"@preply/video","version":"0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5268f056606569753993f48504d7f89af56296fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78.tgz","fileCount":992,"integrity":"sha512-DeGHDJemu2LzQtr6LRJJZY0ep9Rm07A/8wDmKOK4LEI6hSooLEVWSWdVkH2EpNLT1fTfQioglr152yxGu1VDcA==","signatures":[{"sig":"MEUCIEILuW7HuDuSB3o9ZkkKSZtRb9WXXQK6a2i2SZ5I+9yfAiEA8h7a/ZY7jFzv/9DZHEWLjPGKzfQ+oKKluU7z3nuQTG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903410,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOpyqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLmxAAm9iyVVCq4QFWYcamu66/Qw1R9th8JCMmcWcOteFPOBKsiQY2\r\nsrMvF6pjuDxPuo6dzKUXb4qy6O1XI/iCuVTIskJXmq+2NB2FnQVqKD3ZiLjY\r\no7HfJv+xQ4edM59JoFfgy3X0c/Gy+QOHCvZXf6cJQFW/ifOe8I+XepgBZplr\r\nhIEa29xtO2XeNlO4KMqTqUwNBY6vbHfwgxhsAE8N5DuHtawaEj/G/iemZrlZ\r\nwuTogOMtfyUSkEe6ahgFpKoq0D9nRN/Ph1bgM+jKxZTC3w3h4fptaR8XhGvW\r\nyJy+aYHGBFOMOVn/V+s8Hf1dedYWrp6qp7+Hc6/gdrcCQQd3lUgQqBqQ91Yn\r\nsiGfw13vITSxWbOYDo+M77ze8oUDwScNvhC5o2z885FY7m7F/Ms0Qd9FM1oh\r\nWp6vhXAGhsyVLVJSp/snP57fkvlHZcRngZFjLsCAi4bV/x+wDqEqWQicTKar\r\nd1SFi7JD2ixJSPA3Q+6g0bAMCLOGhjGvrryLgyck49qqhI7nG6hr0eXAEX5s\r\ngCjUm7OI6ESuwBaP8VmyXoh23fKtgiI82XIlkx/bIOu0KMhSMMYK0n6/IgyK\r\nd4VvX0Z5R6C8aa20fLo0llHv7b1XfNgJDVYEGvcfYrOQsrGm/cxNVRMEfV/Y\r\nzZRUlOzh0ZmF8j7FOVzletk9Cf7iKcdefro=\r\n=ZDst\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@preply/marketing-personas-wizard":"0.20.1"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78_1664785577793_0.3718133883010242","host":"s3://npm-registry-packages"}},"0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63":{"name":"@preply/video","version":"0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b9bf3fe3a49e0e6d288c163cee094574dafee641","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63.tgz","fileCount":992,"integrity":"sha512-6mAtX0NjBWWUMfldymkjL9qnXRnsLjuTBaU6fZJEfdcLhCyi4s1OL7b3/YQWTQif4XR/gYOW4m2hTyF6b9sQVQ==","signatures":[{"sig":"MEYCIQCX6/EOHfnrQZ2qTj8+DlAU5wUAOCEpitKVsu8MyJgT+AIhAPmvvKXnog5rBiQ14A2djgSbugerzaCqtA2o1h5La7Kr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21903359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOq21ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcXg//YRNtXlntzJ7GysV3h+jN/7x8SVmpVTGvfAzDfNt3vHkmu/xB\r\nB0LLPATDl1uZcNdjD095SDyz9FDUG9om9pKGgXREYZGcv5HtX7ThcGYmG1qR\r\ncyaCNqVMuTWM8QFyRM3CyTKABYNlhphNEslfnDnUSsl73yDVLrxKG7GpfPHY\r\nrpFzNouQR+d85r2EvMJkeWqw1/5HWykePsiJQ1wH8kYBH7DpLIPrS2forOmQ\r\nQOgmTo3nlHUHfO1Udf5WD70lKdKfCJeOcr6iXbVxFtUWYlue0S17cvIEDo01\r\n7SuthtTkDzahJmUwDoFztg7dVLary4ggFIs83pS4AqOez0lTlsia6k313Ned\r\nRLLduizBrc5XF3L39ijI4/l6jCeaOHqXSE3C1d5JRu9SevNZ4W9tjseYxhDq\r\n6MidbNXBFhzJ4MZqYChtxalCziq+1OZxcIW3jEsNr0MW4pJsxjvJ3cWHGx1w\r\n+PpeB45YOJxcjWCAvomYPr9hIze0nqivb2AojXhDPiQGvWFLkB22+7Rddjdb\r\npKAZeQmYvVXxZkzxALuUZKTJKhS02BWfwWQVRqJQiUn+Cs6gqb0V0X5mDiWS\r\nc3Wr0ticN+w+QDpxgT0NL84uwGoJu1L9qNdTgmHBa6z2fWAIv1nDMZi4nMMD\r\nv1cOIJNq8PPNEf83+lRjpLpV6GROZbYYb4w=\r\n=mAi9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63_1664789941105_0.5593883715682642","host":"s3://npm-registry-packages"}},"19.15.2":{"name":"@preply/video","version":"19.15.2","author":"","license":"ISC","_id":"@preply/video@19.15.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e9613952d8f70bd27e18993a87f90d13282b00e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.15.2.tgz","fileCount":992,"integrity":"sha512-rnpBx/TKYd2Qr2VTIOu/nu4zCOLAQSi3qURkjFPEF1D+UhF8sZdq3OQKB/ZQBvvfBVeIvxUJoctIvvJD5qOBXg==","signatures":[{"sig":"MEUCIQCzTUOfsu3OZitlbXyNRMsS5jl36F87zatdbtUbpP2VrAIgS0NE5oZF+YpdLWTmHI5Y15u3Pu6QM3pbbGbPldEDcsA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21901455,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjOrx+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCOA//f5iWdzcu/P5en7LXKCQvTRGNTPGR1cUC7s/DETqY4BJDaC4k\r\n1Ne5dOLBDhG5mpMCNlFJkrzu/5QCg/tnPFNu5wFWws+PZAFbzZZNtbDvB0w/\r\n99Ht067L+voPY4zVQZ4DHhFmD9WtK4+jpgBA45g9q7JL2UxAXjtoO9cd60cc\r\nfjH2eiy60Q0EyI0bavnBj2UcIEzE+jAC5/Aub01MWnoW0cQwWU+XdMY18bZI\r\nbCTGtN+GBmHLQNhPNf3mzK3Q8nrkIxTr+zB5Giv6+yAfnMro3I7jWU4iUNcQ\r\niCri/TYausIe9DMgP52TkXTMfvlLiH1+0hhqKEKJui5WFjg25Gbf9hfHjuaM\r\nDJiFWUiraRDPxtnTxwXc+Y3iQ6gm38zKgayZWzW8+IzuferL6WEvteD0oxO/\r\nesUP6qeRmOURDUHpBZBXU77nQTJWRU4v0NGAMh9tIpS/EkEZAGRY6IbGX7A9\r\nlCrxLHZJmXDiuqRlavsvtSYaaC1BcWceWhGBjFsTf2bIVzu52yjxNJXGKu/S\r\nPrrfsSDHVFgiM8sThqbDRH6CbAZr5vfCBYjgL7nVP4eIo+K7k8pEYcWasRwa\r\nKOEbPbnbEalpD9j09XEMEN5l8v1R9Z1Qei5ttIF21KjHDef+KpzJXmNEGmOU\r\n5UNINI8yWATej9PlZ1zE/ycpclRS7hqztCs=\r\n=l9xf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.15.2_1664793726202_0.6788462289564998","host":"s3://npm-registry-packages"}},"0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00":{"name":"@preply/video","version":"0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"81328fc28c5bff95e577d819e66829e51d2c437f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00.tgz","fileCount":992,"integrity":"sha512-fw2jzAZjLx/UE/UAPfjF1CFtD42zrVJuiKnuqz7a341Kfh9l9RuFqyr5b3xr85vkwuBguPZskTT5w68/qdl9UA==","signatures":[{"sig":"MEQCIH8EgzmWQq1K7XiBH6sd9yYdgmaELBtGRR89VMHQXuA8AiBGrdsGGKGjNg3r23be1hhSB1pAO3qqLhno3mLcn3Lmtw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21905463,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPTGEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsgA/+M4M2vgQg0lgJVYz7TWZ9+gyejaIhyXzfzjxaF4Qn33qe4GVR\r\nhSleqPJEOiSBtz+6Hcx+5hNLN/0y02f+hHz097TMw67qH/Oo69M95uqYXeoR\r\n3OBJv8y5DjIlunKGE9+wqWrWTsQPHQf7ttm+lulivoUlM0qEbDw2+7IbmzUd\r\nxVzHIO7w4/OGoK7oI4PbMjC6IMi2J6UIXKYBSbpeZBvmKsmfZi7dGRiskR2g\r\nPMZpbDixh7UTKhtHa7Be+yjW0PmSTE6ZYRf1O/LbBOQTpaU4lSCH2QlcRtK6\r\nB6o00xnzrIJBJds2FnTvX571EFcLhFnnYLL1roDmFLfwJKm8tQd6ZkxmgS5y\r\nODeCo5jcGyWZL9ku/Wtev2oH5G5VEsU6zdPvZv0qIi8wE6mTf1/FqQmZktIC\r\nWxm4FAn61rkJMrtyokNFI6QYoZvinIMDjCdwmNqEWR7d2K/cugoJfeZunRZP\r\ndh3PubWIbQti2enG4WN7R/HzDRV0DFywJFZfgdyrHFK51eIFqd19LMalOlDZ\r\nCm9ZUMt8Y3a3HkL7lBa5ste3ylIhV3yZESeH4ebbNtX0wYUNNomX4xPah1Sb\r\n4VIWJadwAH+R4RyshXUlDqaIRCsycY0UgS6rhnfqIpLT8r6jJjlhO0RUO64x\r\njYGjlvGnknW++o1LKqn/UQD05hk1/SOoxzI=\r\n=i93U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00_1664954755642_0.7267876495450702","host":"s3://npm-registry-packages"}},"0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847":{"name":"@preply/video","version":"0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bdd94e25e3dc2419ee934f8ae9b100be39c8d4e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847.tgz","fileCount":992,"integrity":"sha512-GCgwjfEMSzkKlYbOyfhs3X4Z8ITl3TlofZB0VnKXzsxlIs6xMGT13WYg9/5bOkfnWwiD9rNuoGDgPj1CqhU4bQ==","signatures":[{"sig":"MEYCIQCjZqfMR5Nq4N9rLbPHprft7oEfv7MyGkvjwN72zJ8XAwIhANox8XMy7LPfeDBUnLigRLIQdI0WtlCPtL+NqYDJUbuA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21905778,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPUCNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9Xw//UKCyU2SF0pCSxdNubS5upUUldi7SnLS6/gBZ3oXFeei56m5A\r\nq8cU8t4y+M2kfGHYXUrb89Y78XFmYCOAavNDHJlwpSZlBjgoiRmfF/TWlJPM\r\nt8m8lje3S3Vk+uElkDsxE3WSXe6LJa5UZRvI3YGknW7GG85wOoeG5P0hWHSP\r\nyUsT/McanSkLw2NPXh4h9mRBt8gqo455S0iZM8OqR1kOA/nfmenmDCZL7Fhd\r\nR0k6LOkNbdP4+/Ggc8szi3Js7WVbRH+dA9ZxOix+z6Yjbl4V7iihlKiODT42\r\nbWIvKkHOYKFMKASM67hqGUBhGDygbV8gtvldBwdWaVjlBGLGg5z3OOxQsEjE\r\n4FG85zrd8idOkMzFKGbQ3aP00LB2vJb4fYaMCSvdeK3mBrm+CaQxhPqOWHnx\r\nJe0Xjof63Va+kwFWZpaVMStELPNEEvfb2FaaIw35HV8vCZGi+HP0cM1AJdKB\r\nIiFMkxoFUTcRCxB2B+24KVMF3K1FX5WaSP1VgtN1ZClNAqoJ2OHztZNJNI1o\r\nddxVac6ljMDzGsVDn2CxlXJM8pLow0w5tw45wCFllPQXPdlMGgsO/xOCiB7e\r\nN5i9hUNCz3TuI5D00VYF2+ebEPJHEbGM3UQl3/MpXJh1RCez9uWK+b5+G3je\r\nHNNTspMH3af78+WdCuL7cgE4Myqema2oFeQ=\r\n=Nq/n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847_1664958604944_0.6076603896214183","host":"s3://npm-registry-packages"}},"19.16.0":{"name":"@preply/video","version":"19.16.0","author":"","license":"ISC","_id":"@preply/video@19.16.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33fcd9bc2d9e297af6a13ab548f44c7662cda6cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.16.0.tgz","fileCount":992,"integrity":"sha512-5e0UPs1vIskA5eD0hPvg8FMtIEStqXc0+yUa03f/HHrFvlH2XAr2fEakz7hCp6eS8pu/Xln9yV3niM0ZIYcL2g==","signatures":[{"sig":"MEUCIQCxqurHbnUtf3o7GyuRM3JE2BgbTClMUqQMMSMpwEaaMAIgPMAczRPPA4cP/vs/dWWEX8JSRSFCdTpkP5FHevywkkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21796528,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPVndACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFcw/7BWx2LJvjWd+VTtNsre0Q1SlgGeCBuWkt8VY9+eg5d1H8AiuU\r\n++WP/MLg7312pEwfIDjA/CiUmWQ4rcExU/5zQPn4tjscRGmu0UcaxEMEb9Eg\r\nUTWdo3EB0LaVeAs8iLKfOuQY5kYe8YNceMHAL084YqKbrYDLZVr2ad+Pks2w\r\nMouOHQ6dK3GpH2QaJ5wseaeaMSAbpythhaxfbLtO3dFA3OW0+gBgXbZ0p7LH\r\nXkhnIpPUzpKh/p4PF4Aslq3q7NAiC7c++dZGPGgR+FQ1hARsABSIlikPnKBk\r\n2QBr9zXIWFsmjWUEYWyuyDHFXhz3EckEiFlE6azKNKN0sUfMv5+ITo9ML/mh\r\ncio4gzA/a0lp13slhlLR3h2oNiRmvbZhuVMhHp4glkI9H7fs0rVQymAX9AIA\r\ncw9yM88irL5lgEkTZNqTlyzWi18++st/TwVYlHjwiz2f1BIv5Bo57hOFC8Ah\r\no/aBVGfH5gf7WplFK0qKH1hOB2yjXUhX/xsikB29sQ/nb4QIeCLfLmz45WNM\r\nf6Kl6RSWg0NpfnJyPmjsZVJoBcnP9dao+I0NbfLm+Ce3ltHumEpPLeLlchf2\r\nhSdbtxPreWOEZ+Hn+lkmxX9IypiRHBGwoNLE5nUSK7SWswaOnMnU7hret3P2\r\nDbeLehJQqKIbBKed7Yolfoy/DEQnBl85xCQ=\r\n=zwH6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.16.0_1664965084915_0.0801224420403468","host":"s3://npm-registry-packages"}},"19.16.1":{"name":"@preply/video","version":"19.16.1","author":"","license":"ISC","_id":"@preply/video@19.16.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ac98e9ece42984bed53ff7169296fb60e43d63ec","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.16.1.tgz","fileCount":992,"integrity":"sha512-mG9KLvoK0BRRVcdNpWh3SBjc/OaH+vc4Lb62O2E/QznqMaOI0495yYK5zVuK5jOA1udSEbLSxvi6Ail+UGK6NA==","signatures":[{"sig":"MEUCIFGyrrQlrLRmyfAIK7JbSscVCd/R/G30LGFnfb/9FfS/AiEA3bA2e0+LJaHxy/W9MPY20zt9L6oBDAecgQWG8HS3bQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21827809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjP+PeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwEQ/+M60J3S6ZXrytQlvNuwWSkd0PIgIApVb3o+UuhKyGysTWARuW\r\nZjZCsyHLZOOhYL456cmQgZvB8I+LivDbafqdG3e9i4cnrmXZOPYExAH4nsvN\r\n+3V9YewYZxjo679IZGtYkrF/yDE6YN15x+7hj9WHlQbhUcuvJZPj6MbF/Ufw\r\n70ZVvWMf53yzPWg9CyVFD8M3r+0Z/irGiJstX8WfDfrljI5Snv6Fm1rTqqsu\r\nz20NMFSuo9CLNTOp7XJBvh6tEqbl6NyYzTDHECAIQAnI59vOrf3amosruRVu\r\nAl5cUQZkMb31//IlLaGow9nClfXV9WE8fvKenGc5bd7BNktGtLDXeWU+MP9X\r\njLf0MT5d3jq+BvTGSn/988aB7MJvutj183nXqnNFRtaD3uIYizGfE4R9Hw26\r\n69XiLNA6iSztvD84CVPzb+mSghVPqsCLQlg4Igv7hVcEjukCpDQ8Y56x4rci\r\nv216/83dVRysalEsSgCb3/mUwALiwfd+3Cyh5teM2q3ozBTei58BvOTMSrZ3\r\n9Id1H+pZ89HEV7u0VtYzmwtYeNX2aFXlJtNb67xm8gqQU40mDPwqN0vtQkkt\r\nDuTde88QwZrCWMg1HSEfIBbFB58BSFTrUM6yWbH0iK3gDLMJIwKhqvXyviBe\r\nNQsbL4AYPTTiXtkjQ4yoV/Ibzz/IYysqR/Q=\r\n=x+mv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.16.1_1665131486289_0.6101090177575756","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b":{"name":"@preply/video","version":"0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bd5e885959c74a65c0ec92514f0992b03a3ba925","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b.tgz","fileCount":992,"integrity":"sha512-tq2GUcT/ANfNS5W0TptPnhXj8V5Nf8VUJ4K1zz+fx8HHUhR4BzP/sREnfMZCPizgApb+eddZCkxohzETF5NtMQ==","signatures":[{"sig":"MEUCIQDXQv+X2ExR5gpbMjI+AFGbRwiCVcOgJneGbAr0hwnHUAIgRcQYFOw4CQfSvABOFV1JvPg5+CAAcOM4W9vSGt2kHWA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21834085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQAWVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4wA/9FtoXZJ5H6qDMCAXZC5k2vGtNj+pP7NS5YXidMKUhIAn0KeX+\r\nUx1W1Ah56Fj4PBnJB+mz2Sr+c6RTBsFgCrJPrnjj4tO1w15MbfNPBri9yi+3\r\n6iHQU8RlRHS9D+J1qJ+uf0wFyPvcLWO8jw8tqEb5soOjg3b1p4PIYo2kM6Xy\r\nM3aCLWGVqA13IVPmB6amculjCyPc5Wk2JmEiI+1IzMEPsnDwTXLQfxxewIsJ\r\nj/vByeoe5Ux1mvOh2aFblemu6seCdvOogYzBbo4DbZNr+bV9ciEP7ykPK6Sl\r\n2Q9qSZPg65WvMSXjNFqYJGU9DVEEyu2J2ELM3RxX1OqkIfFHAcJIv7VLv1Qv\r\nxbIgh3u16OeFsjTDOjXvONffy8KTnuIdTRjK2Eo/jLmljITHa3XEH72lKCFh\r\nDdyxhY5CtrpRWBsmsbHerSFy4r9Ag5IUXRGclPZ5yUCXCdCOu55LcdugINSg\r\nXYQw8wJg0euZCHeJv48zZUbobiFCJ2rR6J7BcmSQ7Ga1u6ZupG4PY2B9ZEwV\r\nTK5/FYBF6TaSqD5wVxsZ61Ginyl/wYjLUG8a9f9vicATdVEuoVSL279GsL1O\r\nGPr49rLmObVFAbQccEzTpnIcDya3CNma/SgsJOTLzZeKundC3aMYCr3jYO8P\r\n2K3+IAp+w6pdkueNNYO77F20B8G7CVUKslI=\r\n=uMUO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b_1665140117138_0.08969631893503816","host":"s3://npm-registry-packages"}},"0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad":{"name":"@preply/video","version":"0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1408eb9d74c63f9b3449d4eba302cd6e7354cabc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad.tgz","fileCount":992,"integrity":"sha512-ek6vRWVXtZ2H9mlmwRJnmACfABmiTFsNfT0SC0hexlLxcFVqoQyOjJv/j8Gc1DYZa3hw8Wfpfn5NaJ05/9DkAQ==","signatures":[{"sig":"MEYCIQDWYtHaQW4nVBvzbGijiQloVAuIAnXN4KHn51hUsopzPgIhAI49uVGUNgdWM1XrtVlVq9wVS5LrK3YtikAWf3QqrWij","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21835854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQBS6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOmA/9ElNJUcDChoblubZoIvKJx9OhFxcVGsRQ80GBegR2+DBx+BJB\r\nOB3gm7v5Gyy7ML0PgrZ3siykMB1dbkFWwA5AS1zNGel7VerP0jQJUHxe10dN\r\n1xFFYrIYD5TBI1Nsv2cegoewpfCkIanvbzis4HZdiQMBli7rp7NY364PkrW8\r\npKQyeLBUdP1HwTPrgnzPGgVK0CTckS3BTfCjRHNmiQBKGLE2VJVqGNVWX/YS\r\nsBSN1TpLn6f9MwuyKOIUJLC48GVe/+AS9g+St8cYKdhgcWLq59F1vZkAhbSh\r\n/0LUsCfdRpCBQTt130YPiOBCCjI/KFt2PgRTiOolsLm/DfKTliEV/k2kqmJz\r\n/r8EEZjkrj+1szpvVYdV1vfun6h4GTYS8abCsFwI5ePmaSemRWHpIp/rUqXZ\r\nIOJ/dY3ML7uu/MUweULfJeWe1wZdbvjecSFKOGhnSoNSwp0e8nZj5H6+C8zN\r\nN07Q3iq9qHCM8pkOwXr23TjC9phNdDfk650zO0GdfZWb8sRxBjijtEeLzpgQ\r\n6bo4b04i782K720/Ho/URPjEQJC+ZtGRs76IW51GiwEH4UqrcqEqmFkrPfet\r\n8nznC4n4s/6yF+095RsNrqmEpmn1WVKhlFP6BCce6XhAXD1F0hK4Gvqw/99I\r\nAz4uiwpgZa41RdM7VbIJOYGGy02U+XW5sPQ=\r\n=ndcE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad_1665143994571_0.7740071701263613","host":"s3://npm-registry-packages"}},"19.17.0":{"name":"@preply/video","version":"19.17.0","author":"","license":"ISC","_id":"@preply/video@19.17.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9bb8dda2c99ce8a470c83b3b748c6a4f224a5b0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.0.tgz","fileCount":994,"integrity":"sha512-d4B+ZuFrdJsC5c7t+QeiU5uwSuArFCKpu2VJq3mHocY8JT0SKh/b2JDj57O8bNHuIlubBxZaLc95GleqTMH0pw==","signatures":[{"sig":"MEQCIE1FwglX7Z+X5VvB9DwTdzCxs8z9uuCey3a2qM1IdIPNAiAWZ97fkWUV+ennjCv+hGtPk8mlvc6mgz32wcycUdVAVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21865034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRR7sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQfw/9EXMxD4ge5lslLOJS/WuqorFJGSfMJ8aIIHf3xf3hT1GrfTyM\r\nknaCh/3CgkdzxoTfZCLPIzn7ekIQsHOVyBIsaQfgP7wf8RKAdhE9dBR9JiVJ\r\nKRBprtP9f7Q+JK+MMZ33qWy8IEpxL6M1VW/78GJVgchKjZo5Zh+THukucClj\r\nGT4x4cQZF849MXWjcEv6BilCz4QS3m5bir9sXP1z1v9WHG6USNAP3Z9qylPH\r\ndO1mCYuXIXxktnmR5XssHroVqHpcM6DEzfcHeC2bhqKszLWVVSC+wLRCEgJS\r\nTSyGlKFFRWRXUhA+SYhOhEK8cy8qGR8johGzqoxLf8mOq+tmzyt0P/rH0MM0\r\nmBEkfagSowCoUIr+tofiRkrGh51yS2bW1FKGhNw4SZhktOP36HwEzL6lhExz\r\nM8yqaVKusAHmDl/EHhg9IUDoGv3qcQkMDIvETx4ITSKLqdKOd2uPZAIZr/AQ\r\nJYi5rq2d/AXKXD85x78Lb+rYhAdwb5WW4mFRLgfANQd/6d2jnKg82mRbRxSF\r\nvkwzOL0TIBpEVkoMw+y4SjUIu7gMLTgBnZ1HBL0Uk3zvOpIBSxKwj1SRX6Q7\r\n3w3vNbT46qjjmDjtW18pLhUENa1XjLzfvcGWgdq8n0/ndlUNGwkGYUvLMh8D\r\nQg1IewZdN2xiIVmlDXQemR7NgZ5LsKjUt0E=\r\n=PDef\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.0_1665474283816_0.45981862487349834","host":"s3://npm-registry-packages"}},"0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2":{"name":"@preply/video","version":"0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d1c37e327f1b4798b05bab7d9a7e09b9015166ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2.tgz","fileCount":994,"integrity":"sha512-Vb0AifSvPRBSslfM9z3eTUII79kg1KjiNl3omE3f5rZhLrbfs1jzpmaqf2GpVtHzVpbfO1mvygWgOHpZG93QbA==","signatures":[{"sig":"MEYCIQD4Vcci2pQ0Gm48UyV0Ek9ejsfr3Vc9C/l9Z4NVHcrA0wIhALNTfnkp2HX/fDLWf4JICe0Czy8Vx3+QUS1m+o1OxVtz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21872466,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRTEcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmry3g/+Omx62wWVfCUJE+uqt/N64k2enndwE9Gc4C8R9FkIzYSCrha4\r\n6w3MeaYN46rpQNCSP27J4n2NxiczaBFtv2SwbssahQCOpmi3fh8xpLbPqhec\r\n3BMz2yUALODJZtFx1DorfpxJZqrppgWpkJ8rcOOrSmhPV1i+GbhRrDz04slI\r\niqhngHdX4BGSJxEtdyGHYuN0DfRQ+0eZ9sTGBPh8ZveLMxbVM/PMkw9RBz9e\r\nlazWxitBZaLpfnhIpnU0gMswHTzlKAEDU9oHaOPktBSJN5/Mq2o9WhpBL++v\r\nXW8cQtDFqIzdp81musaIt4AM57iYZVWU+iENENO8ndAUQnK5hXO2wXIrhpLP\r\nvg3wq6Wkn++lvnRfGegd7blNYwobgqxRATUW5KTnTGn50UE2y9PUT0FdbIGn\r\ntLDoLBUeLQRmPoLXCucMsi/af+ifGY4uy3eFjU2dUlJLDZX1GXvvLt7ArAPh\r\nETfYTs5l1BC7y4iIjC097aM0l8BtKjg2KHO3aqTOuYouodPm5eaRjJRxOW7v\r\nqUBOn3/WAqAe7sN8ULTtfgyg27KD1I5sAr/7LtTeimjt1EuH0wxnbETMf4TS\r\nphLErJ4TIgi8cQb5e2WDsX1JIk5rZdHtumA1YgBUNhDKH7PLXzCbx2hkLb8/\r\nU+YXOpsGggI6j04ZNfNGSdUeU9JB6iLUk+8=\r\n=JpYC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2_1665478940481_0.8513027194640341","host":"s3://npm-registry-packages"}},"0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71":{"name":"@preply/video","version":"0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ca25397fbdecac3a09cac0f00038c05e424b5a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71.tgz","fileCount":994,"integrity":"sha512-X3o2Oe71dxMP0i5RmVy8ACFMI9pJOyO1APDXOOzMeGCO0RO0nbt6zPSJ8vrfFbqIkFq4nwd+SVCrIwBkjY83QA==","signatures":[{"sig":"MEYCIQCU7/Vkhv1O6xPLCZlEM/un4F+U+H4ccVRDugAV/oaPywIhAMnf1EVPIUvpQMQQ8nKQ00iRkcPrw54/ztIPd5yzI0VQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21873321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRUuaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpmgw/9GpKJlPUG+/5qnL+URnILuCdVt6gKiE3/TCvR9dHRm9OlpubC\r\nnxaEBomumbKn4S59cfkL8ro4LLKAYq1lQU4G+C4883w5VMsOGU22JKi50sCt\r\nbdh4uxEiAsFc+V8HS8eSNE4bCKelSj4RuMfP2T6/9O1I2CDdTBGx8DONQnQ6\r\n8aWRglHS4ZXUe5onI03r28sGexhCzT6ad3eKPxGH1kuBG4h/259tLT9/h128\r\nVkLroSgP9/mWu7oSVw1rE4Jzsa3e4hJqbzD9dYf2G0akNEEU833vqZVZFNGn\r\n6dr2Ud39wqAoqqT3KoVaVlK+l2hNl6vkkfw0Vo6rhmj/xDR3gnwChMDVaKFY\r\nwaNP64/BNSDpHUd7LbgFIFly5Tua8f/sTWWJ+kNqH/+jW8NaICXcQ0SBGmol\r\ncnQWITBeUvScjF3HYnVo2oKaVcKg4WlcbKCLQVDPeV1D/KU5uyt342TgxehK\r\nSwwBRr3yHcCGP6p4K/1IwV/3yBmn7pgFxY8upQ54hEoGrpat9X02MlWeVq9s\r\nhcn7rFkrTHXhpS9ZW083d6+ur5/cggGHvCo+dldphuGZDZQSAQgQgXnrDhmh\r\nrFx57sbmIMNR18YGfwNoqWwzOIIMzP0Qq9iSU9uQ/DIteIzxI09hVkfvdBjJ\r\n+mF9WKFfJnHu+oyuoXLT5m5mZm6g2cAlNTo=\r\n=InBb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71_1665485722179_0.16115199035705507","host":"s3://npm-registry-packages"}},"0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94":{"name":"@preply/video","version":"0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1962a719e470bf58f3478c398963e86e7a724361","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94.tgz","fileCount":994,"integrity":"sha512-juIvw/ksVUdodD4vM6lPsHoWFj3E2jwuko5ANbymM8HyDrGnkYyteBkFPuc0M/S0wsd5rcnkHB7BqUIBZletcg==","signatures":[{"sig":"MEQCIFrSmWon2jFjGsBBmZ2OqceucefAtXO/dD7P5Zl0kEXiAiByWcTUzsEa9IagVJgtKFK0fINyKHi5bcJx4RnZzwxXzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21872736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRVMmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqf2w//RXOKvFi1ovU6Z+ybavPnookmQZ+VM5uaC5OqMvTYQa9MQtSu\r\n0Q0LmVLGJE36saNmjwJHzb1eBk180/Cob4t8GRcHYMK9d8WUixfOzqoUdcWl\r\npqSe0n/FCZDmYyNg+sw2N31MGOR+OfOFJLiX2hD7UgqE4ZDX7e6/93qe2SYD\r\nJ49boNISCW+FdjrGgKvED+qgJC7JnH5N0q9foTWPtUoVxQIpLAGF/dJaQXEq\r\nIA7RmwpJcsVhEHfjsG7QE5cA1S378NhhxdZOWH7NjxM7SHlD5AQ/R+BwqE/x\r\nqqfsXh8pgnFH8+IEKcaXLQr/9ToSg7FUZeumx6/RQisauM6TIYyLSgUAYX8z\r\nZlZKkmWaFl7N2ojg/GhMLGEvDpR2GxfoY/7ZhV6IPbdTOUvVNVr5oZ3YUMkX\r\n3NPtvoGr/Yf6R7KkiodBX2zgDxI3tg7q6zWKJqwHhbgyVxyMwl7o+FkpOa+x\r\nu7tLT8t629Xq6nJafHCPSGkvWNtrhJ/A5riqDkmLSxMtxsBWd2gALYVEbFXl\r\n2Oz4r6IgXRceDk6LMzzw1eUh9nYlBhaXd7gqg4U6PaakX6rHxPwScYM9xA0k\r\ntpIsxFMg16X9KqQUjl6JczZenx3N9xWGWTxPFzc2fgob8Om0/i+o/lm6aA4j\r\nIhi6ZcF3XbnTjPmHFFMvP2W4TEfBVyTLm7I=\r\n=zeeS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94_1665487654487_0.9738213089971899","host":"s3://npm-registry-packages"}},"0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b":{"name":"@preply/video","version":"0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"01f3ad0ab49c75b29ad79d6bb039a9b40e8cdd5c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b.tgz","fileCount":994,"integrity":"sha512-cimMT69wcO8QaYWvDljVODKV2my0PhdUmysTqMah685kDb681aiX2oSTMYK26B4+u2ZcIO3Fipbq91lPZzpisQ==","signatures":[{"sig":"MEUCIHA+yo6x2neRdYn7f+FjSZrKaJ/3UbIQfXBa7PziUrsGAiEAt3ohhuX0TpUiP1dpIcU0/fNcg+GEYHs10m52c/YYcsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21873006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRWcVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNQg//Sn16DLpVbmANrVmoUCdtjTp3fmF/Lhy53aLiJKx9HGYEPmmo\r\ngBROpQe56d0agD86v6m59ti/BlisCK0ZD9HbL21Ktfwr8cxMhAa73dB/3V12\r\n1Akiv+PwSqQryfSsq97RVsoEgMzXYMx9oTJkF6bVnTLPZP86o7JwTYMXbMFo\r\nbsgiD7Lco/Jaq85/mooGqbqVI2IhysuMGAXZcRBXX2X+fOOeYvo6WJsh7dJp\r\ni2ttr1Ul2F8PWkK2nVTBbTzl+FNPsRlQ7hif7NYPIcNv1WsikyDpzbg7JUxo\r\nXMax6SL6VKmkkrfJA7/cuKPsJNNkzwcoeEjOhdTbZmP8GdtSZYMeF6AZ7x6R\r\nps0xg0R65xsZ7zaxylafkTdbMokGewQDlOn4hbCscDOdMAqpPlmlvmDKbSk0\r\nxQs+v2KOII3arYrA+uIICAFBPoGnOMPUxcNB0d7C+7TccBpzWQnfUBg1DS14\r\nD041jffGqymlUq8RNAa20GBnAP9loirK4WUcNi4ZbPdhPNp3/x3iaklLiFiq\r\nGgxdQShpuCw8qNRSzIHEP0iI3SPnqxMnh/olhWr+InOJqqzLtYRtAMWbMuQG\r\nMOEVOW5csBR/FFgG5agNRUn+Le/WwRrSHOgRACzHlrRNTCPHHNhjEqGMOxU2\r\nWLQCgI/C6gzA+rNkJmvuQ+nH5uM1QQm55tY=\r\n=A/ww\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b_1665492756724_0.8903127541569751","host":"s3://npm-registry-packages"}},"19.17.1":{"name":"@preply/video","version":"19.17.1","author":"","license":"ISC","_id":"@preply/video@19.17.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53ea003f40c1c5f7af1e366c9b943de4ab1ee2d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.1.tgz","fileCount":994,"integrity":"sha512-1qO8EhFNdEMLj1dT2Zwwy23A4aHTYdj+TlINoAMaH2qGw9jyCJanzQ/tse8sOc5hqwCnzwo3AJqMQVXTi5WCzg==","signatures":[{"sig":"MEUCIQDOO4IC/GVE3lfNjCC1oYnP+kJ7XSU387cyvB3z7S8a/gIgAiD16U3xMHwS2iXdP5IjlS3u2vlyAHbgSY0oxSge+MA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21866295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRpy4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4gQ//X/yQG5Y67MSOF0trP8w7wE/TnOzP2vX7hq5kr5GHh+c7dtXS\r\nc9Hlk9BQkuIQIdPywlxkthTA+BtZSUp8u5QgLUy10jSZPBfyxzTXI4aMgajA\r\ng56o1zPduO5Eg0OjiWGxcnJV8V5CNDaEJDDTs2toI3Y1Le4KtLhCPVqV4TmF\r\nFYDThSKGkxS+XvZcU0L+sDNSANcfnHbYsQvTD3xG3QRrU9xUfxwsp8I+TWSg\r\nTVPCIv8+SWT4CaPBUhgbhmTW2kL1VNUh1C5NZF2QRaNGXLyPU4GScWXpkAQr\r\nacE3SB1m/Kh9qS3gkRVXtOtrAoZSdcVoCKL6F4NBO7HYb3HottIkyNYDGUTZ\r\nANcI9nnsiP8GHPeu0jps/y/aBjwrVohjI24zzhALhDwhNpZIvcy76bgwejlu\r\nRXJZZ0YHr0Id/yCBw2+OfqIRHK3Mgndz5ea8m0r1fcyfrNwtn36oE30DuHBX\r\nYU0XHF9aYjm210wDkbUvJOO3TJu6s4GKDKCEXB6o0ldOT0YJ4sDHcwox7ST5\r\nWXwIiUH4jb2LDOLUPH6tFMg0+Bff0AvSrS+VFcl/ptCEMafbelGaNX1DQuT+\r\npWkR9e+ZlePtPKqZsStlyOcL/LJWdFocKamzwzYH1DE6syRukLkx6PHCoZYR\r\nnUoM0w9U5tIRLo0XgT+i94xNz5Zah8jc6HQ=\r\n=0ceT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.1_1665572024147_0.3927820441344976","host":"s3://npm-registry-packages"}},"0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f":{"name":"@preply/video","version":"0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"749107bdaa7c58a4e28333077c600e90e153baeb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f.tgz","fileCount":994,"integrity":"sha512-NvGnMYoZMfSFLMMZzg1q7pXCGsvK479hInmso4jjKGgvsSoOG3ocbxfKy9X7I84fVLD4yhTW2h2aHvK6F0TeQQ==","signatures":[{"sig":"MEUCIQDFN/iMPtR9vMdNaP2essr91oy7g2xTUgUXM/2xq2scfwIgOrLQ+dCZA2N+KY4NEi6YPXYGZp4d+UFmXmuqLVZxgZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21868920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRs8GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnTg//a5s3BowGTYGkG3PolkDJeTVifWRXRXe0ln1jDxYlXhZk7mPF\r\naVtqxDi4ZHB0yITZwrvVCJ6JP6c6+UeV3W21eZk8N7YVXrSpnBYIifz0Uz+3\r\nTwEvtKv6m7cthBJbyLibCEf2jOGGXSx2bSg9hOIx+mnsKfhtJBS7H0S8liMC\r\nO/xvU0xhwgYUNWnuVafO/XhfCsMWsT2kikjnI9iA5fPszPB2a96iOAUw3pdY\r\nCSHAwW8b/qBPrbUQmZyjVCIcY0Yx2aLF5a8p9PWEn5baUpcfsCWX0tXyza0T\r\nZD7fI10g+V3SUcn1Z9TENf1w/AYYvND8IBfDoPzPglEbthRfkt2dzThY+ULt\r\npz/uBlSDFfxen4KFcDLybXEh0Ri64xZ+/R5EwOsBnete7kvkhhQVLdOBInJu\r\nK6v9qBFbK1kd0VtTqJ0JYMBgb0SRsNX3gN5LtXmLYf8J/7R2h4H/MbV9QNDC\r\nL5AhI/s0I5pmTj2xgrvZ9DnX5qOkw/OvyQX0N/dwARkX7zWaT0SCJpv103p4\r\n/3q8QXCnHvjKnkGbuee1c43D4omvApeYfmuoA9qOhtO4fJ1vJ4sC/pMtrwpa\r\n9FvFbE5IeHbvyuxDQ5sAV7I+RVJYGSyzIRTz96CwkeQ0lsijRov0Nx2+4OR8\r\nsgh8WEJHJCDqqgqSEt16Ca2pyQKvvOaDTB0=\r\n=0lf6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f_1665584902177_0.09737258645480606","host":"s3://npm-registry-packages"}},"0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c":{"name":"@preply/video","version":"0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6901d5db636e0eac20f18d3d2995a1a0c9b22942","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c.tgz","fileCount":994,"integrity":"sha512-TZcbnA/VAJeHMPDigHF31PbRqnsazJIh3Oc8fNIWct8Zlno74nmaueoAXjKuCC1EQLwv00+zyub2Tns8+gGUhw==","signatures":[{"sig":"MEYCIQDKyXkdjILj7Uorca6DitmfhJrv8GMIdVbIA1bRSD1aEwIhAMeqaVDGj+gto76vryMGi6OHFx/2io5kvdNvMjRwpUBR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21870030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRtxxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVxxAAhLG+fQ7eOMC1bQqn+6FMmk/C5NrVn5/VO8dkiEXh5DmaW/aZ\r\nC5xi/Favo/X401RA1uo2Cu620fwtfI1Njh9uvofNNB/H5jOoY3ogl4t5TuSI\r\nFqFQz1mKW0iCuxNJxQ4jjlkBdqjRb/+T0UkwEPHsMV7E0/JsK4wgRP7Dqim3\r\na9e4BTh3Nk3JEXwLPWoEUw/qxKlzXV+bnQMxnfW+wrzoFvN0uiIhbg2KRoVP\r\nKiQMIfTrBRU6WbmFg/Dxk/Mk0gn+TWc/BBcm6G2lKj2odP702BPZmK8HsR+E\r\ntyr8EIA7adFDI+uBDX4gjWho8e7wXlQ4F73amEYtxlbQOAEtXAr6wASJ6+ej\r\nXKfDtX567n2rpu2p9llWgZSTLCVxHcpj7CclfDryQZzVeAFIA7jdAoAUNysP\r\nNGMUVQQsEOvjXHubGVQY8xiWd6J7xAKsuVX1kCRtTnovXGdyy79eMEcNlaLv\r\nCmPU+iN0M+Mmegp/Wtt6etXjM72QnMwT84rTQwAKGyipX1TGWM8SbD6sQKpl\r\nVV98Y+2SXP/IhjO9hQ17Yzy7pXdUBJn/wsF7+HCdasmxyl2YVG/x/VA11HUu\r\nx5gbUqV6rsCxBJb0waihbF9SQgg7wYqp5k9nBF4lejB8KtDSovoWaJEOQOk1\r\n6iEvmdSUwSKsxjzqZlPGkwjInJkU1rQa9jQ=\r\n=vdtM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c_1665588336907_0.025597967120349452","host":"s3://npm-registry-packages"}},"0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689":{"name":"@preply/video","version":"0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1c9a3d952739eb72be10af773830b7b17c94bb80","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689.tgz","fileCount":994,"integrity":"sha512-HKtj1jHGlNWWJ3r30DoqepaGeQ3LS92+xUkroXPswkD3jF9CWLURS3F6h605IdETzDop/E4/vYWNFm5srgW6sQ==","signatures":[{"sig":"MEYCIQDmjiFVLk6PYaYERlQKNDbifzWSx65OtAwZz+kg43mGdQIhANFYMCnzrT/5Al8l3a/xK6ol7toAgQ+DC2GvwajmRPcu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21870015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRuTkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGpw/+KZkAZg0IKI5e2URcrwSM9fZ4BnxsTX3T+5nK3VyYfSwZJ1fc\r\n9L9jFZHNPxVL3pVi7d/qN2LdduwuNfZzpiMCfDQuG2VFFC2aoiYsAMjOps2O\r\nw/qEWfIj3/Fhtv7KbTHYJhpZ8P2TTcNWW73Pm0TIUNQTUiz7Uo5RL+CrGYc/\r\nvrDHyvHKFFAKnDUB3dH/8Br4jkaAlEZ4zI5ty9AQyuacSWc1f9jJiYIdtm1w\r\nF4wNdL9IbP9Zk8jN1aAEIWeg/v4FohDdJLr6pNVuJ6hpPX9xvmVfYf/bWYTu\r\nzrheJgFOxUYteRKQtnffsof5yuMWxwji2qnjyxD4W4Eug5EVzlbxoYdR45PN\r\ng5k/fBoqCLB2dodRyN1Jfw5RLSH73DOUJTtwXCw+SKNMe6ypBwy5nrVzRmdo\r\nv9gu0x7WHyNKWm0b6Yuyu4eFSS0czPX0TuMMQI7Bdh10qerCzS0T/sZcdQZ4\r\nvu11Pq5+BR0bafl9MpByxNuG00+7EUJklZDSsYomckD4iVVTaG72tAcoGxW6\r\nNYI4fhlKw/zO+fKJY9nsaEx3H3FK3OVlNhQDaJ0w5nV4ksskJk7lcscKS0t2\r\nujoEaY/8xE4BvuflJ6ul4Odf3LPyVc6WH26smrtWfa6Z66KNTXObH8ERPwR2\r\nyL/7h90Vi0Y7qJJLxzj2LR9uNRRzER5xxtE=\r\n=8UL/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689_1665590500061_0.8647213218462109","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290":{"name":"@preply/video","version":"0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a8081fa2545c65bb8bf230f9bbccddf6822c4295","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290.tgz","fileCount":994,"integrity":"sha512-xbMC9CIdTzONHSNCpeUTv1dkxXAZp3LHY3xKDXA7fIVOu1NuWMNctuqFFAViRlCx8RKtmSpXS1RMcaApnhWxBQ==","signatures":[{"sig":"MEUCIFregxhkMKzXC2yHZ8bnAKEPOEu6UwSeluwsEgSv3VTCAiEAjt3YE8vy9pN53cIvigHWBScANOZA/gWiElh3wzeZvIc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21870900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRvGLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbgA//Sl1frY443YSSMQ/Un9fS/bne09gjvsv9NMHr8I1pJh41T1a6\r\nFrOntESiX9fAd5uAhwjefC8d6P+2mPhrTu/id+HhRiEzu/QuZ60ZiqGdN/cB\r\ngcmrfh5pK8wGo+lsfDcXqz3O1J4AASktTR5VA0SWy+x3uciamdIEClunwAzP\r\n48RCXFFck4wosayak1Ico8xasxa6L8yeuuGBBmpbKddRj0WBwVFU0s4mPBmn\r\n8M7lBiIPsFM9kGFHhx8klM0SOMVNKNdqf8xeTzsCFcba5BaiNQdZRruc12x9\r\npQP63vFtHiGCdsaku8wiH2PsE0WxNyrAKmxbcIB2dDNYESTAQFGbRGMSRwhw\r\nu3ctpBhUjeRx/QUAQpbhsdzS3rpHuG5Z7i+5F244UeqRStHQLTTKBZ7Lwgth\r\nPusbGgd30h/XZzG5k0L55cp2wGWrL1+9SoJbJNivUMBxY2Dqr/AlcfuQhJr2\r\nqEacxn3g7ars7kakgP5laxf8Pe0liJtBjqN1X97X6mwKtEipk/mfzbRGts8Z\r\ng+XzrkzEwUrU5qfjs+iabDFvRepVE3TT8aEYu2skHG/ETYqS13xxx07vYRpb\r\nqmM58r3TVn9EAyOfQBRYDM1QyHiBtYGGdUhMP36pHqkA0q4X/rUukHE+QrvA\r\nYgsNxaBhwVukNyB0AXgRvySj6xQgBntQ0SM=\r\n=xVcc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290_1665593739554_0.5684121659098982","host":"s3://npm-registry-packages"}},"0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242":{"name":"@preply/video","version":"0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe57aa6c4c77200a0edc7bbc25010edc3d5efee2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242.tgz","fileCount":994,"integrity":"sha512-pc0pXUgoCh+yh1xe8lh917mmjPlaVjoWcPpLF4RKprFaxlFtaWFqmfDkoIwn8X6eUaILSRdHXcQ01kCDLQsgsw==","signatures":[{"sig":"MEQCIDUDJ1GUtsUXnuFV2hBXXL63kc8U5d1lgq398NhfSvNsAiBYR25Y30Pd0/1HIdJZ6K/A+t11RLrItu7Um3P0TXFsfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21869055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRwFgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7tA/+KHAgJqGZYBlnge3QNMmpdaUur27e83Glt9RkeHmFSn/vp1No\r\nFQBa05b0NQyeJdHPCFMn33ShaWne2NnZ2JsPbj4px8SkDdM+e4dUA0/ZnDUK\r\nofROzV+FF8aaDH0z8DFWrGrFHW4WW7QXV3rKjX0t4nMNyTGTeOVsyHYJv8D1\r\nmUEIM3ax1x1GZJnC5ha54HUcVRYu0q0Nr6J8nFX1esRK+ViE7w1Lgr8eZdQZ\r\n8e0lD/7KzfxaxqjPdAxHFL8qO3utw6txqEbdhMo4QbFlM85E6v1+H62NqgB8\r\nyc8dabihKIDYikUb7fOPzzdtQmuwfYAXmg+0dDu5IGdE6aTon7fcKa/hXERH\r\nDXFEptIqjaheLb6qdPuGr3HGyicIAQGxhKfGm2gW2zjwB0hVAL+95dBEHx4M\r\nTyZ63Dchz7B/COVIyIX73n5yTjZIq+wXgN2Ng/xsQ54hVsvxU8+xbUzh35sd\r\n72BsSqpnx6LpXiaAD9tBOXmAod9Ug0U9SDk+cBJcEKpJolqtixoJU6PdBWYg\r\nmOvHELsyNJ/b7EGwZdQQptTvCfRAmrN1Dh6qnu9F2x95qf8XU8FA86tEWq79\r\nZeeZAUM56Uf7bOQO1pUrZakknNmH1g3pkNjMLC06B16N+DOy2Egfz6Q2Ce9h\r\nDT1Hxf8h1B5uzB/lMQ03rdM0Z6oPUS/XzfY=\r\n=WD1r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242_1665597791546_0.34384912600936435","host":"s3://npm-registry-packages"}},"19.17.2":{"name":"@preply/video","version":"19.17.2","author":"","license":"ISC","_id":"@preply/video@19.17.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"46f6dc16afd0094639b392c199776a56f7cc5883","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.2.tgz","fileCount":994,"integrity":"sha512-5NiLk/CYkh254cEKTfWJtW0oXUDoIr9DIICNI1ySnffVhaxDm9XiSXOIF3PRCWZsPSHeFQhCCKeUgjtYdP+DLg==","signatures":[{"sig":"MEQCIAtJNWK+92SycbVJ6eE9wl+UKouOVn5AyRhXWZEv+p+1AiB+Rc9IivFOyPs8xYN2RJO7DyNqJ1b/RKHz7cZwnmV3SA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21867151,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRwtdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrh2g/+O+gMKqLYLueW01tcW018Yvthdl2hcvnVRxXt5VIrk6o96m/t\r\nDmCdHsqjTI7cRNxMPICOm7V+Y2KNRCOzlnspJj++DsdvyN65v4I6/0pouaPl\r\nSkYtjwb2YY6ICl+tpv6spn1I+Br68+DvH7X+CktGKdvnwEqkeS9qYOPIwcWM\r\na2nSdL8nGe+1PHvGlCD/C/iof/PbmEB92GJw7kJs4BZJfVPSssaf/2gSEedH\r\n4kKw7YTpk5aFGoCdwV01aJL2PH63onZhsaWR7ZEwO3U2ib1xNC6TbubyF0br\r\ncuvUiBjVFHSlrIYayrMdidbDWFXo5nqn8Q/wBXCU5Q9nL4wqzjpNUJcJPmC4\r\nGQjvTa11zAvikEvEFQwpkleL1c9+hsw9bonGLJHP/sZidQHecSvRJITjA4xE\r\nTMy1O2Al3+bh9MtQtohPHz/OeqZbo15F9sxlycdtKC+SRlJw8jdWiqu5Yz/m\r\n9qzSwmwCdCFvmEPqkjrOokS8ORDdotHvAia26Xykf1YbXtCJxTcHhhFIlUcf\r\nRy3UcTrG9+1IpylOu8q8Rkm8UkWk2qyJxExpGKXUuz0LL1lxQCsT5ngczxOv\r\nqiQdBJ5SVX5kEpCej9Bu1mNsu2265i2X1a+sZ11isVubZwZDZcvt+C7KIgoz\r\nCl67mI8ako/3bMIxu/Eef+GRoDt1umEIskA=\r\n=cHdc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.2_1665600348919_0.1145724780718469","host":"s3://npm-registry-packages"}},"0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0":{"name":"@preply/video","version":"0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"316deb9aa514528aa2bfdb18b709b2bf65600b56","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0.tgz","fileCount":994,"integrity":"sha512-69kUPyWFyLBwds/04ZoOz1olWn5Cu8vvZVO9ZbB9iIN1+Q8p+8VAhX4CG9GejQ6YVBTqRU/iaCVJZF0rNO3ytQ==","signatures":[{"sig":"MEQCIEA4xsmUEVRNEWCAJQI0Rm4gNZdJ1HUIESXUV9tNRx34AiBmlXqGv1ozjKOI2AIdYXFvS7yt5ZZ1oXiNtBXWxQkJvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21866295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR62aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMAQ//cICzbgiQdI03Mw2DDtorbgAARrh1ixWyET5gPbymzVhuYALQ\r\nQW90SuiL8Q9eUxX/KCFStBs5aPwCeFoyXkq2Y32IY9JxSEdZTFTmLuIOeP19\r\n6QU9VcvR9QkvBCBYPzO0RDWCRByRJYpsK+EGNjbMUfoqmjvSXyHDga6GMkKe\r\nkGkIRiS54AaCAA9GNj1SGuJjZ/JRB24BMvQaOb4NAfsl5vDtQmqdwQoqTPKI\r\niYnLBUcmQGHvBRAPVjgCD+RMpwLOwfOpHBRMYJjCgtUNHjoj2Q7KKstE71ZV\r\nl8YRG+2hsSpWjM0E4HV2aqoTLV2QoCDOIq4PbMgjmPdAErdtC+65OXEe/zAc\r\n5cYgGx8flUJQZ/Pf9rKQ+U0kTobRb9TEEhgs1nh2UNAikauV40I0Sz4HntvL\r\ndNKvTWH2x8PfK3rvcfQCUEHFFdn1SG8mTTNaeCM+LsNsRCft68B/BbrgJfY7\r\nviXa0Uocjn059GzjDDw7hOC5tjo+bzxPrlm93mz8gp5+rMtNpjmevws5/lB6\r\n6F6OJR6VIJ5N77NHcu6VhcFwGRxqKpIX6x82KFo9S+IHcTMsrtY5XDQDqA/y\r\nIKnFUncAWTWVlnSBcOaBIMFjHpKwDGUvZtJ1mDHO9zgmdR5bZVI8yUat6sIP\r\n8MZDlO7eWUlvd55zj8OcU+8S3BejIAuIyAA=\r\n=Tx/D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0_1665641882025_0.38318193667824496","host":"s3://npm-registry-packages"}},"19.17.3":{"name":"@preply/video","version":"19.17.3","author":"","license":"ISC","_id":"@preply/video@19.17.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5181a1d809cff7d007e980be234df4a9fce4ba72","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.3.tgz","fileCount":994,"integrity":"sha512-R2diXFYmQ6al9M0col0eXSa2ByInDCbUL34IdlFpr/rhUxFGH3PjX/BQ5oqkjbeoFqkkAkxqxHvVS+Inn8WbFQ==","signatures":[{"sig":"MEQCIHzzGaOk/K4fJIIZrflK9+T5nmG/hFkCcPxDgGNoglgGAiAcIW+iKqfetf06BIyx+rYJrn3hMbb6HHTcRSRivqXiCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21871051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR9EpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrhtA//aXxerMZ6hUWUFU50tCeiElpGbND+qKGwOrAJGpkNhyNH5n/A\r\nrRVLvPZ9gIBdUO6jxgVUB5UXvJBtseQ5baMsEzEwN1aUSf5Vitj6Vd5FbGTP\r\nEywRuzaueUpIcbY4POWMslti6090PkFlDIbiH3jvmQGSXBfId9LOIz4ziZF5\r\n5NkzYp/klYnA2YQEtsa5QwXPPyJ1NHOUTpMhNvLVVgUhBvnbgrZQOebjrsZn\r\nHEY53vqqgY13vgHkzZGZcifa97ueBxhyZZS1tRmQ5F1e2UA/7pFTvBt3Hrqm\r\neHwwpIGFG6ev+aq8iMPPVBljn9K1/q8GaO0WGHRoJ47G1GTFJswOj9hyaIak\r\nSnFc75Ykz0dnMmLZ4AP+cxdLnaC4zdwPqjk+I00IPSFgaXW3d6R9UKbqPro9\r\nbCMmm7Ylq8EMaHfAgkCGsbZFXT8akMMdz4efT9Kd8Lc507oSp5yYBRux0i26\r\nVfx6y8Yg3WDrjq9fnz5O6YC9toYRhDKtiIAv3gwlmMsLbmAR/7zObwP6/J+q\r\nfy+fiFfFQMUVqsFnHh880lc/xUYF2AMrCAzQGnWCE7alCDyeTO7aGAlMSUZc\r\n11/WjwWScHAx3wzt+ebtKZHiFvMjCRPDZ5dFDAUH0fsbjk1FIRK21gN9L8Jq\r\n+gyjoFEyKwyfQ/vfRyGwxu6Tqnwt8nWz+LY=\r\n=LWam\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.3_1665650984993_0.056185032894547904","host":"s3://npm-registry-packages"}},"0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d":{"name":"@preply/video","version":"0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33908b2b062650bc7d67a7d95e62666647889bc3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d.tgz","fileCount":994,"integrity":"sha512-9APEBhvA08apw9F547w6txvHUTcGtt90tBjsNjOy/13ib+zyHyh8JLM9hRcDTaSNyiD/c6IQvnitj4r34Ekw+g==","signatures":[{"sig":"MEYCIQCQJFI9iNtZ/KSWWK38fNW5keTs77qGroVZtVrmQqQcMgIhAOiBNU1RGPohOADWAPSmY0K22vxsf8m7lYSp+whf5U9v","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21873057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR94VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqy+g//bbHUbalasrsl4IDnXtkm6+AMp5EKLrco+atZbMglSb+1kFB0\r\nwYC85Kve+jZyt0+tk78MyEwCDl6Od1T4ueUWWcDSSaoXqJdrEYE0JZDdeWQW\r\nIA7cF8EnligBRpRWPOneC6w8OfyblE8F3NkRz7efaJyrbPfNcaR8SvC27Q+F\r\nI2pRS48FZjE8nBbAhnHKeIV3fo57ZxVANLNyJduJkGefdCpxgAO1REwZ4AKK\r\nh8Od++RSxfFutwKBCrkTZC11Q0gj2PfpMB2rfe76CjJJnywTGk7K9Gh2iAnJ\r\nDORT6/ivjR7VL/25EjB2P2j2nYEzksud9AJP/aAFBxDjtzBFBgNo5NcKayct\r\nsyGMoJrXmcplnoXDYjqqYoRhAtkIJ8nHknp4wgDA/84ma35IfY7PljNxIVF2\r\nJpWctKnpebsh430HUlwRsGw4+BG6wUXpiRqxu/B5Qn0aJIoMCRTZu/So6Q4e\r\nZ4FnEy6C+7XoN+BkJSrV+M1Zka2htKAuGMaAQZ8pD7NFDehBVIZ45RAyyaaJ\r\nEjUop2VW8bGanu4obylBgVTyvLl0+iw1cnAt+n6V77v4OUhK9hbJTsLyTuti\r\n3knJe4CRk39Yrbd6RN3Ma5hb8JuZL6ezUdSG7+P4q/MR++trTI9I6SZOh/VI\r\n+zrPiZ8CLM8y2Qm44Vse6BgcH6ztfyanbf0=\r\n=FR9o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d_1665654293442_0.49142682938485205","host":"s3://npm-registry-packages"}},"0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b":{"name":"@preply/video","version":"0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0ed61a61e39850c17025a6c0fe4afe804764368d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b.tgz","fileCount":994,"integrity":"sha512-7P0YTh1vdKIPDZW8vdeb7H2i6T20IzJcT1eAL8ehjb9nCY0E//5cta1ZC4V29tX2fsF3O/KfhNAf7X5Q5TDkcg==","signatures":[{"sig":"MEYCIQDiNwhFfYSydLXIA3qu7O4SVqecTKqBiO59NXqX2gFDbQIhANCfNJTDBHJz5z53CXDnKeAp44fq2t0sWog1N2O2roEr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21873057,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR/DoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpkyg//cy9WwZFFtU7HexVsBOdas4oNZXJQiRggrBSfhpyF/PYfr7SQ\r\n0n/VNHoM5oc1exzqkDePDHWV4V+zHWksjVW5KSQ7N8od96lBlLXT8BalI1Pm\r\naYS3hPP+BGnSvc2pLskFOlwoOz+1TvkBb9bQbyoPIFFCUIyrUZZjpLVGGlpQ\r\nAOxfmltyIg2SbOQL88Y8GigOdTh31fM0yYCoVZ8bwmfZHHmXmKKrBPoC5iS8\r\niJUBrMydOsp8pA5UCBmMOMqGuevE8cj3MpXZ2JPECIBZfIBs1yvohE7XMxg0\r\n3QeYhNEcPN5f4iqGn8NzAZGwo+h44AqEm8vOAnK4pDPuIAeY/SCZBGMon8Bz\r\nRAFpLvh6bdcmapYxB5Mj/0sExJPPu0YvBmH7PRkrRH/N+qKNgq8nmDo2JVvv\r\nYCmlVdW6ne3FiOG+qPZ1jkCWhuRDMsmVjm2KPdikeIWotvDRnKEPRVfoMUhB\r\n6rK/NSa0NE3Lbt63B3mjJh0tuTtYXsv3WJUwCw42jPPz4iD7N4vpgpObZd0B\r\nG2+zVt1W+KNn/PO3zTzlVYzm4dB5ly+ISqPp1d6yGtV/aqqrK00xFIizQXGn\r\nLu+BthnSpL2N8dMBzaJATPMouKCZe1BH67JgzaMZP4q1mbzqLEUJ04oWYMIa\r\ntmACk5c401E8kjvPV+ATryn8LkPzkRbXGvU=\r\n=+D9R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b_1665659111627_0.6283937348114377","host":"s3://npm-registry-packages"}},"19.17.4":{"name":"@preply/video","version":"19.17.4","author":"","license":"ISC","_id":"@preply/video@19.17.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2470ec532d22e1d2107ca0bfe9e923d4dfb5556a","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.4.tgz","fileCount":994,"integrity":"sha512-1wQP8xZqfljKXsnHqtgu5RvAJF3c16Dh0aQSOgRRBmrIN4GVP+PedSlhVhUULqnhjRiTLAnRpXiWU0iFKX3/Lg==","signatures":[{"sig":"MEUCIQDe++ZMG4v8/dCVmOKrGbSQ94HdwPzSeY/ZWpxs28yNKgIgMOwDaE0wcK43D6Td6iALgqJsJwKSgY+/EJSo7WOEdSs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21871153,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjR/PQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmou3g//dei0ToXf93VDSANPS7TVSgWGXqgOlqirnOWFE8fhjzdewnsN\r\nh9py4JtsytSA6CPHvaEyErTUfbZCCG9ZjqNV1m5z7+LNRlqmvAdtYQQqv1Kc\r\n/wUCfN9dJ337Herlme1Uk9Z+fnDfOWNdrITxLmxOIX9rm46HckaIMOrYD+L4\r\nuvr65SljJh+rLz2uALya1cc2UZom/Zz0n8Te5M2GKk8ITuFH2i6G8G69c7OD\r\nYmTRv8jTEkwef5u8QcW6rU34T9Tb5r/8k4RdZSn87QoTFqCajEC7y3756JRM\r\nUzBJ1OfIERFzIPVdaMe26NM123UwcTZ61CCFMWeOuCcrPIhI+lK0tj9tGK35\r\nqL/4EJRom/UDQ8wroLS97nBD4HnucuRp+um06v/TmAelUqxS7gwRmau2OfVP\r\nT8rr3mLCPtdJdEABo7vbuntck3CN+3JVc+9oimHA5/14EsFoZxBxdV76JhYc\r\nSCuVGAV8vYMzRIsFvsFGcUjrC0ukbfV+WP66om6qgWbZfXoEw+BChzvD2x+y\r\n2oP/9C0kciKjVtgbmeXfJ5P0fiigsOgnNwr4jcoYB8X+H72/62rLgGYVRYHn\r\n9VK/crHYYn2y2jjp2OxUFj7MBmuJb2tuYQSCj68J9O7dOOMI6M66l19P2s4Z\r\nc/r1qfJU/M2bsOLIWk7GCjKvnmeEIMTMkAY=\r\n=k/nd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.4_1665659855647_0.6992216641721469","host":"s3://npm-registry-packages"}},"0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e":{"name":"@preply/video","version":"0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"46d541056576bc01895492846b86a1db7c976a86","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e.tgz","fileCount":994,"integrity":"sha512-nk75MR3Buk4L30sd3voKlQDkua3epBW33IHQDzTiEBlBEZzikBdhwIJ+7ypl50O6SqfsVGvVKSg6xRv0dEFkCw==","signatures":[{"sig":"MEUCIE9yzvPIZih6EtAyPi6Ndc2jjtEDdP5ZYAXI4io2dCGgAiEAhQ48Jb2nfFWPHwiE4bpUgxWOzOssVOu3rQBotW9dhaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21871303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSDBqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcHA/+NomWG5HbdgnO/qhZ2loGQwEqvHzajPLX2QbPajNm7CDN4WEo\r\nm9GEsvwBU2PZGFo/s7iE5oIT9TAwE1cjBrPoY5c0zmxTvp0NJEB3LSCDqR9v\r\nOFXtLC5THwFuFWiurwh8bACNsNxUw2uDRR5eO4y9e5eUT8GguYX5nWInXqG+\r\n20/pENtMjHrt0CwkjDujTLYH1seKKWrz1V+ieDqOFcSz3W8rbKUdLx9jJXNq\r\n1OQ4k2QxI5GDBuqRgCDRF+ASerl8f0xhiVJ01/4LGKHEP1m7xw5D7IAp8yoZ\r\nyDS6gbQwM7pCTHh8tug8Dvmqt8om4BOOvZX2OHdfke0KwgXsz+PsKn5nzKyr\r\nSjNjMehYUYPBqzOkhBgal2qhIWPEcTQRZPdeKaiIFaqzAGF8uaPxzVr0nMQW\r\nu4pB+2XOypLL7JQylj41GH6t1CMnPAbIm6OVwJ76+4V3drnulok8eBSq6mRF\r\nF3xAbNIdxBVGqhUrvGfq6TXNKtzH5pRNleJdI6DRLnP6r2NMa6lRJ/0WAcu4\r\nU25iwxZ//+UPzYi/BCnhdvSXl2ZSrpMU/0eLYNRV653ErmWbDvBRL1XGHtkI\r\n6GDIrVaEMqR4OrZOxKuYZvPW+pscBc/Tx8gLpkLUzMsLLZrBUvExwz7R6mvO\r\nSxq6ulJJ5kERUgLtD7ESNzlqypk3FZVzIOk=\r\n=Rgb6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.43.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.43.2","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.43.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.43.2","@preply/ds-web-core":"0.43.2","@preply/ds-web-root":"0.43.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e_1665675370062_0.6247366684755891","host":"s3://npm-registry-packages"}},"0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2":{"name":"@preply/video","version":"0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bfab774e8a4c7d15a0581c14179134d2d8ebee18","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2.tgz","fileCount":994,"integrity":"sha512-vI1exHnwLlcwVF/jXC7KjBAfepM1jqaQofcnPwP+5PI82MpbbOPi+CmR2kAOYWeAmosbq4NRRRZQcpAnk70FPQ==","signatures":[{"sig":"MEYCIQCEm4yaRWoPo5cMUKNNPIKZXiAD97EY+0mYEfv20jooWwIhAMn3THrIr8QJWI9cfa5Q14btefBgoZJ++0gmXTgk6Iin","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21871303,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSFozACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLsA//b+6W5vFnkAI0JzlSiH5IutCU9szD/H+bNu0sdoeDechDfEmN\r\nx9pZKLy+pEphLZJMH14E5WyTBFyH0JlBEkPgzLNSQ6e5k4cGgB4KUTybWLRv\r\n6ajUbCFYsk87Mrd73IMo1o3vSWsrnhu9nJ89lpmzEo/0KdV33mVCHQfFkDCE\r\ntnJZW3RzKmiQh05ZachTzd24FXYw1Bx/hNfN6A2/kFsAUR0BnmkRkkjQkkIM\r\nyBRxYiU3z3FiEoAruGj6waLhu6CgO/OpGPcX+NFky/wG3ORdlVtlYW/X1HQp\r\nsmVxWXOlbfQ6ndle+QiKeFk7iL9J7WTzhNY9daQXnmINJ+hyh1FaoQTY5Th2\r\nRmzuyN9XG6WQBIQN2iV2uvpRhOs0sn7BXaJzXpiMnM8jKRPx4PLSxkZsf46U\r\ngM5szSEPOa5qhS8TEsNbbMJjq90G0FZniM49qQFNn/5VCNp3Mx2Dq3lPISkz\r\nTFqTNzp1PNTTONNlXnpxfYCx2BvJk4equcOpe35NzRoPpbjsX/k79sutr2J0\r\nnQPQuoWlZydajLBl0s1ZgqZkkqgJIUwRWHJHweXkWR2J9kYYoK+rnWK0t3ii\r\njm+2RNWTLvob+TdGY5UsePcJSQdP1WCiFgNZNXQS55UkUBp9cTR2P9HIODWu\r\nAc2aodiCJBp3XO8hM4i9n+BOppFEauQaFc8=\r\n=vjIY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2_1665686066704_0.1009770006077717","host":"s3://npm-registry-packages"}},"19.17.5":{"name":"@preply/video","version":"19.17.5","author":"","license":"ISC","_id":"@preply/video@19.17.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6fd70ff1ad63e3d3e6523689f488462fd49ab600","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.5.tgz","fileCount":994,"integrity":"sha512-masTWObnJGvjnQfFAygODMYIoUvrUiMjYIC+NoznyPNu63EFRfO4bdWvfIvfcdVq07K/ZnPM6pUTjOHVK0Gs7A==","signatures":[{"sig":"MEQCIAcU7JkI46Ws4I1UA2do1IvZ+Pi/H4/lPxgERqYSK8KcAiAvmr+v2uK96abIE0OF3knbJvY6E7va7LlSjVNawkIqzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21869566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjSUtQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodMhAAlytxReiPg/8Mw/jfATHd7l5Cu6Ozh/HOtzMJrXkL3bxm8rtn\r\nwvjgn8LVIKo2bl9s6Otcvmpcmxp9aYOovWj5+bgnoRdny6lOLLelKxIdpkdK\r\nuUMVU11YkVKF22OhaloqPG/c36ZaF+rzFF71g1p9JnCTJ8YemkeCuEB9764Y\r\nHfj7cSS+nDsc4qgXIrs0JwoLVYoqPqFfihFuBXgv13dlVdvOrKXecHegQRhL\r\n9YP1lynzwOHNCiHvMwpDRGhIKEDW0KUv+xWcXc6HFEWEENQ8892AqwIe2C4O\r\nTSU3WvNzC2UsdBpol0U0Iv28dpBJi+eVM5uVUCGredN8qNFgKYf4/GHqVN67\r\n0RBRhzYo732yINsQ77AW3RAuM40/GjZRcT3mBZhVDM4X3rA2ZVsZajv4syyU\r\nPtWeMuNIJ+jZzkEEvNJFIWAl0BKvoFcDKROKsEHVRcmIOLw0y8zK+8nmZy5K\r\nxP2TKLX3gcs1eULf39QTtMsSedyygk1WdL6ycX5HjBwdLrleM0PH496WCu83\r\no+LccVSQlNahauh41HuYFypLwzMRbmQyGRGmwwzruB9RNShBqzqAAengFx3C\r\nEgLSgcXHCD/Y2fI5HCJKjJyAPa7G3QazBMS/A07frMoe5pjdj8OMEffrKKNf\r\nrRCNSV5AfAHKnv9++qaypsLdfYhEEObtUZM=\r\n=cVyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.5_1665747790549_0.6617259163373272","host":"s3://npm-registry-packages"}},"19.17.6":{"name":"@preply/video","version":"19.17.6","author":"","license":"ISC","_id":"@preply/video@19.17.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc2d5fe2111beabc4c20b4ad7bb399adef5a402a","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.6.tgz","fileCount":994,"integrity":"sha512-3FNWIB/Vrqqfh1n+MEB3bOylvU1LUP7h3ZD0qLEePNU2QryMQrUP57B25yG4oZ+DvWIBnEi3gM/XVHPicDII7Q==","signatures":[{"sig":"MEQCICt/Fa5Avw2q7DeAO6csVheqKTPWV7umrgfSuKo5kjrAAiBSdwM3qpWL6J2VrZyUI0iFQjEloucyhf3yPbf259O0mQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21871115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjS7lkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/GQ//ZPn9y6+BLuzdE/E1fb/iijLFKfyHyYbzLwpktD6vCtcVdJdV\r\nirQ0xgxhxFReHYrnYp2U2xs9K79V1lbTE8k4bD0J4eCwOdqTgw9wr6qJSMP5\r\n9d5ul+YF8bUwL/LaFqUy2dmZrc0UPhW0FHZkZKhEE4THYpMriHRaRIKInINy\r\nCFqLlDJaI8OIdh94dzWoyHEC23nTsIwTq2+OooIPh9oZ2poWMygii6eaYzr3\r\ntcQ2vS4mB3aoektPSRxUQNGagjtu+pOxvm/4CBGiC0uYvmCCVYuQibrYUtUM\r\nD6qALUxhaBavgdRru20p/X8jpv+sGOFqk+s5adHk3gTViE+Y/2j5r1vYhNnk\r\nCyEEs2b+zA9Lme5iBkaDMIw8ZS2MGzTrLYpk2JMvrHaJQuRm9Wms4KZO2aoo\r\nvuryY0ptcrnuo0uVTX7DTdSGHsmVgaLyzWgbmZsgZJx3EccVupo5uBavjpUU\r\nkHcHWIsFm73afAyTIthiYjxcIl6SwDgL0llysu61UH24LjWGhCOya60njnxw\r\nn8b7q+8oqTCd0CPyeM8tX5+caIsKj40mTfCCAKF/OUf8J/EYyxVbdYIYLyTa\r\nuGf2ouw3F9oXYZVoRDZx8rr84xadIrvsrm42DMwzZG1w/otL1zIjHeeIZkGO\r\nz3pwRq7uQsepcMex+0tuKEjOvKTFFNb+iWI=\r\n=hgRk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.6_1665907044515_0.7190702636235817","host":"s3://npm-registry-packages"}},"0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168":{"name":"@preply/video","version":"0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c00b1312c0882733eecd32321301593f2cbfea0a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168.tgz","fileCount":994,"integrity":"sha512-F+rfxYvnRHlrQ2uv8y8uMW9Nu07lPjAhj82I0mPIRhxHS+HSdwIiLC/FBx3qDB4SrfcrKEQo6cp4/4Mabnsq4g==","signatures":[{"sig":"MEUCIQCtmBpLfwHqZPjCHLUZ9131B8hKoNgkDdwNW1O52yZxCgIgFrWk3H2ZdtvVduipVrxWAHBGwFM7i8SnIFORCwCThe8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21881777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUkbyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1NhAAh6+svhkx0zdXSTyqKZS/YrdsNfco2hLoME6Jm+tJhuJztrbq\r\npS5Ec4juCYCCFwGdFbpQjOh2YewLIU51NGIKWWSs1PGUQregO6Fjk40yxIpU\r\n1bU2kETz3dcbYJE7g9f99UJJBw5m3X8iUGafPs9T2jhGCIwOFpYhrqVyb8kl\r\nP/f0cy77lxl1Nf5CdqWcYQ3rSsa7orDHtO6XDIxvZrVNS/n5nBhqeiqcj+rH\r\nrclhOTtjMYBY5z3Qp4f1EfLiL+L5tUYgMXPTkANocquY8h3nAcl922PTLfcQ\r\nrixZ2KVDWdhe1Ve4LcIxE2zJrf+crV75mumIaY6FCP831xJBuvWY5H0ecnBc\r\n2/qy5+Ad1a7M03tZ5AREPKYj/tUp8LB+fG2pM4FCStbgPM8hy6XPV0DTC0ii\r\n109pnqDlttdLg5+a1sANNN+j9FY8FmuZ6htMQh5DMinRP/9VV07LlHwYvHw/\r\nA+cm14DTQlEM6SRwrXEv05FksgmkUWj+CSl+RqS2uzbi79q9ng2uhGOGsQCJ\r\nlDl4gscgza5qqEvPrRjaaAUE1Rd/6TolHBHZULttEMch8iy8UOo0qxmtWD8q\r\n0fj5Gq7/hLbMG6nQcjOuhoK+RQlgprQw5ty+YTv8I7qRKMluiLjeaaZifINY\r\nFRLbMK/KSp1HlOq2MDG3Ouo65PJBCCzUVJ0=\r\n=76wj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168_1666336497825_0.06685413684641639","host":"s3://npm-registry-packages"}},"19.17.7":{"name":"@preply/video","version":"19.17.7","author":"","license":"ISC","_id":"@preply/video@19.17.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7109b970b8d8794568797ecb6bcdcb61766dc143","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.7.tgz","fileCount":994,"integrity":"sha512-UDXQtuu2SrpYZn92WqdixJtmi2ZPvO0JY/nLRPMSdfF0Qo38DNtcr8yH24erHe451+QgANSSnPf9lQy24h3/Ug==","signatures":[{"sig":"MEUCIAD7t1epcd2CTLD4kzwyMXyIMB/T26lWyQp1XaT3umGOAiEAmFothE7vSRDJrL5Bxdm9LYvPmcD3S3JYySjXXx9mIWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21880120,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUlK6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLCA/+MakN5CwkazstPz7fKfsi3S0QsHmPhrY0iv46f0ZrXY9qTSZN\r\nTMNXKnvjoCCGW158pg7WfUzzBIls4J/GDUXphydX4GracG4DwFKRbq4RPSC2\r\nY4XU7f3cAWT6KLhN9rICBOJS4TBp/wX/N8ZFgM4izreqMIxzOdfZo0/nm7CO\r\nxgUK+cgd03jPFc2j605VRoUNw97yryN5NIkq65Gfg46ULLUOGuvfQTIOLPHC\r\nxWGpNKE/gRTQgfwuyU3Guu3SE5ebS+SrsVK+dnUqZ/3RQ2sAY9AQcs/HfP7E\r\nGCEpvRl44qsYTCSqR8DlxM57sltGke8UCk7IwCE8L5vmYkyUNrvnj8fqO5L3\r\n6uFj1BnW0SSfgE9L+rqF/AkPEakQ/wQGxfWugP6HJ73pM7PONjC2aFy+HhDc\r\nS6+DDgCwbuJDRHYfl9Ff2bK/e8PdHOJw5zYt334lgdgTmL1Rj+RVPRER7laV\r\nXaxBBOHLT1RJbftckIMHuGaWKbVJa7qma97088wkyPfPGhseqDW+K77hTaFA\r\neaMHe4FG+seP20yghwcgfW9lKTebsL9KC0GDk7Zazq7aBlP0RyZbS2opxPpu\r\neBCOgB3GY35kt82BBfRXpaSp9QgD5G8PH7y4eOcPIQeyrF4ulonuCaUrRXpj\r\ntu/cnjG9JmtRN+Y9PYFylK8UAD8Jq5qDj6E=\r\n=ebWh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.44.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.44.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.44.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.44.0","@preply/ds-web-core":"0.44.0","@preply/ds-web-root":"0.44.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.7_1666339514545_0.24127030418899253","host":"s3://npm-registry-packages"}},"0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f":{"name":"@preply/video","version":"0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b1091c9a7ad74ac2944af56582f7c9702e9bcbe2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f.tgz","fileCount":994,"integrity":"sha512-35w78/x3vhwuPatF913dXmAM98OzTfFHN+eWfEKTuATLIEQfmD9TWxEIoJILXenQyevJuUoZ1bvgOQGHVONvZw==","signatures":[{"sig":"MEQCIFxHPRDdhINU5s59YuQnwkABjBxhcT872fdrgEatltXzAiB8AcC4eeHaSET+JWCy/zhXkzxnOIzSR3oIIkntE15OZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21884417,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVj9KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIvQ/+JKZn3QSjU04HPNSbloyf9s1uCBQTTQodAv3BQ6pMORQfM8nL\r\nIAnyVRb/Ig1SFvf389D4cDQGHBB7Pxrkwue5xG5kBv2fkkkgXLp1XDiPyy2m\r\nxneXxo8JmQNv9dzsB64+e04RvFtJRV5A9rP9wdjvt00Kk0hACj16TvHvmE1I\r\nnajDt3bSRha4RMAD/cTvTIFlNKujI1EZxkvWepShIJSQBuApDoK3zXp1xstC\r\nwMG7XYYsR7BQJQnIrM7KbBCw/aqoYp9RYnZfWLXtygHbUAmc7/LGXOOYwiT7\r\nsmNrgsnupTjE+xdOz1SGWsox4Bz9sIWuQP8WwE7uvT2RcLFYK2K0F+wVvLph\r\n7jo1BWNbJ/O6Wx/QhZwSgmZ6GOgvdBtyJx6QKGk8Af5ResgDI+TcndMsbcpN\r\nTg8DFrHsMSbD1rPXwUAyphvp2yhCHaePNC8AQ9K5KPbtxUdVLwf67CTd7Vdr\r\nfpOkpv718hvBgx32mnOVsDpeitorVnr4cgIe6Ha9lhfOJdO7sCUdDH27rk6S\r\nSz+M/2sV07UQJwo0V/YNS1veJ6oDW4rwBHivpkzoTjQyYcXOf7vt0W0PkpIc\r\n5vebh3Lq9sYaxit5eToHHBFuKGDWtxYLP76HDgSy33Iw/tYIUUBKkEeUo6aS\r\nVj0EnQLVmkL1azQPBwxKYZKniBmTOrzSGoM=\r\n=mDlz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n1. Please, don't mix local imports and lib imports so as to avoid mental load\n    Example:\n    **Bad:**\n    ```\n        import React from 'react';\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { FormattedMessage } from 'react-intl';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n    **Good:**\n    ```\n        import React from 'react';\n        import { FormattedMessage } from 'react-intl';\n\n        import { useSomeHook } from '../../../helpers/hooks/useSomeHook';\n        import { getSomeHelper } from '../../../helpers';\n    ```\n2. Please, use variables from `@preply/ui` or from `colorsEdu` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: ${font.sizes.l};\n        color: ${colors.p.blue};\n        padding: ${spaces.ms};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for renovate PR(It looks like `Update dependency @preply/video to `)\n4. Wait for renovate [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Renovate bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f_1666596682460_0.5107604182371743","host":"s3://npm-registry-packages"}},"19.17.8":{"name":"@preply/video","version":"19.17.8","author":"","license":"ISC","_id":"@preply/video@19.17.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"67cf392c69054c5e7e79bc4e6339b18c7e6232b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.8.tgz","fileCount":994,"integrity":"sha512-Pu3ZMQpKxvwMwNBk1/x3nYAd+kS4OHsXZOG7tCMmgFjdxK4g23RwJ77gtCXCNlJbPAucG+NFvmWgQ2Rtykt1Kw==","signatures":[{"sig":"MEQCID2z9F68Jnj43CwCtx39TCCqwQ59Gi1+Kv08+nuf+3s/AiB8DOZplucwRoPS/AoaLC63SrH9n5cdPqESKZjZCgS5RQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21880741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVkRxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRQw//Xwmkjw8Uash8hNS9PXqXSToK2y65RUKknAqmy5mMQI+TpIh8\r\ne60OwmaN3FxNWM3wk8i3KbofOuIYAJXY/ubh4/6gwGKXo9flH/i0CPEytDGV\r\ncuDm4/7fpsW6KlMLjdHZfRaleZSfCgNDdCJFE+eL6mPsmmgO02avlvC0j+2N\r\nuUb0whCqtsUW0eSrAOMOWFvsPU2ZqwiRJG8Tgz2z/NheozuOg0fmpHA87aMQ\r\nwMQQiwszsKPQOm/qnjjhMBfbDUjwqFbwJ1Nl85nzNrY/dFelmHAiFV2Rhi7H\r\nibjnGQRCL1yGbaSqraRd0RT2UzY1F9b0blamz16OUl2eVZYvsx1L6t6J69Ma\r\nhGJ2UyOwEqhtADcTVVxR6zW2pE9kw83YOOsMaG5uxtzdnsPjiC8x+3gzH8DP\r\nmT4aP+A72P7pY2SKx7wh3xWpaPI5MGOMNMkLGOc+iemxfXysWeYulFfmVuFu\r\nSKl7CeFiTH79kBnUb1FZmrhQIbiwZAC5MNjqZhhkOdqRsji7P5UtE4DKyHdc\r\nRJY9ujKoGhNjTt0V6s+/uRG4aYYnoldV9eS89SgAImJZrMPZW+M5cTK01Wdh\r\nreTPN2cyb5T8efOoTna6uUv2SmWTR4RoZKmCTxjgEQ2I+g3YcEId8HN4xeCk\r\nnH/b+OjoVSih/Kjbth9kSPH+p+Gyspxtrzg=\r\n=AUsj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.8_1666598000990_0.22099257650252957","host":"s3://npm-registry-packages"}},"19.17.9":{"name":"@preply/video","version":"19.17.9","author":"","license":"ISC","_id":"@preply/video@19.17.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"385f8cd4744e0f4c4861cd36707963b6fe2ca2ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.9.tgz","fileCount":994,"integrity":"sha512-vZoi8Zquceli7atzAT1LES5496R/xXmjpcToPrdcPEgP+yE4qU8EPhiW8tS0Z/IWI8LG60YGoCO/UPOQT2cWLw==","signatures":[{"sig":"MEYCIQCDDKNvepBhYBFZZjbVSXgPCnrYHl+0TaXlgO6JhZwSuwIhAN4V8P37H1vnE2uc8u2gvgkR41LnQoz3oc4miI+dmxvD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21880621,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVlqzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLvw/+IAA1EQ7InvCImudcLle2bWdJk+UrKdVxZSyJnpxKCmP6Xp7E\r\nh/nAHM9VHepPZlkwHEjm9VObejK5QkyBHAyCrP0bQsgh1GHPqOpjG5NkvxAI\r\nudvm8bOr1MnXsoCjV1sDgYRGA5ZHardMgBCPNVsRB7DZQiUntjPBi0c2Kjan\r\nYWlwlPoZGrO2kifaGBBasOhNBNcq52sslbxsV7T4Oae8ZaHT/bH2r6PcIDML\r\nCClKLUXHZJUl1FCM1lZLKbKQlYNseAUjofQF4rb0VnklL6ijzH56P+Zdcio/\r\nIb5AbNZm8pNXhqh3MOIuCZHtVhcXUL6RbsGNp+j8i/OWi2ST2poG1qS0ttjV\r\nbnrHxWeG7dpjuc7KpIODFlIied9c7ZR84ut++vuC7H4GNrd/TiBmRJAJbPGq\r\nrvWS6QmTLlsNGdtZSN2OKzoRQskv56S2rBwdSJA5lYWDSAPCFF3FkWXKwZVi\r\nVSkna5OAfQgYk8HPpK7bvp4uRHiM9I/cDmWBYbpdbo5DHPgjpiHpAk1rEa9/\r\nN7YGpoC5k8Dlxs5TxBuL0hwCLSdPI+b94cie/qcZmKBRQMhDRTq591LOyPGD\r\nRKQ+BgUzpc8LhOk2hPAv2cypZiEptdzSs8/bLdGDS84JIVk7eVkbtHnC4Hsg\r\nAS+8SIoWA2wpI+hGK2xYWz/RaA28Fr/aLa4=\r\n=5Oeu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"eslint --ext .jsx,.js src/ --ignore-pattern src/3rd-party-scripts/**/*.js","lint:ts":"tslint --config ./tslint.json --project ./tsconfig.json","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"eslint --ext .jsx,.js src/ --fix","lint:ts:fix":"tslint --config ./tslint.json --project ./tsconfig.json --fix","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["eslint --fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","tslint":"^5.20.1","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","@preply/lint-configs":"2.1.0","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","tslint-config-airbnb":"^5.11.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.9_1666603699119_0.8875935307163532","host":"s3://npm-registry-packages"}},"19.17.10":{"name":"@preply/video","version":"19.17.10","author":"","license":"ISC","_id":"@preply/video@19.17.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a508f8035fe61fc026c866c04845447753022038","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.10.tgz","fileCount":994,"integrity":"sha512-ctfY0CZchI9u9DBgoNNoJTG3K8ftXXCJXGcrZdGvCr67uwGAh/1bYtkwsiv+DO51UG/XgUvRd/MXfAUSaXfgJw==","signatures":[{"sig":"MEQCIAnlLeQ9dZmYaLtqgbu7Rx0I48vEgnMm6TmliLFnzcLPAiBamHej01UGV0kjCRie5kfx1ETnYatautf1NRN7bai6bQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21880432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVoIGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSZQ//UC7Tzf/hDf7aK6QYHyanJ8XSUYJKh50+xOpy32+i4C2TQFo3\r\nbtMGctgYGhm/1emG/TJfdOJdzhy2NyZLH3M6PFzhBk3X9e0dnD0CXy979K7T\r\n8kmfVtj8i9ZipMhivCGavO32dFyn8cMfqdOA4zlUDwrYiXkkH0wLHdoBcult\r\nMvZEMug94pDCwdm0b0JzB0KvhJoXbmi1FKTLnNddFxbvGFpiAkzqcSfjfHLI\r\nZLlyVjfZCybRLUqzyLvgx6HTgaNq+X6hCZAL0GSi7JgRuM+bv8Ohmf/4jJAZ\r\n6JXGiuiYqCm6Hsy2dyuNlpwR9hDgVlcw+/wnn9N7JXCKJMNHReKfGgPx4z4o\r\nqKPlLO+TyecthVu5NYzjVdoXU299jUhzbQil/7oqlEieUrHRpRt6/jeB3coR\r\nmUbXB3OMaYGYYeoLgiGlFgexc1tAe1M337isX+LTxRjlryGhLXbkjHowHPz0\r\nGpi2jHdZ31gRRvRSiGbZM9T9/6/0zyiHmX8J8+jJMYBix2uRp+onyLTuz5qH\r\nmfxmpd0P9KOGnO+cGwyo9rkJ53eRGr9rrBRfDgF1tpYiJonJrh7HTz8kF/jQ\r\nGHtvwTfGaxc2KMJUQljcK0nnWIxGTDGpcZJH7mlBgYsWzWiwCDavJuYAfIk+\r\n/2FVwKmBd/AfiqOtnYEKTX5Em380+q/BfqY=\r\n=6Dat\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.10_1666613766023_0.30982509934159785","host":"s3://npm-registry-packages"}},"0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce":{"name":"@preply/video","version":"0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fec1f7208590f20aa00b015564e14605644eb568","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce.tgz","fileCount":994,"integrity":"sha512-+SQS48u8vvvoiOLSQVkh4WBJ5GgLWDOSJWi9PxQ0nC4KswJngiw0WZmQhpdXqJEM/kFU03NjuIWAWnQdvHX4qw==","signatures":[{"sig":"MEQCIBR65pt+FYgXOUt9hwJhKTLW8y3wx4B0GF8R1rp3Jv0qAiBZY72M7TPE7jYB/VqqOZv26QnbqBPKpVZI50YOeQLy0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21878735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVo1lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqbKhAAnhERYkoU6TaUDi3jaJtRv1Toh026LUuhpbup4H9/d0R+BRUD\r\nfuYk8quVY7VVVRtgY7FjPm2mmaTUmqdhJZ4F/QVTJGzXE6D19dpGk/nqLX++\r\nVv5MRxm6K5z256lDLP4V9pRR92bJPZGd7UiK0NZe31K/uC7mtwA2yPjD8nr3\r\nUTMdNom9RgrkSeYIWQGIdnVOeE0fddaz/3JxYcMmxePWgywQn5Uf2ImPkJrF\r\n1r1dGoKjPmTMCDAPORaax0qpUchkYP28rA8v3TsGFAV7YgclGcAkYI51pMIS\r\nbCJWbOw3ounHiMWgqkeByXAeBq/cc1jbL/kCob75bla8/r+g9iZFUkCfLB43\r\nBi69PIDgVRosaLkkYaO2TcjAKoM+VzRHvC8dr0CKE4lUDyVg42Szy6SM4M/w\r\nINFHEwYqcO3NNBGNoU+eD8D6iG1iqIgzuj8DXcCJnLBCgZo1bBMM56+ivacD\r\nfeNfimL6fCou1MaQuei7hkI9QgnGtljF0Xl4ASp/77EtsJYRrmR+WJE6com+\r\nU2SrFyziqcRAJA3ggggMdC0b4ZaC4hZSepGZlLeTwbpGtvF/7pFFvFHOKisP\r\nSdQQ7caU4WMw/M+aKhi3GpEZpXrE8ZaJc7hhUVFvHuScJBJvIi+bVBbKn3Fg\r\n9nfU9SorttZ0WYVmGpYca3H9PCXNkAtDh60=\r\n=Nbec\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce_1666616677308_0.3660735196747422","host":"s3://npm-registry-packages"}},"0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a":{"name":"@preply/video","version":"0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7fa277f1ee1d9035a6ac42beba56ded36b74ca48","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a.tgz","fileCount":994,"integrity":"sha512-cALx9fUZVKReJKpT5Nhd0CfNkeHzcsRF+D7vU3IROu2l7qdoLfQJ9625GsRJ3N+nhIfxJj/LEZHX2FUNi5U5mA==","signatures":[{"sig":"MEUCIHZa0Lcu9RwJFGsJrMVoYvMkgw1B9DIWTzPCMbKjRXUtAiEAgL9U2tJqEGnC8uMHDVg0XmcTqb+ijo3+ZE19RWXw0gg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21881540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVqVCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAYA//TFEox0D6fWDxpYjLUIfBC/jxRVvyplYUYm5prvjz215dMJcz\r\n5MclISgeaq2EixpWefkDI6gb1QHXI6tBw+vEYWmhECi7nzPfld6jjAk/JcXt\r\nXz5DeNuF+f0m+b9fBlpgc1jHcCFRY6JmG9z8T3QB6GPXwpZydtijMRMYrPY+\r\nQ8ygBdcdJbU9JzhX8VFMiMZ/elT9odA+tciaCt90WKKk+nBF+DRvDI3WuNZg\r\nlkXu8ohieyQcZNBFM8Kqsxruji94amydns8q4UMx+ozL48kjdqRvHOuhy6xt\r\nVgy2GxFdlaxKXnWjBd6OlqbhkKXg8su3UxyEB15jOC00S+apU+9/YBFF0DG6\r\nmYkdNxacv90SjrK5N8dPlLlPdHPfCksf7NMtV0ILXYvvFlBqPyK/f8eoi5Fe\r\nnCfW4YdUTVV0ImvKI9IsR9RR6YqGwOPp+W/CtdenMiasOXXXSO9pmUv5Czg9\r\nXeJTIqn8GdVftO+xnC6MNJNmUH2UIGSa4FOCWfpq7tW5zbJNIj1XUIbA4UOd\r\ncKy2tZJulgVaGuQqohm1TifWJY5Mg05PIQz/Sm7iV9FwhXnOFCGq1Etk3nTX\r\nt4tSxmnIB5IUy2JS4KuM0QNi0MRd9aYcfCxMKaUJGpHQ7dd7QDz6szgPq0ir\r\nn8Rf/mqyNhBkUIDrAk45EX7fLYeDonMAQZM=\r\n=9l9n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a_1666622786475_0.8269388866522946","host":"s3://npm-registry-packages"}},"0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e":{"name":"@preply/video","version":"0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6f6891c961866a587c6b9e6f8309a0085870d749","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e.tgz","fileCount":994,"integrity":"sha512-s/wNhzRxLQG4tAH+WDKifUlO+yyRJNgb07hRMARiXZTfObgYIWCODBFgPUmnWLe2FG8a4ohNZt2slqc9U8P4pQ==","signatures":[{"sig":"MEQCIBVVBuP2q+OWR+vnlBlqNbgEzfPZn6PmpiMAF1ZNsYGtAiBZq71/8eNdodVpIYhbcX2TMGtvllAfHisc4iWLN5wgWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21875390,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVrCPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZtxAAi2KAPUs+0SwH7RrB8yxNu25cZEM4InE+/MWQ/qRqnBRXHXL+\r\nljdxp81CcKKOl7xEwRY+EwNWBKWOE+tXX8d8lBNGNkaq6Uce3HAAbdumeqG2\r\nroC3JW+H4WGeYfFyjj3plMPHpMaU/zb6UQQHw97bB1s1Ccn+QSQQUJ/12c8H\r\nuaw08M+zwHUwM6s3TORgG7ZwnPoXkCyy4ix7sueRLiYBkHTX/jrvIjUx5cfH\r\ncsN6Z02Qw1+0MV84va9/e0ao+BaEbKKMaY2Wr3XG3uacHJU+l25gIf7yirnE\r\nPpl7LXn/BTzsM5uVlwfGsssJYO+RWP29vvuQhGKCFVE+GCX3TQnRb0w1GYaS\r\n3jI1rqB3k0miS58dw8G9SvCIkiWSAKkDVs+g1pG7xRd29vFO6gJmyihg7hA2\r\nsVOfWbDUwU6jnXpG94fI4qnXM7B74ISAEMxf1dhprTFKkhjJsasGcEKpREia\r\n1+yDw0mUylVy9efExT8vjf7GVgMbxzSgsOSWU689JL1/uUZXpdxh64IObr1T\r\nFKh3WsBAwhfmKk9s/EbxFyhjB3gqHfojnTN8NSY//X10qfXjrDBujFfKHNXA\r\ng+uMggjp6WldJb7vFm/X5IB/zxQjsl9BHqAJcGqh4bNdjcwcHndllvcOftoA\r\nW7pwosS19KbYzg9POi/yay7tXbZPL0F7Te8=\r\n=7ck4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e_1666625678527_0.9754848765099937","host":"s3://npm-registry-packages"}},"0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0":{"name":"@preply/video","version":"0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e4a3293f0b31d3faee05f8540d38b99b94891a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0.tgz","fileCount":994,"integrity":"sha512-c3AyBcDtCW4x8HvVISPTITahrpBalAdMx7QWfY67WUgrtRKHh4SJ+e2uRhrkVhQfimwa/Xu5c2B0ptYuSrkWyQ==","signatures":[{"sig":"MEQCIFGoCKIGmmcB1P/oI7mBia86eZ5dW3N6Pchu6TBitHk/AiAxQgxmJIG1PSA9wYHuxXGYDrDLFgKIm6nJgwum35fTIQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21879245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVsecACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryaA//SIey1WlmF76CzPjP0fIWXwLgaEi+bhoWbw2CQAh3wWf73pt+\r\n7KpB3AA6tuwXzLZKWAXru4ALqQ3fB9lFkGxe/RAkzU9t9mwZCBBPibKWXJnO\r\noj/KQxOeHDT0b+kO8sHeTtl3RQ8Oba2vLmiYu4BsxemGkPwzFPGuoA4r8n6X\r\n9+CY9rBn7GaH4OwOATnL6ZDp7wZb3kI7Pa6IUn7Ly7AQKP+7TAvKprsGBb0w\r\nDze1Wdn9/lr2tihWojfgWUSC5oIDnNE727wBh5Y5CJdHkJpJCtjPHa6QRPrx\r\nwnWP2yaWGwO/rq9ClIjQpMsWWQgoTp3cOlPMS1w8PdyM8hf7vOb47LuIZdr8\r\nuoeUGl4QRlaB+qpbhiAVxrhGUdcWreKNF7BV2X/Mvb3Lc4pM6Da+C10o+SYb\r\nrpuEK1r9Kxzuiuv2BHBwpSSAh3a4va6jh69PCtLSuoBicWnODwRsk9v8UEz/\r\npZQtl3KZD2Df8QPLSVl/zkGR8+jSZI50q6nvIELizitTeQjRRmWCfSf8Aj1X\r\n7oA7U4l46sZgPmLG4RZPouopnGWJ8AJHe490GTf/atIW+bxC4Q1G/Glk/gHg\r\nBbi/6DPo1ShlC/9xyyooZ9oRLqfPi7XKt1faO4H/lHNoA1J7LisZ7eUC7Ti9\r\nhdN9os2qjMPZVjGG7vL56iFi//MtiDPSAF8=\r\n=qaCP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0_1666631580337_0.19164478928775397","host":"s3://npm-registry-packages"}},"0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42":{"name":"@preply/video","version":"0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"14746cf3c967e0a3757a164a0e69916b91860207","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42.tgz","fileCount":994,"integrity":"sha512-n5qsHVYrFaL07vWtWYbeHsaplR+tpy/NDlYpg8guoxjZpmCiqPaQiSNcsm+ueJL+HKLsc4X8PPjLgrvQCQHTpQ==","signatures":[{"sig":"MEUCIQCLrLxPgeCkDU0PsRGOf47nxHhEMVbyksp4S68dPJQ51wIgBRtnY9BEm69L18V+WmpIAUVQrwWN6Q8zz6dlkkrLWnY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21864260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjVvibACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowqhAAhE1r8+K8gXDE/emjEk5k4wXDtDsj/vB4c/MhZ6d8I8g0aaEb\r\nSffyglM55g2CV+iAOnl4qYX6ZEwQ92OYNg/+QJuSXk58HmWJar9iKGmt9jIA\r\nstM4ePMI21xF+tQwM4gRvd404uidd9oakHCP/a/zTPRpyUMkl4R70ABj3F72\r\nRvrXz7JNCzsQpUvfszTqcTpqlLkqztd4TO5fLaKhffphUkFuSd83bKiMGpWV\r\nkhtb+jTvdCaNvEUomkC/2oSerA+IR1WRkpqWlpROeu9e+YkeCp6uYmMQyi7v\r\njBZfEQ8ti7Mcupd4jQKgZh9ovdpc41quc63uqWOYcnB6wni63ryRlOg6fHXP\r\nz/Okg2b+JkOeZDxn0yaomnlqLwbj+FQuDimHVKpbWiGIfrRtJ1GQwuJa3xHj\r\nkxhcJUPBGKhq8AUJW6V13GMdnljuVxm2ChJGkNUO42K+Jx4DQqSfhkq3v0LD\r\n04ILV/yFeWTqnElak7F9/0pGULqoUn0oNXsAyc4dUhF5EFeGWNXBBSYjY8Oz\r\nInuBvFKuvlofYWMVmMemdvYHNRFgfbOkJOggHJwd5hCo/d1HWXzsTWYl4i+r\r\ncYQ94IA/mNXeNh8Shywhb9VN3vMTxTA4O+XJRJ973k+A4vGyWfAm94gfez3A\r\nxcydWtLIZSb2haHAs+uqhKpFLjj0r/gg45o=\r\n=5N/W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42_1666644123188_0.22723230208954326","host":"s3://npm-registry-packages"}},"0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176":{"name":"@preply/video","version":"0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a317217bc1118661731a222cb400c08ddc6922e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176.tgz","fileCount":994,"integrity":"sha512-gMAtaoMBIWYBrc31wmdUSxF8ucm4/5i/MfQWjGtxQfa4TTRlGZyC1fW5+p7o4mtn3H8Qk4uwYoFziaI+fLVwWw==","signatures":[{"sig":"MEQCIHWTtSeiXNT0Po5bWkttQhT/nO33dAUAuNrcaLtjSISgAiAni6iirTplW1QrU6lGKbJE4P2XQo0OPZzCqwjhp2IlnA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21882635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV5J7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDFBAAkOqxgfjeOz11P0BVgS06RoVjMhvVVzjLvJORg7ir8ZF5nNyt\r\nMcM9KymeMtzJtVpTEOieMzLIguRnvjTTVKxBUDGnN2GtFgA0zvwPGKliBAqt\r\nseXppiRini6ryzYhU+CXt/szMVgBUxykZfBPgVHFDmXuc/sTUFSxBd7NvESd\r\n3o4iawo4ftBGsudRU2kjJqljgxdq0xyZe1A0ubIP9QNboJ1mt+yIhGrS3qfU\r\nY+yxry7lmCQVPryAq//tJy3oFTVKiH4MeqJpEx6Brj7rtHD92E9e5o1vunqi\r\n9+xRYxPrRYxk6hMM7YX5+jcAcNUwxwMPkjmcJnhO8QomVWu5yzW4rBdeBDf1\r\nfl4gfaXrOB1B+wHjYmA64G05oUq1VIz6qP4iuv/+i4fTB9Wxx8EYYa3VRcdG\r\nDGRWafbyCWRgUI2MGcMuZcdsHNbIsbtNMJbUz6QGILjwbgtTjd+go1xEaqMm\r\nALxTv49Djfvf6mLJGTvUDoljX09N5o86OMdStD7GuGB0RoDE1iUlHoaeMngD\r\ntjJJL04Wdzof028NVRiSiOWO4R+HJ8/eWOICelR4BRsIGyLI/XgzBA0Nm90e\r\nxWSEFLmOKYUtA9E3zF4X33ALpXTtJjXWOU1uxNTkVNzRa1uIziPX1O5PBzZl\r\nKG+st5eXxUC4SSmPWVGijEGoL/v+1dIYRT8=\r\n=SeWh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176_1666683515380_0.3459082816449224","host":"s3://npm-registry-packages"}},"19.17.11":{"name":"@preply/video","version":"19.17.11","author":"","license":"ISC","_id":"@preply/video@19.17.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f9f3ee9983f5085d7451550623cfb5a53e4b24f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.11.tgz","fileCount":994,"integrity":"sha512-4DJQWa/DNT/dN+tw0YOv6pn/mJbesx5m9Oe9pr2chzJarrU3T8AhOX2Ul1NZqCdwlHUAVZLcTHfBN+GloCxwoQ==","signatures":[{"sig":"MEUCIHzSnqx7Jn/bP4fA/r0Tc4Z5BijiNcgMeDCsN+1ukptGAiEA/ICz2lMknqOaiMroyJvV/ni+B/9fmQL1wlxwbC8NJig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21882156,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV5QpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1rw//d0xPBHGHUIfbo2XtnBdJPB2iiWg/IZc35u+UynsQTuxSvGzx\r\nO+bvce8h/F2G5dx9eG9k7W0kFG21sFSeUMbs9uIv+jSUxN521tVEx5QiBQaB\r\n2KAtWOGPHWjfqUSyOmKTY8gptCGUg/DaB4uCPUctMrbschm1e6AxdHjFBMGx\r\nL6fKQsvo++2xLctHfNXEhLZ974eNZFbncI5p0S3xxSbyxmx7jZ+sVKTFp1fk\r\nebchsW0SNa/YiaYz1ic0C6MJJ546i5WqIwcoB8vs843VdUDRZnctpMvMFv0P\r\nC4vnoJ46zAHnSr6Bc1LIAucpXHJGEG3OviMt7uhZc3FDKDEFcRaL39czE9TE\r\nhhBdZos4ijZ0jCXDfgaQamRG5XlFat0GD8IxYfVijAOBfIaiF5loyx0d9iQz\r\nZBYEkegqnaY1zOpTrp1aMlLxAS7ByafgryJjh7eH0x6nPdWhsQeS0fNDVP0h\r\nYzlQCpHOVRWUBulc/VhJ48ZuNR+KmgpRrOlpvqA3Wrr7VxXJfjzsXb4gGbPF\r\nOS71RKjc/pl76ZPrYmmUqmI0iKG7ya4jR4OK6A48uZEalQqIlMJRF48zx4ZK\r\nBzQPh+KdZ9D5UfYD1DnA8ZYTM2RMR3xO2g8Pp1ZrGiwHtCSBEyRxHKvEYkbU\r\n3rIuEvtWwTZieYMsXgayupFbhY+C8WQDaEs=\r\n=nZln\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.11_1666683944614_0.9495097451051269","host":"s3://npm-registry-packages"}},"19.17.12":{"name":"@preply/video","version":"19.17.12","author":"","license":"ISC","_id":"@preply/video@19.17.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bd174453f269e75bc8f87e3edcd5d31c9927219b","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.12.tgz","fileCount":994,"integrity":"sha512-c/2NAMQAMJQG8HStvLppFi1kGNJWtbO5diDiDDJSgqJyy/Dfy88/19SYF49JWwrxvA79SNXxx2fLVtYFpc46uA==","signatures":[{"sig":"MEUCIQCunUojmTUsulkDR2zEB51pkcUmfTfrVbdJl32JXW3bngIgaQsU5NtVPyr0mh92KUguo5uHT0Y1fB2eriQKqfQw7Fw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21884436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV7EYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCBg/9EjqjN1dHn28q0rPUnqRKO/hDPHXTW86b5eh5bnq5GhVaEZNe\r\n2DqPvy37kut53iPW0AtijZi6wbulQINWH+2Uvuem3xiR3gElHen9Zqxfjd2M\r\n2DeeIu9eCfkorcZmDVO2e7esvopzOWS3uNwQJ2aMlsZbw6vstE4djeJSWatJ\r\nkeqSlBMpsqtlM+fzAvxDkl13qS2kgZL1407I1p2PdKFHOa9SmiaHThpX1Aag\r\ncwEtbIaHqMUfVJwZucL9QsTguxXvTFB2NvuT52ntFFujZCFO/4pb/7FmXRvr\r\nJCuIN5FOKKYSA4kYsRoaEhzjo4pT7f1NP5eTWbvSniQoj6o+uhzw8OAXXitb\r\nnZoY4lSg8zc8YLNXIGN95tlfkXKaySRsJjoA3ppCkR5yzfK6ir30d9tRpW87\r\nF19f/Awk/4rqo7//sjp9GW0NlqoItT8+mmXTtH/o4j9lmiEd7MYfiE/ofoNF\r\njt3tZq3jvuOF3SYfMMsa4h71HY/uIkwXeDiChh5LRlaKeWOBrtusGo0ucJRZ\r\n5KoOOLVkTu3hjj0TjDwgnhWH6weyO6YLAOHMKqbq1Fu+EcmfCyGAEiXvtMRw\r\nJ0HIhNvwF7smu0AWSZELBisSCYumR+xxZZ4BFabYznjErERL35Fl8EAgj5a6\r\n4IYSBE9hwu2YAIvilylI7aHAMdCy2fCWUkw=\r\n=3jhH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.12_1666691351962_0.22487906312746686","host":"s3://npm-registry-packages"}},"0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b":{"name":"@preply/video","version":"0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d6c03ce01d6fb48914bd5cfd75a986bf0230c7e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b.tgz","fileCount":994,"integrity":"sha512-GHp11zbBKL6yIfsxXxxW36GrJIhtYwe13+ETuIWoyLKKoqqSEgUDzcFaCon6J2JwzredI0pcskVooAEu+bLVjQ==","signatures":[{"sig":"MEYCIQDDBdYLhM6R3oQ20XT2tpTn2f6OSgv3pt80t8wOxNA+/AIhAORG6TkMi219uoOowgRl9KQmZgO+gCSnYax6Q6VuHGw8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21882305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV7KvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqu5g/+IoYwSUf834dOckGUiMleU90Daq4b2PKRh270SZWpRIK3f70W\r\nzkbpIwMp5R0pEKTAsGnOXWOotYgJVaQthJlNKtdIkE8YHTc/A6atdFxsc3Zh\r\nLQ97zW4/aWds8K7u0Zj0qamXl9TisD3MpO3KdhMZBc+294rVN2OFrb2+94uO\r\nkX0FV34kULukxxuF48qIeQSzJnuvekbdZ8EmqcNAxey7GC+vYMx4vZE44dV3\r\nhodXG2nPDNU2j/yo5zaLJDu5Ico84rURq2oHSGzZvGnLiRQ7E3GIonrU+yR6\r\n7dymlv383YcsWnUp5Ir26EpywTOHKgYHEWysdzSKSQsn2CJX7QP3mJJAFv7t\r\nf+4e3KH3Gl5tZND8QuACNjk/rbQI92Oacic+ahYI7iaG/BXomXEVAC052dRz\r\nUubOBiat4wlSMacDVq8MDeRbKLKGqccr/K+ocSr8B/eGc38Ov5IXseowBguc\r\nIE/lRB70uvQkWfP3L043AyrHvpl18Nl77cBVK/jo90jQx+4eh0D8KXTeGNlu\r\no1KbPMyXdnpZUVLk7/F3Tp9HuJE50Vv+pnYOAWN8Nt74Pe1OPaPu2XRVTmKj\r\ni//bbijSIcC5/GIHXC1736syKyeeiyRmjI7GeN2SMn4kLmmz6JDU3J2NO1k2\r\nZr9jg1dE20PxHOGkvKRvFHn3aETXReQ9/hY=\r\n=447u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b_1666691759130_0.8250532784153108","host":"s3://npm-registry-packages"}},"19.17.13":{"name":"@preply/video","version":"19.17.13","author":"","license":"ISC","_id":"@preply/video@19.17.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c96688b2a724c925efb8cd393a4f81dcfb7438cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.17.13.tgz","fileCount":994,"integrity":"sha512-d6B7Xi8EI4ingwlO0x8HLFTRxqVlvXkXiJCcYEDBOeImqRLqEP64baZe07MEDsjA04FEqtglGDO8GFglx9DH6A==","signatures":[{"sig":"MEUCIQCGfVdpyxXaPcjL21mwbjsR8TOizIeR/J6p5Mp5RcnZBQIgV/j8xOpuhJxVlM0MY9mJNm63c7mNY2KfXfrybfPPxLs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21884185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV/f3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqtLw//cL4vmI63VsFZLCmsDj6HGsCMBBdn9P4HuCIh3m+wzOgy1rI4\r\nrUO1SlO32U71+Aq4MnNI6G3YsL5z2f1wnVgMwaj9gQzgRpA+FodwBtPOm2jP\r\nvE53OWQyStSQ/Ah12YKtLr5v1XxK7Gx9F7HLxIazH8r7Fb0pE93vvG+dWdM2\r\n0WKMah8zjtfZB34uHyCqxttIYcgmPbnmKLMt8vAvx8lsXl4nNtVgCjQ4XDWb\r\n++/mP0gop67qiaoiktNTyZOuTDsRTAH3ZZ+LV9IlN9JBirSO36V0A0egGoNS\r\nnARMfyq7fxozIG4R9IdiZk2s/Nt6WENGnmAoxS7OYX6Cu0BKxNNYeLHHzdAI\r\nohZ0jpkkpXpjTkDuL1dmOh2dRBLR0NEFGuZnoEZh6vKBB93apiSS3RqwNLOh\r\nWmfbK42Yi2mFZuGj8XJX0v8588pfYMKamCZStZuQMIajkQ7RIIOdNDuj9gOK\r\n4OiKg2bzEcNXsYiu2n+kpw0ykKIyudeJR/YyxFg1AZwEfzgz9H8kZloXhib/\r\nD3UyDXUNFlqu6ZwjF6+WcHptsIxDplsFyi2vndSmxi69PMutzJapBzTpdW+N\r\nXPDzWJ43sGS+2EY0ThIwmUIXFWKnkcm0MIFeDZeroRp1REljd9yWV4qTxKQN\r\n1CnilQ1ny1x+gMrNtooCnNQKwFSauoreYlI=\r\n=xATI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.17.13_1666709494695_0.9614703621327096","host":"s3://npm-registry-packages"}},"0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8":{"name":"@preply/video","version":"0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"21a182e75c8edce23e31990da2657726c4fcdc2a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8.tgz","fileCount":994,"integrity":"sha512-aIl7GgUnwc74ETudHhbzXyucofKKk15m9UNAkMfIW9GPQd8LVMPrrDpa3/qxXTiGml3s/dyYL1nVp0mxYwXxlQ==","signatures":[{"sig":"MEYCIQCFcVmD/BIMIdWVH2szaZqxIQmx8KQe0SR9TBV3t7yRCAIhALxuwCtfjc5P+85pQR7QZsBSHNjjv3q6iay4iGacz/6X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21886137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWN6CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpTLxAAo3tk00mBLV0qWWSzFEwWEYQkf/QJ9pxpDRqD/+s31x8sMjYg\r\nJHx/+5lhEaXu6pxb+wbwEQP1Wbpms5e1uJWS9IyKbMv1Mle+zfcer5UoSxCS\r\nLv6bFAF54JLp4KEGvUCaIUS6ZfbENZntHpl7ohilQD8ul3aGdITkzB9QCR2x\r\n0l3IN37Rc/hxxSh8/A8lKiEl10XQU6d0Y6cLorjA3rBz5AUIbhbuW07VxbfA\r\nC0cIES/zTG3jr7OH37up3h4GqvClggLKtH8AYrGm1CROsDWQY9o7Lg8jigwV\r\nSc0oL0eAemx4IJn+ExP6lzDPsxTHDQ8wzzaCmzwz5mYWtYTmJYIFt81JSjfn\r\nlPBfD5DLOJ6UKnkbK61cRxYpeV+69f9nPEyrOs9hsUW8TV2Ysil/Ufs/fsxv\r\n9soXkVygTorpvSYKKVR63nz96mrIgDC0d3pePNGHx8IIWCS67JHVCqrwjBt5\r\nqeRDThfGR5+PiVi46w/sbfm9yRm6NuhJwiKWshC5lo8rOh7a3lVWbttBhbFm\r\n3KaTym/y8U/Dl0uet27ZO7QdjUzer5ZIimveztTlCCokqeCI7XVdn94+/ytg\r\nndNB2IyOthqFBb0TKTMbENufPORUFyB5rzQM60Cpjkt7IQL4Mi/mV0ZtkVx2\r\nGkcOuXYQcoZOUBdD2D8II39cpnwWXpy3YD0=\r\n=Ux9L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8_1666768513626_0.18982668448392115","host":"s3://npm-registry-packages"}},"19.18.0":{"name":"@preply/video","version":"19.18.0","author":"","license":"ISC","_id":"@preply/video@19.18.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"329be2300ff7b17e5ba4048fc6cd4d96cc899c4b","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.18.0.tgz","fileCount":994,"integrity":"sha512-9Cu7ocmQWYs1ZwZUp24/fkq/CCD1Lmp0sC20WK4nnhyGElgD5vCUHrmsmJov11kxDkfLQNJjAAFQXcz/XMBUeQ==","signatures":[{"sig":"MEYCIQDaT3Ydv5v5PrfwOVG5zrS5NMsX2F7GHoUtMLPoE98uVAIhAIQYwNaEC7IJTfEwLpeHfoUChcjVf30fWcQinLxJCkTY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21872729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWQZmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdPg//dK4jfjvp6IizcmaQrFXjN8AT6bu46/I77SjQFjFTTYMwgrXi\r\nNL0Y/49zMoq5wXUTrd+hHymgw2eWPSS0lx1lv7R+6Ft+s8nGRPsDdKriba6a\r\n5QEpBVpzA2y7ue89dDXA6ItUVpPJKputgAoZBf+9yZF8XWg6AKJq+HuVQxnh\r\ns2oQt5xha9+WDlyMGo6cEMP1TYnFB2tQMI8JVtFNtXxB/82NmB7J8TsBXAfy\r\npPvJrKzJi/O1TXf2LPD6GyurlJHTFpMLgQeej46waRk7alWz9X8SN8mN0QvG\r\nNcjxRoZZGS2At2OA/xiLsq9sLUvQrjtCepjC1PBS7BiVkqeDIlWkkwWg2xZg\r\nH5B662LRXUwjEQ8LnMBnoK6Qz30mV8H4tcRe2qyNJZRNcw9hg7yYKji6GgR4\r\nx3+dqMKT8gp0W1Cheo9dl1sOKYBMHDzR6vy37n3ubOY96YaKe9S5+wHWbhX/\r\nXcRSS6JxCjf6hdkeri2Kfc60e4iRWTF2PcAlPyg1dOdZlByd/wVg32GLuT8+\r\n8KggFXWy+E/LS3Xxr3P/sZrR/n6R/74OlJ4/jwiK+hCQkt3oIm0AKECBzecy\r\nJXUzTemdZpin56EsEwg5Z1FfYDNHVML0JRtYaKG6mzU21U/MnLRMgjLyQfoA\r\nDbEcQXy0qkYoM8NEOq/7I/sFMuKL6pDCZYs=\r\n=fs8W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.45.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.45.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.45.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.45.0","@preply/ds-web-core":"0.45.0","@preply/ds-web-root":"0.45.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.18.0_1666778725733_0.2170464363522795","host":"s3://npm-registry-packages"}},"0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f":{"name":"@preply/video","version":"0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a39b1edf06f1e010f794616e5e0646a00e38e81c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f.tgz","fileCount":994,"integrity":"sha512-YqqvLvr+vstoPY9phZEM2sH7KEJLTHVyRpfelcIkTg+ve1C3DHoRObyaX5ccHNRAMoqBARX4qCM0p6qwVHrm3Q==","signatures":[{"sig":"MEUCIAl+r8kSzFnLIz8fGkMYCi2Opo6MoI3fR3fY7tQo6lwZAiEAtLA4sbkmgxTwmzgi6RJ3iCxQNMLPE7IIsrF3Jb/MlKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21875493,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWm9HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqu6BAAisjP1/ILiMpi4zjwuDkWHQ0bGe/7Q6cQz53tTXMN1Q5n/gsJ\r\n7Uz1s+dOjImxdMJLOC6hNrmYA+RL3QA4xsg6pHe1WunBv5X0wUu1RMkAKyiQ\r\nwLdLZw76cp1oL6jrbtoCkPIcTj4/3mt1hVujOQ14kvFC2FxOW3aXZovecxCL\r\nIyvnMT55y1qEjixnhf/VeR4PaYBxnNTGj1Y+h0QJwy3zpPpZsOP9KUhqAmnb\r\ndBwXgVzs8Jm+UVBmeZl/KoCvSAhIEeEWA8er1Z1SXodn7UAWonpwSQSjxgPZ\r\nJUz0wWpy/CgYkDY/DvdKMTlVwWphv2dDLb/kkYfHNIexsSsi39OiJhbqHqYH\r\nsF9Xhx5rUybCVyqDaxcKvReOQUQjH2JpUsDSZ2KMmzkOAXvZxEExERLS+5S3\r\nHaZRJB7XsGvl4usjbker5eJ4Fh3pV9AJAp/ItEjNUgWlkaXfGOxCW68lPgyk\r\n/BYSE33EqgK00KkrQHrM0wdxj5ju4cP/Qkplbs/mz4FMBc6aqumvyW7NiWst\r\nGfvI6UCeMS0+ndk7lcd3Er/US3/jOv0rjEo+g6QZGSPCyIhIBZBRgXstDkZQ\r\nxA92votj1ygVlFGR+4jS194rQCyoYinU3wWjRHp7gb7E5v7aRbKb6RqtCy3A\r\nFQcaQqTjCc+MLhsx4DMcX5Uv2S2a10Fm6dA=\r\n=yCzG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f_1666871111169_0.003910474859833091","host":"s3://npm-registry-packages"}},"19.18.1":{"name":"@preply/video","version":"19.18.1","author":"","license":"ISC","_id":"@preply/video@19.18.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70c5aabe7b1d6b8bc8e9b27b077b3ce1c0f200e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.18.1.tgz","fileCount":994,"integrity":"sha512-fkcKmLBvnfHT53UQGydLh+2INIyEKQKYIFDEJPfKhcHdHNbl1rzQmO5EmxxLDMcgcugT9aD0irg/AGxPJWQLxQ==","signatures":[{"sig":"MEUCIQDdvsW11uwZ2Jaj4Oh61czok0sNOqiKquTDb1tB0ozdygIga0PRaMUdx/Z+Ii7TcFZxSEtr1ZUh6rvZPWPMeAUdgL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21874075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjX4Q8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmro6Q//U96leUUCxZZGPRu/rcARTFWzi7IKvBmjKkcUXYz2WuMZYMzq\r\nLkjMbSzkfjINtGoXO0BM3H9yT6Hoh4IMAjKhCEsWmTtKrFdLdA0HcRRm10a7\r\n1D3F1jwc888AtDNgFps7yWH1O5ZykTDjOHvsPDMUXeXJPrch04HnEzEXm+zg\r\nlA3yXWpDv90ED7II/er5hOSCTqxjYcCTcoesB5j9/dJat3cuLXjp++r4vgXL\r\nFheXVZcfkdtrm8lJQYch/xJ+fHoDDGjTanSVzi4htFj84N2bFRWgCsSggocy\r\neUzIic/fyCgLe74CRkrzGeLoBVNRof2dvGMb5QuQh8iWJ97FvWaEqaBYo3h3\r\nK8i4B60BG1x1rS+u4Z+QJMhNGoFfvytYYvUajTE1NaG4NBBhVeaHdqknJVK0\r\n4J6ZvoCAQTs1tDj4py/FCeXOo9A3RYvP35lHtaUfgrXoBYT+Ag3tYhlJ7fFA\r\nGVtE98QLazAKaXYDL0I4T3BEtWNlQPuy8NWuluiDbTKilNsCPlGNUPsJJ6lf\r\nBG9KGV7ptYo+Ds6UJi/OveEPLgUIahLXfNr/ALYLQeI2Imp3QOvsN08+taXy\r\nWGhBvxvt51iO+4VAgUj4Q/Y+PdzCC9AQzpmX9oS+Qdo4YCiXW1Mc3qhEUI65\r\ngLRIZ+TNSb5sy4azxnAMWbOnV7yKMK16FjI=\r\n=Mlw3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.18.1_1667204155608_0.19017554753542232","host":"s3://npm-registry-packages"}},"19.18.2":{"name":"@preply/video","version":"19.18.2","author":"","license":"ISC","_id":"@preply/video@19.18.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"705b91ffced6d83734cde0041ac9236629e658cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.18.2.tgz","fileCount":994,"integrity":"sha512-UB2L5f5iTTPd1xEpBQIQdA+uwgq1bjeyD0qGW5Qxifr4c7i0KAgjw/xG+qbsCwx1+dvCf1+3MrPDiBDAbB1bog==","signatures":[{"sig":"MEUCIQC4597MCnKklUPQ5/24OzLfRH2z0gaExaElIsBPnW/TXgIgA6DfSNoBNS9tJz5D+d5YJ2CFMFjKfuylLGebcnkXGc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21873109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY5agACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcZA//bnRMy9+xdeDtj5Jmyxqmc0b0Ad+4n76+XM0DiZLp55yhJ50L\r\nqGS/HDQnGUvEYKTedI3h4Trw5ivhjKcb3HchiC7S9VITzdz0pWbgON7aWze3\r\nvIIgGyZiAnabaDjvoxnA69EFEv8yUMcDUZZoreohaOiTAMArifWWMLwJpSnt\r\ncMXZZhLmwnlnzQIIFf0MOnUfd+1xsscukLATNY0DhgiXfk+s2fUVPNDwv/ru\r\no/pJOhLy1gcl7wyvMJFJRF4xC6muHyOexkqV+rfwQBI073Kjv3AkKheii7nn\r\nMfLyXNaThJklR3JknV9MGm4akNAPjjuwNlEYyX1be0EPlPQQMFNYbsrEz/N6\r\nvmtI1eCalnN9t+j4uZ4DeosDhqc+qCTI1/Grs22Cme9nehyCQncs42nNj9mh\r\noiMFO1GynqTkyK/uvAayfgNd96mSDISKdOqGITKJEyYbC/zs5ag8Xx9wRZ6N\r\nqsr2DMwUvcJ7nhitDbXjbFm6LdW7Du5Ef9Y8CrMFhkspy1HDRxDG3fi+qSBl\r\nKtJ+lBpGNx/KS5WxWwIhZ2sab389BYUUO8YG8LR/gHLNSCTcClwH06GON5QY\r\nvOCq7WYZO5FJcFqRx3GVpDXGKhdZOsuX+9EX8GZEfIkQyZF1b6nAyESkcqfy\r\nNQC8oc6QThIT0qbQB77DxsAuQVV/r+bv7nA=\r\n=3+Jq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.18.2_1667471008445_0.5302449248890935","host":"s3://npm-registry-packages"}},"0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91":{"name":"@preply/video","version":"0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"172e4943505d6a4303d1413539d4ecadc277a5bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91.tgz","fileCount":994,"integrity":"sha512-T+6OJ1MXnOZBJIrmw9u6kjckmjgPO7INfnTKZUWUy7ogEC5t8sxgm019P1sES1tbSfyqZSXOT5BsLvmXc51cYg==","signatures":[{"sig":"MEQCIENwHIbb7RluAW6xfjkOBIzZn1Igg7OVzl1w757LF9N4AiB8RK50O5+A5ffdXkDqqemqUI8BIY/moUinsZApQtdH/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21877780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaCQkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeuA//WtRgQ2jWnKxfNMHDVaXsz7NH83fOvEpXA66uFzRxqQpxdTNt\r\ny34Tz4FSYKKT3CUhKEdt1b6rSAwgDj3pD8LAub7tvK8eA01oGZtvmP6FELBf\r\n6vGKDl/2j9eU8LIdn1Zym1xahmoAXHe7bLfBfXugSERgoh0fALbtus157zIs\r\nqi+hP4oeEoR7+YXR6eiNCt2cYgWFYy2RebCnnknXKqLuJXzwchNPHqIv8XjM\r\nNLOdg3UA8yAIK6/Onr5YD9+OJi22qkiewwPClPne43Xq16auV47cLD+ZaZuU\r\n7Ss5esB6lQAfq+RYr37KhroysC17I1+Rz4aXFypbAmVqbmidZjpz1mj1MAD5\r\n+dht2Byylzeq0K7StUiBQxzn1mp4Mxu62b7/m4sd6GExnEyW/2XCYxb6KxvX\r\nUguBBJQkQtduuxGLem+QpYk1/6+6/ge/uno3NdASWiQP4PaKp7fdTlk5MqCc\r\nM/XZtPacIP/iUozn/Rcu2WUzVYnUraQ0l4MOdpyrE8zyNgGFWzxeZ1qrmWJj\r\nG4GWuh3XCPJcRAsvAmWGO0SVb/DWfz9t8AzaHeFU5dDqvSaDarBHfU5wDfFn\r\nbr0WRUUNkEBZkLWJyxy2Zn/yLsZbf6xa2xDTWj6CWp2AVAqUeejnsZKiq3YD\r\nkjoYImEeBHd6UCdibzl7u9byqzStrtxhS30=\r\n=sL33\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91_1667769380325_0.3783720793581984","host":"s3://npm-registry-packages"}},"19.18.3":{"name":"@preply/video","version":"19.18.3","author":"","license":"ISC","_id":"@preply/video@19.18.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"97e14e839c68d5cb187b1005c494b3d6fc38c82c","tarball":"https://registry.npmjs.org/@preply/video/-/video-19.18.3.tgz","fileCount":994,"integrity":"sha512-uDSq80Iqi4Qhwbx/EqrQTqKsVUvG0+NUmEqzDCk0O0F0xNE/xVplXwH2JyjAaxIpvTdE7/udYzFjZwu51YSkvg==","signatures":[{"sig":"MEUCIQC/TfNVyD+zZSAD461MZN7sWGTFJQzot/Ixz6WtQscC0wIgQOwHUJP8sjexBzmr2vGJFAtNzGJitBlJawKAbZpT+Mk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21879994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaNZUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpD0BAAkcDoB+pXM75izM0N7EtfeyJ4cPkf5i4I2+ue25M9rbGi3iQO\r\nCId2pbmBbYrLXqqbjD8gyGCGJRnJYGnDS/E2+aX7RTRn0GeJ1uXSztnQlCes\r\nOhwF3lz7MBPc2jQhPJPuTgGWyVHiSSkksXfCf1hFnEVhD5rdirc2Nei7Ad4Y\r\nWiK7Pv2bROLA95Yzvd/rvrSNNxoNZom0TkV924wEzc9zW2/5hVAW2TlR7/xd\r\n2RHgW3XbHasOtSvC+FXTCNpug7w0zPEcvZfKGtygLillm1EE2HcVXWp/jKhs\r\n26xEAWyu6nqzOaXPaG2+KZaHiSfoAaZC4ieG+cxBu3RIQVdjr0/Kamd2cwHV\r\nH0QgX3k0HOwUMSjm2+FJIwS8K7+FVEuNQzATFepQos24AHTUA49Q60+SNpV0\r\nVPemaaEEYahJlTxw4AespfZVnCycB2ExMvxovOC+JNDHMtchnMLmtW/XRrmu\r\njkRN7KDwKWqXYDYEqrGPboOlLQ4O3fQPpnF8xjd0aZl3mQry4OPE+a84VaYN\r\niP3Gb87RnybXVRJjW2qYZXEVi0hr330f9qT+AA55gWkeJYleBHc2Duj4bcsa\r\nEs1p8gvV3He1nOvHvOljG2TsnEQeMQ3njs80S/uB+ck660SiLgZoDur3B+1M\r\nDeHO8iZOv3mz8Pm/p8Ldk+HqrApLGT/T9W8=\r\n=+P/2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_19.18.3_1667814995877_0.3693505277919722","host":"s3://npm-registry-packages"}},"0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619":{"name":"@preply/video","version":"0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"da71a02e8f695f6865c65501c4df6351294a232c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619.tgz","fileCount":994,"integrity":"sha512-4gD4mDieRnurYLEDylJvlBYu7xG8vrn4uTIU+7YuulqK80qEj8oRsStT5c9tjiY5k/+9JpMhGYmkB+UZueu7KA==","signatures":[{"sig":"MEYCIQDvTFlJfPLGiqQHTpTpsoCCyfvPnb+pyyaJcL9eoInZWQIhALrxXqYd8Y9xw3QIvnx/0SnilxFWEXE6VQpOqGYKp/MJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21881898,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaOPBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnfA//Z+zftkWTFJhOGu69DHpabYiMomqTb6gNS6P5KwVORLrwVQXv\r\nkGP5r0iusmLiQ3goXKXjSe2WzHAvYKjBlBkrArRbON/x6RNmki/1BrvjTZZR\r\nE5z3FepTZ1ykjNb2PocetR/39Z+af2vV3GMJkTmmgF7lhVopW3uV+xswMNLl\r\nhyqorTdg+lLZ6TESppP2T+f2o/PURL/CvkXS66nN633xh9GXcXBBMsjR+Ega\r\naLAV9BPcRiTC4Fs6t2Tb/dYj7KjCfVbaJaMXA2gDbdlKq4spsexF7BPKlK+R\r\n9aMa/kVzT6JTuYs5Z8aMrvPg/ixO10cAD5rSDVawHFwk++8LSUm9PLgTfg+e\r\nj3YI5Qhd/oV5rEKo9vJQ/gXNbnJ5OYYbB3CGmTAzeyx8MKasj+gHrScSf/34\r\nx2LmhpMGIX1pQzBPvk9JnPo9fX74K+WxxylSMXZZCwsfSdj9qHHi75O5n0pk\r\n8kus1WyNp4b856P6591zhhaIdOa8cXQ3DzylgFMvNKjV70wqoN6SfcoLjRfU\r\nXp5b3pIJ0OLe6yLDhs/y7g8tb//KD6J0FAi/kpfDOk/jrp//queE3metZczY\r\narpnrA9kkwAPaQmy1wwWB6PBXCed0l4gXKrYX404r6Y92zrtPxYEG7FGT3rk\r\nQYdRSiknbVDzWpQCtokYzeg/RxF1s/npu+U=\r\n=jfn7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619_1667818432650_0.9104681900454266","host":"s3://npm-registry-packages"}},"0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668":{"name":"@preply/video","version":"0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ffadffd259ef7968c041cefc8b7539249efdb78e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668.tgz","fileCount":994,"integrity":"sha512-QdE7wF20sO4w3v5/1kreVsc1GNW12oUUAp1tppqask7tuAzZe2yQrdq92YgvwaCV1a21ocbTjT3UhmMeQkOW+w==","signatures":[{"sig":"MEYCIQDQ9SZU3RmlOnKV2wsdv0O5dxZtqiouJCzhd7O0dR0O3gIhAO1T/hN1GtmE6P014WzBkJ8xKEhqIFGnxFppwLyNkwEz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21885395,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaTmaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5bw/9HxqoQ7B7sIyW6DtXtt8CMCWvKOKOB9sCmNfrK/x101PZyk1w\r\npKAyXSsnTsAtKVnaLZvFzr3NnRh9HeeUSjyea9RNU2rF/QYMw0qfOT4pqqwm\r\nxzK6kqYlFpkrMTZHPeBOO/CfFEFVeyRxsMZjLIOiTGHusbRVKjpG/GMZoigR\r\nPFaoqmLgxYsY3Wf/fStD7t+KKHc3xWykfA8//IBzWzpyg3LucrjNjkrLOTTr\r\ndt3MIeRl9X+C0Ra3DP9JBJW4ILcLKJglWF0SRWn5flnLY7mQw/6EF7x8/g7A\r\nPUpUJQ7506+isvzGLVc3pNPvsk1dH+kfntgoLhiMWbzXUyP8vxnJ/BTr1ybz\r\n7hpLFw7MAJsKmqC90aFngMW5KbjKeBldETdDJGCnJDhe0It0+caoUvBot8xU\r\nmjIGZQ05UmqScSsNVLowyz5Iqo/RU0uC5GFPnbSDjSTn9ZzSnHPNJNfC0CLM\r\nrKOCbSFIjYxY8SXTwy8voNBo+SbtdU2lMssiO+e0DLBtmQoKswdymourmEbt\r\nVBCgzxlvB5wySzRos/cFehgeR1DjT6mAtFOJ5N1qsRMRpDwVSsHiVgzy06GA\r\ngsaITlKQso9Ku1ncnm8ZeJcacZdQTybJLywz8lz5CMUtNHV2OLe+ZjVW0VZr\r\noIx8b4zA7rDEafkXg7cLXiY9OOlLQhwX0wE=\r\n=oIZl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668_1667840410333_0.07450814573666009","host":"s3://npm-registry-packages"}},"0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789":{"name":"@preply/video","version":"0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"909579468bd09245516037fdae92af1c878cba8a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789.tgz","fileCount":1026,"integrity":"sha512-vk8tCrVea9TFlsi1DEvaarGOKtkrdOh7yCAlahw5g+tK0blBGGT/d5EN39z+3hTBo/6CpBNlXfFTioz6/Jjk8A==","signatures":[{"sig":"MEUCIQD8Tcv+AXnz/LDNGXKbDDnSWUVkit81MIp/LBka0FhNcAIgH/hN8f5FnbPNAHrsOTTbvJuxW8DjjKUWdziS4mur6DI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22302772,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjagzFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmry2Q//QRgM4nmVVjmUTZZ5/FkbSg0wC3Q3n19/fNrtyGrY0K0aSG+U\r\n3MIXi+dFhFZI4WfYoO6OKPuZQ/+KF2as8QoffhN/XXCkognIe7UUopTsLG6o\r\noOryquGljjfbFwntj9i+iX33KCxT3uD+tGZwdOXEALGgBXoIm07GQxx15KtF\r\nj02vF4NyB1l7+orc4z3Iv7iHD3ARactrGK6B4//UOGKyT1d9ZMCVqW582K4I\r\n+zZ7PIgPp/kIBvotA3hQLp1yPGq9drupomp/tZrJ31sQes4lxknwhROvbLwt\r\nBTunKGDDeyB5R99nBRB705LZHv5YZGAzzBiJYvwh391QMJFxbspV0gO3oQqF\r\nZWi1yDp0+Z/7c6e9vg23D8CowQUNe4mt51GrpH+g8b39PrXV5kQgCDHk/Nm+\r\nhGLSE0M4HqiF2HKSbvGoNq6qJpuk4ctI9V79mq7Azc2S6tnMKLamm5NcPU1f\r\nmxWdDLn6z2w1U6Ti8sivszAWsTAhd1Og62RVmhgrDR88yCpLW0EOM+KpUOTb\r\nQCUC+9Gdwe9vKbSAdhrUAuR/bAtXmS5ySPEaL2hagUoOTuWlR+d21MAqof3X\r\npnegFGurkBQSK2U0SQB21QVHsQp/V2sEeb6bqBAqi67bBpnWOCZtkKeF35MV\r\nOmxU2UwGW4I7JSYYKQRuz03v+bhBhqnSVKU=\r\n=TyV5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789_1667894468936_0.5047581159798906","host":"s3://npm-registry-packages"}},"20.0.0":{"name":"@preply/video","version":"20.0.0","author":"","license":"ISC","_id":"@preply/video@20.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"af9eb95f6c68402370469fc59ea0750508a89ec3","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.0.0.tgz","fileCount":1026,"integrity":"sha512-vBeYX+CQHN6ltPzeytVkq7nPSv710iJt+4kAmzBayAVsRGvND3SQoq13YoYl4fx+jyUPdhWnullZSuePCS6AcQ==","signatures":[{"sig":"MEUCIQC/SIRuY3N8YYWy0VHsMIwKopkbbWp9VKurgb0x7ax9EgIgGKofQi0IsQ5lBWP6TBvchIebAw++WaBuomE8+T6VT3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22293000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjah1EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxXA/+JFAwJZiGIqjlL4NvNSJi0JJwhO4NA8uqbpS9og9ucvXrYdLA\r\nXSXUcXJWyVjVfZPYEY4Zat9wDQpQ0evCAu9ZqGiH8wGKV+Sd7vwALp52+9m9\r\neH4uT341W0pkpukRLzfpNfHkRuVo/bg20SRd/tlyepjYfG/4OLk9fbdM6Bkl\r\nXF5KYyYc/2Gm7u217+FSxBLqM73yhjwkGm8vTFQNImgD0o9t2nCS2PFSujSZ\r\nEwFvVjSxtuu2unieo9tLqiRKSZ3hBVc6kZ6IHJd8uSMsaZtsYIX3xklw3mvq\r\nZssSDlXlYULdhv5oT69kOhEVbPz+kO41Gf4pe5CtjpSrYqUFyl1K99b8PmT9\r\nt5EzMo3eqTXfPRsq5m0PBp4Anm2WPvsv5ZEgqFoLTMJZhgXu9JtnP91LvDNG\r\nHi4bfA7RtnG0ES8gS7DNMG2MEPEcM0wnHNwp/MDaHFaV/SbYlEDhwqhRmt6l\r\nfSaExkWBTJ7UWLHkxmYmu3uLq6PZD6Vbz85G2vNSAhIiJKJeDRs3d9SAnlRx\r\nMZ02ZXMizyWr0OK6CwW1lIpv1q9EWLLnXjN24PIIZhrdaGny93tyJVJGfJ0D\r\nS8ZlyUoRF7KK6XLxQIOx6db61OThBqW+894DjydOXAPNBWkInAmhed2Cqe6R\r\nhXU6WSBhD146BvHpOS2dzw4eH6TdJreYcJ8=\r\n=Qo24\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.0.0_1667898692350_0.11045856372840346","host":"s3://npm-registry-packages"}},"20.0.1":{"name":"@preply/video","version":"20.0.1","author":"","license":"ISC","_id":"@preply/video@20.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4239a50f48015a93c8d94970d4b8a7f654aa614c","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.0.1.tgz","fileCount":1026,"integrity":"sha512-x3vsp/5Z8Af2v80cYCHiCwqx0xIjIn0cdnrgyxnhSUfaQJkDHNFRjBsX4kcewGpT1hDr7PTo+xNLyYKQYGLyIg==","signatures":[{"sig":"MEUCIFPJqr3Cn9iWtM8SiWtWAYbj39ebKk5dgeYo9BpDyQqkAiEAoOGFtjp76DA9sad4Biv1+D/0DT8TgpRMtd83sisa5uQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22296592,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjaiYkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJuw/8DtKLBJZ3zkaH9DMRV1729phrlngO68n0d+CvZHcFOLh/DtJV\r\nClKG99/St0w44/hj+9ILMS5fWNZWn1++uZ0pTOitWCHem3F/xexjDRESMII+\r\nm2WbBxwKkHyokGo2QyOBo7FfU2PqsAWslqh/DqRVn0J2pa1koLjeq8eHRUiO\r\nTVNbRRRvI2Oj7JyZvYwzqrsyVnwI510Ha5l1q5bgFla/vr8sQRxR9mBHaA/E\r\nIVxkSgUP+26jUATIUhDtIwJ7HZ1oi7xnEzr3LAILQa6+e7k3fTg1RFfz1IOI\r\n303Xpb17prZkC8422BzJx3mexaS9sjv75zO/0HXgPgyV86YtP/cyIMN06SdC\r\nWiQcQXleSahiyOlyYhIigODn/3XWtncP9fg3nwSsxHzeMe5NeZ2H6v4tC03z\r\nGEI9NXCESXYm4n+/rDMXNSQFP1Uu3e/bOWEi6OJ2RIc9vXyzV0pp6uoPd0hE\r\nj5zOAIhhuq+7D0x/ljjV2pSTZaAbCKrFsGLfO28HdcVvbjHYTXuDtiE3Zywq\r\nAssEvIPKcNwkZBSIDOHxiUpB+8c1p6zshMvCgqpXlD5THdxJ1+GEhazEnJ4b\r\nSrr8XR6yumT/z/xowz5oenkVDQ6Fc3bpVLq6gL/gmdwJIZODcYWgeWP/NKEl\r\nQ5O8caVSzb2V6UiSxX5OexePuG0Hq1WIWIg=\r\n=41LN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.0.1_1667900963764_0.15157153903794396","host":"s3://npm-registry-packages"}},"20.0.2":{"name":"@preply/video","version":"20.0.2","author":"","license":"ISC","_id":"@preply/video@20.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0fb182cb45ee07faef637e435c44f43bf5125939","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.0.2.tgz","fileCount":1026,"integrity":"sha512-//2hgAz1fbSJ5WYMeGEsilHxzKJ9sHt5cKXRafmRCrdBqSFZbM7DLC94AfRPq+cXssMBJkqEgefAhxWxyLRTDA==","signatures":[{"sig":"MEYCIQDMUTyHB01VnZqUyBSvMX2fJUUT4AcbcWhA/rqP6VAo0gIhAKc5IAEA7aCfTrQraimwEV5+KehwqjTwyqq3TisprWQZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22292090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjanzQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoElA//RBrz2z+fm9CWnIKWbKtQnjOEigtyR1iqNxNYIc0pT0lKEh4W\r\nQBLgCqvWyECttt5oZG/IFb7uf1/z7ZhKB/Gx61Ba1O8bwAStVpqATJXbfb8M\r\nOuPfATeAIWnpXEqGFh652jERsUNIsI5TnBjkAx2xI47isuVQ+T1/UUb5pXN0\r\nwaZ20ZIhHnEBraYnNjzxS2Ls+MPYgjDeHOM+FOOlZ0nEWn8taj6bO516uH5f\r\ncx143WiHxwRWCcSvQFjspC01OSMYM7lq/aPXDeZu+P1RGifq57n5BwuQoEz6\r\nkoT64vfd4SnwjLJcfuxZyuvaoEPOz6+0DKgkYipnRsGL+Brf1TVsbUTo+3CC\r\nv8uMvur0xzBl7UutmOkkO6wmelCPinWGZpyUbgH6ZgOCXV7VJO/pDobo+wTM\r\noCksyKQRukCQTvsV6YpenbqPUlFsUjtxH6FI6/6AIO+5CcXG3nDpoXvdTG+f\r\nY3WDE3693hf8VniZfgkYOfa5GggMjG6lOCMM89ycA0pw6FVVK3MIQtqrRiq/\r\nyq6QZ8bZmQanE/v8+XwHGSTq6YflQ50K3UK4FqvjZIrVwj2of7pfM7ntUWOz\r\nj9BSJQbWYO1a5itvW7M3yD3W2g5SQY9pzYWku61G9RpN0kSe/yMm1FrVFfoc\r\ngYOYnAUwSagXHnrEmGvNwjv5Y8bOU49zGKU=\r\n=HDpu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.0.2_1667923151812_0.8358786090019297","host":"s3://npm-registry-packages"}},"20.0.3":{"name":"@preply/video","version":"20.0.3","author":"","license":"ISC","_id":"@preply/video@20.0.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9bc38ce22a5d3677027539223127c92e38aba8ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.0.3.tgz","fileCount":1026,"integrity":"sha512-zjlN0EnBrBK3gpjcI9PpKVCDgibDWkmIV+1KjmZRS4C1Jc4I+NezimDeDgu1a3EdF6jEzXcLZ+M13ORDTP5Teg==","signatures":[{"sig":"MEUCICgsc4oGZCDm9KLmWxiNvtQ47WIUyRj2qy0skxl+FXuAAiEAr1swmnqRYmue1bqMg36YygwjK5iX9eXSrL9D6KS0r7A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22290532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja143ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrGA/9HWbLLeaaA32o9tlsehB2fsAm162/3zHjfPo/us6ymxeshBS2\r\nYnRrE9RV0jMsUdl1ebszKwbalg5A0mbctwNUvF47c3+pR9wywA69CPyZntEj\r\ntEnKRxsODrCcEiLjMcEdqWAf5l50uvElY5vN/50D1ISqQo1Q3R7JxcplpUQL\r\nfLd72O+KdxtTp5Twu+Fmm3m5UkAj3uwjhZSN374ZZDfnAoH3fWp4CSwECDp5\r\nGfGKV9ettj67hOjZQFURsR37n6959oMH5soMvQB59BnjlTNYpgTMgQIB4O1l\r\nOGpdYJ7D2RNyOtDAITgy2Z0FyM2q8y3r5D6aNRGuZaLSxWyBbaFlvrb+iK+E\r\nVaNkppNrbw9X/A/b6MOCT/s25nT+bb63wvZhnB3liZVQ/7rYiiGvS4eOHed0\r\nh4B+tBidts5Jltz99yaUBH3YJ80fd+1pv85WiaGJI/k1JlwKyrWJNnJjqcUQ\r\n8VBjevcFDgNfWdTIp/QlIo58xHu5NlWKey8UJ8lW0nS9Sii3SRKkj2M74HIn\r\nYk+mc15jo6te3hGsG8bfZ9LFT4iyGGz6hlhdIhbnxfiT10oE4m45uaflVxqB\r\n1aN2CIx/4pao93LbEM8e7BLFUolU1LDqXxvPvk/nanRnDVHUlzwBE+YL4juK\r\nCiA/175ilTMF1WXyFcHmSJpOmh0afLAbHqc=\r\n=xnrS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.0.3_1667980854944_0.39390405168925535","host":"s3://npm-registry-packages"}},"20.1.0":{"name":"@preply/video","version":"20.1.0","author":"","license":"ISC","_id":"@preply/video@20.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9786dddfa67c8edff3ce7d85fe47c7cc028df843","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.1.0.tgz","fileCount":1032,"integrity":"sha512-ftrLyYcAGZZuggArIc5HAmoE2+5aX939Fl2yXsiyzkk45t7lwqGNO9K1oHe4BR5IKjTN4YR6sD7G96IvfpOINg==","signatures":[{"sig":"MEUCIBSGJkjRS84Rh5VKjBgDRDRjedGLxs4rh1zsoGNxSPvxAiEAqHSIcmi7R9PdUiGdTsCWZaRWaRjCTUQ5n5DHzo8Fpv8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22317393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbMIIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqvTxAAiLlqkJmTBX7OGutX3KIVeYsItnFP5ivM4BVtBTWNLF6ALJgB\r\nm6oltKrkoMRoWmvSNEfN50AANo+ClC8WxjV4cEZ7wIyKtmb4xxWuhSjzTpNT\r\n8OySJyMpJVVOxqet1lHNkSBUi+i1CHcHsUX7Ee1MNSOpW0HsIdBd1v3HMHdI\r\nhoIQ3sC0toJmNgaLYz9GSaXd/V6rqU3GCFg2t+xT/UJcdubjyAf93OC7kWPA\r\nZ102HlWVVm7dsZjwnb2ROTXfD9AV36Rr324uXq4fmfTh+N+Q8ZimoCFA6K0g\r\n8TgR+/6CCzm6LbsdvsFqgjCQ4cVqP1qvNVr1yPMMw/rg05Huo6yqM8A87S6A\r\nUoDqPx3+B2qh3TjhfnqOivp835Hv6lywErQs6eK6QFl3QI2hW758tV3qqxRz\r\njlY0N2NmmOlJulW5YN/EjEsASVOMBr96jOGF/NlVTI2hiY9Sgo3Iej8Y70C5\r\nyEGtdkcODnJK4UvNYoNcjv2tukf250krWwwb904ckHytzj5lgF16mOofkNl7\r\nct9hEE4JpmP4wMIU9lKBaChPRPBFPW67gy/XFU/heAWf8hP5TknfUw5InXQQ\r\npjIuUrgroNFiCuYFzbUNpj4k+EENSPfo3cYbjK4fqPf3lBTxf7WzLGKFSgMt\r\nKdOpd4Ns0mgR1JmygLVOcJv+0+yDcCwG75U=\r\n=PA3O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.1.0_1668071943530_0.8545366605241567","host":"s3://npm-registry-packages"}},"20.1.1":{"name":"@preply/video","version":"20.1.1","author":"","license":"ISC","_id":"@preply/video@20.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3ebc7f5fe0143bf4d0e36f0b6d30efd61de3f713","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.1.1.tgz","fileCount":1032,"integrity":"sha512-y51qOBPH+OhFLZgy9ZYRAdbaeGzACLvEevp5pOTcsnsfv/4wgfA+rgPbc0mzZKRTPP0H9VE+1GLLqma/+ABMKw==","signatures":[{"sig":"MEUCIQC0S9CQ96MGukMJq2b5mfrz2CKEUFJNbvm+ppKfg8oW4wIgGAWdB3Za963dzOdxQ6s3wrGGzqP9uo7cEb1xFT7Jt4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22317569,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbMVbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX2BAAoivDoJ32YmpPMDnoBZiNelOaxxw8KDXz+juAaqmTTe0VVNSq\r\nGCV7/Znp7Rtx/voePUNYJm0uMteSkay/Pp6mQLoNJ6nBq4ujsVs7cYGvtjGp\r\nE2RMv5MMPMFNlSnZdbYzI76a4d505fOtP7glZmV6sDlpKOisht8frjBfUVOO\r\nf2fRPb221JknnNsIqQkZjF8Kz2e0X88CHgfus7cxR6rgTWruh1KVnRi1cCzo\r\nZVoOKczEGNF4Gfln7kwSrut+CpN83DBSV1vaDw4hQZB/vgw51MxKOVlmMNfx\r\nZCc5y8VAw9mkIKEJdnzTCNGTkgf52NTe6czmRqu226OkThi4kYXiKfaeSUL3\r\ne2/IUOtz5IR9ujfZ1J94/7mtc1mcZkYmVhGe2+ze1EpQg8TdBnZb35szQ3zH\r\nNIn7FaIo5Q5C0NraMBo/2B4sctcv10Q45pCAbJGDRhWN1HhAA1PJDmb2nLNx\r\n1/W+DoLsWgyhh/zVzQw7RzVT/qwekLXp9GZOMx2v6JKbny4YGkum4foZm2vv\r\n+G/egyYXthUG5iJOt5Rj674xOyZMld9+Ru8vfbSw9tScovieLFDGTV2Q8OEq\r\n9e69soD+op3sV79m1LuTBN4GyjinirWIGvsJxgcf1xPQcW+hfQVTB8+ab/ue\r\nDT5HM1CJbKiJq1n01v9q0uG6ORC0SzSVCaY=\r\n=/Cd0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.1.1_1668072794672_0.9602027854585604","host":"s3://npm-registry-packages"}},"0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462":{"name":"@preply/video","version":"0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d3c9483bf692873dae6c19308dc07cfb0784ac04","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462.tgz","fileCount":1032,"integrity":"sha512-gpMEtuLPOtarqQB/87r9AdQdrg1m6dH7XdbeKH9xZntg0RKdKGKpNL3OSdXCdsGsprohKwDCQSfX9zBWHbPC0w==","signatures":[{"sig":"MEUCIQD7qORCx/kZhf179Wpec7GDDvqHF0oFlO6MYJkKkV0F+gIgftrRB/un6Cgfw3n5WjcpSpEzg3AQ3EysOQGOXWyKBrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22319534,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbN2+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFRw//X1BfrOlpX8276r054+EqbKTM4poK83t+6AwGc44wPmts6zd1\r\n7PYzxFi2OylV2NFssYUZAuzH+qIb3IJkLCQqknjtXJKfvuGSdVBZovEqJH0j\r\ndJ7zmVMxjg3aZkYpDpg8npMHthBWl4yOL5Of5Ingrws7pousyzJ/UWnycnUm\r\nOIuBDEICph0MfUXC3zIxntNgDc7feGfnPj+ewMxNGBRGIWeRV0JoS4ezCguQ\r\nKOti1T3WlKPMHSy3NUeD+JPun837YO70/x8lvIDRI4CrWp6w7RAZRjpKrDa2\r\nVqaDINj3iXDN39j6mRVsPMVB+rx87g6neZ4TiYB/Au2gaaY6wZbqBbm+e43X\r\nL6PO6SRAEiCCpvhjXInMYs1qWRu+H8DnnuwFTSlwe0ZVI0ZbaSL3WfMc4Gdg\r\nICYTLP076nXjd86wvW/HtPx8samhYb27YxuapKIB81D8A08YQlc6d5GQ37SX\r\nC+sgY5n7C/uogRU6QaSC7SGoGm6/g1HCA2A+Bs6kZKl7r1ZuPYjbwgVuMfND\r\n6pEE5zYKjdLhiHSWOJaja04EyLf7OEKPxO7tXbE1My4ZMfDRVy5FBEIDSXIm\r\nKR+rSnSWpFVDr2LwA7USmnO+8+725uvoheEqTgXkBF78bzhhzZpJqBWmhR9A\r\nZiy3Qo3iyk+xHlBxdhvIinRBHb0+gk18bxQ=\r\n=hvTk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462_1668079037899_0.8335004807693749","host":"s3://npm-registry-packages"}},"0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103":{"name":"@preply/video","version":"0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f8c2434e2560baf1eec9617c2803da18a8da06c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103.tgz","fileCount":1032,"integrity":"sha512-ixu8Epl9gDho2rzY0RqEzYer9d0+sJ8hpHhXIg3mdJlpQ8xBNW2AocHxs8/UppOpBSaE7dDDRfbZwviCwq0U8g==","signatures":[{"sig":"MEYCIQCcdkTBV6VmJ3oQksNMW61oNP7gfDICnJ/LDziHJTgybwIhAOJA/ed+h2FBj2IN7xYd+2f9L0MrLT/l61f/9dJ1MD9h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22319618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbRIxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0DBAAjxMCPrWg+Cca1nWboqvylkhzixl6hr2V2bfdhPeSGCbRwH4G\r\nRUoJAbY4+JV5pRNELZJj764y9gLneYef3kGzr00fG+w69zfFj6vlWFv7kWz6\r\nxh6vysiuvHVGPJ5dfXHL258zxV8Y0F/zl3eMzIEvRYBQbpxEpS89YY2NQlHP\r\nD7aDeGcehc2n7O+NcJ4E+ldd3xpnyQIHSI5iLJYTIhoGkydwQejJ9mEH0yoR\r\ntMr/8QPpZqKZkclH3peB3ZgQixud1ayyzPA4lal/YnMYOFSxJloQ58flL0AA\r\nfvEBRpOwhw5pMUbsMmDqJ+NufK8vFH3XGXKaOyGo0vk9e+bKk1HuRf9ZLIkc\r\ntSLT4vMtKGAdd/2SYrd0Jz1MjeqL+VM5LiBAG3TRlrD4fbf/bj6c0LZiyI8p\r\nwGKZW5nSQPUq0yRzzRH1FBJF2Q/5WeA0g4jEQSkq5ibX1SwoEMZq5dQEnWXw\r\n7hUIGVPuLLclgMYdG/3F/BKbMpi1QGSg3YTCL0W4yO8qTH5msowPC2H6V9iI\r\nYMjpobrXhVJs3q4wMiUgYCvi+QwSFj6mSzGBf/6dUDdhOIZQMJR88lqBNgvC\r\n15D1l6VaEkCStOKvzTPD6u4V37WGNMHhPRfC6vYneb+zgPrH/fiESf+T/ouB\r\n1jb+YwSXJAFUtYdNxITaofRPeUxXp7UOrac=\r\n=hp4d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103_1668092464888_0.8883111421441714","host":"s3://npm-registry-packages"}},"20.1.2":{"name":"@preply/video","version":"20.1.2","author":"","license":"ISC","_id":"@preply/video@20.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff5310426e3ea5005c54434fb4fbeceaa84b1de4","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.1.2.tgz","fileCount":1015,"integrity":"sha512-3yjIgDLV5uPaibGKUw34Kc0XqWgTwwZL8k+mBr15kIFiUL88YDmCPdX2FGsx2oL4bjCArBqv/aTquuxjEEeOng==","signatures":[{"sig":"MEYCIQDyfVrQJ0WJzYelIsY7QhbGvCCyArM/Rs7rbB/Tw5Vq+gIhAO4e0tyyK/s/iF+S2b1UQGAueR4lRQxaJwK2JJVQ+9tk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22273890,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbRmHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqcxAApAVvkjLj+gXwBUh9rXNC11Lxm0wQ7uOiQywtO/L9KfAFIN/p\r\noJRVU7jgmcPU9QjTzlOzsmQLWyiO8R+rD31MfFKcKGDwbSqMLuBeJfTtq5f3\r\nqHWwkfzE9DCTgmBo6YKispIX15D1y6XLC99vG2HTX3CvF0NCenNEBdOQ1DhJ\r\ndHnblRjp9Igk/zW0FXrSb34w25jysyfekLqiAB1LwBFcmVrrC3ybqRYq+C/D\r\ngg+EzpogueDmdje+MeDR3p+VitJlK8d1wuaUNPsTfyWw9RWesH1Xzjo82HrF\r\nxNnoEszCw8htMzM/dCEMp/6odq7H4DfAtMJNRw0BhpOYzmGu/UdDlFfQx31i\r\nTxFwlbd1d70W6YA7Tn16SLROqkygdpY3EICjvcxF3r4jDLmUZTgBhJjEGsU8\r\nAwiHNXNkhC70K7pV+jOEpXNu90Pzu4vHEeCneDVxRg3h/e+6iUwVIq4nYSzA\r\nzyeMTYsDEHlfRPh4gu0HXcodE0/6VUUyUuSKXNgskn+bZAU8Psr/HudRdUch\r\na2WHS8pOFSk5kx5ulxDUbtDQmvM4v3fnHw6PeezsQrU8ZyctV80EDfrUgChU\r\nhVtFcO9kwlLl1xcFFs9C3iel9gkS/0g0Da2CRNzEblCBlYgAaSJ0fjSpF2rR\r\nkQhF9ew9ynlH0sJH4IAT7RwKJsEwjFOJPbA=\r\n=L1Ok\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.46.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.46.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.46.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.46.0","@preply/ds-web-core":"0.46.0","@preply/ds-web-root":"0.46.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.1.2_1668094342725_0.43678277936818377","host":"s3://npm-registry-packages"}},"20.1.3":{"name":"@preply/video","version":"20.1.3","author":"","license":"ISC","_id":"@preply/video@20.1.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"498631e0ca62c3e30440837107e41e5e864ecfea","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.1.3.tgz","fileCount":1015,"integrity":"sha512-TL0YKhafanq2AnGwnV9mjCnWQmWKJ3oEJcytn19jFPVUxv1IgK8RvWc8j7Zurh47elwqKrl1P3FBIETtW/LhUw==","signatures":[{"sig":"MEQCIFv5e/BW92sbLqFx5yit+KtfhryhneV3+q4Ys6UOMVfKAiA1QqxreSLOEf2OKlWSwSEdgauxuE8HwGQ/ev3Epwhblg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22265649,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbgkhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpaow/8DyljCxxqh1SGo+phx2MG1nzyPpJA4QZnlT7TWLdJ8OyTSe/+\r\n2zBQZiGwPAOHHr08VrQVwwOP8AcNe/WvmAabQmzqbyNrasNHxxtmoZNAZ2cc\r\nbhxjzRC8V8YKcj2LqX3IOrVFTsNkA9cS4qzxAJizCMmi4Vbx7dOoseDTXZgG\r\ni/nZbySJFQjZkv+enhhhd+57MUlA5xDHue7SmgitINgT5UvqKo1hTenylqAE\r\n3hio+MhSkGj+2K1NLLSfWeao7g+/ahDoE3qyUXsB1Hl98syLpXz97JWNYRh8\r\n5Fv1nLCFUEV7y/nsu3h64kkXkT2utRN4LgNab76VMgBMa3X8c50yVUzfsEo+\r\nnIws6i7+xZ4Mou5+AsachpMSW/SRaeLLxmXFL4ggXNUVcl5kVbBlhgTy7MRB\r\nIQ+bCdPFX1GLX/Bd1ULRI2eT7DvxtAG4NfyBkIqcsEp1D2L0Vnhxjb7Abf1b\r\nYz0juZTCFdAxxSgRcJda20Q58ZDvtvAZVqcFzEgpF0gFU7fxFYNkuWakISpH\r\nPU2fsmjdMD4WBIjZIxnRaaWmMRtjK6oDrQy+N+4o/IAwE7XGrVYHwvFoedMk\r\nf0PvnBTv6Ibi/9SbQEXRj8Eywqocw68vi8FjGRdQKNVlqk4uPxlu/nH+PeEt\r\n4bdOL6tAxCM06SWrd8ajUSTTYmaDo+1w0EQ=\r\n=LE0F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","eslint":"^5.16.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","eslint-plugin-jest":"^21.27.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^1.12.0","copy-webpack-plugin":"^4.6.0","eslint-plugin-react":"^7.11.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","eslint-config-airbnb":"^17.1.0","eslint-plugin-import":"^2.14.0","@types/react-loadable":"^5.5.2","eslint-plugin-graphql":"^2.1.1","eslint-plugin-jsx-a11y":"^6.1.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.1.3_1668155680613_0.062433779669387235","host":"s3://npm-registry-packages"}},"20.3.0":{"name":"@preply/video","version":"20.3.0","author":"","license":"ISC","_id":"@preply/video@20.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"daaec4b9fc2353ac90aa68fa98e856e09f9b05a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.3.0.tgz","fileCount":1015,"integrity":"sha512-wb/KT33gZr/Z/NiWVkDZ67th/amzh64tkq9iu1x/45v2EDkARLScsT3Z31TKRwv36UgMf/InOE3F2UBR8Jcosw==","signatures":[{"sig":"MEUCIQD79YRLhsiOCaNna96dvY7hL2aWRJY6PAHxvKpe2BAEwwIgSbGfJX4Zj1Z6UEW73pbA5HuaW13mlB7/FUtgy4557yU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22271527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbhdBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYtQ//UOVw7Xj3dP/NdzD50mBsaaQY9gHx0OB9FwOpmhEnZ7atm3e5\r\n1fecLvSIMAg1WxjuJqfBTUsq7RrQllXcrQ7K8JYsANqIqhwaTdiWykBemzsX\r\n/INUYJTeXrJj3s9B+T6PYaw0u6A4pXT9s7LpC7Wo6CDA7pigrJ0tn/sYmEPi\r\n37uGgkY3/s4eQvDNlavbQAtBaBoLp4Fym9QIGdZitrksBpX92WatmOCa+JCC\r\nK6P2hngbK8idGbb+Zj/mh67iEjhMnYJVFaGSGX01ELcj7aKhbjOy7b+KiBcP\r\n9Cja7naz4AbRCmXxxF45CfbBewVw+0BhIUjkwhgwXIRFMb+iatFvIBITicNm\r\nH9lOjvwcQYPyT0dLN+lMsBa/qFYyLO6BCvqo1KWxXlGUYnPUthzLnCOQncc+\r\nVzERQU3vERroffhYFxLAVl3yS9Dwp+tVqrT1K/P1Fx+qfkEJHI5xCYiksLx6\r\nKiZXU+WrxUfOT4LM/NxE7pQ0IQ7vGfnkjiMJk2GoJJQnm6z+KnrMdvPigi7x\r\nerLvUn+HxSuqPx3QqMgmpOFxqrA7QZe0vkyJ3que3jAYyTqU+Bilcn+ZURXr\r\nrhZiujRw89M18xu5QL9SjKwFX0/7HWbJvbiyq65NIkPzX61bMZA70TWyUxXx\r\nwZfcwFbFX5oRFmPqlSlsO18OrbYEi6HPIQE=\r\n=XZ25\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.3.0_1668159297306_0.5219759484243514","host":"s3://npm-registry-packages"}},"20.3.1":{"name":"@preply/video","version":"20.3.1","author":"","license":"ISC","_id":"@preply/video@20.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2712fba5f3d1970a26b1286b08ee759fa75f2bf6","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.3.1.tgz","fileCount":1015,"integrity":"sha512-CLmhAPgzrcncDLXVRXNjyLlIJcGk9lsi8U7Aqgg4xBE/x22tEwlBzHRXCJIUsQ1XvyUN1yOfoL5jxvrByn4uIA==","signatures":[{"sig":"MEYCIQDkTtlu7ruw+UNDZ8sVWKuWp44ca0Xnp08WBHdFReNM7wIhAJo+KfXMj/GTG3kdRRbY0H1q5ewPVCF++FQB/J3CMsYu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22271527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjbh40ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoIIQ//TAoDoY6WlC4OVGNWyxY8n2w0fOtcQZl8xsjwrIJIVhOdJQnN\r\nGrdeJcqExONrvAgGaGurmdL1fvMN+9t2JcUM1nxten3FEf6w4BuQqmIlXzNH\r\na/utC65AI787aIO++qoLVYTGCsDjZp2d5MnTecc19hjuGf+QY36FHnCmoU49\r\nrG+nQS45WUwI/ZaEO95yU2CSK+EIZlsiGD2O8TJJqg6kn42OPAbVfZfyTIt/\r\nIYG4quLcBgD3D37MDWpaP27skKSZqJW4WOF0lc8oEvIhKxTR7jMIB4Jl6oEJ\r\n/GcqNT3b6a7fXjYAhPh45H1q089+1dGednqX2Zz9DsxIZu7uCmXmpxwc71HO\r\nxwFg+yT+gsWC38+S6z++Q3OerCblUyR0Q7eZQLSmjyyF8aLzEQdUXzydAgXl\r\nUg6gyhHvUMZwk5JCevL3HiO80l6YDLSNvBZg+BKPceM1bK94lSNZBCC6Zurw\r\npVYCd3oiGhrwvjl15VOR6FmAGrmFsLpoUVUu5nLNesLiLAxzqL/lWqcSKf80\r\nwfi9hIYGdlW5ck/du55ZHNwKlkKIjMAx3uFTDVm0CH6QbjdaOcU0KSO5bv/n\r\nPjGCVt9PJabiZKfcv1/+FhNRK0ANbeoJ4srSh5mwo0exLSTwDgRrje0Ghm0u\r\nQddlJjUIn/uLiH7W+PTAB8aT4Gz6E3VLiNw=\r\n=xB6a\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.3.1_1668161076425_0.5448032929894706","host":"s3://npm-registry-packages"}},"20.3.2":{"name":"@preply/video","version":"20.3.2","author":"","license":"ISC","_id":"@preply/video@20.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a9a50d2a326078085d39a59d3fd52cd29a7c3d6","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.3.2.tgz","fileCount":1015,"integrity":"sha512-Ue4NWT8kgBtAtioTuQd+JgnWJf4fA9ysyJF6w2JBIMKdiyj5pK2WOPRF9HAGBm3JXr8prujPrvFa90TfbLfRDQ==","signatures":[{"sig":"MEUCIGL4BYUGXSexVoVYpHTpTVH8SufvnqnhG68UNqxqhhfCAiEAhbAgHAj1vj7VolD5ubKJEyvBtUO9av4qlXa8vf4LJFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22272200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcgJnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoDWQ/+LAUUCyOHyljz+NUbUESRswirZJq/4BHPEOz5PRBu5it2t9ZP\r\nTrb/cEQUMHLyrYm5ee5a/k5bw1NOYUmwBeojM0+G7QrYg+SVoVsqJ3520veR\r\n6Il4w458ov+9WY/4x9fWokFVP7HBvoApD0ai+IMSt5AGnBK+6CTJgw+4n8wp\r\nmTYu6YcCRjAP3xcWVozy982t8qAhxQUjMUuaGxUZKx+v2ltrSAhP/JCsrYYH\r\nEXKvdv+304EYqrPLvfX8KEDJT0sWCpSB0bKEjcG5QlfqQ/WFJrXQFeUxzyz5\r\nDNCbwJhiULZlcT/w9eLoLSgwWkRESs/yakSXkTrymLaABHfMROHuwrKpx7QA\r\nMUhqPFNyP9a6RBml4Vz2yzgNYISUHs6h4beKz/D6ZannOMcbX7jM0Ncxg6yB\r\nJU4DA2TJrBcJXK0nl9vaHo8+RIL0EPWACLoi+i2PwtRfN2MEfBGGnf8h2Lpd\r\ncaM7vX2xvxTeAbapgoLZ0XhvCdniKbFkbMRMRJQvcf2FZWS4y7Fzj9n8Lvev\r\n046V94im5CEWevTiTItOdfz4DMHHo9RLfG5Rk7rFn5C9lk41rUHm/k04lE+c\r\nc9n+k2QszzPSUwQKWRjvSt5yQeQHxUAH1evMb66MJVqpgS/kBZQvaSwPcKfn\r\nKavpBEQxjBArS9dvVSohcSnhovX471U9anA=\r\n=808w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.3.2_1668416103666_0.8128160406694389","host":"s3://npm-registry-packages"}},"0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234":{"name":"@preply/video","version":"0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b1a204badff099bb3ae42f3b544c0f45ec632a61","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234.tgz","fileCount":1015,"integrity":"sha512-5h2ciznZpQbxoZMZeSOXbdLcuhLbeBJ4P2d8AOiuth5A+j7vDXE9jgb6ZaSOwwoJMmt8wea+Z6kL6UWgo0qLNw==","signatures":[{"sig":"MEQCIDZf3VBNA6BNhvcjRRvDTvggh+QHr3tkouAmhg4Ed98MAiAz4o5OVPQLDHlStKZ7p11yAnRPxGE8mD5O2exrjEU0uQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22281429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjclu/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFJg/9F5rdpNQbp681FKixfaKyf0okWWFG3hTS/DIGPa9h+/ARgwWK\r\nLqr8uaNiVEWy5cWwep79ySDvQZR+yuRp5VCjDMPogiV/GUW/T4nFYQpEOhRx\r\nASTWDq+hjUawXZOjo91fe4t8xqbybLuKlzBZ+R+Oc9qzBcQ3r4M6I5ojuARw\r\nDrJLsara9rBUxAmO6ywzKA48JujQnz5d3GEPVjgScwyqz4zJPPTkGJjhtanj\r\nX7oiMUVObbcFstK8fOJ1/EPST3errjHmNOTB7dvdWE+/eYNGrZf8x5yRx+3q\r\nQ+iaXOjfpZZ2FHIEW+GEPbjWKqWyRb8955UvocRdNLemwEyoSjJBUYFc8S2g\r\nB7H9j4ZeIfLfIUzfJ81LrRtiUFsE5S/XugQ/OOPxJZMmJhsNXVjGJbokECYh\r\nkk/3gmKkDMpLT0P3D2pskZvg4IyYE/Y+5SYFRXWqoL453AmAuxGk8C/8qyE3\r\nHfJNs27TUTQRiOXjBICCLwOWzB4ghrIwd04ABNCe/90JM3WKe/061THxJZab\r\n45OGKboKPaVAQ+si3jDjhV4G+K1U4+EIsRvEgwczV9L4zo7kMsab5h9c9DIk\r\n99b68gVv4S1loyBzn5/6uoOuoea7+Z3GjFotamyOWiUHlUHVBctWcQx8ESKv\r\ncBlSJVO3VKsfStzX8TSQbWcqUpGQ7lpAGFI=\r\n=n8OY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234_1668438974795_0.6603991497106134","host":"s3://npm-registry-packages"}},"20.3.3":{"name":"@preply/video","version":"20.3.3","author":"","license":"ISC","_id":"@preply/video@20.3.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3e266c7e53af86d215b0578cdd08408ef68e6d64","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.3.3.tgz","fileCount":1015,"integrity":"sha512-v2sQruH/6QqLcG197CDVh3C5+s6mPbtXSlTKQ7Vi0SyPpCZIR9lkABM4+k6/bssh8CMXdaBGx0l+OS58dWgTUA==","signatures":[{"sig":"MEYCIQC7aWvlfkcIK6tuFMoMM5gkmktvj+qzjmDkVp5t6j8NRAIhAO87kOQ7MXCIKGdtAhY48FqYy+ZuS7aKda88Fmchf8W6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22282804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc2MVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomYQ//dPQg2PNGmmtFu1ecvjGQdhWtvtbdSllcIAh5Lkv2HH6GpPxq\r\n8RZZ/tn0Ylj74lC1X0T/TCErk5jJfVsgVaKiEqG6E6X/yBLA5/Z69+GC0JCh\r\n07ZECg9tmi7kLbefD8Kaw2w/qKum2gx63Ft9vbCVPwMg4pryGsf5RASCna9Q\r\nhi3YBZbqbeTLyFbKyVSGev/N/4PTkNv0T7xgUihq7eZ/sALGPRzDLxvldYfS\r\nnzvUMWTOxXWpONmtRsJM/30ynD2woLFwojIBv59l7twCmQGvRuyQhJCvT3US\r\n4evuWYLfi3bdFEL+NfmlOdBgVJltlP9gzCihzh2tt2xdTSqRKcjJ4F3f0xWQ\r\nNkTgTDHnqXWvVBL/yQHJcXeIxArHWmPb9h0FZQrein0Ye5CjtPPMGIk/MsLB\r\n0hu6nRlC9KKZSd1/PXG/INFUPe39EHB1/eKmk3HNtvG0LBwSrCB6UyzJmi50\r\nelc+qesJ5dZhU45+N99W4waeHmLs9KH1qdw/++lovoJxb8ToF6MAb9v9UWbr\r\necQTuHyRjGlF+sLJ+fB1IQu2KqOOLcuNzZ3+8kpXwRms7MVyvc9+44Y7CxmJ\r\nadlNjhFemFRndCuMzNsecN5GHbHifHvwkb5fTIP1Zi/QoQYTpkEGRuSTrsgv\r\nFw9ZAvT4rgr0VB5wMm7nb08ZdbQY5Q7a3jw=\r\n=kgdG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.3.3_1668506389227_0.7473377106944947","host":"s3://npm-registry-packages"}},"20.3.4":{"name":"@preply/video","version":"20.3.4","author":"","license":"ISC","_id":"@preply/video@20.3.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e50a7d904e223a94a2e8967fd817685a4478fd5","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.3.4.tgz","fileCount":1015,"integrity":"sha512-fLiYxg498ujqbuKjtoRwoaIBxLoOLAdcWdZaCMlDOaqiZfmCxW+QXm5vAjFacsau8K+2KO4uy0ErN1Kj72K+ew==","signatures":[{"sig":"MEYCIQCp1PeedEUaLCcN5v7Tfrq/6kKq5vhWS5GBxIVyFIvO7QIhAN7cE3QkyNAjq/trtWUunePDjycvY6rnCmP2/Ku2Iet8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22288846,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdJhXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr67Q//etD1gV3OyWYZmtSZkkVWLLOEJ9ADibeghCimgJnCY3WmwBvH\r\nYpws5QBoEixA0oBdfYPtXs/BP5EABmy3jU5d/4C1ovL921GYOd1oGn3j/TGV\r\nYwx1SYc+lvAaqkMPy1OZ4VJdQtH8z59mnaTY0wTb4NiMaFTGOdjiTnJHeBQa\r\nkAZiFFKRvC2Q4hDtMnkA5NhPru4MlLNM9tviQ0KT7CduNgaTHQA5wOGpkpcR\r\nKhuJbl/o5e5mnzrHAY1pW6l4kXGumPbeKOBquKtvSsiC6abtQrcNuijrf1zQ\r\n9QzzVyu10IAG7jyfdYnTnWZ0msJm1iXecSaxDjUG1ZY3a9gWkTB+RzX6O26E\r\nOF0giVfp52Bp16D7GA7yyVOgLMx8UBVgg/t9lsnObyJx5be//3B3HlqNyxVx\r\noyp76GbitD+c6cu/EnVbBvr/9em49HwPgA5Y5hgl6jvoUP0ZDQldN+YEa7xn\r\nVHNEd83iTbd7k7tXT7dETVUGwqLWOvRbCX2DfAv67vJbolJxZAoX/ubyQSUP\r\nx44+dagLHVaSPjlYYgXokiiFe1gtqpG4P2GVs2VY3WL3wb86kC0DhjMh5NmV\r\nQvXvuKmihLSibDma0QdRfqaZYDRma/q30YxsWk+5Vd6oL/FRDCf03nsr7pcB\r\n0k1PicYsdl6r9Wx4qvO2HudfyTbPV4yeDms=\r\n=jj8C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.3.4_1668585558675_0.5708143048839271","host":"s3://npm-registry-packages"}},"20.4.0":{"name":"@preply/video","version":"20.4.0","author":"","license":"ISC","_id":"@preply/video@20.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ec21538da762f31136be40f4b366518f4abdd3e","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.4.0.tgz","fileCount":1017,"integrity":"sha512-MlxuBkwKQy9eieKMVWEck66FvYAf7KYWb5Akaenlcz9fYQ01ZvAERgVjaSr1cC+eC6vXNzt3RnNPyBA10OFYIA==","signatures":[{"sig":"MEQCICZtCZDKmaG67nw63MFZmZ4PY41Nn/OtcHgWJfx4QKpJAiAP8UvDgMelaviPOwMe0l/3Pu6J8WYK8x1A6OjigAzrlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22304608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdPNOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUmBAAg6hBwzn/RS9rXYgnQqiBzHZUGVvPaerNt9G/mKFDyQsFYGEs\r\n1cH90D26LPTQMd7vc1XUPCen6UUeKHzv1Xv9B3DDuhItys+N0xh0ncYUGtw3\r\nIgn50UdKrvz6StBxYNXxCg7CHW1GyznMcG9O9S7+H1r8nlRUwECuuebduVkX\r\nEftBartU80byx55NLpz/53zgrjKkTsDWHsciIDjOSLa4gNUVSJn+0c0gSJbe\r\nc9zc0+VCTI06zf/+iexf/jr7m9yl1r4E+jqANFO2m1Cny4eitfSS//pe6a+4\r\noVyrYoE6dGPDOB9nyJptFnixpBa3wukP8QPfiw/0CCbmm0JKcsbEBcOrB20Y\r\nRfQtNxFfviEAhgrtrIfwfThkNVhWzu//7SUtU1fgWoA1PCobpA5izS57nGoj\r\np+u3TPvltzh73eCAf18FNCV+7wLLfWypMfPK9fFB9CA4zMX3mrfvlyxQ/X1C\r\nQ01opewZmxPYp2mWy0SC3GaSXmTPBfIYE0TfjkFwaZ4FUlmVk07oi+X18X1R\r\nKWiB57j4sJNQimQsbrFKs4gJ4v86+46lcupP9/4q5QKnqqsb/t+qQ5ykKJqb\r\nA6QFJ9HDZwNESrtWvACmFYiLrsNCOX5lajMZCeZ2E9ZjKa9asdeZSZEhxS0x\r\ngD2btL7gyHbPQ+OxBhxLM5bIiouYFhinTzM=\r\n=TCcm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.4.0_1668608845724_0.6936079697707467","host":"s3://npm-registry-packages"}},"20.4.1":{"name":"@preply/video","version":"20.4.1","author":"","license":"ISC","_id":"@preply/video@20.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1828730cd80eaca4b220c9c7dc7e0e728727ac15","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.4.1.tgz","fileCount":1017,"integrity":"sha512-1gdKR23O1Hyx5g7RfSROvpJilaoVtjzzv4Y70ZgZ95AHstAxSNXHyxKvW4b9AWxuDb710HtZOiZAbI0Hqfge1g==","signatures":[{"sig":"MEYCIQCvEf02zUiNOl71RIQ44m1vVLxp685j/Uo0Uv+qbgbfvgIhALh0klguJOoEAEcUzOcdfZ2O6/Ydps+iAtqQ8C0/tHKh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22289202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjd4jJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQyw/+IW+h5WM8xnczn5QAnpVYO83HLgREQyeah0YhkJ4kx7p0Iclo\r\nndRtSrX+gSdLZxBXhfIcSsId/EXFT88mjJ06r+zffLnva7iCcggOo5UlaxZP\r\nCpYjVwkYUfuPxQBP1nXYX/eDZdYx0CjLElvXOC9OppmCfpjagVwh17bhPtZv\r\nA/42uHzNq9HuWaQ4FDp6hcRBOeo/TUaIGEGjtn87r0sHZyZW9q437JoOSzWW\r\neiJzQEzXSNfoAYsXQocoDfvHjBvLgE586F13DFVyrthEMg3D9QiFFnz+6qxt\r\nrsYpqcEWR0RKjAlT9AduWVQ4JJtXm/kn8JuwOLg4yL5mOAbYzILhclGGDBIN\r\nHlqjdH+cpwjjMk+i0nP1/docadywzEV/AIk6hs6diW7iaRz9eS9OKiKOOraa\r\nH4hB35bkmdX61+Y/utWMP4fRyZFFgrKDHMCkCqWQfI3RCwSjmEq6TfCwNZWl\r\nbasxlk2S3UA4nTqu/TvXY4UskPpIcRgBxR+WhK6B9tMUshLUKgWP3ZIr49ef\r\nYGZtBSofewUQe1vtA7OvMAPhzbJP+k6twU45NzTGPu9MZzclp1KKZCb71+8/\r\nnOCfH4ZWMNXDJltW9mE5A0DTlt9DzxbAMwmS0Fo5yphoebcY6AsfXk5wovDs\r\nuJDlpABfNdRChfKcopVCapM2fHXTYmMT30s=\r\n=cXAx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.4.1_1668778184798_0.6779121391779241","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e":{"name":"@preply/video","version":"0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f84080d9c37bf622d71bbd0bdb35490e118a8146","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e.tgz","fileCount":1017,"integrity":"sha512-bllxOGSopGMSJu/mE4PExacTEX3i1xRIVE7qGvCx1sDGstKXSZGPmGjXAJax4Wchg7snO7hiRYoe3MJyOMHfwA==","signatures":[{"sig":"MEUCIDiAbsZtgbZgHFBzR8ySIn5lbDG1nPWu6lxau9KTc78XAiEAqvW7BhNHHbNDf7wsSOrur0wDepleOWmDfdS6eagDVv8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22291167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeVZhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWohAAjgOMm4PtuglxF+H+o/IlFCLcxSr3QiGClW2Dnt1ldmpEiUSm\r\nsSaBQ/onMEyxpop8kQwh6dTI33d3T6y2ouxMLVsOrPrybuGqj/5rWfwZLm/1\r\n4mml1f2yHypNAxYTvMLnB4yPweWu0zQ55VPyZ0rZvPlyBqGJOH8p9ezl6zq/\r\nxdcFGroLHmS62Ku9tsX2m69cI4Hneo7vBq6WIcT0Cwi1aSxRgkvs+Ub34TQm\r\n40piBBD8kan4Hh5j71Q//lNslcCaZakxFcvezDmYbru++heGfwhA8Wy/FLaL\r\n22zbaV7RVqPCr1KcgnX0Hp2ZIfMbtDlgp4bizu+8LAnwkI+ZvI4JjjT7zv4V\r\n/+5b9L2ncDap2tEnshsYp/PNQ6zrGezG1CFGsPk+yb0DoI5PzbACFL0dxLc8\r\nkfbHwrvyZESiLbJpGd5qbC+AqeD6G/c7oIGWM5eT714pR2Wz3+KV74cx/ZJF\r\ntCuhH9N0tUYqUprlZBQ/XKn+FYjB/ndipN9So13hPjdB24PGMNtd0sYK6Nyf\r\nAheclB3aUKi2CZl7oKEVyPFo4fH85tA6JMxmzeQ63daXt0NodKzAVSE+ISOB\r\neP39uUlKuByfQK0pkr49Lwksy8CTou7QBcQGkT7biIEsW1agoGEg/lj9Twnj\r\n/U6K7U7YRW8Xa+00CLaxuZYfcm1GSxFvBtI=\r\n=tFlK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e_1668896353448_0.7984880793089866","host":"s3://npm-registry-packages"}},"20.5.0":{"name":"@preply/video","version":"20.5.0","author":"","license":"ISC","_id":"@preply/video@20.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d98d5d2d4fbd623e1cf3f36e0ce36808fef66567","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.5.0.tgz","fileCount":1015,"integrity":"sha512-lmMsfI9CH32PlJRqBtVIkRmIqQVTtp+7qss8JSKQwjd3S64agMQFaeh9mwLW0xJbcVs8z74HWlNj9o03vzN0Jg==","signatures":[{"sig":"MEUCIGK1rscFvuZk3wveP1PbOXyPh9ynGGpw6dQfHe/n6wbAAiEAsQ3d8yJRmCCLLN4kjoCx3MgdrrB7IY4I+/aWiKoJv/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22320958,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfJf9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKJxAAiqKvqhiczOd6gv+tnHTsOGbzKoh+TQ9dREfhTltwbjo26b21\r\ndwUsmeetDASoMTM6ezL19VOo5Io/76SE41980f0wi+dolqxHlZs86L4QT+hm\r\ngLfEjt58RmgyKVl0Hk3WQ6yz7auxBcLePQ9tp+lk9tNoMRVbBt3pAb70zvVo\r\nz53hmmvCFAqlEWgZuHuDyGTUTPRjvFVnkTN33jRfN9UBUG5Fz6CvHAbUnByF\r\nqM0WzuYtYoWQvdNMT5lwcSsQRDYWvMCrzsyO3I8n77IGPL9xiO6DC0qLWa+y\r\nwJXielPKiSNm0iBmsSkCVQEc2puWyCdJa572v4AKquXPizM/MzGgcRvm4Est\r\n8hfV/xEJQj5KOyMtDhBsbNQrJg9Wd1rZrQxiZCqBCJB9lfnrFkZvyAl2pXLG\r\nmHv0xprMgeydfYdlGOOX8KGVw1iZwAVLv9DzwIwxyOudSmzGoTgut6YG9TEK\r\ngkmPsFErPuhxI6PEc9HeES2yL3Du+CqHvax0QOBT9Iobx2wkdt/749tvFqfj\r\nkhTwhLL5uBW87vVvySmg6O44v0NjE2ni2sT9kmaF8F/k0GmyNJ9mw/au48ly\r\nS1ASfdGgQ6sVHN00RXyNgPz/4exoPxIRdCc+FbQu6N+bzzGn2U//K2R4gO2F\r\nIK2P68yXEKtHxzN5qHEKE2haY4/OgqOqmeg=\r\n=13N5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.5.0_1669109757080_0.7432267165388851","host":"s3://npm-registry-packages"}},"0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9":{"name":"@preply/video","version":"0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"66330e58cb40096e78efd83d27ca9fb13762a409","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9.tgz","fileCount":1015,"integrity":"sha512-LEekCW89j+Ut44mGH82BZnURZ8iZo5cuM/trskDJo7hbr/rqRNY+wDc2hcgD50R/jAlfRaYjWqxwkhdrs9OQ3A==","signatures":[{"sig":"MEUCIQD3n+arRDnM0AO70Bj5rZ52fLVnnrWbejPwFH+fwehFYAIgZCV4khX5GFCXmk/r9zXWw3Kf488Yz8ji06dUMfIpIdQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22324182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfKFdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3PA/9HCwACuMaPZl64e3dx7y8pVmPH8K8OhybaisaqT7GhSldWaoz\r\ntBZM76KXINYaNeq1+GUlG3sJdfF21o/iFXBAR+iuqL+xQus7uPHLKfyaMpBz\r\nfdDiTNfHeFjr96ASrQB9SybcFrVyIjHGdejVM0T9untj7blLcFg5MltSRFDK\r\nqVdnauJH0gWJiV+0XtXesAE70P+Sc897b6zboEgb94lY6DhOr0CGqPOZrjGR\r\nREbdPjaoNcF9NuUtFTVTvpF6yb4ejJYG8ghANpwW5NHOdcci/OalwSqxtov9\r\n+6+afu/Y87ttPdLKJ2YTs3VeUwhGevLxk6D0PCMe69mv+j3kMkQCkLzgZRUC\r\n4Prtq741CmpUJOPxar7L1KthGKOiIr2VK4A+Zqb/gl85tPOPuD6Cn+5kaTJG\r\ng2rN/4PQqX7XbAwiRcfl/+0HIRxvDHJwYw43Ol6jwQwrNvQuJ7QQQixQz6C/\r\nvajc/o8E81r9QaGwM4Upi48Lq6sKotWc79kZkFXSVIdyEeZu6Ithk0LkwCYz\r\nP2Ih8DOevUt8M1l3mP+nnxIFfEY6xXe6pjvaBcsj3g57+fm9SErbg8g3YA0c\r\nd1Gz9y13sSKoLWyVwIDsOvjVyCgfvzAaX2BC/sDlI0kofr1r0rqHCYk6PZtx\r\nBAW9xW+Atn+M/dBWiZl/6ZOIkok8zHHbZEo=\r\n=9tnr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9_1669112157410_0.661787753223487","host":"s3://npm-registry-packages"}},"0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf":{"name":"@preply/video","version":"0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"924681ff6d3be6c20bca8e5072ff88a0be6b6e39","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf.tgz","fileCount":1015,"integrity":"sha512-HDjcmxNnveheTMzKgk5GK/NeN62DtXh8Je24n1++dCcwA7Ti+x1ENTdgKC06HFAq+kU5E1dzORNPct6Cjbe8Zw==","signatures":[{"sig":"MEUCIGgOH6Zip2ukUYdlsnHW6Kw9zhPW3Vgy2HtCPuFBvYe5AiEAwoLFb14K16vM2bZQbp1RwJ7F4Ic3v+SbiKmdwI1ie4Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22322922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfOB1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWdA/+Mxi4ox/Awp68WasuxMCKYtjkvJYP17VintHDnYlycvTtDJfG\r\njOVwp5F+P9vpW+UfRPYqu6WsxJ6bwqDsBGauyR5K5gLbEzDYSBrV0rB1jxlX\r\nuysb54Yagd4eo+EZ4TpTPUybYi4lAXpRwGmdnX+snJBnQBgfXyHuY6UFyRlL\r\ntU2c3cTklvXb6Y4+uPfLbrxOSEsEDikvmY5Kf/5j05CpLtQuSFZ8e76epUaH\r\nM667oyg+O+iBiToNPa8R9TpCBoFZkqz/VwNuHsDgQcQOsdshFjq6jY/y/M4p\r\nG0xIFkYBoIQBWkBNB1+Qsgtv6afngaHLf1s4oUGFK270IiXisboLraVyyHHR\r\n8qtiTgIu0aqeCzs8eqIwKAU3mXbQdWaWtbKOiVYBc/KXL7CZQmVuQU343Ix2\r\nZa6uUuKaue1LzLJe4XYoN5nOWHFG/axqHQorfz4Olw3RgyhcqsewP+YXZFK2\r\nm9b4xr83hiA4rWXU2UBsYdAaRjywcP6BKiMXg9WPOTpFHCSmV45Wuk4z0m88\r\ngDiC1NyjnJISc4Co/lc1WPRSUSldgtg3wxPI2eiAAse4JKOii3HKg/ZYnOMk\r\nqoiKjlFOkFQE4/FfXIPQq8QdTHDBYjnIVgcGgjA4Vqhont14BdkL7PBXZZj1\r\nmxLAPZIde/XA4N6eke85U+8dOSnUujTM3KM=\r\n=0cOR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf_1669128308830_0.2298796812209687","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75":{"name":"@preply/video","version":"0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"78413d222496168209b27f4cada8670faeef864a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75.tgz","fileCount":1015,"integrity":"sha512-0Dsx0M8M+dxex7TBQBn0MYofCaK5fQHR+nZ31gbEd2X0lzmjT65TJKug+qsoGvYlYz5dG6Qud2bGJI0S9oQfdw==","signatures":[{"sig":"MEYCIQDdghcv3xvHjFqJissEIDQtH0HGcf8ufDycACoabFva1AIhALGjTgB8kox8TrWrRkztExyO7ALP37bpXZb0BKvtg1YW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22322922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfOdfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyeQ//aZDm3maVe+7oQG1rzYz3W2/ELbGwSAitPrkV58A729d+WiRV\r\ntzdFHF+7LF3L8xZgTw9MrLZ1caBOPjCJdo2xaVCjZqXl1W8K6+/ZmTFiFwwV\r\nYx83VnXhiwPOhVoZuUmu+SfYXxNsRgBih7FQoAOSK+ftBh6qQTdKA2weDSXb\r\n6+YA+8PCPiQBs3rAmYkK0Rl8LupC3SvnA/i5UV69LHy4V+V3aPfTGFCx/N4x\r\nZSxOGxmw+QDjoo57sU5XY9Jak6hvLSSHaJtjsIHPgGv42ZT54xv0ffVXJHFx\r\nx12wGZY+nsYUG6okf7fK4dXbIl49kWpPnNAQS4w3ZCvJ78fRpfIdNckYBChm\r\nhh/ZNfAIZO+1i5s6UiffhfAvaSTXMXbCq8OA+anOw+K5tfMDVJMUsriYkYNN\r\nLqedI2Gc2lg8/VuEvpSAyg1Re6vPoNfvqqUpy3Tj98OmSJkN16x+/pYCQJH0\r\nSRFcE4TBU9ymIdfdQpxXZr8daitJmFexmJPpGq0sK528NrPexADMRQOOliHa\r\n5paF7lFXE6l8AI6xQMUR+Loy3N4MPBk5fJYjFPnRJDQsLkj67gTXxCujRreo\r\n/PN1nM0WWsdl1lIuC9xIUE6WlITDlQv8Q7Yfvv+wlotXnbVXt6Ahl74FjTIV\r\nTFJcJMDTr5EFm57XZ98ST5Kmf8Q/3etFC5I=\r\n=VDhi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75_1669130078719_0.08266183605332911","host":"s3://npm-registry-packages"}},"0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2":{"name":"@preply/video","version":"0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e72d118c898bd911f79d8e21421f33e868e05e87","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2.tgz","fileCount":1015,"integrity":"sha512-Ih0TLHOAFxr3Er68RdfYqQsKf530DSuMvMSwhAu1nHriM1th3RD6SKBcP87FCgJ7GRoCksc62rm1l/voAdViCw==","signatures":[{"sig":"MEYCIQDbssWOpUm0jC75EhLioni7zUCnWKeerHVqqw+Xzs5lkQIhAJpOO1uogGKpNFSyulcLFP9mZfVQ6X2eo7pliAwiFpk9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22322922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfOpnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoMtg//emyw444lwy3BFyU9nLjrQsj9wctlxjUPofVhH2mNnrkZkXeV\r\nWDQGDFbd4JlUMIFNYuQ3wq3nXIXwEr/JcdvcMyrREZvh/+BtDE5kSyWjKAGR\r\n0kXo7sBzzKWI6iFPiPdBV8cH47itvS4N76Snk8c0yGwACrNZ7eL19QeagRdl\r\nLsCNlpUbLOERgBKwOhmk3Nm624aMqCQYWVeWirWOHxZYFcjwqBkm805fyket\r\n1DIJCfdKC7SEezUwQhGSf9o5WDUdRpSw57Xhl1EFPoCaFzvqceb/DCfxVfry\r\nLnytbW2yfsCqJl6PHpwSKclW1W0ieyrjlB3MINvkX21032FmmhDK2vCfu9o6\r\nVBuOh6gTSbrp39yOKIAj+yPW3dre8HOE9rg6hqMcaJ5NbAcgrWgSkqhCU/Pe\r\na2nn6V+IH9TKPmu0W+LKz4pxXPY1CM/fF6zJ1Aha4/309HjutpDEtaGIW/OI\r\ncnfHNPE5LjJgIomIkqZ0fzyWfMIKQak8jVf1QlQbb0mDeSyMRrSdXupwkWn6\r\nh9fB/MGwh1BOWZcpOXpi4XVblyEn6VMpn3bSFrYHkXvFVr4CN/GMsrCKnsiR\r\nhislqMUShG9njUkCWiUs9Hw2Z1OnxwzEAgDwaZMqOAdIdJsYNKy34mczOoGE\r\nu4gNIHVvYwg0JapBJXuo3VIiNh9UnvmqwsQ=\r\n=Y+Oo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2_1669130855525_0.20602464300659684","host":"s3://npm-registry-packages"}},"20.6.0":{"name":"@preply/video","version":"20.6.0","author":"","license":"ISC","_id":"@preply/video@20.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"05713c89539a36ca6b7de1e5052b33846b9e4462","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.6.0.tgz","fileCount":1015,"integrity":"sha512-53LV9PtDV2877MNY2+d2+cHZHKcYyzVZzkbKBfNLn1o9SrVgFp6YQg1DWFVDS8F3LR0OBo+5RWuxjvUohiTLpA==","signatures":[{"sig":"MEUCIDTO1RHWx5LudDn+xG6A7yxvh5UUjvEbaV6bZT9jHUrtAiEAu8OcUB//UPtc1X0xnERvfJy/SRLJNZ6/HkerY/NklnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22320743,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfPQoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrX7w/9GTjaBSDlK8xvncIDHIGiyuuGOy7IUogMwBOAHxekGYimw1/1\r\n9g2lfIFPBT4/BkggBmhb/ZCoYvZarEjcr4GEooIicHT3KjZlkeh3HRuBRAkF\r\noPkYbnODgN6m3hGFeUJS2HD0xxt7Cd6fO6pwh4D0FW1dnUaoPGvvRxqih3pS\r\n+tD8b/shNfTwxb8iiaqgtB6z09tn8eskR+Zg/BO85tZAxWsuwtegLdvqKGbp\r\n3UBGt2E5YJZBbMg6RtNHDlzqGdeYXMtX2R3do2zQpwFweg4mHqJXY2L+wuM6\r\nF7FvnsiKVbmdIG1ghTaqqgOQH0enTQXt4yANBRARLOmjoz9Kms/18u/L4rfK\r\nlwLCdOvgOgKBUru8bFBZaTTis1WfwQ31knLCus4x3K83zoRGFtWYmzwgePDf\r\nw7lUubjhqmgfHwigZUpJDBAaXzCCVTLXZibWigzMcKuzT5WZOg713zD01aIN\r\nNAyX2/YHKqiNaUBwfbCFAvinmUuJB5CRomK7MIb0uwPoOhh0riGZMIWNk9UE\r\ng0Pxc505mLIRa/V7GIk22AvGUwbp2sA3Br+/FN5KfpNlUCDkGxIMe1Kq+mB0\r\nh4UCHuTmL015ppM8EXp0rpYkLIgIYZTvVtB/Q5kf3Mad77olohJAbMcSurmE\r\nW+5clenv/QwGNFCy5szw37MqVwT1pdeCgfI=\r\n=8BOj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.6.0_1669133352036_0.7388239258768328","host":"s3://npm-registry-packages"}},"20.6.1":{"name":"@preply/video","version":"20.6.1","author":"","license":"ISC","_id":"@preply/video@20.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3184fb7461a41b0bccba02810de9238777367ec4","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.6.1.tgz","fileCount":1015,"integrity":"sha512-Jy4/IH9t++viyp91qFcE2RDCC+8slh953pCa4Mlu2pIXtL4bM+MkhfZ3C7uwCghhEPWcVf0lgg+RbSpdiwRYnA==","signatures":[{"sig":"MEUCIEXqbiHnSUmmqZogcS3U5J2h7RaFiJfYxCEnuo5Iu5eoAiEA6CJJ8sDCr6KjIffZB2vqfGGnzqe937J9U38FlBrgYso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22322843,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfe3UACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq7Cg//dcHP/Tr4mQfIMvsmXXNOp5zK38JYkhQvL+zwvscrEpkgzwV0\r\nEGPLJjE/dBLwhwFGqipYwYp03VXeT4xEXSYxM67qEB3EBElG1GiVLytRS3za\r\nxx6oZmz1fLARHuw444cOhuY+G4NpESRx1m23/krld4etk5ULSISWGM/Pzq6g\r\nH1fW5GGd5psSDGhebBN1nayLuLPZi9ghKFtAFiMGDNscViJgWDWnXVX/0N/s\r\n9Qe2OlPzsAs76GBnY5JDPX1akVyuiK77A3Li2peuQFsdRBUOKdFxg2rE1tdu\r\nt50/2JDTxPIfYhK5tmnYV+v4C3Nc9SXXuG6i5OWbRsWwbqZvthasuzz7zpxl\r\nO/1oEmZuKtugsr3Hbm7o5cUhjmmKYw0VXuyvHadIn1GkThwIe2+yTPcUPibD\r\n9ScImsCn3q2hdSBphPkFyGKoa6+gDG0zXiH3cY4stvXf254EOK2v4MIhGoTy\r\n9H0FdD6DpKpJfAlqCv2jfALMycTwI5ktfpYpMZOJXTDqsTnysD6GTFF8Cx/N\r\n7H7tW1rI2e7X33bpi0wbk+u28AsF4RcMG4wJdC0QHU/n3nh6/THuG281npLE\r\nhwgZ7y9EOypuuJ1LTyKn4fkKSO+Yobnd64oMcGgBOqIpG1+xuNSeUNW0fVct\r\nz82vGYZxK3RENWm5T1W3blmZe6ccrB/32ss=\r\n=7cfw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.6.1_1669197268644_0.21343517133589507","host":"s3://npm-registry-packages"}},"20.6.2":{"name":"@preply/video","version":"20.6.2","author":"","license":"ISC","_id":"@preply/video@20.6.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"211142e0128c11818d3eafe3d48179ac2954c5d9","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.6.2.tgz","fileCount":1015,"integrity":"sha512-kC11cjLyaBx37Xf6TobEGsfu4cyNC/KXzbHVNndLLWfo6tZtU+VOnarSzp+coLJaukCsrYuVXTbhRqETf/Y0dA==","signatures":[{"sig":"MEYCIQC34vSKPYa4zBLWiRKJ4EvjaDLFGK9r/xTDcvLdUzP0bQIhALDPhLLVljXq3lp3seomWyxQUEK7pHUorVc8fKUfwTy4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22325812,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgHmvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGgA//UXgLQ+PeaJenp5VEelcJyBmxdXpzBpg4ykVlJ8bbynWkvVS6\r\nWKsN/iX/eeh7RmYz+Aw+eaX4yAceRa20hqn9e6K8wS+Dohlui3ZQvgpfErEt\r\n5qNPiILFVZeX8r4zVfH4RnMPPMp9JQhFHzJ6QPCeC8V8W6b0cFofbt+tSO/7\r\nEsCaN90Hqmgc7hChMKuNxR3wVdb7A4JE9E7IoSNtQ08HjBXHsw9HasYkTir+\r\nWekaIrwlM3ALLVbDecuRc3ekgLsFeHYeippvbjtuH8LLl8/RvfWW2qY0zLj8\r\nkaQ4Ehb4LGhDFHN2V3boag9Ktn5Iw1wrsA98eL/u9Eny5bsdPnmYLYvPhObF\r\nIV+bbB8Q3G983UM+TbIURuIOxcvIyqvPkQBMJ6C/ofcW1/Wtevy6PG1CQh0S\r\nXqlSkE+53m7+07XaMGnWClafXRfI2UA2UqZ9IW4/dds6mVjhxZIsnYwzK1dq\r\nD9t3nJ5eoXiSVzRbzvTDD58nOGUF0032N2iuo6F1RWSe3NmaraGlJUAeATou\r\nYv/e/1veEEXdwbzOn2aGnF+6GmrRlJc++GOitilJvcO6EgMKaYzl9KBZXoBb\r\nQbDnH/8I3KWAOylAyZHxl5IPTSB43rNFlEsOyQyOY4osjEdThowybg4YOo+/\r\n3xkHM54oKfW0Okr7ZUVpapoOnV4w2ifBAf8=\r\n=kGsn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.6.2_1669364142879_0.5963511652799467","host":"s3://npm-registry-packages"}},"20.6.3":{"name":"@preply/video","version":"20.6.3","author":"","license":"ISC","_id":"@preply/video@20.6.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"30e6d372aa82207482ff7ea60589cfa9dcd99fb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.6.3.tgz","fileCount":1015,"integrity":"sha512-fpwBz3ZPVt37n6kBiZ6/vdPC1wuKckfqBUaxIYbEv8W5fOzuA4/p6SnBNFVwZip/wDWZ3zuGHaDyFvVL5bZYeQ==","signatures":[{"sig":"MEYCIQDmeNf2zzTNqBKwYWD3Mtql89+kk9NGFZfiSm1RC9JAsgIhAM13r749CquKtuWHvsuKcmzc1WAsbIO3prNGcKCoaP1Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22328513,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhOH3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU5BAAim6GpVWFJxUBEJ4XUB0h0D31Rd5dfwNFrhL3hFRdW1v/luSY\r\ni+6DoArrdKXksZiAXtcmMlRAwBEG/yiLYAYjYr2B/MemNCY2FST28h0foH/G\r\nGtoVADeIZorIKrTA3l9pvtl5Igjb6qRgXuHvPB894s6KtBuzc27JMnZW3Zot\r\nbrCpJMpVrQzV7c9Todos0C2RA6jQ49lPZDNbo+OUD9GXqYbxIW9494SaeCVf\r\n07fVHnhdy5bmX2mawz6EhY8frDSBSIHxJF8mJ5C3CUl/FoawaLelZGisRCm8\r\nTmaiUAIEN4LR+qQUtUgRUPwoqg447eGpMEYf2sJ0XS2tl0rXDGfnl0CSNqVJ\r\n4KFObSjRRr5ga5tHuJavQrxnfPskVLL6LhlWXlERaful9JD9Jgqb/LML3u/8\r\nWtgFcasMRvnRYz2wb0pGPHxTNDBJX+UmIfknJt0vGJfaYazOsrYAXrqfQxZN\r\nWcfIpjda1DLlSB9WKI/dbLYYdRc85ZejHWngdAROD5d7lqhMieStju+LXUyn\r\nU6K1zPQNjFEXWPZTwQ7yzS28vrlGMoiMcRpmduwgMW75dRHxgXUhrB1og3qO\r\nqaF3KRAHnaOGmiZzs1u0kRmdDdfrLOzVSy8vlakV3oeuXlCOmRzhOVvGOodR\r\nFpqB+xW6MNSvi1pdI9y37+T7gZYNBL8HAhs=\r\n=JDXs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.6.3_1669652982940_0.9652142104987846","host":"s3://npm-registry-packages"}},"20.7.0":{"name":"@preply/video","version":"20.7.0","author":"","license":"ISC","_id":"@preply/video@20.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5df1deaa461a960e344fd5ba470d8861a707f584","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.7.0.tgz","fileCount":1017,"integrity":"sha512-KASQKKepxA0sBF41RdTGXMZHeXJW0+HfGz9Hc0xporibv8Ki44+mvi1JDHUaXZno1rzcWkoDqxCKHtFmnvjSVA==","signatures":[{"sig":"MEQCIGaUFdufFkwa15Sx7/rOeic4PEH3tz8LpndBEBgAM2d5AiAji/+h7VEvYXwvryg/5MFPSJIBLYcjrffVVewhKVwx0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22350740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhPZVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoxBAAmOoEiDx1kuRID6swKodzYkUTqDsXakESWQ0pV8RZ5R/qIjFf\r\n8B12czv7gudAxw8qLFQuzhu2lCIpREqrn8qwAHYbYtIKqUFNTUEybNtdDuD2\r\ntKYYWcAPT8OZsTgUvMlcl8N7ZlbsrP/6PySJbCY3VHSydzkeugd6llotRlp3\r\nrG6ceyA/SXs8KMc/vLOecN6tA+2OmX8wA0Hezw5KDJJP5xxrcwsZYk/z2Mlu\r\nH31xRmBiolNGhN7+iJsDjNQ+y5d89DQl7/eDACv6TeY6pZ/GuiQHm4EdwkwS\r\nUs/OShRG3gE/drpawQaTrK/GfI1dzXXJORMVuYEAXkJ7y0OtMGpPPKkLOpGD\r\niNpZmuW5nusyKv6H8qqz89ebYoTsboLu4zLADim12BjtunGSHL74W8bUxy7R\r\nlVskQsffd83yPAu41NWw3wuWYDOTL5PU5MgtYyk3fAnG8q+gyZNkslkUMGQT\r\nYGNDh3I0lwKnU5soDxn3Ba2VsGDVq6NpbVg30xY38DsCdID4LDLOdUNu/g+/\r\nmcPjLtMlFjng/O/Xq+3xHWYtf4HoY29GxHeBu+YRDcpJCIJfCQL4SNpBpGWO\r\nHWBFAyQCkK6ik/Ask+B+Lhya36AspJiAXpV3UOh/5lWmcbguMRX35QGH2wl4\r\nl6U+ITF1Ljtn4vTDc3F9jyzgqa6qC8MxC64=\r\n=78xW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.7.0_1669658197234_0.6450422152535222","host":"s3://npm-registry-packages"}},"0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073":{"name":"@preply/video","version":"0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f8f292b56344390b756806428a9e33e2d6f58b1c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073.tgz","fileCount":1017,"integrity":"sha512-U/dw0WTcIQiDxYAxq+DjA62zAshfqqLaDG/h7Q0dhp7qwyigOzw13uvDDFN3I4gn57tHa295C0gscsBfWBNf5Q==","signatures":[{"sig":"MEUCICi15t5gnbfUy9iIpbTfJ9Redb9QELeQvHQ4npozyC2fAiEA3ZmiJjH3praJQI9LQTiDpF4MBrq3xIW5y1EZRGBOP7k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22357341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhcmpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXVA//cH4xExVBS/f5WdJZIJmv+DnWQas4eg9XHefx+Q1eQZ+3mPuO\r\nfH590mwKjU1O3W1S+LKB1v24CWvKziIdqYh8zEY8rfLkDC+sXV2Hy0OFXdxq\r\nyV+2ztkC31AzFFPB9WHogIGkXRwcmdEjPL2gTf4O3jSJ5OaPTR76r3dAxQNr\r\n428LTqUA9ugKBcQ7Tcj6QjDn2ny79jfDf58WKU4RhQl0rboqWDD7giKDsiUc\r\nR7osAnBHq/kdhUHZhl3zHaR3ABsvWlEBUibKlA2/KKlCfqzXuwiAxiLFXlye\r\nguZe4hMjiclYM4kkXplyy/GXJ0rmotCipv/NMakTQypMNdjdj1DQEh5gF3nQ\r\nNQNe9/RsnugcnYIDaLmMYcEgHI7hdBtyHf2PI2auYqErQh2+cocMwq9Cbvcq\r\nZiujf4P5VJm9fafyX2ClEVea6UKBU6c7m7tHX47Hp42C3y9AL5xjnSd9WO3G\r\nyxJGhn6w8ZmOL6XueH0UYa62vvg+E/2PYuxb8HbT/D8A33KtjJJLv2RtiO/9\r\nclQd1FZ928h7zBtzirJg8PaqZ314VyDb1eDUZhR6jQeeGn7iN7kcUJVNYQi8\r\nCkllaQT8GgHASQVIzNvCO3Wll2KjOXIS2O0shrXxTHkhPb3bBLCTf+xuQeoU\r\nsvSjGywZGPVljV10BbT+GNiTOeSUiFb1S48=\r\n=CKxd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073_1669712297109_0.4649011351212775","host":"s3://npm-registry-packages"}},"0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6":{"name":"@preply/video","version":"0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"49cc877ebeff10cd0c38f8e40ea7471a4840ea76","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6.tgz","fileCount":1017,"integrity":"sha512-4k2DiJWJ3V1KD3jNe+wfP2XgwUsrcJ3PBzpC84ypAfQg4Fg6hNC/0Xj1T7vPKO5U+hNu4kF8mFtXli3fjBj01A==","signatures":[{"sig":"MEUCIQCeJ/Bwm9feohW5WIwkz0EpNxZAMsr4u/hup3tUA5/CmAIgPEjUW1zNzFgWW7UQMU5KKuMvweIdhZowkwc+voJT70o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22361444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhekEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXzBAAnv+Cm5nlZM5zD57OBGMpb/MDmDyMtSYEKw0aTNich5ylTIjW\r\naSfPxzuEgrnJyq/FOc6VY8LgQGO6AKemg7BDGh1D9Ugde1P+9qiStuoIXM2P\r\nKBGn21vjwWLH+cfL4/myn+yo3TpKgBBSMugiw0jWfV253GLOd+pO16U/sda2\r\nQhkzqDHdENFgIQl61QJCbdnGvHObPKYgZdQF029bJybDw/+bTUPsVMJgXONA\r\nDOZSMC29OPULMbAWC4zT+3zqz+ukUSVdV9KV8wPPUm5qj9ivBBHrQ6umY7ft\r\nG6YNAkbKOes1vWafh0iozlqcFKz8xtQ5cvL/R1XM5mrO2PG98VkfAKq64AUL\r\nUd7wLtglNW1NLyrDCtINp3gO+7zKF4VPKwgxXJwizr9J0Q5r9KwOGE29Jrnw\r\n8TCLR9/6/5/dVQIQvSZYgG6s/UgoTfxiHyQrIQxKljGGdWVigDRQhja5si5l\r\nxYskzu/b175PgdLDA6502ootprMwLOb3OssTpKvexWEqGhzcTo4KTNgt8Fhf\r\nb1KMqAR59uVjEuRhwLpnfoPOUCcakxjB3EdkxdbHGGVnzSo6tHVBIPQOTVdh\r\nEES+whNpstTyQ3I0sOVyumyH8D8qzsreYA3ZEe9mvkCThssChmMrUjFHs3+H\r\nGui4OzIFq6F8u8id7P175SQBUf4chbbHIPs=\r\n=f5sO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6_1669720323863_0.9211509171280758","host":"s3://npm-registry-packages"}},"0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10":{"name":"@preply/video","version":"0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cb5c2f34a388a557aa19e104f023f3a339db9d42","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10.tgz","fileCount":1017,"integrity":"sha512-2b+pMG5NFYsCC6/jbVfGzSUIz4m6RNoGNAPoj9HoiJQ2izb3Cg6NTY1JNO+netvI/iLOzBpeH17VhsXidXBsMw==","signatures":[{"sig":"MEUCICbV2JxMbQeFsWPg5AwH+79eoKfDwdo77fzXdVHL7Jy5AiEAlwReq5/sHSX2uMYaQ7KI5JEgCXniH1vRe9lNjNTzBL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22362089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjheyAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpgKA/+JAH/kJ/0GqnjHsTwzdCCFePVJ4eGPXh33OvwXnOvxwNNo1ct\r\nMUih2enLLzq5RUQVa4BVaUWyf5KCUuQR8ztnJvRre2uLfetHZrtcdPdgq5sK\r\nV+BQq1EcnEk9+6PvxFq/vvUQGhDBjWQXgGkbOlW2A+fIaOHBGNsPH6NToqlU\r\nGcWziIs9hBRCZ7ZGLuwBC/NmSgRuz0tsgYWiFNiTu6YvWetaHKhBPEtme2eB\r\ntKALM2MOTPZ6HD+pWEAtI/iAbVcYmAJ7gc+KeYLeiqu2I80d7r1zoxtPJ00e\r\nbV7fDMQtl67/t/boPjHZ3jUdK8DFHOyZomURDInwaIuh+F5FNHeOPNgY//Ub\r\nxqb0KGipvBjGv3B37CDOnjN3D4HhhWyov6wo6g0Jnucw0R/f/7HfuAtRHqTs\r\nl5C74XDr5ap5Y3Dd/dMS71MIAPqoexJF7hde6r/0Kaxg9luzkqYgiF+rzYb+\r\nqOfaEPbUJ5CFxM9VWv6YPhsqu+3cziBzfQnDTEAdaGVOLPcol3QaF0L+3zyK\r\nFxL4254Gor0LBmplwv2yTBc5f28EXcyow0nLUkQk1WZfohE784I8rpc8xqM5\r\nmOqjpLirEA5vo6b+0JCmeI0J/0Y8Crja3wEcVp+xiWmOnv4S6CsiJh+tBPUX\r\n5XHKbKcFugC7ECe7mBScViUaRw4WeptJHWI=\r\n=ankd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10_1669721215786_0.08757189427510981","host":"s3://npm-registry-packages"}},"0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5":{"name":"@preply/video","version":"0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"31a2f298f8b5d819120a2a949ecdc5c274b59da6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5.tgz","fileCount":1019,"integrity":"sha512-k6088LV73GlQugj01UL91C9u3lqLck3jdYTNp3r/Gvjw7sZz5GzzUA7taJVyhbqr/BR+vO4sky7lW51W7PprNQ==","signatures":[{"sig":"MEUCIQD6pLNHC8vf9PauBd/a0jtVzfi5VVc6u6L631ezmlCpfwIgZNESpmPgGybniLBU1Wy/CBEQGSyyZqEVRAbekwFBpLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22366454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhe8YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrC3xAAjWE5pE6oFh+8e7x41goLeGKYi/8cbDpHWJBJkC40jdvEMyu6\r\ndQ4A1yfCF3F0XgQIouX0MT4t+OwmNdl5HwBS6xkMn16C1wPLKDVCvcyRSJlN\r\nVDTFvUpzdt2qjLu+hRc52Ox5EzZYFEM12OeISOW6NPpVOPM4EcAs+qHHpZl4\r\nqy91e8QRgzqwiEYxDb9oCE8JdLt3c47mOcufxwFsH2pUyjcvbnE6cDI+NWbh\r\nSoE9zMAyANR46xsUePpDna2MCrIctAl6kBAuimI7jhD4AbrgrV5Ki0j0jSIs\r\nw3SE4IUj67e0P8ScupTPSj7ourF1aRZCfcN0dgXFNLs2QXxh3r6joX0ZDmQI\r\n59yR1Qg1DweDpue3MLYx4z+XUEsFVmrzu/VZkSes/b2kOsk1o2FtGCLNnluR\r\nbfmp3cddE7ZGVCgdd+P0wBdbsAQU2c57u36LIj92mVjZpspFT4e47zdumYvl\r\nokAkMgs0f2RWZj6PBHyxze3jTblJdm0TUrEF/ekymG8Zg4OzYy77c2jqWNrz\r\n1ec51so6+2N1K60+p2G8P++MdRyKzyeWYPt+Mtbop+U8TVUHPvLH0tnr0Psc\r\nkcapn6wSlrQXV7drhrm5q4wmDlfV3doLYctQawUhDPyotVfkmps7RMRnKS6X\r\nltvqevfAtO3DWvdHx06FCFsJb/ZO/lUY2Wk=\r\n=oQqA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5_1669721879748_0.3246840834644138","host":"s3://npm-registry-packages"}},"0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88":{"name":"@preply/video","version":"0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4bfbda61e235b3da615380e7e8129f2541162ebd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88.tgz","fileCount":1019,"integrity":"sha512-rYSyQzPKYNn70wFiyDiKkhAmmXqqqvATOoeuC52Lik0ych7te6aVS3juPq8412TLEDsJJncL0VsPEaUc9c9dxA==","signatures":[{"sig":"MEUCIF8kvBV4vtKHaIW+G1yPxGwfYLpc5n2thkaF5yDUBA0eAiEA42lCVbja08gwMI8t97gPv7vG0z0Fkb7PsSyDYfkPSvs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365809,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhfKWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHOA//XdmKWd2v18tv3kstbbBDeuymUHo0tGGBSq98uOCeisB/rW7J\r\nq9nZnG00CcmwJAsCRkA1qcnLrrdQjvLKWNbgjtQi150d0REjWhN6TrsoVqsu\r\nIFCE+VPXYh4d4eUZ3HAQu6XzSaCgD2Q0iGuYT3JHTvN/IhhAkUOqpBHTo5ki\r\nvG5Ku5tiDX1XCujnvZRjAP4QVw+Lvs6gw/ug/JKaldQECt2fqjwEVz32ckGn\r\n8COJ7FcDmJIAMXK5x5fSZmKIiMAxCKXN8v4sbsOjldP/m8YRipIPLfuQHaic\r\n7VBMv8+Ote/P0R/PfcSe668jKJdabl9vzYTz97+iLJ04cUyNvGeF9Hd+37/J\r\nFoWGT2LouBa7QIIqtqcMpouTwk2yq3W8aTEf/7dmRXqVJPI2Idi320nR6QxA\r\nBZZ0ksnUpxGgda4w3HR+6zRzfmQCSEk8Uke/Fv57/b+8CdL0tNouuoD27/Cs\r\nzBkBRgP5FAYOSwyWF64jNL9d3565Zvbp4ZNhEvBjw9nYsfTfyCl1CyJAELaF\r\nPlCuEkXoVePBH2UqnC8akLhfVnWEc8i15sPhltbL6U5HDIC5gYGOjySxeYwt\r\nw7AyjF8jdQOAlVDRrjBe9/9xx1Y8zpKouP8Bha58Z/RjgridGYP6ZwXbCaXI\r\n2Mol1Kkwv7tn1mHGlBnzzpgqRqBuMUnfM/U=\r\n=FFhg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88_1669722774496_0.5155399979557049","host":"s3://npm-registry-packages"}},"0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40":{"name":"@preply/video","version":"0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9097418cded2f83c3c4a13defcc86c79d1255abf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40.tgz","fileCount":1019,"integrity":"sha512-VYfXLe/y6AVjtT9RaGvpoyDUsy07vxUFNttFbJx4TkDIZ+BqM8U2AOCFupFlZkBaprAzOb09fNFxpFV4FECwvQ==","signatures":[{"sig":"MEUCIQCQqM2PegpM6TDHK4wU3poL5hOUhDMbBKztycdIGE3fmgIgMP70cprjOzDbfu9ZIHic9+MUXm1/jfA5v39PGr6PBOY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhfWfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdsA/7BBDbK0Pooxz42/hUhsp5jTVHy9XJzB6vBk9d33ssO5RpgrFX\r\n7oWajhFcJO/l8D4VniZN1NLC0ipuYkDhZsoUGnf67kq8AQVb6a90r0/86jp1\r\nHzlGdbQSdZuNH11NOT2fAV0/6biLsxKIbDwPnvRZWFdnzAPZY6zOkWh2RXQx\r\n111Ix5FpRMS4a/K36NM+QBlWKSCAxyKUKfMQhy1GsLsAUp4KbrxRKsnrK4/P\r\ndnKidbJmD6ks0nLFzZSXD6f+vVeEIl9WwTpMhCkdzZvbQQiQfbZxgA0rLfRy\r\nPiC6xVQMTetmSv5JgQqnFkk/Rkl5MteohX0TskE1Pr5Derzx0XZGjJ0EX8eL\r\nNeHuGFHIFEKQy5EBBkdMqMtYrztkaRf3ahV8TTVNor8jw1dEuywLCY4ohwzF\r\nai0YyRXgPS3TfT3kKdVoERhSqFx3Q/FOALMCcZIhLt6P8N5nCN1uCX8rgWvd\r\nwFybHHmyzosXVvr/cmV8SnW3YvzV1eKXBCZnQCnIZvBvB5GVSta4Iar9cXIf\r\nBkiMuSYMcybpdW1cIwgl8B6MaLBjUhnm2O5xG6FHk81rYtXZL/BQxg+1XBNw\r\nmBfXOKwFa1bbbFkMOeCdsnS5+iU/V3mQgeYqtTtrXV3skULfPBnmSZq/k6zJ\r\ndURdbaBd2SCiqSc9+KAxnxbycELe+zh2unk=\r\n=78g/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40_1669723550646_0.4457810294866358","host":"s3://npm-registry-packages"}},"20.8.0":{"name":"@preply/video","version":"20.8.0","author":"","license":"ISC","_id":"@preply/video@20.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ccfb0559f1989b399bf1b24f00679211b3986971","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.8.0.tgz","fileCount":1023,"integrity":"sha512-d9wlAJMKkTa8QGnuVpa/N9pTOoAjLiWYA9O6MjsWr5iKeazJfMZbHLKmIqRgIfLe6GYOJwHa3LEKmcj+Sf+riQ==","signatures":[{"sig":"MEQCIEi6MJeKOF7KI9foPdMlzdB6H2wPFee8VGb/Af01QUsgAiAgL5X/BlCP8azaJMFeja4iAh6E6i8CGWcijdkJdHn1Kg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22356236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhgEqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoypw//alp6JgldzIeDdBldlj0jr5vkoLdzNyNBPmEBr2pvQ5uB3Ua5\r\nTcBe3fvIMSFrToTX8/RWmb8Bfj38w+CdjydTUO9Uip6gjB+zYMO3Pm8Hm/ix\r\nIPGFw4HRwUKQRUzzLHC8/epWJk0JMQurLHDrEZIR4BdK3kucG8HtLNuznqt/\r\nzq1KRtF8Dg7/whXqQF8o+hu0YsROSnzRJTn3DnOyBdO+6ivOhiqMehRNLRKt\r\noJns12CWwP6JUJSR2cX1ww8Mx3tkExSzzZc0l2Nwz8QFSdoiI7c+cVNDwYKQ\r\nZpSPVga8WnUn58I4wQ32zb1hGF0SSpz3Q8U16/zCgvs6irwpwSkRVEThwAOy\r\nPiq7rhb/V50wXCyKKGFRwzZfy7aftBwKeVi0llHygIzdk0AJT9GRy0jxNivK\r\nLYZzPiB/1xteWhbJff3bhfkbJDmjz8Jg7LAKM2dVMXjNdv7yQvW6EvV98pVx\r\nsN3/xFO+5CBY4ugneXsGZs8O1Mv/tJ+4iaBIB15hJgYtoeTix7wzO63JcEVp\r\n5uU1qkeb2rz0ueNxpYXSOH5IJAgrPYrBu0vBoUKEWgQ8atqcj8YOKKRJvMdy\r\nXeHK4MJ3EWqm9gNPZpaU3LDJEvIskHHLsp2hOE0LOeTrvpwTvEKraeEwG+t/\r\nBM/19OuASR9g3/+wxNdi83idfUoXyKssNR8=\r\n=6qq+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.8.0_1669726506468_0.6788454003753235","host":"s3://npm-registry-packages"}},"20.8.1":{"name":"@preply/video","version":"20.8.1","author":"","license":"ISC","_id":"@preply/video@20.8.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5abd2775d37202fce8834599b037b9f7235c360e","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.8.1.tgz","fileCount":1023,"integrity":"sha512-78jBpWSct1rZnqOwFEGj07sjB7LtlcQrFaglzWbuIXo6WxGs36qxcFTplxw+Ccko+jumkQDeZi6IOBFzyO99tg==","signatures":[{"sig":"MEUCIQDskzEsiLnKSZ0CaWbKTbUTYu5eRtfRQljM+ffT5//K3gIgW0vSNL0NOe+1GK7r7PGIaLg5Xtiaq/t2lSMowTkBSAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22356145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhjSuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHyhAAjkhLMjTAc02UxG7GnCGnCL529SlAYC/PnuHsuM5uxfUpmJFD\r\nlbyyL9hQiK2tW9dnjR2HZYd3A0HbY6W8xcDf9A/E81OTUVuHBjGJ+rNq4Idq\r\nwdnX7A/ZLiEL4NPH8LfNI0g5os0uEN7gN/mtYFLjlASu6jehBfRd9h9cQHl7\r\nx0wYGa1bPWLwz9uIaETVHjVppdq5Q3VcBcfl3BIUD8NnoyeUOmBDYyAKAt3/\r\nYvQtx3uUtAbkr+MINiFykJ4tq+IlRLns3bQRauebJ42HgENNdZTD31mUpXHr\r\n5Om4SWmH63ukf/79PIznaXr1XnqpH/NQS6TBOYYvVTsZF/JsFql9lgHmYQC/\r\numsKgeyHTfJpETGzY0PGk0Bxu/aySLMoyFPd75bGTw2SArkm0CXmA8q1T3cP\r\ntkN2z65XH7sZdDswg36qUQF1xuCbGnBfN3WDK9111JkzkBTkkGW9JhPB/naN\r\nPyG9qqXCp2jXAl71tmNtkqInhU3FpodBaM4/O2UNRQpMj4olwN4xGc9auYBQ\r\nStVd81dvpNc80BLtZV/kwzqMTLh1QdT/fIzQehI1bD1HKF+5FDc7eWkIbwqE\r\nH2JY0sMlxX0Ht63/Ie6yQFm8/Mn6KU5xV0zL3d8TMBZbSv6fwCl1yoy4ridB\r\nwhwZvivZVamc91TWg2GC4gknfQYTYQyXaV4=\r\n=Xfk1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.8.1_1669739694132_0.5646302959441236","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc":{"name":"@preply/video","version":"0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d20b34eb76eab34be931a8b5109dea193dc53c25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc.tgz","fileCount":1019,"integrity":"sha512-zuMkRM8hwMAdNy5xsdlf5oHzcF4zuukup0g3YDW2W5I/6qj/bmDqI27/QjTh5cjQuBAupK4h/IaZ99d7dappCA==","signatures":[{"sig":"MEQCIC3n8MvZWguTpZsFfCYJdvDsrGBmubBLNJh/pPJlNVpcAiAlpzxffX+H2/gcuRAsDTHGiSEfW3aqWRJc14+sNF52yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22365561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhjaQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqi5A/+LNj6xWRlTSD0kcfgD8U9y/obv6zelFOmMq1WMBPwCHRVb1tQ\r\nP6NjxQFGj424slPhQ5WlrtCvkGyOunAK95bDj8/xRyipXyyu/QJQEkKr64wB\r\n5Xkz3mXxdVNben8b9mikctV5AmdC5EXR9cu0Gts0OYxlpAUd4Na1SZRcr5yd\r\nxIPqEOnRBHu3wHGMG7+r2V/33dIFTEtrZ7m25vyvf7VA7jq9l4AuMf+DFSvS\r\nNVMhEu6DRPYDuCTOczdKEBS7Ut2rMBNOIBbj6m0xFDQQT4CKyKRJiMuq9W+j\r\nhbuHyAf0f763v+N6muZnY+PymeFzY/YTG7qAzEZYXBZFKPhBG1vy2CtJVwo9\r\n7Fn9H3b7iPYdgrWuEm/l0PnXHOaXgWAW6W6mOBphYtMEp+bXUNl6xkR33KAq\r\noy7yN/TZhKtZKs9X2/3+qP5wxOyAbMJlyKCPC1jNuwekSHrIYsDyzLQmErWC\r\nk2uvspGfBNCs2ILwIa3KIipy1KQv2kmtJkJxA7TAKiXOdopLk4TNv8AWsHir\r\nKr4lLdY+1ACGVX9DK0lGWXRT/Hinw+NA8yS2D0dC6TIYicTjVeS+JHQnEhAu\r\npiMExSCOZjAKkMP3cGsZGGrvs2REGEEW6Ibk6VpEQaDjdmp3SQjkYoHVQ373\r\nKXbu9ga+ZMYqYuSi3KWdy8gIg+cvW10jAFU=\r\n=6ewU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc_1669740176486_0.7268982036922813","host":"s3://npm-registry-packages"}},"20.8.2":{"name":"@preply/video","version":"20.8.2","author":"","license":"ISC","_id":"@preply/video@20.8.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7829ac82a18ab7fd48c25296f2cc4e1110c282f","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.8.2.tgz","fileCount":1025,"integrity":"sha512-ZfXqe+yZHl2ntFvID6VOAECWMUP63FdNfRfTASSIAsfZr5dRFRFCjPRYjBAKXjHgnp/Br2eBzDgLT3EPBcq2Tg==","signatures":[{"sig":"MEUCIBiz4u1vrL9l5tU8ZPxSjSuoE7Ca7lOZ8oWrn72I7U5sAiEAnZdrhWl/zz78BhfIEewgsWxeJnWUcW7zzRoFVXPrBtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22371412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhyE7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQ5Q//TfmZtnz5jUB7AuB/50+D6GuW+ovyfMKi4nraeEiAWoG4++/e\r\nH6+gO/TIu9Oo8FZNcf5PaSzhndPe/GDvRqbpjPh6pqUF7kM6pLwLEz2C2VUU\r\not51UZ6hSqdrRrIgvh1DInCbNy98Wx61+raZDjbR7xGMLsQzIiqIbmmCfEob\r\nJ0owu5qXoP7yah8c9i9hNpYVdEqTsuQlu/Gz/xxuLsSB6L5e7OF8mFFL2TMt\r\nLt5Ls4cHBmvhKa2yPkreKt2UJ/y02B73xTDM6xDvPX7306NPfLnK8fWHAqQq\r\nzvZzszF4r3cXdmlu34i61pyDJAMn8KZAZuuPt8xmJG8iG5uBQPN1nQvX7JN6\r\nI8I4sWdrhfGkav+iRMEgH0NJ8CwZpyNBil6U5OjD77y0o+aWbiQdseRJApP2\r\nLYkgc2YzW/3HD69NbxvgPWO49A7nvC6xhM9DJsazyj0GY07y4Z9xK03HVy6J\r\nY88xHhSwLV5WChf7trDqA2fmaPrQkAOfqWBIqbcfuFotrooB5nBmIyQv/48D\r\nZxQew88dZ2ZTnoGsHsF+RGhafBKhV2d/mtPlVs1QipI5jfoqR6VaCh4qiSjv\r\n4Bivsh/MHdyCE9bWis1rHaqKmU0aL/8GwV3MaYdBposQcCntp1YMe8Pbx/eO\r\nEzLEu+kVswtzndA7QoqGerQ/cY4lmZEqyA4=\r\n=47es\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.8.2_1669800250765_0.12195116051483423","host":"s3://npm-registry-packages"}},"0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8":{"name":"@preply/video","version":"0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ad125722c2fe5550d79483bf0dabc1329f2ace4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8.tgz","fileCount":1025,"integrity":"sha512-58XUnX47nv/tqRedmd5CRdYn5Sio0/GdglxZ7QUuA7AaZvHLEAaPxgHqN0Cavj5xZRQy9jWVR4CWJGIpJuxdow==","signatures":[{"sig":"MEUCIEAfTVZLwhZCZEeuRACwAtcL1cwSdbBD7wBA/Dm+fRkdAiEAiLv5pr33MV2T8ne27XOi5+sGAcdKrYuYM8rqOMaddt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22373932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhzWkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqq8g//T4D8MtYOhaGs2JtqwomO6dInAZVnqRwHJ6HAh1LvB5khXqAa\r\nBJ2biBGK38wWLtAUvvmrZxQgXYbkhFlIFGxuKWbmLzYlQhKrdblRULeitD8v\r\nIhfTWZytFXmSbRa4Ju75mP+on9kWW8VbsmHbfHn/t2Zk23lBfQyoG7oAaed2\r\ncEr6RTHrXVRIHUdlj7B3r341ol2/I8iWnnRExCstFfu1XE8m+qLqU2K1CCv7\r\nnnaiYHTpDprzas8++QKJNOcxrIasiuXm3aJ3AizkzeodNv2niRdpWLiNuI7E\r\nZuhasNgN13u8zEVFiscVmLWQIRfn5xSC4kf9RX5rRTz7BErIQPMj2TiuZUoj\r\nc986/gQEsJDV8kbwTmqpJAHQiKVUuuqjexarNltdgo5UXBJa3GruBrQ8SIX/\r\n/tnxZpZZXl4ZAWeqQHwXhBPyRhTqT1tsVM7/Z5AsrjVt4XYQ35UkV/MKc1dq\r\nD7nGt/vsfWY07t5x3LndcPBfZAvDmyoAPoZHOFO3MxqJitJdqS2t0EsW4TTK\r\ns9UUP5qkpWPBmTr5tt4RFMxhvoozDSiSRayez+8uNVF/FY66AOovhe+4qYMR\r\nXlVLn/hhrf14zLPeBjI+nExuvom8W/qZ/klrlcymtvZULkKPlPISIE4wqsfz\r\nToGOpLHx38+WIzH+Dp+asoXDBplsfsSVEeI=\r\n=mo1x\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8_1669805476290_0.7664724249425574","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47":{"name":"@preply/video","version":"0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"336bece2256f47b7513978f5afd5a6aaf182017e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47.tgz","fileCount":1025,"integrity":"sha512-/sk5BFb+DZ4qdO4Y044Yi4O4cRYJoLeArobuZeR0ialk2l5m/oiFMVRUjghRycqstm554j6MYyFAFtiBols2Rw==","signatures":[{"sig":"MEYCIQDb1ogPKgf3KhaPAcsGPrKW0qb65s51DvGYX4Uys/NM+QIhAKrLNkjapMoTtqpQVNz50IojBz1RGkuqgfWM0jWo9bKb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22373317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhzy1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptrQ/+OhtlpuxZMUPd8RM36KzMaAZ4R3n6SeWVjf4X6oiQ/cE7+Qsj\r\nEOGwTUZlKrklyVB0j1pyFVtzzk7dQl8BIm51K2fMAOvgtpmJBnt95SlbGq6U\r\nVTehsN8tzKFkfCssM2DoVWDCZI6711leu7xR4XuThxr3EuSk/BObOGc3rVUt\r\n7zjj7POOQ3g5oW2Ie2dQyHdoignEW3ap7B7/hIZLPyMW1cNKZxekLnm9aBzo\r\nIHPTxwUC8ttVsepNqiAWof9MhJfQwU0sw/MrhL2DA+N3jaD9qm+omAG29Kse\r\nbg7Nvxa7wnr45DXsTrbmNvqrivupE5uYaIeG0wRj67nyXmMwM4VvdZ5UtfLK\r\n0GmPGDyh0cb+OrrzRygipX/ZYYuZ4a5MXRv3mKobAS8JKeUr/zk+hL35WJGw\r\n6YJbWaS/fwZIMVvqs9sDjyLr0NwR9YP47dKBvt6ioIO2updJ5VTilay/7xCZ\r\nhlDsLCFnV00g4RuH3VgDsjesr1SKQXdd9mehpj17NQdWlTaUV6t9AUOuenXe\r\nMmQylZywk/udqU4Ldrm/lOQDJehPxza2Mu63LUf+qxRfsYYYWEUSHtfsAFOb\r\nkhvUxj4yxGyJFQoc+l2BBDW3OJpZacHJb9fVl1DrHsc3rXBO3S0MA+xGiAz2\r\n8uKbInkwFQ0Iy6AJxmLYAMSsYICiN9fYqho=\r\n=nytR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47_1669807284906_0.15443196571119833","host":"s3://npm-registry-packages"}},"20.9.0":{"name":"@preply/video","version":"20.9.0","author":"","license":"ISC","_id":"@preply/video@20.9.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bfca6a2523f47b40d6d4bed6bc1e91588369bfb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.9.0.tgz","fileCount":1025,"integrity":"sha512-4jLYI+kws78a7BAMOyvX8UlxL7ZDySd+S810B+ID0KHa8Irl65ayO5i5YCs0RHM5vI4iV9Yo5his5AGf1bOtAw==","signatures":[{"sig":"MEYCIQC3fUsHZ4Ewpsw0Kl7iUNjrayrSpUnPQhIjIk47an0JIgIhAJJegLPj4YKjWC4KxVUiP7ztq94AKxBjL5swWJOaBYK0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22371352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh06pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1Fg/8Ct8uKZ+oFjoA5wC4KO5iVs93QiErZvbYvDRSTwNGplhq1X4i\r\nUfvwApcX/9U8wlDAriSEdQW8zXYnvdGTiphdTpRzcNV5PMLGLsJcvSEMFDtt\r\n7U6JPhevO0qFLdzSNRs+fEYIwmC2cV4YC8AKD1+hqmVunazvtYtUoCqz1BdD\r\nBUSXivTklYWgpHfuTAt7U1F9rsDdVsIh0KTtLuO+TJO127btEOb02eim0re3\r\nCl/3ZCmFKMpfdE7siZpMexiW7He1deDlrhuR4I+A+Leyv+LtrJjsET9GbmFf\r\nvCZx6234CG5/BBVZEGnuYokvG+rT1aSYNGp19v75Ncymq8d6zwYtRn0Wb+6u\r\nNT+kJvbs4QwgmXGE0aEZoGc6FFKMK4FBy5NLyPcE03XT3oszDSb9BHL7OAAm\r\nlIkz6KDnc6o/YwOqdQV6cs+Bi+qykgNAGkiaaBBmhiI2NdEE7VnPVIbEcYgc\r\n7mHgWPkDtE6fv0rl60jzfweEQUpfBijcJk3YDmtwwSwGE0ItP2NTXii0XPM3\r\nAF2bMxtmU3BoKvxC7+VIoyHX6AqiTkvlHr3BLygJHbHCIEBmhw06UNedQYNq\r\nvm6nY1a7Asv1zIix9Hvk5w5HzqzCWjWvtBv/K0fPEa9HIyHBQZ5HU8dYgJ21\r\n7T6lDsHhDJ3qXkDu2kCQvxFc/VCq/cDjRvc=\r\n=Sa2O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.9.0_1669811880551_0.741943742289759","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f":{"name":"@preply/video","version":"0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0a4e29d0577548dc1e07a3ed657e6cd7bdcbb40c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f.tgz","fileCount":1025,"integrity":"sha512-BSaGJPEdKStMLV/fxFrJGn/Qa4y0yTapv2aNBDjFqIzcQm2D+pnAHpbygcjdbsEoxMn4xYzMZmkoRxy5P4A8zQ==","signatures":[{"sig":"MEYCIQDdAGvHLV9ZA4dHXBeHpZxHbZ8Kt186iJV9yj3NsQictwIhAJkIiLmL37siPHpDLgigqhm0xxNYu6S5sgPZthaG0IyY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22373594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh45cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5AQ/+N698OOFzHz5W78a7QNzzqXQZoEtRHbOQs3buAPs3wpmCzLoj\r\nwP0tdKtFvQTi2BJTcw8XfjDG7LytnSSAK1Z6cVE29GCFIUbKIG6/BwcmvCja\r\noHDgAI8F0ecCpZzKTMWE/dKZIfEgA/rf0pkxBn7h3Vyyr+lzBRPtbD9xUeqA\r\n+5X+bT/V1yfpyvPBkNH5QPFb41hQ+o7xn/Ihj28l/TrLxISvH+TOVBO2V+5o\r\n0nkWGTPKCXd6iHZr/sBIopn7dw+Eqe+crJmdhPs3OqHWHOt1ivWA5YPJj0N8\r\n9OpvECmLCfTI6s+EJQBbBiA/jtDYtpcg6RuOAZM0B/q3GnKs/QVnHNlV2sio\r\nnA5nGWP+VG5spGLW8ceoZiE2lshjl4dpyQQzH3MghQRwBaZMW/o+q69rrIcZ\r\nCTo+KfhncNtInq7/+k8QvgSj4kWM+Ww3tlPpK+GffELrqdjKaYG0zjMBoESA\r\nOQgtdXtyMJM8C4LzSFNsQdeULNjCG1pfC6v0N+RCnhRw9zsMmswehCmUZKfl\r\nSKFIpw1JhfEPf88oE+5CRIpfSh1nUw/m866e1e932/lzKmZJHaW/87rFrWXy\r\npehPMb4nvec4Q8URt2FgCYqZP/tSDu7j+/cQ8v0FTVGt4hghrRba/9S+AfM9\r\nU9fXJ5P//yumTAFjN8GwZnkcBP8HqCfvxA0=\r\n=1+66\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f_1669828187836_0.07633350926727744","host":"s3://npm-registry-packages"}},"20.9.1":{"name":"@preply/video","version":"20.9.1","author":"","license":"ISC","_id":"@preply/video@20.9.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"977aa45951eb0fd64ef152999fcab1b3f008889c","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.9.1.tgz","fileCount":1025,"integrity":"sha512-sBkFEKyiWsSbNq8MnLbIn7wwcHyi+f37hd4nehtr2hT8m59UQcw8YVTyL+JQz2trLgQpljEtyogI5TG+lY3HMA==","signatures":[{"sig":"MEYCIQC62jyJ3qrTBTlirHayVweX4dIhRAXgW8w4XWaKds9MIwIhANE1ixTBsLbB/7rrZ2xONJ1GwkX6xARzC3jHQZyyp6w5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22371629,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjh5gDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqFwQ/9F1wFVO5g8SJ612cu6A9zzWODQOLn5Mb1Z7k7FnSncit47NA/\r\nmeSn6vkelBdw8vcvJ6qRORMXPgJ6UFqrTmu/dLtHvN6MwkmAgBEvbtmci/Lw\r\nO6tjySCnVuTPIoPckYZPbqBbqD/6LIBaCvwidBt571l9ZbX8/7Ehoi9Uyn7+\r\nAbd4LmfW8snDl+WK31b0kyK2Ha17AQu//BBKCHMWQEF1SYnI2l+4T7o/i2Wl\r\nDxXyCrqkGkB6ksv8TjPFg5JNjMcQdS2qhIL7b7V+RuOIXpSOGu3LrQzdRDrc\r\niIzJdbjS+4czxifDObVWBnTtHml7Cpkgi1df69W01FhpCHsXz+8uemCbpRQy\r\neuDWbegwdfVvQylPHYGqHKeME2fslQcbMLYARV6QppcQDAM82uBN/7Dej1Cw\r\n2mD89Edn7NfGNpaWOI3zDciblfFOgzzGBg3J7nUYNfUBqUllVwb0ZiUTGX++\r\nNH3Q2U4NK8vaYJFzyquqJ9w4ylK8Uo9exHkhH+yXe2BXTdJJVrF+RZHSS4Ob\r\nP3QFc/WBbxqRJ79ndGUfPWGkqzU9VERrItHot8tXK6Iu67dTpOsxySbQ3aTj\r\nP4FDhtemOTJa+Yz0CiQ4pLNHxlzF5+bQziDRl1MZZvD5QjNZpxaufEdG1S8V\r\nq9031uUHS0jmJjzBkowPm29Vb49MrY8FWhc=\r\n=cAhZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.9.1_1669830658990_0.5731611113970239","host":"s3://npm-registry-packages"}},"0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53":{"name":"@preply/video","version":"0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7df6687e6898ba39cd8f5d848ad65ad32778c6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53.tgz","fileCount":1027,"integrity":"sha512-mTKiBpiyQ9HQuuQrcqHu3kf9VJlCLUMJ2MjqEmu1Z1fYyqGDck3Phd+z79x0czgl/DRlBznFZj/xzCN6GvkIKA==","signatures":[{"sig":"MEUCIQDhDHJFTpUnauPR7nxv0MdVpVigNaOH+LYxOkchaauw+gIgTEXEleRMKTbrhgFbBQGCt86F6pT8ErPQO5spV+h3O1c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22412723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiFweACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXxQ//cIocsx7gnD0K+nY57bucs8tXqEs0E1pdypI2s0p0PTTA4P4V\r\n+1Zdd/MPDgcNJRoKCjY1XU80KzvsIti7ct/W8z/M/HDwJO9YpoCnrj6VjqZD\r\nS1SRh+HgRCjANNN0vl4bHfsnw+rgp8G6hLgYuPapWn/sXSiiYSu2XofcOxP7\r\nLh6cUxVkwTDfuGxeSbHQ6s8sopDbjKUTzQM7mg3FTeW1XST6xwUi4jz3DG/u\r\n0b+GHaDrlwuUi1ebTOqcmuJ9fQf0i7rAuQln3ZHQ0ItfRbL1fkDL65xlgHk8\r\n/HBv4yrW8GAciXrg6qmvlgODrTtzyDEQ4dqnNXencu6Vsiz/4Zi+rALCnF5o\r\nWaB73awagpO/IdXFK4ffwUV2xfmVcgiOf0qZfaB5u80cLDxTXs+g0KlMkW/t\r\nYIMHhEi7RW1/hs7aQj0VwLHXH8PeAXLUIze3xv9J1RNqM9Lg8+cjfZBUUBFJ\r\nM1/mzcD3lRqvK2/wfuP/dz4pSNEtd/wS1Cy7sEKYdPc1LoOgQ06BsZy+5jo2\r\nK2vXOi31m19Sk203zf7rGMgPUfh9WJ0/x7ihbTLV0YOhsRYa80Vct5lKUCDQ\r\nDn+f7z//HMs4kKJPtrYXTG3ylV5krLyDpfXY2lMn0fOO++dDd8f8QQk7hy0+\r\n4MoPdgYI/IhuwKNUfpzrczA9KO1AY69zOWA=\r\n=ZLDq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53_1669880861987_0.7795390574168306","host":"s3://npm-registry-packages"}},"20.9.2":{"name":"@preply/video","version":"20.9.2","author":"","license":"ISC","_id":"@preply/video@20.9.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"83364e66279c82f80f22f61663693845f57a6b09","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.9.2.tgz","fileCount":1025,"integrity":"sha512-R2tIZGWu78B0Ah21Qzv23/x6PED2jp/GRvDqLby09DGlpAKDqbIEVdTgarW+ii92o+vIPQHjE2wIFUWUqROuew==","signatures":[{"sig":"MEQCIEhNAyldztkKndbB6rJvGCTiwSP3o2dU+1BRJYTw1YuoAiA63arPv+nMEQ9ajZNkrgjuYlgdiKYwReWnv2DQJIvq3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22371981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiGOcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgnQ//ddwHMC9D24ePZFw7P9+mbXgKb1ZWoF89aBo7AhN/+JSY2ek8\r\nJdwroHY7ccp4DIRMgVm7wHHIxL6ppInKxwvxaHDmf8SLRuEO7xZQa0pGeB3z\r\nZH5QvimaJfQ8S/gxKEW2Ex+TtrXSBmzCFX7gfe2guwezCih0mUwZcA/e7WU7\r\nn/7AyM+f25H/swNV7DdU76Wwo8x76Jh2P+SKoyxeqzHOMeXuoDAuBGpm1chj\r\n9go1NSKqQaShOHUge3qZE8u7TfdvepU7dDxp5tEW8IbX3K2IS0CkzpCHn4X0\r\ndvp9ERbvvgY6uws2QM+9ICnwNYf1klGjyXFdarGN3Dvhio+fjZ/gCUgYp4tZ\r\n4puuCPV8iU0KleSEA0mkwm8xGdyn6U2Z9uz8AanV1ZqIMn1kTfO0+ElmGtdx\r\nwMZMHMcF6+mh0+H6OGEBOlfpXLQYHzi3KxsXmziUW5pIAvlQqk4lbycICj6d\r\nYepboMCYmCbVcjTraZb9RHbCdEzIrVg+c1I7XUYGz8Bpmo8ci3MUYUhyrt/h\r\navw/zl54WMGepvTcPMzso8p56N4TSPMcXZKumIiHU0wyANBkJFKglZ3i0yeB\r\nG/B3NtbO+K17SNAIYAVOD7Ti1Cx5ndcCXbvZxvTN6urPwPfxS2O+RrRF74UO\r\nBMQs1NsZSlh2UQChGauEKeahjGikdhLjJus=\r\n=29WH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.9.2_1669882780478_0.971031629239453","host":"s3://npm-registry-packages"}},"0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d":{"name":"@preply/video","version":"0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eaeeeecb64b3ff770fa99fe8249af3cbff26bc79","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d.tgz","fileCount":1027,"integrity":"sha512-5dYkepj2l8u2J5LDbopC47+uIWWuvH/5TZy/603/hBZOER5o4NYco1UTvrtS6TJf0GDgYWR1AiJG+tB96VseeQ==","signatures":[{"sig":"MEUCIA2ANN9AC9XX6w+eF7nR9N4EeqokAsSz1CNExbpiYXkqAiEA1HadTkRoSi7JanzHfoW2OLfRAApahmM0AG4LnC8pvEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22440444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiHasACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqIIxAAicT41CN5cdyh+9fvbHYWWV++VLc9dyT+eTfT8Cx80bM907N/\r\n0HdfEPsxTT5tH0MjCISfOte7hzOr4HGbtTjn0T6/d4DdHQ/VKxw3IsM5llA9\r\nHwktZLCzq9DLntuIPNXuCntBK+QiEfYWvydBKADBprdzvfZ7GBwCdtJm6UZ6\r\nL2q+P34A64Bu0VX7gvmG6SG3qwQHeShJtV+QoQgh9elqwep7MDSY0j9rHNcZ\r\n0QvKojJBXvxQ7XKJ4K2i1dhDbjRz+YwZqWb76amOftX2F94Ds+0Hie4bWfBL\r\n3TpszYULOBUVTOONRP6T0G9ljJrt9Wj+x/gAjStj3ggmQlPQN3FzPkVlI30j\r\n6QX6k1GThN79/F4Sf0A/jiHPhLRPpi/8f7+qnNsG1YZfItARbfFRyF0UtkJL\r\nJHPdFd8sEg8AsRdi5Y9Nhe73tuqqBP22DM7eqzxWG+wwoa07LUvK6PNRZgt9\r\nTl5bq8fijKsiknQ9f5y1SOSDKJWcQpQ//DOsnXbbaoco2o2SOA+6qQPdglgA\r\nWUlq16LLMBHTo37kh4gPCRfZ8gGfU2tMuiTu5weZHc0LTLQWiOqMtLAkGOU3\r\nGJUsRFC3X9zAg9yYPT31OfBj08S5P5NnGKCcYxGvgkJYZmhbdBJJi8RjIvON\r\nn/d+LpvmlSKGgOE/RKu9Urhv3mMSn8WFqeA=\r\n=hUxt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d_1669887659618_0.6548128667450139","host":"s3://npm-registry-packages"}},"20.10.0":{"name":"@preply/video","version":"20.10.0","author":"","license":"ISC","_id":"@preply/video@20.10.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4dce726f39033438445a52c8c48842c446afc482","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.10.0.tgz","fileCount":1027,"integrity":"sha512-Fl8g+tWrfUPxOXqZPCpBlt/yDJ+uIyrMEAwOe5CiB4FGc5G7ffB+K6gx+714JiUfrtmxMbcDuVWUhf23uUdnTg==","signatures":[{"sig":"MEYCIQD8lhPx8o+VQWglxHxYLWRCQbbSrOeymsJnIKWvsJakbwIhAIdCfLIFcP8+IcrU3PJNwUM5gmgWWJXyD7Mu/e2ELjfd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22421102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiIeAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDPQ/+N9bsn2JdIvmiv9QzU9VmGwc5Oru4OjHjKjv4dvWEAFoWPWYh\r\n2/MVtBzSngNxGHCz7YVjXFriH0OyO4lxIMohTiDcAV15EHsKFkzoITyOdjpg\r\nhxA/4AuSZpaKtXwj5rsIGA5SPubyqs2CW8idf9ID/6WP5ZXCKxl4lpqrricK\r\nfV8iINOOuQ/fpuH+XNRwQdTClhsM9Xz533mbl3nta4H0r925vFyQ7mImdMI3\r\nx7ZTcLiUgadR5woceEbQmyuMxn5CQey2vROiz5JRm6Ab3znysUMPCEwoqtCA\r\nrHboO4hjsiuhxCHE41qts5lZ+hdk4VLLHp3kVHGEwNUOpFEqwicQRRiPHsVr\r\nTAiGWhfZ9Av0fK0+s9QfHbwcjK/xzF3V6j/h+oX7mKzFOB4j/7XIOSYyu8qa\r\nFPfwIBwuyfAqizuJAs0skkS7ABg90cqI1/S9no7oQA+Oaa6AmwwlloeH5U1U\r\nqDL3Yo7DLIx31Q9Pq4H/yrJ+L2etwzXe8Qr6Mp0P/lXpl6Q5ciy5TwAE56mt\r\nWtRCsHVI4nSbdeg2eT7hwRL+q9NiQe1BCGA+a6C8Vi/ILr16AgLQb7SRJeOz\r\nIUA3PuXFE+GLQAAj9UOstMmB7tXwtUgXce0fMDaJrt+7+LD1QXsOZYjZ/nV9\r\naJqbWTh0Cv61VPywWzTiN1rI0CNLdwhrn6c=\r\n=HK5i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.10.0_1669891967691_0.923012594607328","host":"s3://npm-registry-packages"}},"0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32":{"name":"@preply/video","version":"0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8223d1fca70fa95eef2d98a73d9340084b147a83","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32.tgz","fileCount":1027,"integrity":"sha512-e0o9R44XGXW1JQObojdJufFjlwSw67Gp65aM3gaBVznTOAH2Jaa/PKiQsuTPEXFTVA3bra2uttx0HSPPbvGqnA==","signatures":[{"sig":"MEQCIGInzr9qSo96EAFsuGIj8ZnepuIsOFj58Yj5fg0uBedpAiANxrkPwdQxctjjB3Xho1p6ennWZ8rwmcM2AHcuS1BqZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22391202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjiJriACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCbQ//aMZiOc9V+UNO2R0Wx0/Tn4xgt/Lj2Omn/gSet9rYYYdqnzWV\r\nnprx6qRKbjmjBQVs39y+9M3yLP/9q/Mx9ejINq1su07lt8v7M65xMHCemV1R\r\nMm5LE9acBoTTSc/PvXFknxon5UekPYP4rkQt7Jn+KZOeyu0bWe65bGk6fYgY\r\nKL7eZPG565xmxpVmUINOIhZSh7wESrBIVGNeQneiaVVdTFCK7qNnAppmnIXq\r\nUhkWSQxCHxUEd6+S8xmnaIAD4WrdjFO8IHb438VCyNXJtmAbAt13OiM6tx6D\r\nlwE8Obzi7GmLdEjQ3d2zEsv8IuR324l51fFtZIyGUmhppg7h8t2W6o1Tb76c\r\nZqrYuqjFhv9afFQNZWmqyNNv4EvDHdH61KKoZuQgDE+BiLuQays5DOXFnLrw\r\nzvsEsjp1riuCgl3FFt7e9S+g92PL16HJ6r36M4L4Huu64yWovdgTQdR/7HbT\r\nR1iDkVMUNHkrNboKIz3EXCB2ni9stVEC4f8Hc2GadWAZS5+bGmhyBKVX56Ig\r\ng7d13Cbk/zhHNRCcmx0EE1dnmALWZ5XRDu14bIi54NxA8QLVLs2b/aTZHT3c\r\naxNdEiEJVzvZYc7yniSCKeggYACnEgc6mv7H/8KOwGKYSsi9IbHnzThI2AWp\r\n/MEJRo9wjGEmPA00MXB63rJ2s0MyPQ6Y9cw=\r\n=GDbq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.47.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.47.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.47.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.47.0","@preply/ds-web-core":"0.47.0","@preply/ds-web-root":"0.47.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32_1669896930567_0.6602130796287062","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412":{"name":"@preply/video","version":"0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4b5574cdce4814720c67c2c1e0c69c9ad050c218","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412.tgz","fileCount":1027,"integrity":"sha512-3ffP7OjzjhkIJTnAOPr7+Fs13PUp9Vvx4srRiApTxHf7QbplMts4XVmslUbfWGdIY7ik3shkPUxEyC79tiu6GQ==","signatures":[{"sig":"MEUCIE4PWoRmIlxotNwemuzVFMExkkZKnQU3bAuGo2U9E/4/AiEAt5WHBRKrhJvABpJD6+I4Sn459/G1dn/P2z30T3fbN08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22426121,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjcfRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrqqw/9GjC+vssO4tloXQn7NyP3sseSk+XmpjXUoN6eOuqYtrDPDV8E\r\nOaby5egoVJbZ5cxbYE6cfoUGqPCDN5RMiyI4GGJUVaxHDFucO7Kyx6NngMFI\r\nG3c9UcUU5H47Bv8X0LqPaN68GbyUHALz3lRgYyOVMqN0B/Z9StWmK1+1xX3o\r\nydLyO3a5jzDWwaPl4J3WQICNowa/tyl0yvad1hF+bMlsyD/en1t52QezsSCX\r\n7o/B9JO6SCivD+Lwx9QQqdF3FRRed5dD6ym5BsLZ6dsNdZtiIycAXTQybf+R\r\nIaoTmK3FjXTBTBz/8RSeI6RP9astjAC5xgunQLKQVpH6ULS+/XHxG3DSj1Cs\r\n43xqY8JFFJaAEAPSU7X4XJSl3GoXLSAunHqYiemfN/G4ykC1XiZakyVv9y69\r\n5FvlJKM7XeK+L2+OHt2UL4x9ByRPLLH40MHKPqnfp+tGs9q72ovln7b29MYP\r\n1s7mULwoR+Ue9f2tjRclWbXf/tc1CRX3Zj7lizPS9Ps8T+pNcUp7SjwfrFYC\r\neymzmr1Gt3Ptusl9e+dsh7u3cJKkT4VVAg0WW3yFhjat+rL9HqCWoR5Gcd06\r\nxh996dKEV4hTZVY1eUYgGzFQfXtZYdxIZ0iTYUUNW+o3x0mw8gJemZXPjy4o\r\nfCKPzHg8hfWjMb9karlAf7wDKWEUvhaaT64=\r\n=9B9Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412_1670236112772_0.9496359664618967","host":"s3://npm-registry-packages"}},"20.10.1":{"name":"@preply/video","version":"20.10.1","author":"","license":"ISC","_id":"@preply/video@20.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a80fc417cfa69d023180130d5a98bc925b09bcdf","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.10.1.tgz","fileCount":1027,"integrity":"sha512-DmyISbBlIeFT1gmnP3HkNG/GTmV6cCi1DizZGOxQ6m6Wrah8e10lrYpdoL3bzDp3dgp21bY0vSyHLjqGxGb4wA==","signatures":[{"sig":"MEYCIQDCo6uQdY0o/kG2F33zeTUbuIyi2Ehtek61sGVdL3KuggIhAKwVVZRk3lzhgREqEGaL1aOqcChCBB13MKfOw/u7hSlF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22426047,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjjwjJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs9hAAnymDUDWBYNkDJ4sGkyUKPdCwJqZf9K3P3S5r3h4z+YKwDEHE\r\nyXnWyvqxliXae0z0zRbaGasMrEHCvckO0woPhcA8OQwpbj71fvf7uMESjSPa\r\n4acuERUQUBM9xBU1uQhjp2f1QdYg2H578gH5K2f75N4Y/FrTIGxR1Fkuz30a\r\n7kbrNQazIJpxt+y2X0tqfAdmg+SAXsts2XulzldVhR7xWXQTzpxqd464HJSr\r\nGWLnWa761C0530jYIxJv+SYVKIAStIDBjMaVf5CNM9IV1804CkTB1l+1JpuW\r\nTWXDWwFctRThBSvbXQTdGPZS8BCgHPqh/Dqr2d+k3MwZ6tRVpyT8p67Hm/RC\r\n4vbdpU71kIHoDqEMCB13LEbPkh6pza+KcCsfdN7UVzQlNiHmjcsa9auu3JJx\r\n94TxSauPhEYAEZKd/Mnq4gRGkHPnDVjaJVzJKO182Js+lJ79e1X2JEgmj7y2\r\nLQ4R5vo8/Ug7aQNyAmsfEW9k5azILAXVk8OmzSdHwFLKJHuOzVd+PJnh/Ymz\r\nX7UAAKyp5lVEHlomXmKfYrfCU8sFRka0KFoXixKg9wPTUwG7hIqDAzWGxFAe\r\nfYFsX4gERTqZ8FIcd4Jzzgi3r2R7SpfjgVxWkokdHKQdTYQla4nLAdnCapdU\r\nX2dkqrVXyHmCQJCGJqLOxdu+/hQYFyU+sxM=\r\n=MEWK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.10.1_1670318281405_0.18330496722315215","host":"s3://npm-registry-packages"}},"20.10.2":{"name":"@preply/video","version":"20.10.2","author":"","license":"ISC","_id":"@preply/video@20.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a7f8f861eb6dce73d8fb7cba590609e3f01c9ff8","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.10.2.tgz","fileCount":1029,"integrity":"sha512-eP9IRPIZQ4+cuuLK/d+hYZQiV+vN9MdYcVoPssh9c4OX6xzUwOEqfylIW7c4VOV4VdDcqRRNofNh7nR25hg9mA==","signatures":[{"sig":"MEYCIQC7OgqDwCgpeaA9mZ/Ue60YApVfKk2FIpiSBLebl4mgKQIhAMvt1m/klrCdlsn0UcmqALIQQJQzIAvnpCU7SZBurPnP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22447522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkOJyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrF9Q/+L5ngMa9gLv4DwpsRZkeniPCjVyQ0KCRwPYklMS+GmcR/V1x6\r\nJJU/evygqwaYUSYKp1bHNj0yFhj/3uiz62qbis/GVbRaSqt80yMFBYeY97kh\r\nC/u6PVqp2JOfzypFxqyJlQr78rht/JVW9/j2SEwNWPHml2qcKqC78ejMRDRo\r\n1AzGYReSTgVpHGrAI33CDbw2u9qt9PgKl/tJc4F2XYu27uTRFbj6WyrrbjSG\r\nv0cUGx2MkgJJ7PjkxvOuUR8qnPNr7bQ5DYbNjJmYVbprXV6seW5L2MtSmJ46\r\nW92b4Tn96B2do1AnbllU96gwMDKlh/2qwLod7GJlCW0WST20hpx3112M9WeP\r\ncoQONPUYpOwlmRse94BlDwx+ArYoDIazJbizt6E8h3brTsAzqNCwOaLJ9qr+\r\n7iOkroPKDclLnR6b46acHz85r8S3pIMVAW+PeSwitPnSaXkbX4MrLaZDfZmv\r\ncGb80l25n7HnZB3Lmy0jrBJ7ly0e/jaurSgmfgs1ulfZ90+TCVUoa7/MJuvA\r\nrGe2Up5XxjGKCKfcH95HDH0f9nf+pFzF0YDd/m/FEWxSPmBMKYVZX6Aa/K9J\r\nI4wLSUQTEjGeiBTejSK2OFg3DQU3i03R1lDmJ56lcxl48j3M6xyCGCsdCXMK\r\nIRQoPiqz3Du+Ywgkr7dsi49mB3u/fFVO/+s=\r\n=QI+7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.10.2_1670439537709_0.463326525200249","host":"s3://npm-registry-packages"}},"0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d":{"name":"@preply/video","version":"0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"440bfc40539e57e54ea5756f77f944cb160679f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d.tgz","fileCount":1027,"integrity":"sha512-5TuDnuE7HwLuqKUMYi1NQgvDy6TGyULTV9HqqNALl/s35t05Mt3Zox+oIKfm+8547eNzEjiTGLfSq9daoZy6/Q==","signatures":[{"sig":"MEQCIFBiK2L4NvqzdJaB1lSpCJRAt2l1+qoqapTptmyvxq7HAiBt0Gpb23DAFoeQJikxnrT2lbbA+zyvgcVJCb9US6403A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22432191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkbQ0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7Qw/8CiV5hl7TMX2+q9R8irTbYgadzPLPJb5oU2QcOJS/mt3b0tkg\r\nm635p5CR85ZCAWoRApt0MxCC6650pdnGVWCUW2HHb//vHEPl7h/ZQxjOJeNm\r\ncrVPGGdBWbSoWKUE7wPW3zHY3FHQDpKt30Ip/eZKw9IXw75QqyTMLMbb5uMP\r\n4ShPXUnolufjkYcYTJCm24xcsHTy+Cd5luWluIvo2Wuc7AfSma8Uxzgb+14V\r\nr8LvAQFz53j4sDCj7oiOnScMxyZVQhOOVlcdUBvP4INCyH/vLssOoWGWXg+W\r\nVMZmwfXdP1E0QDtbMzsZx3tDIA7g1p9Bcz0vs2i2KFVaCF/Cmw5VUhTV9GOC\r\n4RROIrYXdcxlDZtgkKH+so0+PhXvip3Gveox3tXMU1M62ALQhkr3bV95QQe0\r\nwQKuUc+T5/YRPu00BllggT0w4IvZ0D3146fy41hVQ6sskjyDu2e2ht3BRDeg\r\noHzKHVtW33n9ZnewoED9VvKDHSwN4vNkMM5eH4V8yRK7iBFOladNorwobVGy\r\nBCXt87F95H8OMD3MTTo0O7/9mro9IqJU/i5izs6ZO3PeV4cuehzACKzp13gA\r\nEZ+XZEHooGDIpRgzUEhvxZ1nLyWsaSBl87I96nFjz6RL772MUwpnU4LWvNYT\r\nhdKIw0gjurOUZqiZx6asSNk5QzAEco/NdxU=\r\n=TTxf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@testrtc/watchrtc-sdk":"^1.35.2","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d_1670493235653_0.6508563707609891","host":"s3://npm-registry-packages"}},"0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685":{"name":"@preply/video","version":"0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1268d545aaab0bd836e81efb2f529f560c3f749","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685.tgz","fileCount":1029,"integrity":"sha512-1cRb0kZ8WiSnpE/FJ1ZJKI3D7pMB3P3ImgXuuQ71j9gk2ISk2hal3UNG3t/+0Lr6tEpQxHhZmk89kFNIbvRZUg==","signatures":[{"sig":"MEQCIFTic+DZqmQKELDyxq7eG4OXyJKufyDbpwM+RxxN0Ii5AiBR3ZJzoXm1opJjuC42IwitRo9FcIlEg3D8jFNX2Kt2yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22454252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkcCAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAHw//UfLXFnSEXsM5jgjkGAabdgqJ5qMomY2ES2krKRYjcs1kB1CB\r\noKVzD0KDerRDUz9cTbWbIn2iGV9rIhN+8Zhy/YpHb4Sdi4KdlCmxdkb6SUSu\r\n9dIPPSVaU6pysgoUHvQB/utgYvTnAOlkPloTsRbd1dkB4cv4kbUNIMgZEmd1\r\nBjnF/tpJ2x++0nuL5gbuapc70fu615gnBR9NSp/aPfJAX+nZdZu4a2dxG4UM\r\nxda64STe7ascx2KYM/IiLxd1/S6nsTK0f6AYtsk6bkILeoJmqXGDt9W695v7\r\n0lOyKAgDMYw8B8yiCPlXcKfSSplTE1oJoBTb9PI9v6+dKDUXn1mxxsYoWzIi\r\nyoBEtssN9BW8NUyZmq90dw53mSVVW0gi08wtL5aiqvnXGU0cpyd0wTHZTdki\r\nDHTXlEA/ReScCTPML801FwDhKYS3VrbGV0mS4skKr5V0chpy6CXnHEVSEcc9\r\nD8srfFAflb2pPQOrroF93EAbG+nfk3RWuQNVIqAC97RKjIVPPGo7mCvHBzTO\r\n2HaPelQgEtyvF1pEOU7NOyRuc8/Srz8UbR6+0tumdUs5cBahh8wcnqmYPhsY\r\nzN1rSY9FpVeM3JL2cJ/NeUK5uAZbhjGRxqPsDl6g7tWvk/GpE3lIv+PhmUf5\r\n5pqnSFDPVfNR84CD2UjGIh46MT51eo6UdEY=\r\n=wIr8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@testrtc/watchrtc-sdk":"^1.35.2","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685_1670496384336_0.13475390960973987","host":"s3://npm-registry-packages"}},"0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577":{"name":"@preply/video","version":"0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"237f3fa6cb060850608bd3697087b8557041a7b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577.tgz","fileCount":1029,"integrity":"sha512-4cSn2yWKq0YY+QA5N+ttWWsv1KkOHcsHxcfCTqo7xPD1sz9Bx1rnaATOVOpO9phRBdN+1AYmRGNoc83HiOkWMg==","signatures":[{"sig":"MEUCIQDWa/B0kaeoMRJVQPdIIuCBkRVjEL0kKdFIUZXvVX85jgIgbtPG8jM1keZ93syniY73/7PIQu3/4+dDI3GtUdPzaWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22454252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkcifACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZIQ/+LQ/IOI1OUz21XVhV/mpLNgJqx/ZQnn28fzKDT3wb1nuUqchq\r\n1ADkvnyAOpuRQY4rlkpo4NhS+PJHOZZOkpOcNu+xJlyZsbg9LExq3K9s4BbB\r\ns6XzAH8vttAgdwHluGDzrVJSkH3NuFlKS9JtGRm1wpJfQNHyfrApDvRU2g95\r\nMXjZ4WxGv7NsgqELwixbOEWWv1LWCOKnrYznDWF2PxL1DAe5YbCuAA4tarLG\r\n+kl/vbu/JQE+v3xgi8+VEF0jQtCKYXcEeH4jrffjGksenYtNjn+U/GdMwJFU\r\nnIdFOM5zZKsuwIosxyOW4Mrd4VKakdEwHTqc0mFBPlFq7QIMtSHl/DYQr7P6\r\nqYojLNfeQYpDjYN4P6IMEedRiECKO84wwQ4JDyG4//YyX5i+SHxNJvE8m2tL\r\niFolCAkvDEabjVM82HfHbKwrBl72cIGn2BaC+QZBXXlnOLf6XQD1sw/M2+Wk\r\nnwDfjbQNUsWPIEEMw5it2mAsWCPKUy7Ekkicdyvh/EG5YYIzml4IQ1k6hUyg\r\nXgAyviD/o79mRo48Hlb9gGH9/gX8UML1q3Ic16PE8hUQikxCCYL9btagVGZ+\r\n+U2Z+Rzf3l4fTwy0Sn6By9rTsU71YYU+memZVVVrmMWIFT+7JtXPou2hqiAt\r\nlp+VP3a/7Mo9sQ8Xtljp17uCgCV4V7VKCTk=\r\n=VTnI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577_1670498463349_0.22989553465277912","host":"s3://npm-registry-packages"}},"20.10.3":{"name":"@preply/video","version":"20.10.3","author":"","license":"ISC","_id":"@preply/video@20.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f7f5ed24747db4376e4a9aea4fd8dc25f27aadfa","tarball":"https://registry.npmjs.org/@preply/video/-/video-20.10.3.tgz","fileCount":1029,"integrity":"sha512-HmCfdHCiH00lf08Tnv+dsEtcxKFLvCnNfqHJFswrBz1SRku+DBsYFCaPXGYpyLm1Z7xkwkid2HSDNWBWPBV0Wg==","signatures":[{"sig":"MEUCIQDk9edvoHVsum2YPvX1ol8lm7DVQofQ0wSXxeYfZkAhKwIgILfp0HR/w8ZOEGYnJiZHbGBEh8LOoY31QX4XSM9s10E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22452609,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjluDaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqM+A//YyeaTu6G0UISYxIzp4KW1gPqoo7/s5HNH+fggaPjJcBWVuM0\r\ndNWKyvk7fACdwwjk72V2w/3Zs2PVqvJSKLgC4OGjYOpmElh8MrYQ8wCBnoPR\r\nDKo7pUQ2vyjyCf4zWdnsVmgcoELhTFrfA8MgGkBpi053BcYhGpN27xFDzkHB\r\nFlfroPMhJ706zSDIVAseOuvY6/9QHXwZsGOKwWiv2Pl0MoQFWQF2gOrqxWOq\r\n4M0qe6BtUD5k8eHKlIq4SLeKVwZtVLmDfX6M28HUb5HvLElVf3UwRUSEr+W3\r\nRdOO/NyI2kaWni174KqTzHhui4oVPYewmAD8AhwA55Z3oDSVgI6cITr9X+uH\r\nztl63ewZMnm913vpS8C4/84edFsLAP7vSKVCh0zHN8PsF4epl2iMT19Mp/TD\r\nZ7VcidGag7yZxAM8Qx1AP/8tU4rNxIwW8LhHbsduCXrK/zcAsDG3lR7MAGcO\r\nZgt1R4YoE+0alg8GHNMnH89f5rqm7VIjyeH2HUEJXMAX10WneG0rSJQst+th\r\n00hPht5x0yC+JPJlwoocSVf4vpx784L4ZlqUL4UtoOuZvNTVE5YUzJYz4ksr\r\nCQ4/iC706NJyJnKg47H7h3OMfFAi1RU2HyiDAmwn3fh1yV00AXAJrp72C85C\r\nkqs1CAVYwnqme9x8ez0OZLkZhwR3ZErDqTw=\r\n=IGE1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_20.10.3_1670832346552_0.734084810715057","host":"s3://npm-registry-packages"}},"21.0.0":{"name":"@preply/video","version":"21.0.0","author":"","license":"ISC","_id":"@preply/video@21.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bcc5dfac06cf4dcf94be57d3e0745c486de87411","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.0.0.tgz","fileCount":1029,"integrity":"sha512-Fsbd7hRMIht7fzvUJ93GzAZ02td/TVvDO7ZQ3EtRctHGpERyYYbV2POsrnVVm0pYBtaymnb05AUcWyl9fHZwKQ==","signatures":[{"sig":"MEQCIGMJ5wmQt5QfhC4eY8C8VgNm1jbRAdLedqG4/Db+GZgUAiA4jSgoNpYFDm54gMVlrFw6AE+fFaUFlm1S415c7cWvAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22464276,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlvOhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUAg//bmO55xJavNbioX0slSA0RxB12Pll2FOV1rshv2UFZmeq3Wku\r\nZ76BgTYIur0TxO6ALEzm8GTlhec0Idhc3Zcy4cBC6nBlFsBqXVgozuB+gXf1\r\np3/P5y3Qox6P7GBPCFvlLcPEoQz+W76teBwlTeCCba4rQ+Nb7jZ0MZToQ2r8\r\nJ2sN6IBAb8l4JrhkE5srI/R2ExuXPIDB6L0QVBymkdpnEPdF+67Jvvq7qXvl\r\ngSPEvPHotVbHG13WpQNuwCIKxZuF0bNwl0DxbD26An7bzKKumxWCs/Iylge2\r\nYfYUn56iNYBJdHVd0LN1NxnZHWvDJGRXY2EVyuemGKDl4sqg8T/QQnFcsno5\r\novReUJbR1E8e/CLutZXb1nEFuiZRRMWmes+BgwoqkeRD8Uimpv9CiPDwwg6o\r\noOuxO3yrpB8CKKSMKnymLZTl/LfyWSTSqVV+Imy6IgPzfPb1dEgGrXoI2TLa\r\n9qvX9bFa1es7p8cU1OmQCX4vylCaXEjRO2aijb1Rhfq+O0Ltc9zCzFnXpdox\r\nIi03WFbF05O3tHzegt/xxt2sgN6sHBbQ2zgb2PIxfaBndArOWgqL9ZSB2gLX\r\nnmg6V9QRAehITMZBo68tFvrwl9eKPOkpZh/3ir1YlXu3SHVSqlCM6FC+iTp8\r\nq48ePtOkWornQ2ydxyZVMDRejrYBlSzYGMk=\r\n=fQ1u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.0.0_1670837152884_0.042566232153638195","host":"s3://npm-registry-packages"}},"21.0.1":{"name":"@preply/video","version":"21.0.1","author":"","license":"ISC","_id":"@preply/video@21.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bce25e1b45823d65d71276482a33029f64fc9982","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.0.1.tgz","fileCount":1029,"integrity":"sha512-+8JKw7ABk1waWdowCp833nHHl5pzn3wU0hq540lawD0DV6/soYEYxxQUoWfZ3K5Pa4jN5WmuIMChL9AMv5DiqA==","signatures":[{"sig":"MEUCIQCrW9iViUCqmjkZaNOiAzYOGXopShL/4+zrEyhkb53u1gIgY5bSJGn0zpz9E14GuzXUKyEEqxmCVr2XFSuzcWPGVoA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22465416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlwR9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUsw//Q7ubNDRW+LiNdiQ2ClsBjibPScobjqgVioPx3D7p+JeyskDX\r\nQSsiL5t3ph7OTgzocUW93aAEAdh0YaACiQGkR1/ue6nfFeFwSXiOkvOHyS8g\r\nA5AFITRVTtpNwieyM3XjpH4y0V33+0knu2bERV3Bstk33NEm4vz7+GnixWf0\r\nf8f084K1E3J+cl5EXEiSUt6hzChpEtgesaWbh9PWQK2cohJKwOYGNAdren4Q\r\nHXSQN5LSF/PUeKrkEAVwlUq6ITBCEOS1Rhg/E1MgoiNqrxI/FOh9KaPGXoyh\r\nGOSFnuuAMTppmIlgeUZlTjzubtq4WuDimfki1aur1HTQ2mj0fLUvLKtXsRxv\r\nmtllZGrfzaDqzMUDYgsxBsv//R+FsPHIQXMMhRs5Vqgl2D/j4ElwhS/7i1Nk\r\nVAvgJ4dUrr+TN4kR/jOWUYOqhaK7Yd589T+PcN4g3UsEN2hxVTAm21oOPhkT\r\nk4kXhaXoJdShoCFhFouEHB1B77EuPyS4bnDaDCCUw9qgrkmX/7ENtuD6kp9/\r\naiDksZ9wcngZaNME7iJvK+xTy9ASdoCs3WGEwRMHgqKvHtAIZQsqIiJhiSKv\r\nYBGBNs4P4xzIqSzLPpLE7qIJMJkmrvUoq/pRMPl8zXrKTPvDQxANgUbO+6f8\r\nLWTwhzWDuBXGzWHekD1IsMJIgNLVQ95McdY=\r\n=W0XB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.0.1_1670841468994_0.509128897012237","host":"s3://npm-registry-packages"}},"0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88":{"name":"@preply/video","version":"0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"91f79c851bdb9af868acb0d60830d3b85d961f68","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88.tgz","fileCount":1029,"integrity":"sha512-keZze6NVEPILLkCyU//sI1lriLroCS0gUO/kplT65nrMDigKM9gpPoSsYDP5yTL4qT74TArcF9CJtIc7kzdwbw==","signatures":[{"sig":"MEUCIQD62DBfjhbvKH31bCwHLqfJ9EPfxez5BOxwU5wB0SMk6QIgWvhxy5WbE4cBuM8f8MxtgHAuH2OwQEKxYKkoYV3pFzM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22482738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlynfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLiQ/9HLJ7yXz/KZGhLAqG6WMDIHy7xIkT7sOOi8rpkyXq+KV4jIwo\r\nWd2iPSPiqqJCVbzNQTpSSo2yPefxDkwzANtUd1eFW7ths6DuO/bL6H6uXjcL\r\nzc9cjWejR68HdJa2zqIdTyN/FHqXTqYiBNnbELR/j2yrazxvxTTJgEnQupw8\r\np4gVToIeVGTdiLwSEqZX8+lDu4DMqvPxTO7kglj8F+HfGZC6wOCuYYZfpk2p\r\nsa+Ifz/6WagwDIZxgU8qyqIdI5WbUCRsfxZ92007ww88cXiA7dTXw+C3ecgw\r\noQK+orMbpSJlkQUSqC+GZtKoc5vcOjOu5ugu0Z07qVPmGoJdi6lu2cA/qYcr\r\nju/IJRGpZ2bc6ICzZUWGOi0FlFy8h4pq80Alqa66ywr7CZE1eNLf92ELSfKN\r\nxpu7nVZZAmdRxJ4gMGQ8DcXwlCaN/EmhkG6BRBqc+gFsb65FBmg35Tw43oV5\r\nP3tbzZmJX/9tFqKxwN0OltBtqJMAwV1j/EswQwNP3NqpjFxhXjnvY5tKqe8q\r\nSQ/PROpsMJJ5E6wIfsXQ5h9H7G87vEiq57au/owYaRKkQi7RfSW6hK1e6J7t\r\nZ6hmJS1tf4UficFHYqqRmFOMl6Mfg7cSPMd03pFKf68xnBzDVdsmD+irqppc\r\nSFXEop93/7IfS27cwSKFXV0pUAyVvsklTEc=\r\n=3TJP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88_1670851039405_0.5656090540921641","host":"s3://npm-registry-packages"}},"0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317":{"name":"@preply/video","version":"0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3976d2ddc52f29d59a7a236713fac2b23a74001b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317.tgz","fileCount":1029,"integrity":"sha512-lcibcOKrDKy0xqFyzk0rymca7KXCn6FH9FfBpLN+EdpafA7jQf+KCjquP4HivzX3pUOEs94/28hhLJR/YzQLGg==","signatures":[{"sig":"MEQCIFS0jGHvpbO71ZpOPWSXPhDD+w/aMg4qlzdQvAPJSHjKAiBkgVcl1DaCIvC4b/kP72A0EF8pVc/+jMpEgVWZJ2oEgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22482738,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlzvrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmof+w//RJVyCQC07BACBDZ2cdTb9IuKiXJ70q4iL9oxh1XBoJ2rB14c\r\nKkLnE1XLRf2qzk7tuDtj0LeuUfE0XGuFXZdEYxw2jW2fSvcesH/ZIMjiQdsr\r\nUkjRNKmQq0y35LQtXtjBi72y7CacxfJkpm5rH4hXoqcMoOFYEweuYZrIGFFu\r\np757PMH0nvsm4TN57xJcLUH2pr2zdXCl0XgUmyYScGavkej1gumGYkP/n+6D\r\naC4oQeGKxKM9jex+jBfKHEEScbBagKZdFjeAA9rTeo/OY8yJ1ixzpUbR7NNA\r\n3TyeMZElaOaGPR4pkzi7YGgPCoHN0Alv/cWsThqfxDzPizSv/CYvR1gFD6DX\r\nZmoqfdehwtRWS11Gokxa2Dwqz4gAFC7ImuttwvjUo93+lnkcHmxK16zxN/Mh\r\n7r6MzJOMuFHKbmNiUbszxzb1fOrUSWFyitmpGU0OMvJSWe/sa8PswVKCqjI1\r\nl2AGdSJRgnK0Uz9/jgQwD1s/dA87d9t0ZHMFp0EgnrRXpUu65GA/L03AIkLg\r\nAxT8LQjL6MbCtAU1e1g+TNCdeNwQXhawiUE3KwGwE3fzfZLBFr8zaRZR7gEy\r\nOfxsYx8XUyT7SqJ1mDLBGtVLn9ztHOQISR5ZEOz7jIZRCnQeaABKk6nqS2N1\r\nbM1pKGZRNA1qD5viQFPM6yAW6SsGl/FYDao=\r\n=TElq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317_1670855658676_0.21390889883776554","host":"s3://npm-registry-packages"}},"21.1.0":{"name":"@preply/video","version":"21.1.0","author":"","license":"ISC","_id":"@preply/video@21.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4fb24b370b5de3db83dfa78ef225eccf14e4a98e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.1.0.tgz","fileCount":1031,"integrity":"sha512-R8MlPjiFqJwSO9PbovXI+6ly3x90tEsa0hiRJzqQ4yayFNq5pXvtZg+e+6yMlfwXvAynUwF+GxVOF4akdk4MGg==","signatures":[{"sig":"MEYCIQDKaKqjT+QdwNBR0Drg4wCvQqsy5W0TtnuscNw0xUvm2gIhAKcljShDE+mcB4JDZGUupcto9sxIf2b8YKh1Keakz554","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22478138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjl0hkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq6Kw//XHNp9o28nc4Ss2Uz3Yca9BzLz2hC9ayquzuPkhXv6KHCPuii\r\nLmSq1hdY4wEyM2mxZfgT3U0hHhaaubWBZ0Ttsg5y+3C5ErOybb5CcOGGmjWf\r\n8XLGM1YkZxxc+lO3gGmiqoVqW3Xe2OEvXmBvOl6ogjq9DdxS4rEhoYXBtAKU\r\nXl5IYC7qB+OeHRKWrkzOaGaZHa3dcws0ohyeS2USaElrqAsRw9cXkRZMi1ZR\r\ncub2cZrBFnHz/hKe5sXqKiR1UvUgH8k84/r5K+qSIOvAXPxTmfNuXDsJCNdI\r\nOJe40jaqZWnBAddxQj+yDaeheqDvtStY0Fcy1BGcrZCxV1B8VAGiWDrc3Nh7\r\nYOmH44RTiZBT0Hfd9yOlZvvgjlifb8CC282HKMUtnM3oDwspJax5R1dt4zvs\r\nJIo+X81U8elgOAhUgVl8rArPOn9/IoUDT1UYftCbijgV+gciRdrfVePsho49\r\nvhW4N4LsK4/mrUg3LG6D+cV8vtSFLJ/SvwUY0lWixX4waAQU7LyytAN/pkks\r\ne6TfRYyUpVCQI9Od3984mwo1mXIR0irQ8Ty9n8vBXq8yCQRmp5vrkSoL2D4e\r\nJm2EuQf3DChdYzTgd/vOtvB3QcHA/MhLZtQHFcY2T+5BoqoMtJE0lQIW9Ks0\r\nFivdFxk7qeOekgyztSldoEYcvAYLn+yEiTY=\r\n=hEnC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.1.0_1670858852506_0.5994744053661318","host":"s3://npm-registry-packages"}},"21.1.1":{"name":"@preply/video","version":"21.1.1","author":"","license":"ISC","_id":"@preply/video@21.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"423f47460fe4ba1acf4ee56c8de364bca81f7557","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.1.1.tgz","fileCount":1031,"integrity":"sha512-st19IqQOYmynLX3rNmg8+33i06SdjDnxPRGwtdsQ+/8R8PU599Xeq1zzeRDN6kzBgLIQfFtEuqKAuMAyrQMV8w==","signatures":[{"sig":"MEUCIFH486zUqhwJJ/8YCKah9T1lFLxnhFLWk2u6y2X6TPGFAiEAjrinSAjoI35Mm1yvFaBICvb7g2hsePijXLfszxMzuRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22478169,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmDlWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoM+A//XrxIgeC2pMfsGR8XuIo4ObDaomeSPkhjlIw09562/aK+b28T\r\neKD/NQtyAxtZ9F0nCtrSgkH/AS6RJ4RHilnLJ5YF+clvQ18Haz3I2HNp5siT\r\nrccpqidhmpXqPrIYM1HlyTOUCBPoPLVnzDDtMQBAvQ+TlU3W4DcfEUQnkQoQ\r\nptXG/tL5/1X+Efqm9rqYzMVTaaL+bnP8hpNxZrGKYdMh3P4MhVudOpz1SXgU\r\neA0nbHWkLyv6geR+BCv9dOQNm7oFJPktYzRyRn4U1z7giSTgb5eu61byG7/Q\r\nl2QSj06OPaQkmFDCb1JFpCpZ6owt/jeNCShyWUBOvm00gQeF5fiKEf7T8HW1\r\nGfyYlVhdCQyehiXUUgml7mKTNuXPlLKe+I3wkI137DzS9AL6jpr/OHsSLWZI\r\ng2/FNXYDtXzBRRD+v5wT/KPAhd0rmntsn7OJI2OB7pJqKQKr0gzZjMSZ1cIp\r\nY9GwCyhlqFncjOTEBsKlk7XMlzYNI6zRdEOhA1GGktw2okscO+7l7TIS60gy\r\np48W5kpowG1eCLYdlDNtJv6Q8ODxMI9EKuR+FN8zd1ERp4EqCdzwAbBHl/ms\r\n83gV6IcWBeMQwBjeSTzbMCyNGbJe9wGjXsbe74t1Om2wv84bqHbzkiULa9py\r\njANWfKyIVgTGVjqmLqqR/RTLG5TREHMXkbg=\r\n=85oU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.1.1_1670920534501_0.1309826872935973","host":"s3://npm-registry-packages"}},"21.1.2":{"name":"@preply/video","version":"21.1.2","author":"","license":"ISC","_id":"@preply/video@21.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"34e5ff7b61f623166e5af8d3d9d48da639f94b7b","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.1.2.tgz","fileCount":1031,"integrity":"sha512-8GEy9+mVQ39vCMnTuD4e9Qun9a8yc59+9mVmfcHzYstULj29ZXaN8dMXBWXsDaJ5T/lZJbn/TlvU7w83QcVRQQ==","signatures":[{"sig":"MEYCIQCgS38g+8vjzBlzkZzSAJc8CT/shThAvOU08iwP9J7usgIhANyP9kfvG38dpMFqEOKetkyKFfUCCEGUM0Ni+mFgmnrc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22482039,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmGpeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoWBAAmFgksE2l6vkU3YPUiTiCHSIFFP8z5OPWTuGdxuyyIYdM85lI\r\nif3Zatk13tu6hGMPcAShS/Ps36zhfQYi04I5P7SPS6ccVGiJ2/qJcjRdSoTw\r\nHRWa3V271v09pJJkcuebGMz3Wb61HjX0E3iafEZ1/vsn3y63OffJt8Ws7don\r\njYM7oL41UCR8AzlI6tu1s9TfKq6uN6vj+uhBSwZQxMyOjode+TSO3pxoKLX/\r\nuQInZpk2m6ewyyovAe7RZOuKhbozAzFMngVXRrxFGDUJf9iyhdHU4J+UzoJW\r\nyHgTFYAfif//mxzFxGnH5V674oC4UxgTmnKECaEjI5IpNGMxfOw1xOBefZ2/\r\niCOFOB210Zt8wAt2PLWEj/5P/fgrgHJt9nQQzwevUUJuUVMrA/gLGwnVFq0C\r\n7LErzrq6R5HZVXADLXu+T7CwfbhNN3FMC+hB/eQQcxay2BQ5CmlSGiARcJDy\r\nByNbGSPS8Qo2Om/F8RaG+2IFtKWoYzBzjgl41pHEXkncDG+vtcmyKyWRb5B2\r\ndHjS8xsQpG7/TRWeC7RpU+yYFmz/LL+j8k1MSPG93Hru1wf8solOx3KrVULE\r\nRxnsFNtvx/wVUDF7GqUOquOB9L/v13AQuzrFp97OP9aM1G4CfMnMX4/Yfzl3\r\nombvyRXOD7x40fOz9v0D1OWchWRlOt8777U=\r\n=I8vA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.1.2_1670933085938_0.7609928921211526","host":"s3://npm-registry-packages"}},"21.1.3":{"name":"@preply/video","version":"21.1.3","author":"","license":"ISC","_id":"@preply/video@21.1.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"723c8a4118ef210261e7dfe816aa94395c11ebdf","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.1.3.tgz","fileCount":1031,"integrity":"sha512-0vCZwS7BaGTWYpFidZI+ZCkvJaRfgc41VgLEr5SeYn22woWI4mkGOaeeJq72KIbt/dlgSE1UNTTA6ziDHMdevg==","signatures":[{"sig":"MEQCIHZHdlNPRwM8dis5ego66AO+Qr4PcSJUqgRqcrwlQR7wAiACbw4vNBCFgXNySwUzyYstowQebcssPpnz3nXHsPNTXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22482788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmdPjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzWw//S97XqMrI6VVS8eI81YN53U3lRCf8K/drXJ+Q0SlgVD3JOD0z\r\ns3S4J4xgaGFc4zFTTCAwazGwGTj3HnqjRleWf6+dSV4UUSSb6dHtL2oKCxUM\r\nt0tozeQvBDq/Xgj/Mv0npP/RmeoYsYv6wx1yEpjoZ1l68iunBkSJ2QLwEJ2s\r\n2xYWUXvflEsCM4ufT3PAn8uZMyoZewkGsGrvOksIfnKKfUsM7HPP2TJOgNTy\r\nMaVNmLoThJ1QAniL43WyegdK3Jdle/M0UUnxLTkPm4GBpnUlpaVTyaYohDrz\r\nlAqSklq2J1Gf9RXiY/xLR040n1FPev5SjgVxuaBnWk9es1yP0sq4HyOuED8O\r\nXzwKYMsjQydPUu8bk6NKZicQcNc3b1+HJRv2v8yEXn2Sj6B1zJMsZ7Km3BC0\r\nmHn4awNK4VE+tbMH9RD88JzS4GHIoIuTy0J3TXT46faj8Z4+4Q8AK3L6sSqE\r\nuAIjw7mdAbn/JQXc9PH17Da6GeTB4NIZpHqxpJdTtVq2sbGQY4CkwIk6zi90\r\nohksrjloeZbTKKD8Rd38Edf/1mBP11HBUNb91xpCVLzcrHJ8f8NP6eACU9Ws\r\njiEZnXnHkh4lbSd9Wvlde3BNbAojj1f8X9gZ+T2cZnDl6N+tJvlWt5UqS3O7\r\nkrnx5oqayBm1EBaj2/J6WtgaQM2lfSc6JM0=\r\n=0QUV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.1.3_1671025635474_0.8899477661321169","host":"s3://npm-registry-packages"}},"0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e":{"name":"@preply/video","version":"0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e0ab58ad017283bba3f52d0271b9c2847d8a7177","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e.tgz","fileCount":1031,"integrity":"sha512-fLW7etUxTND+tYnGDaBNfchTmhqzw/0Hg7vbs89DIHycUDSRNntAEgAU7ZKtVAaoxsMQAg+av4JZjnULqz8+Sw==","signatures":[{"sig":"MEYCIQDJFp9XKPAUq8XKZhC+c80P1NwzglscpY0Nxa2U9W7SQwIhAPOkm+zBevrYNXeNMVXzADxcdrj2Vs7yq8IBvuAVMhQc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22500734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmgqwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxXw/+MRNmaFStF92nErE18mmwE/hNdm96G1tXWV5PGMYhaIk43szN\r\n2dF6gtRFE6/oPpARIQZ6qz0t+yFTUPu65NqEWJsVcxMhOAoZED//Nm02ArOD\r\nV+wo8aMXSv1FgA1zES9qRVv4BeEmkXkEYp9U016wa0Akl2ZtqJniHrRGZbUz\r\nXnY2droxjpG2z/kmyPMqbnuIBpj+1BDjNZTPFyh/IrseMIAzwvsd2hFRyKqa\r\n3vOFYh8zuJdXyqKiTlm+FBGnLV9LzdJbCFGatSFPipRMMlqSKF2NK/dMnHIB\r\nNu8BfM8hKfLo1DufH3msAOERURzBGs9+MqTTLKL66gess7O/kAPLf5NFbYOe\r\nXpnHe1OEI8o66Ma2Y63SMkfc6SV6qC4bEzzMRee6bX3/eSjA0mtSiebgAzSt\r\nrJf9qA4FjI9mrtAFZ4Xma3ZnCPJMK3Iq4g+Cn101aal6enQ5ZDx95i7Rt51V\r\nWsa4RP2iOm5WL0xpAIZpbQ3He29b8pnnLPIs9IInJqv4FkjmRlaDzbueITdc\r\n+ojmcTR6JSBlhNq8q4Q7GrVRipY5CzDMzpEZoUHJ55SibZ3pgWNLPYNX+hS9\r\n0KzfP36o/C3uylCdcAQNaP0FIfppeaESlVmBABwF761aNreWfHrbjL/pjU5a\r\nTv6b9JkYVRSegIOCDFPf4mRN0+OIzYcj3CE=\r\n=lvxm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e_1671039664067_0.8049263343951547","host":"s3://npm-registry-packages"}},"21.2.0":{"name":"@preply/video","version":"21.2.0","author":"","license":"ISC","_id":"@preply/video@21.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70a3011a17a055adb0cee162e24eb5caea8cb150","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.2.0.tgz","fileCount":1031,"integrity":"sha512-iP9Vaq7aXXth98Q+DfudEKFcHZ6ItY74mRZ4XGywnXop44pU9iI4qybzj4k+yCZkFEzmNJm3Q5mxdiGcauB2FA==","signatures":[{"sig":"MEQCIHdwlZoFRO6Cs26r/3kb85JhNE9Qxm74IFcmR6NLDO5qAiBbpzUkqy0UJr5muJ/0NXPizUxp2gfgVAr7AvUNurshTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22498769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmh2tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoOw/+Oe+RlJF9m+hxkMDchEN6SBxjXM8IvioIkzoOYITvUj/oTOg2\r\noFFEkjVcDRybtrTuCEATTTmqHcbRmxxUi+gDAX25+y7111zWakHPZ+ds5Lho\r\n3qDpyHrOPW8aAACSg0OfWSO8j/UXttkWFUW7SaD5RJJMJvHteAPTpsZS7xEm\r\nYcSdbYVN0hlXzFFl0z6o4Nhi9YHhARI0fq6vZd5dA6LHV3loc4Oc6zcSVZ7y\r\n8WUg4AI8xrC60neUH8/0OiLknyvYCY2TiKlz30rm/tIfzBxHx00J4LbTToWB\r\n9CGVSRALVuLPjYWr7k++4ntC5n24eXqAM4zLg2Fs76+DsEqDlM/fKa+rscJQ\r\nO3dlgGRTXdXSS6/DTguVkfPLboXFRknavrJ+mdXQOoxie67pTv2AfXH13UU3\r\nbvQMK6sGwT62AoE6ZqYL3QZfbR7HrwpLyv4H80OE3BIM2FuupBRv4qHV3F3j\r\nZGnT9k7N6+N+8Z7PmdWdMUMbxtV6dqjmWNWhysFAfZBUhXP5UQSglAMTHD96\r\nNZR4mDrnJlfsgSlTiusUx/UhiSNgGZBiiIUbck84LKrgOcbOy8l6c2LnnmOw\r\ns6s7dyS6pRibvdTVPt0pDmzAmwGcZ9tTV5W/f8Fgfb8umbYxKFPp6G+scjW0\r\nZV54Q4+DN1+mnJZbQt+GgQ8d4nqIUR5yEcI=\r\n=dC6X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.2.0_1671044525364_0.19416690961581584","host":"s3://npm-registry-packages"}},"21.2.1":{"name":"@preply/video","version":"21.2.1","author":"","license":"ISC","_id":"@preply/video@21.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"54a82ccee6ababae2225611688bdec4e159397cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.2.1.tgz","fileCount":1031,"integrity":"sha512-oYZALaFgZXlA5ua7T3K2gwWGKz14XG1GzOCW+kswK4jr4pi/oqisNBAHL8YpidnJTsNQ4E4pI7Ya/1HSXy/HrA==","signatures":[{"sig":"MEUCIQDKq+K4X5ve1MFu9XT0dfYLKtCJc0HzoK+5m32HyhoFXwIgfv+StBv2x0h2ra1ZL/I5exKCMtDLauL8QKR2AoXdrTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22499144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmvmPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1WQ/9G0XZc90femLD+Dn7fm4ih1DXrJVqUawzgzzW11mu8jmK7C+h\r\nY6MLFju6DvyuJ8iqf/1M/Ow8AUJFyDrGfAAIL7LbIEP+RTgzb1OUk4HDnNvG\r\na2koo6HnntMX5MNDswmF6o7zyU4KPs5cfSaKcdmCU1lbMsFd+cMuVK7FXuxw\r\nVaoxVpRSINIdeQegupXWE5zMgHyV2l6NDXuAvKhkJQg7gJedBM9wrFDZb8qD\r\n5xrtNnLDaCm20bCkDHaLtLQ2oAUnNJ6PLSQdhWx7QV7uC+7XKJGNbaMSe8N/\r\nOiWNMBPLZd/71khKi3Tiw2Dy1ZKP/mpVOPJeLuRHMXq3Un/SDHtSiyv66fiu\r\nJJy98Gv/TAGsChIK3BbSkmRAOOHU35O0h2BWMe95ngA3fJG6DMfOv4gnARs6\r\nCLm5Ej1Mg6N3sA8lEXj8bM77HX+MYM1mSuubM7nDgkkE01xXXMxhlIuKwrPX\r\nIiaaO1jhPwcDaAgnhlZiSMFsPx0S4KI0W964rFX4TkXPXKIx4GXqm/9TdUlM\r\nbVKjPwJg0xQQFHad83rC6hfMlCPWJpaSrozZShRbBrpyHTuNdVy3LroMuMsP\r\ncRCYuzeu9KW3dDWdl35xWTRjf1jpHLdp3zjo7x8oWfNhgSoD+WgF0DbIdeLt\r\n9njvvoI4kfyBv9tTH6OEWU02DVTh/OznyKk=\r\n=i05p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.2.1_1671100815419_0.7067517132381673","host":"s3://npm-registry-packages"}},"21.2.2":{"name":"@preply/video","version":"21.2.2","author":"","license":"ISC","_id":"@preply/video@21.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7244e1f222c86885fcb1c3db34d11097c897fafa","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.2.2.tgz","fileCount":1031,"integrity":"sha512-QKly+lKIu3wTmZiW9wc6jONoYcES6m8ndVbZ2bjuqB8lHJ/jdqsklerFXlfWy/rOC7A/JiVOVmWzun4WgiJFaQ==","signatures":[{"sig":"MEQCIGdSzeY4vBOUtsaPmnYvzh2cOp0505V+LVutHe2/1DxFAiBKccgK04gE+GYFVZMNp0i6CsHIvg9ummBXCe/uwXbqqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22500501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnDegACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpyuA//Ziz4hgk1mg/iL7hnMxRN4IdjXq7zcXj9yAbqosaS+PhKIHpU\r\n+uO8uCuv3B9+5trqsx+lnQeyHAeaBOmjBtBM4h+KAyian4QBC7h+LF0W9cOM\r\nfsdpgHSeyQ91tuERpBbUFQFm2FmeHq/X/QlgPFotwozSMztgLmaaOZStcfJq\r\nLIUW/viMMeuoZoMgLh4DtDU27//UWEOvI+w+ycuk9/WHj39/eJk+XmbhHWa9\r\nvgVGS9i/fBzKd96ZIGichsglyDxCT62qZDS/yFLBxp+VyQjEHOyLZrHugsaA\r\nUWfzOrLzrZPhK2tyWQGS/zO8fgNCMhlr/m7kcCBnRk8Ma7beDAJi5xVhhdor\r\nDbkyzbEWPA7rzDyEuo//xBJkfT9R1FStCAn7V4cHWFOLKuMCmQvppmvRdhwi\r\nFxHl59IEkwHoJBSt8UGhNtNn4mN43pfqh5x1Pk6+5YsDkLlhGbGaw1h7cPGY\r\nhH9Wbyp6DkCy0NMxkIQxnEHgzp8QuPW3+0h8ttM1kS41CB2SDbgEmGcqg+q6\r\n00rCNh7h74UXLiR4lJtGyMDohoil49lqARrSvk47FM78e3ClTk5WZbiYefrK\r\nfI0yP9MtIqV7U5yuiaEFtMwU/lYTZyVJX8I8g6LQV4Fdyj6LNYLnM98phQ2v\r\nOCdou2ThwNtqnRiYF1iHuN2EsiTJG/QXU18=\r\n=wTM0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.2.2_1671182240178_0.6992541145439859","host":"s3://npm-registry-packages"}},"21.2.3":{"name":"@preply/video","version":"21.2.3","author":"","license":"ISC","_id":"@preply/video@21.2.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b643d28571d78346fae47ac618691da0a1bc8db0","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.2.3.tgz","fileCount":1031,"integrity":"sha512-GG81MPILW2ra73rmkGV2iu/zhZd7hEAwvLYFtYCTAQEx88WYop3yDSBC1iaj+9j98SB5loHEbBsolpWEW57MMQ==","signatures":[{"sig":"MEQCIAHqhmBkNqOz8oGFhBY3oxSMyg3/Rpajxd6d8fcfgavKAiBP8W3Qo11DfssKKDpg7qEd1YMjqfUal5jMY/MQ3j+Gxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22499174,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnHQ3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpcEA//adMc6AAf0xRgIZKHplH1Ag68Kuwj3j2Oo3L7didsR346kG2f\r\ntgGOuxhG6tBr1RTOsMmy4FbqaOIUJHvCbZR/4cXLBuJwIxlMBwoM+l2KjaSz\r\n00OwmW1apPIeU/iPAlPmFNwfRFh3w/78rZVI/m7rSonNte0geLCUBrVLm/rb\r\ntO/h5KOXZhUisjk7wIa0dKggqYEB6ELrXRXxBKI6PkWfX/aWSCwj57dArJ/D\r\nS8Xf8s65N1nRNfE28OxeMd3qhJ7CxYLUYwysAXuojX84Szv3quwa6eR/iBrh\r\nuKgWnR5Pn7JR01LAfuYEtWjERYugDLlVmUBSqwU1qhiIvepOt5caRWKFbl+R\r\nZL1nuNqstAJjw9Xa3Vta9RV42orWkTa4D/Y2FvM9nx2HY7OI8ofp8z2EGln9\r\nDElAtLOt5cQ3blZcI/0G0hOkZ5ZYl7MJGZBj8RUVkvY8H/RqJbe6oJcBp05O\r\nfFJPbhau5K2oJolG2KkBz+VuEgnrF9pIyL4iesD5spbNzywpPAJSVHkNY7a/\r\nI09g3M17wirJINwVAjmN746uh7y35vXuAqWVeYwkILdo++Tl7xrS4I3FTeGg\r\nQbTc/kMNvMU0qDIA4BhO5Ry1taaioutCZ7fIVZlXT/3Ot6sndoO47m1hYi3k\r\nibSBgOclcLX9piFnSa8xbarw92d/YVOSapc=\r\n=hDQe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.2.3_1671197751601_0.9436064259743147","host":"s3://npm-registry-packages"}},"21.3.0":{"name":"@preply/video","version":"21.3.0","author":"","license":"ISC","_id":"@preply/video@21.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"59a29b8a7e9508924683423da688bb865172724c","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.3.0.tgz","fileCount":1033,"integrity":"sha512-SOw8cCyda5XXsDz/SAR15dCkJgloXxx3x0bXWsz7JW5wqczaIHl1MshO0xTWHNuOS0RWzMNf/VEjf2db6AyouQ==","signatures":[{"sig":"MEQCIDPc15+0DNeVSIZzew0YU2jzjj07MgScr09acMc1qFVfAiBxTQypz5VgLfZ6w60ZPTAkpopuoK0jS/+TxFQ0tQ0O9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22507683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoIEqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodTBAAmInvq2kqmvQ23LBWJHJOB3XarSeaS0mCWr//8J4sFFTJ0yx9\r\nDEgk5mU2HXth0qj5J9b9kK037/K6gyVaw2gc7ieNnhAwogW9fB/3xmHjwJkg\r\njWVlVzt3qq49N8fil3VAPYiUz7j4ukqeEDHEcW6SgNuWKx5qOy0OFVLJ+g7z\r\n0QtntRLoSzlwQmRmz0DjWSlchfT/UOqhhj1IxR3Phd/8k0Hv2axsWObAr0iX\r\n85MLPNDjOgqIkPIh8fRG/oopUct+Zzc1TfPUC69wR2PYKopY3QjzkxbnXgLw\r\n7VQgq49rWuLjLE7mSX6iCQx4KYnSY8XSBUJHWJadfgRnxMYkkZM7zw4qP4gw\r\nsktypuapJzRpEHUo4EwweZf8YJ/sg85tCcuvAPR6tNwlaTIgwr8lK4f6v1pp\r\n4ql+C7rkBG6ndCfLzbL53hRbb+Lz+p146wwLRc7NAMo2rvfI2HW81iYw0q1f\r\n/6/jVLSyhtSZbbHIM6rjVVQcSyGtE7XZij/cOIPblSqgGJ/45ki2CIBXtxxJ\r\nN/JTa6G/G3yDcvWFMTGAdLHhf0Jzw2GCszoOi8BPNZcKh0zhALn2RtplaRhy\r\n0FpD6tsL4dOx9XkifzSsLlSJsRlGO0B8XksiP93UIM3i3+xUR4wf6zqexBKz\r\nOf5BC+KzUqucQkA16MresmN9QAsBmwZTL3M=\r\n=P0d+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.48.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.48.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.48.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.48.0","@preply/ds-web-core":"0.48.0","@preply/ds-web-root":"0.48.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.3.0_1671463209738_0.7327467739397324","host":"s3://npm-registry-packages"}},"0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9":{"name":"@preply/video","version":"0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a83cc6410ffb8aaf8142ba5c3fd922b6c0c6441","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9.tgz","fileCount":1033,"integrity":"sha512-tp/BO/d3RbLlnblL/l/Ohf9Fx4hZh3ErW88KrsPo7iWZNwnwwqtyp5pKdm+usKzF8yxq/PT2+Q7zkkhp8iYXEA==","signatures":[{"sig":"MEUCIQDqrgoKhXS21kZvuGkf05e8sDYs2PHzV44Jd9HiXGf9PwIgNCMUGCwBH1sJFika2awUlFUAhsqHFLzPrPIquvE79bQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22513696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoscYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNaA//e/s7cd5mQ+eEUlmQKvzTyxdPH43UylklvQ0VSw28K6cHTgvR\r\nod/peWZbzpFOzojaSvUqJ9Wzh/juoaFwdd8xUZBXPi7jruvL7Bys8T5z2irU\r\nzpQCKhlmeffU1XWLvvfRw0BNKkz2vgmd7w2R8kvoeJKPgWHSRO3q5d6Q/0Sk\r\nkf/mqKEQRGLV57SLkjMcgfhJxqrkVPBpRnfXwdcadWUVkghaOlxFla4eyzs9\r\nxRBw1l4CRXhnh3GSvOsYmGR0vJkx80QmHFIEApEMcyVkuvpLsUAApihz7q9E\r\nTChmt4z2a5j3VGAuWVGq+7sX7JQS3L+aAsxYTrbASfaoqi+Huaw7at/sB73Z\r\nlo9gDI5SZpj0fQYC+29W1dDiZdi2iCg6DAv/Mio5pvAPizaBGX7sgSHYwyVU\r\nGDrETN7wNQtmaqqER5WH7iP14O1bGMZlPS0XWUZ8yP4b08BJJGScPst2YFx1\r\na/qJ1y+F7rM9U8DZQ6KAQC4tcP/Os8kF5Cqk9ZD+RJmNgkMmldegYvaYtxlG\r\nxZj7pfbrYIFkasdcnylZJJUDtqLA3N6JdgGCr1/Di0Yr+lgIW0IU21WOsYp/\r\nZ1SMNSb3aQk5UtA1A3IvATcflh440vVKCxmBsjRck8uSoKixOiVMgtUy5tVb\r\nPcmHtP+ITHX4wF9s2uQDDK+xCdOU2tYL3Io=\r\n=MqcP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.49.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.49.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.49.0","@preply/ds-web-root":"0.49.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.49.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.49.0","@preply/ds-web-core":"0.49.0","@preply/ds-web-root":"0.49.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9_1671612184516_0.002998742986783931","host":"s3://npm-registry-packages"}},"0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0":{"name":"@preply/video","version":"0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5d69471ebc255f6836b7e07621f02800fa88813e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0.tgz","fileCount":1033,"integrity":"sha512-nLQPjoSKvEf5ztviep0HwCrOCwWacvm3kuI4w8uJM8gewWGW8v2U5matQuBErKID+DolfCe4PUeTxKOoSu+6Ow==","signatures":[{"sig":"MEUCIQDYfJFcikPDW6bTrq52t4kPawly7H9WjW9pmZ1E4Kw1jQIgCRQj6Dq2An1NLwteONCJjpFDFCvuqtW0fXYZ8zBfN4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22513696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjosjfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaBQ/+PFThrnUV4kNgBNr+7F8kG3YJ8jgBZoJXM/tYqp48119S53Q3\r\nYd3qb2JA8YTNVZC8iE+HQaxaZ+HLPy/2/F6Zk7ICA7Wbu/njIZVNNtwz1+7Q\r\ntl0NSfjEltZ1YwXpIudgiNKYJx2XFYJCfGRL7iNO/Ndm+C+gTesHwCb2GVEJ\r\nhwdtWHVEi9J7nFgJ0G5+WZaTGa3J2+enFnzYor7jc+uo6H/eCfMMz824di/Y\r\nbKzAL5CSQPhSAvwVbR/liJKSDDyN8rEBAiueCITRYQHTTCAPYd84NYk1uEM9\r\nWgKJK6JR/ZyD7KsgX13OxWqXgYqenxHfqJIOMJUed1q5mhdS1Ls3WMVg4B6L\r\nMF6IbRC7lDc6Hdr8ZvUAmSMOJB/DUPmzbwNtTNpqm6UgBpCWbO9TL2M3b5Fh\r\nO+ib7sL77R9CMF715uJDiH5PB6LiYnbu3C9FcT99GNOve7J0k0tGiqGYZBJt\r\nN3GSJ6FJvW1HxS17lRHFIFOb4wqDJoMAYMw9pnA4bAjv5XNqtCvU4XFufPk5\r\nw/UEeq16BKMyhg8+pHJlVUsHj96+C3Z3HsZ2IU2O6za8Axse/isI1vDfR9+Z\r\n8gWLolEvsi2y7oGcppG6/gVAhSX+JARtUzfkYE6xz8UufiuI0/pw8uPSdMLM\r\njdkTmYbvcFfPnuMc28DVeONQq2G9ffNqHao=\r\n=SoBv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.49.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.49.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.49.0","@preply/ds-web-root":"0.49.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.49.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.49.0","@preply/ds-web-core":"0.49.0","@preply/ds-web-root":"0.49.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0_1671612639392_0.9073277523470085","host":"s3://npm-registry-packages"}},"0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74":{"name":"@preply/video","version":"0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6e659a9c4e2c9dd2889850fb1562c6625c03b711","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74.tgz","fileCount":1033,"integrity":"sha512-45vcc1vO5SgOExnXHAEFVmmoGVBeTzMILuFdEeefeyqAEW93bF6f9YvIj4cFQMm5KY0mkU6VXnwsnfLNZM0ecA==","signatures":[{"sig":"MEYCIQCF6S+omUK85b0HF+7rCRcdz84a+EGYVHMkkD5qog6CtAIhAJ2PqnD2+l6qTuNfiwj8gpujHF0M6V+aliAbQilPamz6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22525175,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpYJgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoO4Q/9F+qkhr4EWIa2q2gYatuB9YkuAdF09/vX7Sd4Z4smgABa2SYw\r\nVoJvR6h61Y2zRacq+vEGMRe+MRqTGzSrzpGD2rKzNNL+9y/kWXUgrugeJXef\r\nOO/41wFcJ9k8MiStAZEGPKa5gzal9r0b4S2mAzMLdqPiY1MVKBy5rS2nu2TG\r\nuYtgDIBB9IjBmOJW0R7mGws3UvH2FEX3fOr/CLi6EBj485/pc6zRGqhOQ3OL\r\nilLvL25/cgPE8jwth/uxCPUKHpfyGlblE4Pee/hJGSNXQhT5KHo8yCqI3s5k\r\nVJBNoj4/xizx0K8MxqQpxerK9xualJ1+VeTb1HJJzuiV5bOUb+kw/j7M/eLY\r\nIEd3nRY4971uaL5Y1Zfqscpd5s9XkkMBOei/4HrOtFuOdUL8aklyyRswfgIu\r\nb9/RXEuUnGmi9jGyJSEBZowoROaRo/T8K38guZNrbTGttsLJ5x8DbRZyJREf\r\n2zSQEhYdSLKjS0an8m+x4NzjRVts8FazgRrDG9iMAEUAKViK95yjbnq0WElj\r\ni0gLXKQAD29BSB5KlBGqT9jjyo20lEIXurPrYw4F0bn1QtkdFcUmSboHP8Qa\r\naxBgaHdHcNj1EctlqRI1iJuBjj9vCijdtzfMu/tl8jwPVjETwoBJOtpg0QuG\r\nbOIdvvpJTnjsg1ctkr7YkdT6BLhvyxMWbzQ=\r\n=vUpc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74_1671791200036_0.09972815096779208","host":"s3://npm-registry-packages"}},"21.3.1":{"name":"@preply/video","version":"21.3.1","author":"","license":"ISC","_id":"@preply/video@21.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d4fd7b2776a71b05aff55e8284ed0e83dee0363b","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.3.1.tgz","fileCount":1033,"integrity":"sha512-0HvAFvPtMPGppeUnDa2xfVO2Y74+p3Dn2a3aPUOYKhKuwva9I7War1KWEtIpPSVR/iSnPK7ogqY5i6+AGvLA9Q==","signatures":[{"sig":"MEUCICn7aFrHGzPBSzCVahVX0cwi/Rm+tKy7JuKMxs9JB8msAiEAgS/YKTdi35zFoTAzFBgjCe4NpqOAgGNocsm5fOUEcFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22523210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjq/guACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAQA//QrIzPgUP17q5h9Byz/1ttq0TYBoqyrRi7XKcdCEiZZNKMibZ\r\n2N44ung/S5Zu74sokjiGne++cpyuxSpG2SCcxkxkltDvo6iW280UtyyDA5uD\r\nKXcNybuTe86i1zRx+1NihJhYnaJwiHeg9RlLGnMZHNmc9oeJfXF3BkWvp1qT\r\nMLbQIvO2ewJ2l3eCWA5ekgccwfvQ6G9rWEfdHrPPL/77XdbPRmOf+/Fa2lCB\r\nturSHMFEziFjr1vw+oOQK0vSbEhY2d58PXe1ZHU7vYvrhVcRzFG5eDiTMDhl\r\nluNhdfb6RCZ5nMOBOdKbuRvTbxe6BWZH4h1q6LIiLFIrMAcbS6mobL7oiZnk\r\nHxZznEHqunsGJt3cQNwsvzO94LQ4G99AS02vkLFyIJr+vZEjqDa9XzzyUbzn\r\nmBot5XYW6u+tNHWLe+LqoUdPXrIIRgsxL3ak0FZtjCQfRJSZZkEVPZyABXrB\r\n0SArLHiI6ehlBSGcZuWGuSI69tYpC3oXrWlT7r0v5jqPehHjyPQW8xWdBmyp\r\ntY6L6gtpA1z/JUUzdCQdO3movZBau+dQ0LLyqJ4iCqruXnZfh/WGy6d/49+o\r\nb3m283QwYpq6nmB9CBSnYWteEF6LDTEjaB0I+OnGTDJHTAnAVB7JBcyHM+li\r\nn7g2299ra0CfOaGMVsZDthb0RNfFcAADgx8=\r\n=DgaO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.3.1_1672214574138_0.24431974985054805","host":"s3://npm-registry-packages"}},"21.3.2":{"name":"@preply/video","version":"21.3.2","author":"","license":"ISC","_id":"@preply/video@21.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89e789a5db749d1b3a883e2c46b954d2c79b25fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.3.2.tgz","fileCount":1033,"integrity":"sha512-DeDCZCDVQiL6/kFewiE85Ahy926EcUlEQUoZLKNz1B9Tk2p7XMY4CWbV5wMPLsGk6gwKqytAwqzHVWE2wPxz4A==","signatures":[{"sig":"MEYCIQDF6hZkHKIrhrYQXbwbKxBBMCE2G8v5AfLjko624KCtfQIhAP6G5Bb+mH9XYZPoUnC6epZNyy9315jVDgyX4TciXz7e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22524260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrA/SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGpg/8COfMRO+MnzY8nzUOUA5NCNMe5w1YrJ8EoErNmvpzbWCUu0Zm\r\nv0puPGpG/43bU8R/hlWVwhm9B3Vr17sOQUL0qQIxoB66YK76pjdB3EtB6KR7\r\nxyz2oBxc0+w5auiH1VawQLNVRx6xuwauJy2gVuZag5Ng2tHZuDDCWYAt07fe\r\nzEDs1ROo02kgSQnGQXMzeIlaPwxpPNgRS4g1CjZUzZpwHB8Y6ZtB1dqBL3rd\r\nhhz/VHvkFs0o9zZACU2smnMsgot9srkT9I8JgqfxSVl25C00JDM7MkXenoDa\r\nlbKgmpSvLMcbzLl4u3n+CnJJh57Pb0Kfdh3usIBsGUbbg/ztVQHRMFp++u4L\r\nqhojIBZW0Emd2hmjdk8DxMHSinoHWvzs32rECKjTG4Dnfrzh6AF57cA1bTaf\r\nYbK4C9t4PiGtbsAZzKG002SgGHMI4eBsjQi2GOcePChqUv80+XiD1Bie+zKC\r\ngH7igmtwwXekAmewyMxCUzWMTtlNt8siVGVqQMYSX/K4UsbgVCxx5zNprB0h\r\nOKG2I+YFsWmsyi6fZXMVlesXf/I0pE34tpdqRVexW/g2Fy7sXZH2135BSJfl\r\nO2sYRYaDzR/voF8Yu+YLn73K5UbKMlgtzJHUqNhKn8/T5wEeJ14/2kiRkgYr\r\nWg9ruoVEuMgeOZ3l7CSfk48de72QVLMNfRs=\r\n=LJB3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.3.2_1672220626049_0.4433299191006357","host":"s3://npm-registry-packages"}},"21.4.0":{"name":"@preply/video","version":"21.4.0","author":"","license":"ISC","_id":"@preply/video@21.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bff393d93bbb9a5f1d19daba043f4d4ac115084e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.4.0.tgz","fileCount":1035,"integrity":"sha512-uOXLIRB+azCBmMfxXaEH4Eb1/CSc7s5B6s5cTqqcJ+AeMeIa8/EIuGTJRuiKUyERiHGJkeg9neUf9qohDoiZbw==","signatures":[{"sig":"MEQCIFBWDXSRA4S8NK+5mlxdkUuL7DIU6P0BCrz8yH9bFuadAiB5MGXj0v2AMk4E+ukcErw/DI1i1R8ZZzEUCt6jAbvhMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22578887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrEs7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKvA//Sze5HG7NWPRxFsdGZNCnROZkwqpRNuyVSHsMlMJAWBg8jr1L\r\nomUKuShZzQ+ybGzMLhTXij4wJg84M0yEqrvJW5/bbV5ctUw1EUklGnrYP9mR\r\nN9wuBPcNrVRwa3TC01pnrmxkpY2qm28RujVyR2tSSwpzqCoQCt2DJlDWvJLG\r\nr6sYFC5Hne6++oIKHal2KW9tKvEVJpY+9NViRKGkXrHcCffB+Qb2CQVEl3rt\r\nP+22fDQS9S8oiXeNU1kIxxOfvIPsYwKrqQ3kl+F0pUEQ7cPk670lxuq/vS1y\r\n6RcgeWnxJHHI8WxJjWSOcZv/yVWlNQyyvcgfJCQ16faKh+3s0iTBKpT0c8mD\r\nZleGZSNS1PceLiKHthrn5jM+S1JTAkiC8bCsNGU8m3QJRL/kIdxf+BiMjG0r\r\n25Y4qBNZnzhRqGMkyJIQY3KB4BvSVVMVKlzuTDzjmXCTH4xNLJtP26OKFqWD\r\n53XfuyNnk+1I6db/DB9GK/rCjsWHeieEqfwnzxXRmf2Ia5WS8hqZuNoh/bob\r\nGFZ0pmV3g9alFg9W5V3NRBHaa621O3caPN8sQeeCuZZEXrgI+KmvZwJu/XPr\r\nj3WrUzEMOS9sYtTTTxEVfx/jy3x1ObMp3EmVmb4SiFwNPPLE5r+uKeAnTUgO\r\nIFF9I3LUpAdlXGIUyLHMsEWe8+L87ZPpX3o=\r\n=S4O3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.4.0_1672235834910_0.9761413561013215","host":"s3://npm-registry-packages"}},"21.4.1":{"name":"@preply/video","version":"21.4.1","author":"","license":"ISC","_id":"@preply/video@21.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a70de63c063a463314bb9767db064ac78cafe9f0","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.4.1.tgz","fileCount":1035,"integrity":"sha512-lG4aclZLhqDdH3EN5Z7nfA5743MLSXjrs1keLKLWGqFz1v4gXSUmLk1hznlFdpg9SsMQkFIopMvQaaYcmAEY1A==","signatures":[{"sig":"MEYCIQDUAPCjAo/5jtGr60dMcyV+TM5FyISfEBHfn1kdB55CNQIhAOBWhuoa6bKBC8vuloQvxP0I8Ti+sOUwrut80Q3GqR1+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrV5VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+Fg/+OCktzHH9I7kxzDiFCN9XFIHwl1Pb+0UMu8TZDWS/ZqQHekKH\r\nnBhgWzzW6gr8oH8mbNdjEAqDc5J3Dv6NfQQg5WEThR+69tSmN8q24eOfOCvm\r\nYeyl8+lLITSbOj3IAKNkMHw4dKYSXixdtgMTlRGkEKUl1nxC/0EWBVoSYuz8\r\nRqjliUmghn9N6Z+XeoE5nKULWutbOI9BdcKJ3/Ax9MCpE+mxHZmaSvvuJz/E\r\nQYZwXTL2odcHS+kSjXlmORkuR8gDVGDanzcFiY6ZHF7KJuiBu9Nt1O4g80uO\r\nK122GOrAO4icSVvAqZA2kXKQkGtAS+Y2ouNournNFTApv1s/PpNN1n6JqYTn\r\nA3ccm0DK1l8MRdBpduZb/Yd+GfrUQbfhEwRBjuGBcouU+mwkABK8tgDL9yXI\r\nYdB7GAQrt1eWjoepKNbbXlsrxVhROyeT5i1GOMosQWKJW8LbfkWb5A1y/oF8\r\nYU4nsXjbo7AkKIE+FV1WWzT2yrSb7GxfmJrH1xIVHqX0shYAjmhO+seRH6ye\r\nf5xlRJUqi+YfO8K4RD4oOkKYBY8BYyOYKgz5bHwyLlM8Y0QayS+ME5MwMreM\r\nM9kVMdS9ckbho1OWxSSNWXNblw3ZH99Be0XEZkhtKYu+6UIJ1zlRX0KleL8p\r\nQuc67kR1nGbnG6s4cOJD/ZiaLcxrYPPi4wI=\r\n=6AGv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.4.1_1672306260792_0.22463035046865842","host":"s3://npm-registry-packages"}},"21.5.0":{"name":"@preply/video","version":"21.5.0","author":"","license":"ISC","_id":"@preply/video@21.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e4ac5cff2001eef62fc9d4f8ccb45521cac46822","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.5.0.tgz","fileCount":1033,"integrity":"sha512-8N8Uir9PvGf4AuJAMaZH1QMCQL2YJDd8TjM6568c3+VMLlgG7oOhXJNzqMxys023gCuMZBV+7Kd4e3vfMccYGQ==","signatures":[{"sig":"MEUCIAwdHQ2E+38zEMWk7+QW3JLS9QQc9Vl+quPqK3nwyXhRAiEAoACpNVJetmR7skQGRLfdV/hFSlH+VRRc9zZlj+ZAXqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22573834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrYbTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouSw/9GX06bG3lGMK09W2VfVyiYgvwPFzdcoVpRN88WcduAHTflkBV\r\nvRtqnMZSNSM1S16L1l9W6gIRtsROJs2DTQ2smOPMR7oPiFu13o9eO4Jr2qze\r\nyOVV/JMyQNmvgrV4MUy63XYCkazE9YGBrnv5Pon57XaxCwddjDXIwX2Oz1cC\r\nD38OAHrtmobpRTbYyGYGFcTlDIPlxDNW4joOTWGupRd5X/NV9HLXQYTYPsTE\r\n2MswQPA7zfNzYznrL8+8TQPfZ7cYdGBSEpTfHFWH4EAFwxjCeth3TTaFAFOQ\r\nK+5n0Fyh3LZctjdwJFZYDxQ3ne07rdOVyWeXnHxSFPlQfQ7n/bNdFlkbT+qc\r\nauk8xN0n6TUpjxxqClz5rdc/ZMeAF7bPg4KBwsNTgvMJCFi7RfqVIJ0G05um\r\nCbKkVGSuTUbiiIbmW4js8LWeix1iCJFOrDRQdWq8LAJB5hX7BoChzV8kkY7B\r\nFvfDwLW0jTgP6fBRP3tNITEdD8Wvi13VsoLir4QLV5XM7WZ2g0jixKmKORry\r\n94WPDLx6cVKwLVkELW3tC+DOXcKXUsvA1f2bOdXtG0bD3fgk2kURYiJjreE0\r\n4oNkL0YclxtUbXS/GAsCI4iFNf2EqsP6OA5QW4RGaas2YoPWA0gJ4wXsBpCN\r\nPhTMamz7gtE8Dvvutlb8xSNsZPLonfI6Eio=\r\n=VqlJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.5.0_1672316627061_0.03457321296034288","host":"s3://npm-registry-packages"}},"21.5.1":{"name":"@preply/video","version":"21.5.1","author":"","license":"ISC","_id":"@preply/video@21.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70b0ec5a2232a8c0ce9c7e5e0785f24528bd6fcd","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.5.1.tgz","fileCount":1033,"integrity":"sha512-9JvlTYRCgnpA4xuLJDEuUtxF+QoS+g9hUThTlyggKgwXiVWuUgYOZx7AVROzMFd6+Kvwl3L9AG/TI0l76EBUSQ==","signatures":[{"sig":"MEQCIDvtIXiuPfNFodhWNTBFrh1bn/ok6sTVaKwp8hKChAQaAiBIrpx5+CJ13ne2Z1+PHlFx/g+UDhSgbmJ3aWRe/eGBGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22580477,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjrYvXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJBxAAgF/uABkAoyqw42RpFOgtl4DmAwJ6jorGjlP61hq4lpbXnLSB\r\nmHiUXL9+YeVYk2vWt+/WVld5GcMloGEDvDd8THpx9z24yLbs9nVyBByWFHbr\r\nq7siiZ48RsjNHSF3/i1K7jioZHOaCT9gwjeB84c6dNSCTe8B8jsCnyuSAmga\r\nMwZ8Zm0OtQIAH7RKbqIakkrC4Lc/eGmT/5HDc0gxUwHOoZ9loJ0UfF6C45Y+\r\nhJ4c0ucLAZOaePIxrVVoTqZERusKPKacha4iOkBnX2vWmkI1yLebLaZwLR9G\r\n0hWmIiE5D/EQf5sN5srTuhA/mYgtxBoSkvNtXlsx9M4vQzrGxVUUB8TCRMOk\r\nCfR9TCl6D78v5QQ6925U16+HuejyLMC1qd6vpNsw9fHMwy9COdfVuaEl+aoZ\r\n5FMvLKkYRL9spme7Bu1bzrNN4NkQmOm5kOKOjCLnepznCY17iYoOxQltEQF9\r\nzBK7i2ufu/r7onz258MaoK7Fpn5FjGTFMczUCfE+3aSsql0ggurQ7TemyFKQ\r\npcmjzgufnAWtTzWGkq096kuoMN/g0iK/J0saPGqITU6Wl9u6mygG0fn+SNcW\r\nOWiLd0wIS6A5bvo3wqKXmw5VdSXw+7uWF1dFqhg+LrEqyqGL3ThuvI4c9gKd\r\nWzelojuoJhwdGYDlP6XbKCWQQKZHgnKP9Wg=\r\n=bq2L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.5.1_1672317911130_0.576765990628956","host":"s3://npm-registry-packages"}},"21.6.0":{"name":"@preply/video","version":"21.6.0","author":"","license":"ISC","_id":"@preply/video@21.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"295897b6b680206ea6eef45dc63a6f967c622bcb","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.0.tgz","fileCount":1033,"integrity":"sha512-7W1+6KhwG2lvUSjj01Pi+B0D1xEtAqVkKHSvX3pQUnj0tMK0+PYgLEzs6oxXI5aUmxvM62xkF8ZILA6PAVoM/Q==","signatures":[{"sig":"MEUCIQC2VVMi5XLSi+ZMFigq6jCxoE/yJImOBvQNcddDhtEWTgIgPogoOIADs4nBJ/Kp5K9AlXGTc44JPqrqNNcEEP2ZX3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22578940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjre4pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjSw//aS78HZRc0ZjAqOcJeAnVzbdgNkfyDmq4H8qm0g8hoe8ijds4\r\nmZ/rHStQuDXO3PCl8l5R21SryrIiRZ/+MYCH3zt9IuYlO46xnBYFKs3e0pJV\r\nhqBwix5ij1gYwxYyNenWVsP2WxoweHi0WYBMx5tUToT6GQO1+gI7KZYxRFnv\r\nJ4fPsEGvGg6y3/RAfsZLMG/R8R4z41lC3AazSc7LfP9sOjKyexgh7ZLX+8n4\r\nu6Q6KqYKBFbNOw7d6tkVS/sxdjx7RnlzhVAG5LreQo+U06y+K9/anaHyZxGw\r\nGWJBLZYxXoWm7eSXFAJpbcBkUofPz7TpDPUDLXFTzQUHml3VcowWdA+lw99H\r\n7X8ukeqjsF+wvllNIB/vD0oep31mpTOWIK1rfXldTdOK9/3PrWanrI8muefb\r\nQb3K9/VqAjOY2nxnL948FPpPg4IWoewSt4DncnIx6nSOqBo0yDJMrtxOCJrO\r\n7fDzyiMWUfM+3RhDwxNRo4BbRIvh32b7DVTx1QDScRdsg5dGF8Jdl1hW1Teg\r\nu3M7tsZFoz8DRlc9RR3eLFs3sfuWodslvPFaPCpwApvqACbttb0JejGrVsIn\r\n3mccz9D+8bfiy+6evrKlZfu6Z4trL03e/vVvPOV/8BG+6ZH8dzosSBe5Zw+g\r\n/fB6/Q+XKEJFCUVOWz7OqX2XlxkY+MO/KzQ=\r\n=Wq1z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.0_1672343081126_0.3135075155260678","host":"s3://npm-registry-packages"}},"21.6.1":{"name":"@preply/video","version":"21.6.1","author":"","license":"ISC","_id":"@preply/video@21.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"628d306eb28f35a5be3f5c7f24f1fedfdf7169e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.1.tgz","fileCount":1033,"integrity":"sha512-zKhn/NYJzii3+WL5U8HEXJ5eNkkKrVG8Ow2ioDp38gfEaufjhG+B13WWd4pskjpSf3krHjxYpB6N1Hdn5yIgBw==","signatures":[{"sig":"MEUCIQDWoGyDtMUiXovXAGGPF1NmM2BkviScL4e8dDtp+VEX3AIgUxNg1vyz2KNOB6GiN1NmTvzRbbk33QhFnEUvIXOyaBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22582646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjsqAMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZrQ/+N5qt2BDHnqREpFxM/HBWYgNQd5ldwtv4s72agc88PDZvc2GZ\r\n5EuHySTmueVMcEa61LRiTFCvaLG1rH18jwkJ1CpBPCvcTzE4JCUVVLmeuLvH\r\nReY3JsiJUD9dcM5hVXztMpnAk4DGPeSnPbwb7Vf7LKU/LO32bFMCr/VJAfzT\r\nTBBb0lu+4WZS3D2/DKQmxTK3HNaJ1hvMLdEJEnvChmz324snICenFFBcg5OC\r\nRCWBp4ppsC7tP1oJnx4fUJw3rg3RjcS74MCQYVaJMrCzY5a3jawEgCIcNkSX\r\nS34/k1OFKYeGI/8wYyDj78t0MRe6fRBKvtukBeltoAnJcylnQXS42H3SZK8Z\r\nUOj99pn2Mfol5ZDfMat+UWzFA2ABD/ePwjo+jRth+MszkEetM0hLFxeSHM9N\r\nautgIy1oZi2KkexP0pOR7FVwUgihzY80R7F1pms1rdEnnbHFHFYF8OOEQz2N\r\nMTT3oKA5vcIhuU90wbfDyHUJA9iIC1si7BYvDjveUGQuH9b9vpeFxTJITAKW\r\n+3/jN4jf4MdIDCWh04xSQndfQKzVpYa4HT+acDZSO2kNhxfIBjFxQnX8Gw9M\r\ndmgLua9knwLiCYeZaxY8aeJB52MJSawcX7N1PszYc+U+zjt9lbO4ewlOyM/f\r\ntKMC6zng73Q/M6+72xF5Yq21MWdfdfTJJJw=\r\n=zenM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.1_1672650763890_0.8469918413200628","host":"s3://npm-registry-packages"}},"21.6.2":{"name":"@preply/video","version":"21.6.2","author":"","license":"ISC","_id":"@preply/video@21.6.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a2b9a49975553425c6f32d6e3897b74e120db788","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.2.tgz","fileCount":1033,"integrity":"sha512-nb97JAwXiXLmVogK4olJdXGBQA6/fKt/gKnLyv2CamqMER+QEAZJNUVFO5SEl7j5V6RUciiCkOtrOJGUEMr3eA==","signatures":[{"sig":"MEQCIAtuWQQS7dg3itb46M9W4ruo8E7SJsNOhOk1ODfe9NGMAiBXefkBTZRy3BXoxU3gaYwxpJehhCvR/cToXYz9mBUjCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22576661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtAriACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCMg//XMK2sizuKxRAhobpB7dNWrSR75Qld1BX3j8QpXfht/4hRArm\r\n3bgBvOKpSB7eLDSGcXTiNwjMECu6kBoNyf+WkBJYp/3iOvRcHhKJRgL5AGgs\r\nbXwA8uaRvfrYuuiCmam5phqcrsS5DD6RsIzfeaTfYIYGFku4MSsw9OMXJxn/\r\nkog3Tb2Iql1vZlY/DH7o/NAPd5icboi+hXkIt4dwnFoixi9/5Lg1d27K4UIB\r\nuijAajjl8xV7YWABaBe9alH2eXtHn5ZcFB8XdpCQ4BN1Bzpv9Guq1h3wZwmx\r\nZ4pRHbuWF4lfVK9D6gYopG873qUeyPEndpo+LKIu/XxVNlS4T8AEaACoZLsK\r\noLlIHoSldUemx1Kd4PGpe5SgM1ZJPb3qpdJltnH597Y/EYZ2Xj/Swb/X+mhj\r\nA5mYG4CBykD0J6kA2FDkDQ68bQ+hUsmxGnm/rlZ/KW9lax6oPuAcbPgBRTA2\r\nBGH/2S43L8xNlB9REAi4alD4Gp2eNEYIT9NWWWptVRuXlRUK0z1irH0MX3Y/\r\nkb+Bmlvf2BNd2q7bUe/u5dFms1SrtbnjrvMrXoC0DbrzDtZIH9FoHDsaBONn\r\nc4V/KABAQ977VfBP4z146IBK9qYRS0Bc7YELQHqyTPO0N95wXcfbfhvceJKd\r\nbROF8HbRR18M/6YMDfQx0bXmRHVGe7c/3Gs=\r\n=PKyH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.2_1672743650265_0.39437043623844636","host":"s3://npm-registry-packages"}},"0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100":{"name":"@preply/video","version":"0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"39cce417d948e47a1a19482349c315f81d69790f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100.tgz","fileCount":1033,"integrity":"sha512-Ku1RvZ4d4J5hNLbX2TlXqMgu2cX4/zJww7h9eMlt4LtQVmz8F/UWv38TXapM5bnzINWkYpDQ7IOZtnnnprJwBw==","signatures":[{"sig":"MEYCIQD4Q6azFp+kpjVYQR68LvGD2SM8zc/VM2ugsYajX2kwbgIhALTGemCjsAnroqjkDtJ9B/cXyCopa6Xc00CtKTRuFszi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22578626,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtCcgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqezA/+OwF+DkGN09xAiitLEyo/zriVMe3kn1QPU/cDTVz6ozyqXdUa\r\n4W3VTtbjWfRVkEhBbv3qHiVbkFd0CGBs7g9qZoiBgSOxCaoOzv3bYcWaFPI0\r\nKWMSTYciFbHsITX4ZwyGSJkXrkC2whD4qNjZM8SisTyLGxYguspiXR8LECvg\r\nksdHlrJb0SFFiZa60EtDc4Qn8QfZ6pHHo0liR7wCiVYoskn3YNZEk9lwLZlY\r\nGAj7//6lpaFJ+0Wqa2IqnUpkP+g0tNykFLZdS9aBuDkNtkZnFWb3vELN3WQE\r\ngWJhQbnk1bR2W4xwk6o8IZFLEdHEAK6nuN978RyNQ6QQky3H/+C1RV3R/NJm\r\njn1uyhjT+xKoVk6A503zbhKCD7deksKYe8YuNqXY14s+Jg73pcAGkuMi1LMp\r\n/nfXjU8YrX0W5QlH2jYcEThKOQONK/QgxUvuoqYuZ19cjXZ2hCmpMOq8eQIb\r\nMpUvXx/3ZEVFP+5c4eyNHDFNTlR0iWvzsMuszQermxQlp8CSnj0hsbLniwW8\r\n8YZKyVKYBvxEA52xRBPmN5mXc6Xykg1UpF9WMlTBxodNWhwDi1Q8YeGUDlwK\r\n+tAPUauqFB1sH/QV9zBablZAzE1gONj1/rRPkMGfvK1aNVKmmjSho7eZKJCu\r\nejCntp1tiZ0lM8a8XuWhXtWUWpEXGyw1NXk=\r\n=lX8g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100_1672750880220_0.3235019639919918","host":"s3://npm-registry-packages"}},"21.6.3":{"name":"@preply/video","version":"21.6.3","author":"","license":"ISC","_id":"@preply/video@21.6.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"14ed2457566654a9ed3b86f48dd3e41b5a1feaa8","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.3.tgz","fileCount":1033,"integrity":"sha512-/0jvcEsQyspfcyQBChEePs62bS/aCWIcjSZ4tCDkx4xuAQ34OpUtQ1PpLTDX5xSEL4fi5k5vYH2p3+TSexxrbQ==","signatures":[{"sig":"MEUCIDQYpQyBO1Tygs8kWRVBePR2niO+IE5gwATUi3FjwXL0AiEAqcKQhG7opIakKkGgF5BBRJSnAqtCJmIU1ypkSQQXff8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22578473,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtD74ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo42w/+JA4warHUP915g1Kwhl6MTNjKt/cX3skDs3YOC2KKJB3+yq7w\r\nEmYbZbMM/55jCCbU+9GZnOHtnuguam50hD3qNfprfEo1hOd1/F0DLdwOiYXk\r\niENDZ/DWjlPS2VYFbV8c+nZLAH4WKc7x5PAvQdVIDtKRe4NQvqPXbxnpGDw8\r\nuhWvTAE+XPVyPNzUD01ZYEx9NjR2YOnppXXQ3Ultfn94hO5uTH1JGibVka5p\r\nhZ25n8R9HtGoDEIlXv6BTgNkP+GxrvgCHCBNiRqlJRKMxZ5L7QEgyZehr0Rt\r\nzFp0PCLM3DtOPi92CbggPpNUXMl4Prvxljx+E5nvgjK9nB/eutg54ACtlSY7\r\nAPzOMW/xrhHt2FkYrWmwLbUay71IjlmVUuMuaucXHic6e9CHpYypd+QcYifU\r\n0jcf4nBk6mhClqnTs3j89TZ1Y3QdUvSN3lhHX1MxO1QweUSbWtg04iCl3tVz\r\nRrng3YAehHq71kRCBv96MzYEdqKatnzyMmTBvQRtY3Vflfwx1Y1TSItFDFNf\r\n8wq8e6/RM2UEQvKN95bVemqNaYe9jMnrnegk9nSCqgcSJx5xWm5djN2HpHSC\r\n9IZHsIrCsi8jFNWXxqXb93/p2CckeSOfVhZxVsJzNgEq1cqV7AihuO5z5IIZ\r\nToZrT/NlVhGle+Mf1kIgdEdFxoqbctH5dLY=\r\n=oWtI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.50.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.50.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.50.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.50.0","@preply/ds-web-core":"0.50.0","@preply/ds-web-root":"0.50.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.3_1672756984097_0.6190387606440773","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e":{"name":"@preply/video","version":"0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"314049d4ad80b64626753d7b6982cc78eb1ee8d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e.tgz","fileCount":1033,"integrity":"sha512-d2lts36RHs91CvPMnkmbcIFNRLltX5EI47eiJHZQJoOUfYOw6tzBTSdJsGGlKZ4o144kRyBKcUHaAlH1y+41ww==","signatures":[{"sig":"MEYCIQD31uYhvyGvNw9LQY2gJlsm6IJqva3OANF4b5Mt3tjJBgIhAIH+1S9IQeUA0XmVkGFlOFnoo/8EOAtd/hdeMYUZXwAL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22580438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtGdoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqU/g//aTpH4R/s+TszZsymSEdOpd11EjN40AXA+8H7RX0eBHhMeGPV\r\nnLXsQrXT+ZAHYciT9B82l3rJn+JlisrrRanau9mc8Gav0sy5mQGw2lVM33/j\r\nBmhXwMn4olSmCjKlzmuxgXqUQ7JClIrkRukO3gzJj2GZ27G2uGRUY86vvwuo\r\nfpZeSqQTX9dK1fyqZnFLxfHE+pK5fpkZrldRK0+bRyUUNVw2FvYWD3FQvuVs\r\n+0PHRWokEyg+DCOd8CL0J9GoWhh0nXlzs35OUvQdJydZIzynXZgsoztv49vK\r\n+wpyicqIAAAFweb+jj/o+kk5b6R1N7BaRUPFubOuo0w9FxLVmwTKgKh1vyQf\r\nCe3fa8xBqLwOUHCjxFN8Bq32myw72+dtM3QEhGaoVgamQrk7Kq8HCJSyI8N1\r\nRf8UKGIGbMnIY6vkOLqci4hOMLDxiJhOiq3VWOWwfXh9dfXAWWDlKh45YBaF\r\nDMK1pSX4Ue6oB2JrRIYmjjZcEbsf/2TQi1nOoth9SOed+IlV+JJOE1BOxVxG\r\n+5fbOziPpwO3YQzLgUyfQ2VJMEecZqym32y1KrfsaLof/o0JhIh+BmZjzhcR\r\n5r++D7ZYlT4ha+mjcxvhlZtsIIfczMeQouDspV+y5aHts36Ou/e8liIBBYVO\r\nnF9m/qtVr9VHKW4xoZAEk4AjYHGRIUY/5UY=\r\n=zoxo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e_1672767336377_0.3289166705170301","host":"s3://npm-registry-packages"}},"0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7":{"name":"@preply/video","version":"0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"433477af311b51452ef611a686219505de9ad942","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7.tgz","fileCount":1033,"integrity":"sha512-4o/Y9sB3Iix4v5PbQQ1xa+O9WUp/KnJp/uGkKmLqfrMEfW3HGQesvlrdhrj4Y4i00TfZyPaJw+dTket9ce/SXg==","signatures":[{"sig":"MEUCIH3gJOVsjEvDnONcNScUvdXUmdT5ZfXlqd2E+47kg4y/AiEA/1DHKbFZgZNwdcDWInRS5GtWv7E7GaFYQbKAYuIxrqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22582523,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtbYVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQxg//RHEUSjV+NVLkFb7UClTSgOM1V2NYFncn8wDsTJkj6w53Ldmr\r\noUpS6/Qkc68iJfifJbx7sKBk2aLUStpGGzHpftjWtwH/gR3vgqgoH1qjAA25\r\nsw/iDIT0kYlKT1WOfZ1rhxCvH57gb5/0x6Qz95HMZPRL7wnZJRGRAb3B2mtS\r\nYrkQDp08UBKfMFIG6HgCiXxbpC87unbujtgfkkrJsdC+uD2o9b5zyhS2av8y\r\ntSXfDvdkgl1Rn2bcCLFD/nRWh0lw2rhDptfYQ9FZSdZPfSCBk2T9RTPCN+xt\r\nX550knOhyVakK+hT9Cf9oBJeOTdr7WE3uaKzTnzrL0sDfWoxVwsU38bSOIQU\r\nwKvSI+ozp2j9RjSkYFL5RX4UE1fHz6d1vuN6+x4cWSSRDgam7E6Bw7T5gINZ\r\nmCMARcK6iMBgS8VtiMyqFNC1/m1SIomLIqZyZU8WwsZuPHS6d/55jHi36okf\r\nq4OyngWhywTCSgUAsYQZI59sCX068uHGXiaQ22bxTqrJ1JLpwcpESgGa0By7\r\nklrHf/7VixSOvS5Z74Jtav7z29+mv6XTYvU7UNhWZhspUmNeo3JkraDDAg8L\r\nnRqbs+n+TZq7JQV6uLGy48OIUXEx1mBbXBaPNFE2jn5+KbYPQg4A3QeOlo5u\r\nsG9Ew4xVUgDhG3pOug2TQnB62vPEib1jefw=\r\n=0VyU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7_1672853012846_0.65396805848982","host":"s3://npm-registry-packages"}},"21.6.4":{"name":"@preply/video","version":"21.6.4","author":"","license":"ISC","_id":"@preply/video@21.6.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9ae7cfbca35785f701a947bf334894437121edad","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.4.tgz","fileCount":1033,"integrity":"sha512-ynGZIdamPHxHGf9HNasMbXhT/RgNVmQ6pEfFvDdFueJ8Gcyn3hcbbJYVZPhRIU6wqf5KHL4aZIpucDx0voRgOg==","signatures":[{"sig":"MEYCIQCZRLXTLJMurXDRzKcg6Q8rqVfIdZdotqPGFyS5q5wm9AIhAMSeJIPKIFHwN0WbWvjLm8JMB1kHQMcIIFDUAo2216zJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22579258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjto1mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLZA//aJW01ARG22kMXqrKfz3oRPX/P2IanyP9bDrS6vw6x9HdAG6a\r\ntX41KECDkuXHzcZdp3GMjsk37hocPIIyHepr1+r+jPbAxs4wvbfWoOreIi1a\r\n6odTgvx0AuqfiSY5tbo3lBWjLnGnG7oMFZAq5e7cHLwIcdf9+d0U4JThAXUx\r\nYgSdCEZ+/sPwfalmt3SD7coH22GYahjBhuVC9uyX3ibIMDi12h2VtzsLb0aB\r\nub5y/vTnYymXzGJLJV62PIDb8Mufct+A9meirgDhyzMMsLtjMsHbjQELsVr5\r\nOehfyrYfWUaTCaePJrdLYk03iiBz59bzUCFFuwPyTq0l8T68lolNj7bOJfJb\r\n/xhwzDUAq6vYDVNZ4ZrxtF9h2agMEkYAPSam4foEGhUzm4bx3tCK3wn0Us6a\r\n+33i3CBUvZ+E29MRFOINA+XybXccGqtEUFcYq4D1uPJ1c6Ji1MX2z/BWlRVF\r\ni3ugjNvBVJFiCSUg1hw1yidhsgV7iQJWtUP41wPMVqZB7OKLjwt0N8XbYU6o\r\nYrx63VY5+F2iO1OdFrLEE8H1DrpxreEHOD/19revxbLCieP0qzkP0EQce5W0\r\npxkStoNfSCqErlt2PUvhxCJuDCTxBZbqJgdns5HoyvFjnAItYFIZAXDCi/37\r\njW96S/ZpbbpdBTQQasiVabrzV7Gv1/az8mg=\r\n=98dx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.2.0","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"10.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.4_1672908133681_0.2101014800004566","host":"s3://npm-registry-packages"}},"0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea":{"name":"@preply/video","version":"0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"43184428dd1b518e28f3fe93ceaeede1e1980e9d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea.tgz","fileCount":1033,"integrity":"sha512-pfpCp493v//r4cqy+Po/6eDBj8oO5Tgnqz4LXXsj7wHOl2gmJPPMQwD4zzQFMLrXosz6bOExflVl3J9Ew7+QXQ==","signatures":[{"sig":"MEYCIQCytAWZgWgsdGpf0YSDNY/p/5L6w4PDZvmbpcrM1NHJPQIhAP1KKw2Gmhn6rMxqN+DPpoUjmg8QROpOZn3Y1N2zypiD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22579048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtp2VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZBQ//XgkKJCknfQTQUv+qG1IL18FEeqy4YY1hyvPB92s7HqajYCwG\r\ncyyywKnF11IUrupl/9G2zvnXwCafc1fEIJYJHzcK/jCdjQwitg+XvvthxMPC\r\noQtnHCPfSGIqA/z1gA5/gbK/RN8uex+EvZ5pT+vCU4Am+RzZX+1/SzhnU1Lc\r\nrk/0RYMY272RraQ9dQZg6pmnZzcQZiP0KxkVQmWOyP6tY2z/NWfof5hSO4uJ\r\nf/4crVADDMSvjJvqwo9xuXaunshq4MbOAASDXRPd6U8/FQw30HjGoc4qK30R\r\ny9AWec5aWTsMeGGAG0fT8SN3Tde5jeG4R+49umaM0+ovk98mQlgm5pOv1FIw\r\nyYiz3nH1JX5WVBD8yWdNXSJOqJu5dGJV4TGQ26VitvW7A8xbuc1WVj0veR6N\r\n9uoQRK2EAW5UiZfUopnGOdBCHg9JIy4xBqZB8LERHkbv2xBwcxO0/7cNEHLk\r\nZJpg7jcaMuHrdbBxpcSSUA/WlH3roD2A1oujJ9ExyTtgKk7VGGLXdCUZxpbY\r\nvRDKatZtST1EdmcBoVBlgfYB+s0qhJsNjkvIeK2QTeSkn/wZVskUi8/jRs93\r\nT5aFL8SqW+NKW8kEvQHPObACwejhmY/f5s4qcIPnpl4xPRl8hYQNdMnJcH92\r\nITUPGZXSN55E7dvXk6xxE+1XxzHmMCrPMPg=\r\n=csbr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea_1672912276870_0.5021856285359727","host":"s3://npm-registry-packages"}},"21.6.5":{"name":"@preply/video","version":"21.6.5","author":"","license":"ISC","_id":"@preply/video@21.6.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"91cdd9954f5cea025bc4127970a9f5d970a8fcd0","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.5.tgz","fileCount":1033,"integrity":"sha512-rmowxSsRFxGu8b9qBzDzguPMOvYCAZzY9kYhDS5FVIJXx35YopiF3xbuSEvk1iWF/vAHVATWN6RL9J9RrK+1eg==","signatures":[{"sig":"MEQCID/RgHq5hi1piLZHTsoE95EO831JBwCM2D4M4+BaxRYFAiBZoawhb+Abc51R2Bn4gOSQQfiE5sEwWJIN2KO5U2hGBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22577083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtrWmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvTRAAiWu3PU9uY0ZqepaINXVhJcOY4ioIaOTDQE4F0GCyKjmVWVLl\r\na6HuhmRH0XxZBTHHwfUpIcplVcWyTqbho1yIRE9qFtCMQ3WXm18lCUsTwXGY\r\nCDVjoR2T4DC9rKqW/ttYiV+qTkNb8kmPgtsBTeik3N+zrh2QjPqR4Ld95b0x\r\nMGQTnfvVrkDCHRFMcae1oUVp8ZRszkh9lSpjCExcs6Df+4YjIAKeZj3g1SnE\r\nTavK1uOqaMAv67s0J08sLTlQPUJK9+aOMhs5SpCKeUgZVdxjGeP8ShmDnzQ5\r\nszkYJTkZIq/ASO5N0wECpLYGQEoliB4BF8k0www7ypM8v5yaQDTuP2PPl6Ae\r\nh85NdHGxs3t6SHTijZXrcmG3ZtA13BLqSP+gArz31R3PBHpCl1wUNmgW5R5F\r\nERnhqS3kcwgmj6atHLgid4G73hwlVwoW9RUNaoTeK+1mfKPwo+RpMhXhLfGy\r\nYAKL939hERtq9YtKRDK3LGNtCzRWz0FFT2vG+V+XzU5+PRCOJ7bSDcEzs1vI\r\nfTfPe/ZU7TRU3llN9jZGFG/L4wD0BtPWO/1ktPB8J5rYyiJg1WUXTWgOfg7f\r\nAGli0Z5ykapMOeRPgdnJl1MOtQoWawTD7hUltbTfPZoDyeoQudi90FArXbIL\r\nWpzneQtH1zVMOsIbLp2yUdpLRpcK/7PKFSs=\r\n=jpkW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.5_1672918437907_0.7650163662727079","host":"s3://npm-registry-packages"}},"21.6.6":{"name":"@preply/video","version":"21.6.6","author":"","license":"ISC","_id":"@preply/video@21.6.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7c1c37a734b5eaa08dc5b4a8ddbd1b4d3bbb2ace","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.6.tgz","fileCount":1033,"integrity":"sha512-lLNJU456N4zg1YWdawQbHe35bHgJllV5AGHkPjzJOER0HlEW5wwcM7yiCSLtQZwkGu22a2XeGPWCTdqd9iixhg==","signatures":[{"sig":"MEUCICiwDlnMllCwUH+IHSi3L6SXoo35rlUrvVxoWNSJLZadAiEA1qdfnJCGMP0FIsMXJ2G1iMtQmnWCvy16WeYSQMzi72U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22582916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvY+5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQwQ//RAWwD0PdG3UedLNg1gdR8G3tEFudkfQqnR6kaQDHcZAIzTeE\r\nhvt4lK1iK+S6X+Rss25tekF/I2lnVQThNDz68hhgpYP1D/7dyIDGXFHgiVn4\r\n2LE5zQ0OucxInGDaBwnnibI4M24CuEW1feGNxrxDncsr4DM1qKhgaMm3fPxb\r\nU+2cBypHY440AUtzwvNM7tACTf8D7vtFiCfgruD1Ad3nfmteKNoD3tGszaGS\r\nkESsOoDnBbxQ/L9CydcL7MCWg1f3NP5K1R6hxT9EG9CXVvmbzR2PaZm/6UmX\r\n9GIvRlhtMPldFI41eX4cOjGoEOnsHQQ8maQKaPOjsQZEBGDWwpv6EAb+nQ8p\r\nS5i5/4y7heWP3rYX6S6hTmc5roYl3Ao0SyXB0Wec56ET2PaUkcfqxQGIp0/z\r\nGerqgzL+jGGBihBFisKbE9u24ISG65q/yNk7x1vH51FIQlQh9RDYy48EYM7z\r\neD7pK8OfCWejdmORbN3/VxH6fnd6FGDXt2gOQzihu1clHkKoov88vg6UxMrN\r\nHLGjSriG05CcKSB2qCDtUmD6PN9+0TbhToipWdd3IUYLu8K8kWjlSlnDmST7\r\n3OHZ6VvDMjVytx7+ZmauJ9WxjWnT4JlgDHzoSqKlcDywiXLhuyUtOq352yI3\r\nOgRk67f1A9jkD9xe6f2AKc0r/sDArvI+Lbc=\r\n=Q7qn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.6_1673367481495_0.5584716090995416","host":"s3://npm-registry-packages"}},"0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f":{"name":"@preply/video","version":"0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b3a0dc40035650ab4e0b903579672be7fdf01210","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f.tgz","fileCount":1033,"integrity":"sha512-qdEpNGFoC03qPC2JZ6V7YznchDKiptbQVBfih5n11FVEoKGX7OyA3cirCQsIybub3Gbs8c5C+rfy9ZApn82XQQ==","signatures":[{"sig":"MEYCIQCM21FzZhkYCE+OY5j/snR2pmuGBelN47g/6fEhdCIDPQIhAKew2HFJQE8Pl0IwfpfsTq5vm/Cl7hv4Y47CPTaqlf3R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxSopACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrN4g//XtN1fwhI5cB0CrJNY44lGnDpZHbmhjqHo6JTdTEdpfxSJei1\r\nGFlq4S48OaY9eaBhVU80eyHsIGLhtPL4P3d4FOtgc9ofwJj0TZa8vM6hWkB5\r\nq7aZiLAnktRoa7hNG/xLikeLh6HJHi5JYidXnW4y1sAgLdby2b+m3JZBuWUd\r\nmwXL7Jo2p4cIbCE9YCtWj6STWkJlBVQWnw77uP7qXSNCmhSj2ew8PabKRnlL\r\nQNppvfbwGykz2STZMrsZGqBeUS0vetPOovwPGUEMDNdgqVC8lQ25iSOtKfZ/\r\nj1+17rObcpSNSa/t55NVh809Zue5UPtZ1A24IZ2ZEtxLXHW/7ge80jP4RWHH\r\nzzoswHOxQYDDpSLICnVkdv6cDGN4LO5QUwWWs9trUlAP/sW/TwyqneEslkm6\r\nFFkYILFT+oRUd6MjbjEYK1vZOz7no6VtPN9Ijb9609BR3rbOQgHB66vLLHAC\r\nHJA/j7kEFUgjiYHVTDn+pQAnAyENNVpGD4OSLVQrJBMt+yi4aiUlxGBSC63Y\r\nZJyiOVfmw4lsTCFZWsoSKpHUccwtxh2Sa09AmuSSEu72sAuCbxxUnnlPQ/nq\r\nqDF2rtFBBrac5tD4icX35xDgKJXZ7yFG9Pf5l27Yemmqhmiyqp6coKtK1OpZ\r\nFleBhKMtBJLgR5qxDldQP3uhD+G8r9PlEOc=\r\n=W4JJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f_1673865768898_0.939419045476229","host":"s3://npm-registry-packages"}},"0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470":{"name":"@preply/video","version":"0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7474e8c5d540e4987671b251823ac5a20be61cf5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470.tgz","fileCount":1033,"integrity":"sha512-DnsyAJqcgsnQ4fRdaqC1DlcA8fQ7kClZc1fBbqKv85f7xsZY+dR+MbnvlsuOtlwt/PESn8vEF6qlcmE80I9O/g==","signatures":[{"sig":"MEUCIEsf9A1/IaHT50vIE0LmxibxZrDdIQLPDNWRXkZzBdAoAiEAkUsg8DUkqhh5FpsSli/EH2X5Wg2m1DCB2vga4faHVbA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxS5TACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrIRxAAhVR5De0TbX5PAJn5ihoAj9BgvI3ikHQ4goPFuqn6QlC/5cR7\r\niaRZHtGkIoVN67je5bG7OUBlUEyA590ts8wCguoE64DO3o5310XMdqXTWARl\r\nZBxNsT/vZoVpCveC5dMXvB196njazOWpP6f8dmM6MfsZMDee8RVlcAsvcBCL\r\nRfEBnC0AxzDwIvJhRbVEhvs/HB93MS/+o5qlx5wk2+q56uYLLP5rX8tXPY0N\r\npyvl+e2dFNt9MMUu0Ic8U1plPU339OegY+8A4xFf9EoqkqbDNdvQmQepBFtH\r\n7mwg1rkIFZT2cNWFIzLuhvEEdigEPNTWCz5gok9VF3jUBjqHzsSyFbO8qBZF\r\nIA3ez/2xIiOC9eLz4MwE+fIwhaXso0aCvLNHDLoi+RDFtujusSjCsc0VRTpt\r\nJLnZzLlQw9No+siGaMEbvSQrJlp+h+BEyf/OEizJfFfvutWwLVSq6Tv8AVpu\r\nWFUMvURv7fIlv1oOaImHT6owL78TvAfQQyH0Qn5sLkpqjoMFxTlOApPbY/KQ\r\nBUt7LI6YUcrMfVMW+LW/QNRP59iOl32PacJiwTF/+Hhh/AeY3uIj4VlcWNJc\r\n2fnzltt4w5HmydoFtCpNOpNGywAnUlUnQO63mwY6yWjZrHjbtdrTVTyAVkBS\r\nfDSGq/Z0afqlxrBXQ/VrojQR1bgrEtPNXz8=\r\n=sHWx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470_1673866834695_0.4531969997351384","host":"s3://npm-registry-packages"}},"21.6.7":{"name":"@preply/video","version":"21.6.7","author":"","license":"ISC","_id":"@preply/video@21.6.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fdc1a07f0e8dd18ec807cb3f1d087422bc0261bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.7.tgz","fileCount":1033,"integrity":"sha512-92FtB1+h+4xoR1MkDAlVPlovHpFww5/5hPIH3Y0TJLDEIMKRzPvQb5HtkkRogRhyG4GU+ORbLRnfC5mBeBRN5A==","signatures":[{"sig":"MEQCIC3MetqYfHyiGlL68K4qcJeQ4FlH/OeKZMXpkyLqcfCZAiBL2PYUctM5XLXjjL/hSP//QqKz0kCHkhKLXGBAHX008w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584467,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxUW+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNhxAAjUKCriDRgZM6NCq/+sNln0bmfEs1P8fOdtrWI2kG0oZdCWAO\r\nHuhfhW19fHA2OviBho5xNJy4gqjO+ffln8e3OGenDRJ5vCJRKMVVttsngLFO\r\n8Dt7e9G8PCRF3mMaOgDba4ZvfbS8ZjTsjakSgwt7wi0FH8e0hi+q3zFO/fo9\r\nSJD9QHy6HgHfPWB2DQ4ra2xcO92Xxo/QkaqAC2XxRN/Q7w+HMjv4JwOan7Sn\r\ngSiL+wSQ8B+fEDGsE6IajbLt0fWLL8uH0KVfEvh5bCQ95CyZxMvumqX5cAKJ\r\nlzl4jh5FmsdJoLzTskp/kVPToFyINmFjRxMLhJ11AHZE4KOSCud2UWUCIMqt\r\n1MzbYNz3NifFvZsQESpswldw8tmnIMex4k93LiCbgoN8IMsEtLSRZsXbJd6F\r\nVGoyUSz8x0TNAxvdkak/nDA2Z2HQUY4PgigfNaz+J+Ajwbc+G9I8HKnwJosm\r\nzS4Ev//EMbHVDW/Xv9q7BShJLH569fTwjjsQ5S/zNsnSSVNrzB8QoqQSzP3O\r\nlQH6dbGaACE2/W8qjgq6twBGtu4vdMGselcP5GHUvsQLrKCXN22zbmjvazf5\r\nsXrTi53XnzRkpzZ28H0L2NLFloBVWBq2DyxfEtajIfnkn101wthV5yQSWGHE\r\nxdcaG1e1eqHhvgt6vCGDek4c0cwXtw4uk5w=\r\n=RLOP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.7_1673872830280_0.7019542230936782","host":"s3://npm-registry-packages"}},"21.6.8":{"name":"@preply/video","version":"21.6.8","author":"","license":"ISC","_id":"@preply/video@21.6.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"add268c6de429423605376635be9ea842b6f8f3d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.8.tgz","fileCount":1033,"integrity":"sha512-Skjzny0gMA9F+8UcjxxHaVTMgEbPM8LQW++VVNDmEH7CfiV+R2oc0ulzGVWtL8VD76WaJw29e86zIgrb0+WWOA==","signatures":[{"sig":"MEUCIQCVwKhjx5NGyxhJphBfzVpJyvq8mSPpJioHig/4QvTIrQIgdkz4y0I2MqpJrgJeLnSj/ldKcHABrbZCNq6Jm3evhLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxUo6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotORAAhMrt5lCkplYQoLp2LX/0qYVLQmEJj97ufsuaiZOK8CrCkjPc\r\nagtcc9YvZdtc7sU+8MICLByKBePYxqByhhdansSCwQ+LnIisKe4hxt92Eq/L\r\nfH8O9H06OLezFCY3gSsMlf4UM8zfI0Zgn4x4kqt63+GIjmSOv51T6fKMc3af\r\nHZaMbRLlu4ALX6AY+gpB4Epnwt2EAbWlr8snRYAiVQu6987e2Pg1WoM2vd66\r\ntEXYDc2/haB6Cz4pBptotOEeth+VNl33K5fvaDZrzP3dn2qfP1kDL71F5JUv\r\nXOydAlUb8LX7i1csE5NFdkyT8YGxZhm4GjuOlOYFLmBbSApvy6JcWaLntAiT\r\nxr3peyyftdYb2bQ/lsKk8IqiSel6toAdp0jem2Tia/E2MBtu4a6a1+/M8YT1\r\nY/G+Nuxt1txM9ypZwGUTbvRuz+1NngBwK2AAOvY4gNDDUMWc3u7aUYpNDvpj\r\nfjgtcmtSfSVbkqEkjlhMpLzkPCXAMNsOLYft2YiYy/0GU+D0feD658SU/rVy\r\ngWgcqgDC+vsFlRKaaF36TyzxUYTRVq2XdcZME4W396xNLEOISFY6hSh2LOpy\r\nGuGlKpymLAY60pYu/AJWohdL7poSnkScOqcyUgolJEDchHJ8BUR1KX6p+OKg\r\ndSv6+Xhz/byN3wq6yTBwSeCxc+SDpktA2Nc=\r\n=2rIR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.8_1673873978521_0.21698228183679769","host":"s3://npm-registry-packages"}},"0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c":{"name":"@preply/video","version":"0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e781f3d8be8c46e2e3aa5d12574077fd0de87a2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c.tgz","fileCount":1033,"integrity":"sha512-0iCMYwtRUoeMflxLZR8BMoR5P9ToA5venp5j8KaopFRkKNsksLlwK4G6NAs2bkdyKOf2ejFjb/Ec/ehAY8C1cw==","signatures":[{"sig":"MEQCIBjH0m01mlxFmhnVg+02x/Tnkj+I1/bs81h6tNMZRiV/AiBr44Ayip90K5aCYQWcOr6oZ34YYmeJ9iZcsAYZwV+MAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22584465,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxmg9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3zQ/+JlyYZp5MEhEdGOoCBX3jpu7TM6TBtlGOCAmHM6+SN5PjV403\r\nPpOE8AHADAmsyK7xwtrhl9w0FLFW3Q+xjLFTbRK5fQMcVeq6PPpplxlncn8F\r\ne9t1K3iNau9O/3LRRToqudFTWZO92QvJjJgQQWvz8Zbo6pPMn/Hwbn0XzPRu\r\nJZ+N3wp3bh1LkU8+zvO7IARPQSCHHhcMreeiGM2FEAf7sNYmEUTnHZr6Dyse\r\naIuXyj5iqFdBcQn/Io12XZjHLUF8VgMBcqPx6J1BYAXEo+uKyJEaJXSBjBH1\r\nzJ+bVEpeeWAbApOP/5+L1y05g9ArkjCZxfaWwF2Zi6lIXz+FelrR68rJtbsx\r\nuzSdycMzCEvO1ISRXsXbXggoYBwaxp6RYd/Fo7G24nsu/QJSWEBOR400fvKR\r\nA2lETyiCzZaXS9ozj6Y7P8MOqFKjStuSTsAKsToHbWJ2jENiT7uX1S7f9rdm\r\n8JbUWTM76T5CW+fwCUO569iN4QtMWIjgfKbeeMIgaBIxM0Qy17tqkLX8xneV\r\n4Ze/b4qCv0jqvO/BJ6VwelfU8lW3/7nRYgJLX0LQyvOQvNZPKkKzj1jrBNax\r\nKlOwlHumYU61Gyavpt8v6uC8fWd/5yUtVAaU0KZ+hgfTIFnDxWb6QJVlNE7R\r\n+j7VRc6rZYueuB9FQpqmMPIq8eccKKiEVlk=\r\n=nn6e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.51.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.51.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.51.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.51.0","@preply/ds-web-core":"0.51.0","@preply/ds-web-root":"0.51.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c_1673947196893_0.5354379856271452","host":"s3://npm-registry-packages"}},"21.6.9":{"name":"@preply/video","version":"21.6.9","author":"","license":"ISC","_id":"@preply/video@21.6.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70d3ced4c3c1ed9407db7acd5d580534ae1907c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.9.tgz","fileCount":1033,"integrity":"sha512-TpMSmUoFBvII4TB5gL/ix4/Cp9i+/GIr5KDV/7fK/UuLHE7AN1mhoodVUk2rFNlg3KIX0ZdBxCFn+l4D0TEbHg==","signatures":[{"sig":"MEUCIFiYf/aGIEhlLpOa8FXOQ5n14bsrf4qh08OMFbT25ttCAiEA+IDwwlMtU9roT58VAtV2OtfN8EjgQyYUrgc5aJEwFV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22587823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxnT0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrs7g//WKT53GujqNh1cW3to9V2se8uKmJwxcc71dunwFfeBxIVO3y1\r\nJMFPsqgjtMl1pgXcI04hj5sZthCKM5DO2tYhn1q96Ci0Zhbjm81rFe9n+qZX\r\n29rrMSc4GoQJVmC6MOd730Wtpw8qZahyW6Qk298fNtMq9Fu41h3H8HyEBpjE\r\nQmJcp/YXUJPtgdPKLbqnPMN37RAgYvqv7uigceEqBIU5+JmRPv0+ZQGdb9a6\r\nNvvz5gGFVphR2GDY6mWHIsHdZLQv81574vtZF9vi06UOfbRGpxcYfIKG6+5N\r\n0Yn/DLIaVQKHqYkCGr4k9NXXF2hsFBd8jEcboKJPlnSYpdA9abWTeGTfNvSB\r\npKxbJ7gDDn9Dth2aerIR4+4G+dF4ncf6PvKsccAr09avlNVxNSHxjNRiV6KK\r\nFIHfn15PZRJ7Vjgbyh/zzqSJCLDUxEkYu90IwCQMeaFyb5u2fZh7ZLuTx6eN\r\n9r80DsU1XA4VMj+eQtVlOINtXfiyHOL3lc/0YnOC+veoIyVmCaSY2/Ez0TnS\r\nVq47F5KP0cdp48tYgkWUjf1lo4LWtlQl+nPzs4XXSdVBTTqCTd6L+qNcExTF\r\nbCrgNFqh2kzFp2td1C4LebSXgVJ3mFq+gaSmPjM30rYKiKNgs/vYRckrEhoW\r\nIQosxwsMq1gclSInKFxCzco4sDsthDsrhAI=\r\n=iBvZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.9_1673950452360_0.646459254350618","host":"s3://npm-registry-packages"}},"0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d":{"name":"@preply/video","version":"0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7c8027adde5a43e5638a19fe8379f8a882c5ec29","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d.tgz","fileCount":1035,"integrity":"sha512-IjJ3UP7o6XpT2WvSpTbNdbam86QudJRMzAwDhZrJXuU0URYaNvlVtirlV0uVKMrQZYJiGGjZi020ygXSRE8k9g==","signatures":[{"sig":"MEYCIQD4aHzy1TnaZbDqvRjtozEy713dlfk/dVoKyb8TwvHjfgIhANS8POfJ9g4EprGFZAlMp005wRA+V88IN4Vk+G3DYXec","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22607389,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxoEMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxkBAAjbZq8M+By0CEmR46Ch00TFW8x6vOFBZRRprFfPL99/+37G+W\r\nBPl0dJSGpo7WDFZjfl8qvUJXxw6R58st41B8E9YlVeQFX/4PellmQjJU5P5p\r\nNXIMBoeg2OAAkIY5NLLGvzWGmwwCM0EALr76FooRgHw+lDmr0dXO6301H/kj\r\nYbIghnNWZNGpHmkYxghfJI8XhJoG0f8q4diCloJ3TVXISEtY83erQzpbyzAT\r\nupOc1Ml08vcI7oH0kI17A/7/F5KPW+Qdz5X4SqEAn5fal24M5gtzapp9lMbg\r\nw/H2NSVJnkATui1YJgx9kQLK+8PZ/dzm+QHUX6BXAPKL/MJ3geH02RgjwYIO\r\n2v973BLTsbr+1jBobJ4fcXHHGxPhUg6+Q0GmwjaSkgrjOjYsKsp6W6kI4BoD\r\nXpD4/3FGuigkuSEN8ta1VGnhmhl4GI2ia2as3xbiOogI6d/fFafVOGv7Old/\r\nd13ywbjvtse5DUNDPyVb5R8WBp7pDx5j/I04RXNW+eIKye62Vi3p6HC4MjI5\r\ngkA01qIyaqoB4n12p7R23O/Fg8uCSnzZ33PNS/GyRa/L61g5R6tJLpejTTTM\r\naMWz/nSqwveRAZsN+Yg7fR3jhdnrbCuvXrae7spdRGzTRS5YX5bE5b6dJCc0\r\nKWgAEKseHcnoLYXVVC3PiSP4pXgHUldpqxU=\r\n=gM9O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d_1673953547802_0.9166218314957313","host":"s3://npm-registry-packages"}},"21.6.10":{"name":"@preply/video","version":"21.6.10","author":"","license":"ISC","_id":"@preply/video@21.6.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9989d825c60e9f46758a1855fcca60e46afceed8","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.10.tgz","fileCount":1033,"integrity":"sha512-8EqXQsnHVGxWrNFYQSrdry3AF4ura3/0SxoP4EhLC+YWyL+r2twiT5julW3AR+AlvHDkULKSQP5gf0eMJetUCQ==","signatures":[{"sig":"MEUCIFZYt/qob/Ocb6qhnY6xtBFIspsqceHb+jhM6TfQ+JnMAiEA8pocjWzyXisJdrQkqNB4rpkV3aDziF7zXCGWiQOB+LU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22589145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxq5+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp3fg//S95QT1SuepdXAR3lZPUD6CmVOTKow9c0yKtiI4k3RZBfy7sQ\r\nmR7vuBsbRtg6SJSz5MmI1QzAyiYAqqyOBqYdru/YbZa4gwDy07ukR33EBXSA\r\nh4w2jGAY4QqfxfgNBMaWQq6c23jhT5FIJcMeC2U0Rpd7J8U6+vdU8qasOp6Q\r\nC4bFpAh2x00BxTwIvWmUSgGuR7WLHBcbQRLYTCEelzN8ogWxEW9N9vbjigXm\r\nIiVRDeLHIa6MmO3OqcMLx9aVsOZOCvrds6NqnZXxQdDttBZr4BWKvt1W0Y+P\r\n3vpKFDZyjbZNkQwtYlPgkUCa7CaNCpe484XCcc9KGrnMifDO2346udNDqa5j\r\nM+dojrGEpDakMEwSFsSabhjUBB2SLpn4VaaKihWxel6ln5shihq1cllLQk7l\r\n8HMyQvSDzTG02OfoTrSL62e6WycR4DqPLv5RNtF35tryXXA2s2tRSpGTI+9K\r\noQ/jTU9sg1NlWcqAOKz3jRHP1g7gxukppkBtOu0VowL6iVsRxiZu0wHzucBK\r\nzAHAJUHF40hHOmV73wXwFnLEOBt3Z1mlUyBc2mprVKea2n8o2Chdl7lzkFf3\r\nA04gpbVabjOsYhxhf5IyQnYegPWB1LiuQawf22O32jySbo1wbnnESeAdr+HA\r\nc8qE52uaYWDjhnq5JZt0IL94HyWLWN3P53Y=\r\n=AcHz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.10_1673965181792_0.3031035188420621","host":"s3://npm-registry-packages"}},"21.6.11":{"name":"@preply/video","version":"21.6.11","author":"","license":"ISC","_id":"@preply/video@21.6.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f92343e30485efa7026d0acf3cd732e21e01347","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.11.tgz","fileCount":1033,"integrity":"sha512-GRfwaVlHaMLKjyPc03XHiK9RQms7DoOONqHs0Vrwioep93L+3AvbjLy0Lhcfrfp4GFddA3lTr6x4ryiwUgTkDQ==","signatures":[{"sig":"MEUCIGAjOUurPbET4/mBg7WPA5lnXMekID7G9xC85efNePDXAiEAoo9M3vCLXH3snnCph2EvAGwAEnTsNhR/qvO/yMYx0fU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22589145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxuVaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr88g//foE5pyIwBqcwnsHiuhPL99cF5PK8fjKyYnPSlZY7XN37VrAj\r\nrD8PH1h4axjYbhKNqdMGtcJ4BC7zt6yG/gBpDMHf0nxUZIcXAmovmv1DDgxV\r\nkecBm8erp5B09oMHENRYJmpGGA0pt9fK4Kh+22zkbdp8TxPr57scPoNKO4cF\r\nPmwSACAWbwCV9PkMJ/TSB6cShCikQZ5DZBTJFDGIO1g3GI8zqBXcyIJ2ncpx\r\ndOcOIUXhgS/mBXHc/sZzl3NtS3t3DPvFPAkE6hscFm5gxkn+WU/qXxu9B7s8\r\n7xwTBXcaVDHFeY5WZw/W6kBaoKh74ty3/5CFOZ/xkbgGV68SIutHZq1Q0aUo\r\n259/gnqLbpYjL0cysJ8pqUR6gFfLDmV6fJ28+aEgvmoVymQN8QGw2f1WM3nd\r\nlPCb4ZjhW2Y3gIHLEeLyXrG3mY/zGKaDAtKu7PSnwz0ySadT3huoPYijW97V\r\nI1SAA92JY+BSiIg24T+6sKHcmkEJ6asAey+LvxMUgqVdU6fEp4fQSxsDnsJ/\r\nAMEVoGKpq42Hor9i77IjBvBq6Vm3SLW0gQfFQWrJ6uo7gFA21h1YJ1tuGf+z\r\n0ZjcxcKF6A4jcbQ8s8I1lhvBSZIw+gIPZq1pWG1SCVLUOEh8GVFdP5dVIOAi\r\npc/K9IB+PvdyBkUUXoZqQRsVI06fqyPHVxY=\r\n=WERg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.11_1673979226540_0.9568913587127887","host":"s3://npm-registry-packages"}},"21.6.12":{"name":"@preply/video","version":"21.6.12","author":"","license":"ISC","_id":"@preply/video@21.6.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d9c7ec42c1f92996b79cadab9d6e9326aaa6d13","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.12.tgz","fileCount":1033,"integrity":"sha512-PcjqTR7aUU3FnWWtpSFnE+31+5Bb4Gpv3PYcjbjGEwyCA4NBXMaR3A0LLPU9pexrYSwT/EbjoBEe2frnbEa4Ug==","signatures":[{"sig":"MEQCIFaiMN6kbbyybiAMFpWvUNV8Ps0+KBiZ8gD/E2zXoVf7AiAyy8vfEufHlxQwDPuoS3s/xWqRSb6QHnfHabI5xyd4lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22595679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjx9stACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwUg/8CcVVH9if6CW9cCuDGIz0Xh//dSfaY85b72RfBA8L5oPYZg5m\r\ncBQdoJnUeW1F2SXKQgasYODpuP3sElmsAIaQie4+lDKhXtvl3CgStcro7Jqh\r\nVnXjcltS7op0vUFMTD9pBWWvlXmbkyK50ld7GxkKwz8aNr/s20y1NIMi5dN/\r\n8tH3eOXuJbQe7zRQYezGH5ExCduowuz8lvp1DvMglqaL3g+TUywa3HCKTt34\r\nv6NzeXUOYfLe1W/0g/43dE9ZNeMPk2RJyNMHo1XHqG5Z3iITRz9IRcQ2Kyjt\r\nJz8CB2IlZMxBZoGPdQGTfG3zds7Bo7ZMtGuOTJLDh7RMH9FZtFQ0nGg69gAe\r\nm8YChqk+0NxUcrttkBk+69gPeLGr2s/9M63wK322TXH0QbEPUzbC7Nt+F5r7\r\nTW86QpoOey/ogGTq51f/EaqyzBsR5rg/hlUugyGNHO35AKcKDRs4TUHrHptB\r\nCyfobHGKZXUVUF75L21Gzz/01N3330kbaj2cy+5fBPQKKzz3F8P2zbFtfCM5\r\nYgkW6KRSOYZTp3xTVReKFRzKtu4bsVqw7/qYUljGqWMUnlaMhrTnZV/gsboe\r\n4x8/+TN8TcJ0rTjqvYBGlLFV913Ckn3MloquVf4IT0ZXAzLDrLh3KLRQSgG8\r\niuO0HZod6TNVk5bd1vpkrjgFCoFe1FYMHRI=\r\n=bp6G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.12_1674042157237_0.2083213731766611","host":"s3://npm-registry-packages"}},"21.6.13":{"name":"@preply/video","version":"21.6.13","author":"","license":"ISC","_id":"@preply/video@21.6.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe111aab44120a4226fc9ba4aaaa251caa0990c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.13.tgz","fileCount":1033,"integrity":"sha512-GAG+mWiWXLIEcp4moEQ9/C8ciZKg5Wp1peKBOBbBI1zaekcG0j08qa7NZaeAhed7iK787+PDoVBXHkzBqlQa2Q==","signatures":[{"sig":"MEQCIFx2D/S0rWJuaqKewBaBhfHdsGIxK2DYAzmRhC2CfugZAiBmoBpe5eiUGsw3IaazqQZhMVAw7g/O20/0eL0i9uTvxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22595679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjx+j9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr81g//YAB/uJWa1Xz4qnCyrAk+1ukV9Kia5Bs4aenMZa4vf4kGhd9N\r\nE6ZD6ocZ3UQXfZZ/cpJir89y8/IHE4U+gO2Z/Rs1GgvXS3osDs5RGd8MWHqF\r\n71zRna7pK8SMfSX/sj6/SvwFP3eUncuMW5UcBaHzcSd1/4TsGIdZcEk1hdGM\r\nPpLRWkma/vFSyak8qqNbHVktjV3ouCjDDfaw6eKU5H2zbz9jFGaqxo7lBItn\r\n8KwroQbtoBLsx2UeVe6wOhuUoTbixHY80QI6YMWsGimdypRZw4bLPE7r/rdI\r\nUkIabRWDzJCT2NKW0kCGoorxRQRa68ifE+PeN1CMYELwJDLfBPtX8qCDC5qb\r\nMwSiYe9f4GhHIirvTzn5VZWgBNXcHr0bujIA+ydVgKiD5kTiXBErsSC4WWjM\r\nd1f3jhKHp3rGheKbuRpa2UF9KOK1MD9DaxKxUI/wnNR6msSYrxhaZ3OOWP9f\r\nBMfijabIPatIt9FRnBifUZu0ur2kpyRlGzaK30ukDhqyFbLNqT6eCO6KjcOu\r\nnLCn+OS+OSvDE65zUTzrJf0/EdTdnm5YqUmrjsrSrWXzzz3uSGbFvfM1Sw8y\r\nVu1/OooJZkc7t9jnV0Pjjp9lXkWnBqdEqv6ecMYTYVHJGqJ4xFslnCrBvLOZ\r\nLXQn61IMZ5v6cu2hGYDBGABR5FeC2Blxy6I=\r\n=5iHR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.13_1674045693493_0.6240433995828087","host":"s3://npm-registry-packages"}},"21.6.14":{"name":"@preply/video","version":"21.6.14","author":"","license":"ISC","_id":"@preply/video@21.6.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c5397ab4f70f669ebeb830a17de5a4517ebbb040","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.14.tgz","fileCount":1033,"integrity":"sha512-r7P/xZJh5BUIvmGey7yDeWcCjl4WaLJ7XR63MuoA/hDVDXQDe9ZMfqbLrCu0HjQ/wG/vyKdLp/lvC8kHGFddbQ==","signatures":[{"sig":"MEUCICKj1/7DrijIH4+e575Kpbs5MHN2IRdt30H6cDZASnlTAiEAznVRQwRxj/iDzT0kC/4PkG2CF0HpTAqGNRGdz55RA6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22601179,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjymRzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmopow/+OmP16KWaGSLMdMXeAJbVWjTyvV/mFH3iragHfqbeYKU+8kn1\r\n65vdoNTyGDAVonU8wDwbwlFzCPVAGNwxtusqc2bSAmhuFUdY9O5tjzo5VvNq\r\nn8ZfKyR9Mzv2xG9vBn1gp3s95JIo+kPEG4EXRk67Z5MvDX0JuRBa3BRdtoqA\r\n81KbClU3rU43684heMT5zT3OfY5vikJtT4ECMZ+Ju2omQfQID9xSrDqLGY+Y\r\nJhF/ci5KtO1hSwhyE0FxHG0oPo36lofhk+q2COfTMeDkuEnb3C51qcfsOeAV\r\ncCStGAYpFOePtOqjEg00SoiUcDo9f/p5/v5LmTTK+1MvDNodABdvNKQT4ftK\r\n2iGxcZpI8TYbscappnULT+I4/Q8zMM22tBit8XCefnjn8NRWFiCd+O9FDO7O\r\nCc8Lkw+WLzfQIV/mGYaF43jAqV/MNoGQWw+mB1PjzBxYiviML5eEaoQf4bT3\r\ngJayQL4XCRFQanx2poXDg/EoFRQ/3Pappt8LVvSJJoGPrGnWzoYDOFRdOenS\r\nC6ZWYVneOWu7yHlnjFgRweMJ9bGz2BG2qOvjCeC602Mg3WnLvfWmLZXBx3k0\r\n+7rEr8XxOH9QuRY1carBrFbpefBetAuRpdUvIk3yLvK6i0kJvFOfVBBK3QdV\r\nxO/XD+n6NUGIOAn2C6tLP3eHOfFqULElQGg=\r\n=3WrR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.14_1674208371512_0.243129832533292","host":"s3://npm-registry-packages"}},"21.6.15":{"name":"@preply/video","version":"21.6.15","author":"","license":"ISC","_id":"@preply/video@21.6.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf73075471941c224dd0d288bbaca205324433ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.6.15.tgz","fileCount":1033,"integrity":"sha512-Qew/Uu62UAyHaS1kVfL2r0pXiv3WbwpWSLk0Zw0X3dV44c9ifXaF2vFV0Wx3yGs0IPaJ1H3I+//pjWK1XYHeOw==","signatures":[{"sig":"MEUCIQDIMbo0yY73f/hZm9pREuRENieugrtcsmR1SJ4wlQzVdAIgeWHPutK6WGXsx4w93gAKKzMAFf6W6COEKdkxa7ycThs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22601470,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyqEEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcDw/+LryrFrtNdYJ1YR/f/yH7WaT+yu4qVJKtWsPRAn2Vb/aE+PWa\r\nS0JP/V4Kh8jXDdE+P69YBYmJuRboI4GZ01Ymfe0BaPzJ7oLoZXbbf07Ohab0\r\nud7eRcB0VCtUX7SnWwz5StSL6G1QwzLQNWvLdjWv2pDPi9dJ1dFCrs6Alau1\r\nUmBrarx/qriHk/F5evA+wgfEqHTWSMQjuv0QvwGZodgmlLbssKIW9hdIGsAf\r\nhDWwOkq3bLHT0AnN1wuUb+g1bvbqZa9UFkCpLp7tJkq5cM8C/Jvku7WawDaz\r\nHnVwZkuSM2mPAG/eVCG9Mm15dXgw9YQ3gZblH1TJ8LK6n272dLMj25o75GuT\r\n7Ipz2wq7SxqLyvVwODwF/F5f7W1Ve5F9KmfbGx/J6UYGLP3SV2nUDKpVeTeI\r\naOJKpjOL619k/1TzeXd11gawvY38lwXluJedgFkrGB4NjNU9II0ycS+nNI0g\r\n5Dpq2cWrdGfNyEvoRLDfhPB2ApNj6aAGJLxlQLcb3JDeA1OR2td/fPLhABqK\r\nTHdPFSW5W/lw2ZchtC2KyITq4coOhUePNraD8hIxXAQCWkR237QQQkUTQgq/\r\n81a9q2T1SkbLM9mUMMNwCHJYsG1N8ulKhU18Mt2ZXFAKAQdFGWks02l439j0\r\n2Ss46gNEEzKxjXxcpO9aItbB6v4VZIpsLag=\r\n=w4nf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.6.15_1674223875922_0.48917182460240505","host":"s3://npm-registry-packages"}},"21.7.0":{"name":"@preply/video","version":"21.7.0","author":"","license":"ISC","_id":"@preply/video@21.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"151836c3e6aabd66c887e455905dc79819c7032e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.0.tgz","fileCount":1033,"integrity":"sha512-GJfPpvuNW6WgiufhpWZLgpKFaN/t//8Qo/0qjF0oc3o515sO1t15I3sexXlvU3rWKlrkEgI/jYgmheV7U2elbg==","signatures":[{"sig":"MEUCIQDbu9iu/Y0PlWICc+UIfEfMdECraMW8uvf9FbL1AAnz2AIgdiJEcV+yv+q56KTjcDVRAScwhpsGyZAOBmruwHlbL2U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22601409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyrNGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoANw//dHeOmGLrUG7R8sodLkZXZOJ8tMR2uWD2j+xLpIsXW1tmG8m0\r\nNt932m5I/VGSYS9muTc1uMj4PpBR1IMywFoMmr6nxYobD6+w2NZ4LHc9rFzz\r\n6QYQT8AEYJPKFeC71vM2sk8OfaqqMjaZ9U3R6gqKLKdYOgsm1e/RHghiDiRV\r\ntLVaK21CJRJjYqArxFEIM0H7e4drJh3Gv14dkTLs7ali4ggwivIRo/D5dCdN\r\n52pIrR8CoUpAQdlVg/50iObbmtdfo6ileQNJLSbPQLiu+Dl4VNLMUev6/B6Q\r\nkXGeRs0RuDSKNt76GPPBLxWxH8mQfcrJ07Cipe/gyYUvieYKundUTpkZq8XL\r\nLyqMR2ReZjB2DcdXOQVlXpTwqCcGgSdpqvHGBTcrFhL+7xl4XpuUu8ps7J/3\r\nplX3NxuTTVlGu3l9MN1UyictoBa6PcI2xvmcbCxAY3+nBZ4X447Ist81qEj6\r\nKEOmZ0JqOsRZf9YyL1+NUQ7Y+J2J1SwfT1mXbIvZDfIQTvgJeZLgelHXcZu5\r\n6etGr+7x6ptClvMKPsuJm9lPadymK/8Sv+JdJukepIQ/4K4tFjbH7JnXlLfz\r\n/k+zA7FonoiPCSEkF5yFIbYi1gvONYc35NOhPhYLpsHTqWxK47yiTjyot3Jb\r\n0/juZvL8IojNTQkTSnDzFZqM4eJflKSqr+k=\r\n=3CCs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.0_1674228550462_0.8162218390259612","host":"s3://npm-registry-packages"}},"21.7.1":{"name":"@preply/video","version":"21.7.1","author":"","license":"ISC","_id":"@preply/video@21.7.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8388eb135805d296277ee8ff797e41e81d1364c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.1.tgz","fileCount":1035,"integrity":"sha512-RZBgGf7EldeXvxG2ikzXJ6GRDkv4URppNNRaLnHs85YMbFj+TY4hhacqAgHOjyqS6qmp8wIPBD8baSxHenPTkg==","signatures":[{"sig":"MEQCIBeCLnY+uWvZjDAnBMMQ4Bl3VJPF9XlwIzLymZEhD1eoAiA1R5sXk9a1oT144gWWLjBfMLftbdCXav+UGF1iXJhFTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22609722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz/rqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJXw/8DvGvleX+znKpSbct28MyNAIbYoSCMEU6zsWlI2sVBMXd+pjz\r\nWUSMv5uz5a69qXIjSpX5VEogRsIXklJkTg9In/c4qiG8sh2OLYIsB2Ys2/T1\r\nvBjCZuHGxpjYESMpreW4xr5Hobr50RnTaz74EmXah8uWnljNbBOw6zOlDkmZ\r\nsCaNhyFvEipFniG840Sz7g9B7iL1VgH85mZSlzKuN1SXUOrgNPq02yq2fJGb\r\nIkdmM9pxBVD3bNygNW9WA2EQ1ZrZ1Ax8En3TGwz+Onhk67y+xDcoATBWoZQJ\r\nd9GoGeODmBwu2XoKnyUn7rVD8nOkuvuA4vj0cJAjuKWEpPoBZlZxbLo6b1j1\r\n8Is/Qxkuzma3X9RWLQNhU7iWNOzUHhzgpIioDDtLI5mbfGlLuG9LaoWoEv+l\r\nL1eAhvZvLFuqvgn40/MYFRNcC/GhXLp2y2wD0UnPNgh0jaQ4sL1DKXDYRale\r\n+gdTqtfaeIUVA4uRjIsqHN7gqAuQ44on3Nc4PuBpAzp5rEdoazKh7fUSa/wu\r\nCQLXp9d0len4VGq+PfUtKSNv18nPQ0yTfu3Z8nKevVfIajbUgQjNCum5vCwX\r\n4phHrPxyRAkv/hLaDRPMow0yD29EuJ0E4fUjzHai4LAklGCeABI9i8Dmlvu2\r\nUY+sBINeYvopdI0PRS+q5F/WxAuDZDEqZ1g=\r\n=JBhZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.1_1674574569869_0.7628404051701243","host":"s3://npm-registry-packages"}},"21.7.2":{"name":"@preply/video","version":"21.7.2","author":"","license":"ISC","_id":"@preply/video@21.7.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a8b1dfbf549c72d6b96d61b8106191867ac66c0d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.2.tgz","fileCount":1035,"integrity":"sha512-V1s00jptByhVDlUOXTkBQMHFfL+3scYHqtPvoEi4EwPjgqKkbCluFOGHqRkd7ad/QBnWKiK2zcQsR3RetnKC8A==","signatures":[{"sig":"MEQCIDdXeYQVAtoR6dOkcMjipXeuLRlg0PrLB9KenYBV+K0cAiAN36bdYbbSS8SgLh8UN/SVYOkyj/FdPPRyzBXIo0s9tQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22609797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0UwoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmranRAAnKnT9Lx84tiy1FcPpLUyDQwOQj2M3fkggio+KpGVpU9aCz1q\r\nj9zQhAJjQKEUiIaA73UZQ7FPPm1FJG1nvAMMIUxJgev8F19qrww6Zh7NgJSP\r\nfrqADXS92RA0X8LeXnOq5ELzx8/qFNGkrpPko/i1wC3NM0n+dxBJVJ4NLHQR\r\n1fkbfrA9RRN/qEPVRCN9VZ0XgVTDAj6c52ufMrO2ICsfN0vfNF5cEYSWaMbr\r\nPrXQaHx5FoOF3gozVqalMyREx2QFwA4piDLP7EQwoc1IDZQCifdM8klnrwW+\r\n7vPGk1dl5ot+HZXux6pImVMD53Pl9pif3r5wq1akzlii8pgBNk6xwhHu31QZ\r\n77dpMoHzB//fkt6nM42VcF109bJbaRdAB93TLESYJvmMd9IwEPIFqzY7l6YS\r\nkVhtii6uNYxHxpyiqzKvun27hnULymDDVNTM1OBfIdSEETNPcbFYclFx60m2\r\n09f574yVmLx9rdfAs3ZGpnMZtCoxuqng+PCHSfQZniPlWASZiYaIQaZJJuG8\r\nyGdj69XBuzVJcnpQyJD866accZki1Vl5r2Wfjh/BhtJYjRKZBuSft0dyKef5\r\nWYf+U0mztSUybJI2zcFs51N4DRT8iZWM2EadoHfj8ocYDoF6St/1n4DFIktZ\r\ns8e9oOpQDY41renH/GO0R0LGfn/75yNjo3U=\r\n=B4b8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@testrtc/watchrtc-sdk":"^1.35.2","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.2_1674660903988_0.06339774553211597","host":"s3://npm-registry-packages"}},"21.7.3":{"name":"@preply/video","version":"21.7.3","author":"","license":"ISC","_id":"@preply/video@21.7.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"303329f7cb73882574c8463aba6fe982a4557654","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.3.tgz","fileCount":1035,"integrity":"sha512-GhA5lF1glcE5NgZukbEwPSL+cWeK3uPWorzeAKWc2Z1nFVCVWNYQbtl7rXj09CLWv/m3F5QYnt6d5+fIyAZVyg==","signatures":[{"sig":"MEQCIDmrYVhC6ccrqtv8qeRrzxQXEFE9ts2UB0fnUMPBIKh3AiAcBFRdmY2VhmByOK5pz8W2xUWQ0Iu97f7CwfebvpVtCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22596625,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0ZnkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1xA//aYZHzcEyAPq61des214MPLHPHqQetlPJmXeEZkrs+4l+H3ku\r\nfuuo/fZoGMs+dfI5BAloK9O77oy+svMBg0kiaJKrkDizndbikFcRTJDHRxpR\r\n7wRPz/TL5xLMATJpl4kvQaLCjsspxOwHHZPToEVgewqnNuc/3Y4o4FUJ8XYH\r\nOy08TJE7VxYS1m2Q/LMnIViAU9KugbDdyL4ItnYWHU7CwMGzsUGiEY85uLw3\r\nubLv0XuF0BvVjZD6UdNowPPHbCMR9GTuqxJl9Yy6SQGRypsfO6wPj8lX7MZJ\r\necxvPsJhqeXlqO32mX1ILEncbdPKnR0xiwm7r/HThEef8+fQ9Ueh2jtmkpx5\r\nIbe4q0rXuVppW+OdeXqiNRl2tpuBS46Tf+TgM8YD0ic39lu4s+X1IUcjonul\r\nVlf6uB+z6aA66wQGs8q4kZLQsxHYFavgUHp5BM3LF/zi0XQWnLUvqrLoxawC\r\n+qj1jY5GqdYqI0LxVoWTWColzUx0a/7Fk686qL2pvgzVLZbv/O/QMgznnA01\r\nf0Hiiyzqh8Gm6nh2/yurvEg3vFTdUk+hhFKwWRzgxB+m8exlPTsfOyha3DCn\r\nrohqWviDkUiz3BNjqueyb/3qNoO0bpAHYFsI5Nqavrsua6Lzdb2YMGEjGIco\r\nl3FDaeSSriVsewZAhZr9IgpxYn6vzT+vaKg=\r\n=0/Xp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.3_1674680804140_0.7978371493767735","host":"s3://npm-registry-packages"}},"0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0":{"name":"@preply/video","version":"0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0b1493d55b7868742105a1b23d1dfe650b9939d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0.tgz","fileCount":1035,"integrity":"sha512-+MfQr+X1i7dtbt0IrBWvM1KVm9obX5cSF/iEqFs+nY6NfGx7ZIesZ4oTwouCE17O82O+CrqHjsERhg2WnaTmkQ==","signatures":[{"sig":"MEQCIDwAp4ee7totVq4DhWaO5s3v5V3SPYLkET9c8wChvvrdAiBlneAtlf+eSJRGy3VBQnLrOw/SB8ooEBiivFVc9wWl4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22598590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0jwZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmorNw//ZHUYTObxCSWhgWALfZJeqmKtmBTD8BpUbGSMH4+SB3ChVFJc\r\nqzSgV07slHcgn9eHSJpEcjPPlD2v8wwPU/dOWHPvFgDzTvqhkgHaV2rohEQp\r\nkjYZ8zgE8LqkGQ30MVt8YDhhWjcc2Fw3xkk4akfPs/upWY7pYOZJ7Bpvy0NK\r\nt9GGgcP85D5fNoD5YMuCQghRvag27ih9ccGBnJZmda4CoQhYHwhZyaZvM2WL\r\nRQA2tcTTI4rnpVKGB1cKFibbrjlhYJiwRzKks2wmVa7HT4OIo1/g2YMJj9xR\r\nHV0a92Vk51ZQTVsGTzVHInYP1rkxtsYpXmBzVq8dsFy497wmyOyutZxXBPwU\r\nkt2JRr5o0ZZ3ynDAhRPOj7eF1BF0OrloxKPZG4Z5bjDBcx+LZtsMV+j8nqy0\r\nUcVV+W83Uz0ZbSyFEAXk7gzJNF8CeFETVVX6FTcOTAxVOJYNRyT0T168Asai\r\nWU1b/QeRYWyVziiGfcCa88s/e5TALFyTytm/B53X5aBICHuQRkjNKsv+Dh0h\r\nptta7NmJSHcI7eZIhUkVtMLRee8VyywkploonRtscwXb1T4PngmM7CYJUWq1\r\nXp6htaiZsoktTZbZkNZQuUR0o3p/XyRY5ZP07EjWwBgpfD6B4kV+MkvJiMzo\r\nTOKmmYiH49hIk23oW41Q5n7gxr7GWjdMbQo=\r\n=ETor\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0_1674722328672_0.2769078536934775","host":"s3://npm-registry-packages"}},"0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4":{"name":"@preply/video","version":"0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d595473d6b1641072a9e9ce029699a03bca0d04d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4.tgz","fileCount":1035,"integrity":"sha512-PzSpCKc9BTg1Q3LjeriPjtp4dN4e5ns1nO6GNTViMtd1/3V0waINbfewRY75zpcDK+cb0Z8tb6sdX6rcfCP96A==","signatures":[{"sig":"MEQCIHLhyPXUbFIpeP4QQIv13PDyDvbld0NL1l9ZsFpAZ4nHAiBL+WS/hDoSrr2h255xks22BrLqgLlOjEBxTRx1B7xdwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22598590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0j+EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+yA/+NffUyfWTJF3z44QSwXJBTkAmd1XDZtDpD0YEYYJOKuTxtSyP\r\npjVDSR3EmXxAe/2JCqVvLV5MaQFMfL/jLKeZU4MAURrGS1AK8MSIT0BLPGuN\r\nUuSERrZ3KVPhHxuw9b3MNFR3PL97EaPLnr8tboasPENWnIDObtj+4KxEMs2f\r\n6ccDkleZ9/YUIpaCsFBGi+DMQUqVB/4Zh9VQj/oycC0EO/h9b8pgyxqXKXfi\r\nfi8pGeyOt2Bgxv1XIEa5zIoj+JyB5GhDsAxDgts1YFuo77isHNT0ru1+EMfp\r\n901Qyi5MOWPL98CljDldlnxclyEfLvii4iNGxzFessDFJ55mLOSJFMcoIBvU\r\n3wWIr2o9MNDq0c/jlWWpo+aaDDTpMIGYCkJY/Zb8SqNBUpL06FJScvs0PF2k\r\n7WeAPWIac7BA6SsbkWZmPo1W7552UMjn5CiN68vIZLeEwsDP/D3xTM3rwHeX\r\nmod20VA6/u25I7Qa0yLItN5hMN7amyBOInpgIyKyZv5uHd9pT5LTArvBLQVw\r\nUOg7qQRw2haoWtyBuk8OHcC6UrM5OJLn7UQqDcuiqn4OvzdjfzEBebGFe7dz\r\nawmC7ZLdZpFt4MROGKSpyUl4faf9UKF5ZiyGs5A5j19+TgtNwRc3tJeITuNT\r\n0dPhtf+wyir2b6e8+NUwW9PVI4ynBjP+eXw=\r\n=poz9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4_1674723204533_0.5276527888249261","host":"s3://npm-registry-packages"}},"21.7.5":{"name":"@preply/video","version":"21.7.5","author":"","license":"ISC","_id":"@preply/video@21.7.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1ed879ca68ecccc10c8b4f6ffa20772066b1541e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.5.tgz","fileCount":1035,"integrity":"sha512-wHXeFN7lMUJ3WfxE+RjHetvw0oumYkfXypl/pcsFiXaPGkXh9Q3SqLg3VGId8nO5iXXMUbdEYgSOeiWx/TvPDw==","signatures":[{"sig":"MEYCIQDv/CZJ9T1P6SePT7RFcYTAlfY76ntLnwIUDGKaz44k1QIhAMHp0Gh8CXkwWg1Ut7gvMIm110CD0kbPpuAlBzzF/nkd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22596234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0kfBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqw8w//SwHLKmLoi5mOhq6STfSXQ0Kh5HAWCRJP2wQXHXPBIeHUPoVh\r\n4q8xjDU1T73Q44O3POuXF1Di1Yl69AKnRT2Q4uwoKRojM4vZiKTWz9W6ifAU\r\nSKSKoJ8S6uDbxaFN8EJXVT9fkZk9JgEg5Z6ZEJnfB1YtHNLh7k3s7fGPETt1\r\neosKrMqI5y42YdtVpoyS9O1AWhTk55Hv9fVu6iEYqkKgwRs90NMafpZR7jXQ\r\nzxycg/bFvJpQNVtlZcaKErnhaCupzmGMbayj/IwCmsJV85ENg6KL5JvvUpCo\r\nXAv6RGN4hzMgvHiwkmOOMDIjsnkNymZkk9WGiCr6C+PxnqiRZ7mqfv0NLzCk\r\nhIiZBxfAtD7ZXhQmflhMD8edW59lc38gvug2oy9KIx3/LHS3CHsd5XMO8HTj\r\n5EGqFFIf5/dXPyCaz1d6hYvs9djBcLYXnUTp96ujckQqEemtfLTQ9ojJ83cP\r\neODTWTHMbfOtXXq6QRqGe60NiWiFxh7j6+8EWujI3aKzrhdupEUSVx2P0PXS\r\nKFnKfM0yktGxAZe1RiQ9qi7d/Gau99e1rYuGuQzSwonLlV4jdV6RsZIiqe64\r\nJ1CrY2/Z7FkHd4CHYUvmK2C/kc7R3Lkso557pmIZ1+JNouR2zU2dgAfoDVYM\r\nxPjSIOsYMobnW9CZaZwGGaRFxl0K5XvJI/g=\r\n=ttQI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.5_1674725313448_0.25125660942052774","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a":{"name":"@preply/video","version":"0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d7cc9c55ba27261b4b67f80b8bb6f268469abaa2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a.tgz","fileCount":1035,"integrity":"sha512-XFfKglE8cQSGzj2rxKBjJCI6rUXNnYUCAz4DrveibIP1F7lzD0pgi0PCBcvBjjGO/fTZ3DBtbhSSmnYddM2qMA==","signatures":[{"sig":"MEUCIQC2TEF3xwy1ODgWuFplyOWO0sIFE/vzah8LxfKts4x3uAIgV51vSsIWMZ4TRSMURJDSU42eKMT170AuGfIBJjErNAc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22598590,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0k8OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+AQ/+LV9w92gQqmw9/OACr0SkAbK0+JDyK5MP+REaBWct/6P1L+OO\r\nk30OTDy5yuR6elbIa2SAUOJxBgnxvy6rdnHRIED/OlTyg1IOufOhDVLZcO+H\r\nFQfW5WPeD7kJfqcoP9vGMsQ0Sxa8c7WxbXEUxtex+i9r4CeJJUL3lPKQO5Rc\r\nA0tJOn6wM37Giy0J10y1eug5ZcqAcB5mhYQVEzBGeDK8xkK3feGmHZQAIGUg\r\nj4Bu+tVabdJL7GBPsaN7pdBsYU622r/Pz/nsWN6ORp+EXBgqIqQgIn51wbHL\r\nYLOCuPGosRV9fBPi9uBLO2gg8pIRoTY6Pe5ExfslFVZUrQfE4ItaplGi6vSE\r\n9Ck6omA5viwm1XQPg7UPhyhXa+QPyDpjFxUtTXzAxtY9SEvhuv3IuqDvXB9+\r\nHsoeHTz0pWcDx8nEIVD6CG4uo0HHTayZgT2qu0fn/DmW6jOKlexSyOaSGXsc\r\n56QszoysCUy6H2B4c3+foeH/KjW56axTRWsMNsodNodKI0NtoZOjtRfaUyuK\r\nCjDucbYASwHtnC3eG/HWgQZvqlyPX0kthP2s5zPUXZkOEzDrnug/L2x1szK9\r\n5jPOVNRS7XGW5lkFtgZermMioE1o7MjLi5ZQl+LhWGa+ar/sNrKYgD9Xjiil\r\nf3roaxhYUXPhJAYNksJSIJXE413ROjMv2R8=\r\n=fP5T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a_1674727182404_0.14996527609716526","host":"s3://npm-registry-packages"}},"21.7.6":{"name":"@preply/video","version":"21.7.6","author":"","license":"ISC","_id":"@preply/video@21.7.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e6e252d0556a1ffbfa186dc168c286184a93e88b","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.6.tgz","fileCount":1089,"integrity":"sha512-NvwzX3xjaiEz7eHBIYorb+7+0yBfXaC//L0BshCxqN92Qk9/c/u58qz7uomzPwVZQblU9kuaqU5pdxgPlW+CyQ==","signatures":[{"sig":"MEQCIAP2vZCYTPd3zaXiJMMnLoucyoV70/VPAXzkCeOupCdmAiAbhzfZLq0zDbmnb6wJ1y0MtDXG4xp23WfHmPuF77ptqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25423750,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0lEBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSbQ/+NTt08E+/HCDglpCQv7ty+UZcVDgD915bnmIR325SH2fW9MnH\r\nTyAUI7Y6duTOP/VCR1ghIdfjuuzDKO5ya79NNKPdNpwb5VPAtYFTJQLIwVe5\r\nCD0NS46KANGTNN+A0IDKabukK6xGvqSzt+mvUXzHoJ1L8+/EbWdtklMgDEWQ\r\nQhGH9W8lKb5Nc/nMFsAwK4usjsz5R1ZhDKWu/3iF+tW4vVSoPPaWH2LZ1xGV\r\n7qrcizWTJ4ykoEIY52VgYjBYnLlbIknBBE6b9TlcV3yPQX1PB4ruPp9UsF9U\r\nBxT6nEGnlL8o3RGBOJ46HoDZ/LH+PoukGnq+Q2dEkTNin36dl649I6XQLhFM\r\nl4OuYKy+125cyQ5+nNEq4qrfGRKwJmDpKrATJn3+IYcyaKcKVnwSu8sHNgf0\r\n7kpFDHrEa5qoSQlGEvgjfHDbE2I/xZ/XJIN+jLVSOxgSW2wttAevY32iESwY\r\npzQOpOBP32g02OEnTmB3y+fn+ZQDWVJsXwhdjlxi/7uYBRlQFyF8PzfYigEy\r\nmz6H6JWYQIz2/c5M15VDZq3yAMEn2qQt4+Y34gwlxe4jA5MAI2bOfXvsq2zk\r\n3ninv58G+raCyckF8JLTC6lgvY8/ZTc5APTWtNYeol6TbfhXHI1NpPnYN5Pd\r\nVVdSKcydP055LnZLszzXDg9AzzTFP/MGwoY=\r\n=twZ8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.52.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.52.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.52.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.52.0","@preply/ds-web-core":"0.52.0","@preply/ds-web-root":"0.52.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.6_1674727681366_0.1525672372783069","host":"s3://npm-registry-packages"}},"0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd":{"name":"@preply/video","version":"0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b010fd06f7ce13d19a9c83d74e771c84b8df99ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd.tgz","fileCount":1089,"integrity":"sha512-3XzK96Tn7QbYZwggMASKP9UEQPxCMycdYgsVL9X0KMUxsmxaV9qYEpmvMXs6pBAVZThaGFnPaQVa97fBkCiuSw==","signatures":[{"sig":"MEUCID6fvJXPeZZnUW+WUjbFWR9LbIs88MuVuMSBdO6jzIGMAiEA7uaNPROEdx6BhMLj6Jx9DRAcnGvi/t/ja8qwhheORwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25427724,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0pxqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKaw/9F2ow8iXQRYy04uxdS/YvlyWdbFZnWzvxAVLqU8p8PAmvlc7R\r\nSLOrN5/JswCpOKLzki4f8iYAJm9emfnbNLnNPeeGzj4qXcTTOURsGCrgQD5P\r\n1kpwxW6I0bxrhy82IEErPFfT7QmA8+iucOx7ICcnNiJPbBKqxsIf3m9XDiKm\r\nEgM9e+EoSk9QyHhR9PV6LNaJ9rp5TDQ5BZcMmGBL4Ry4mtn5j+AvyFBbsoFM\r\nc9OuzQ1TllT9UtkoGnayurQoGO1ASpx8Qhx7ele9/T98cnDrsOMtvOU18Ow/\r\nWtEB/AeR+qF06ZYhGyHJMNN7c3JgIGMn8aI2kY/LgK3aCol6szQqji9H0AYh\r\nj2je48Bou+y2n4mX/+O/yaeYDqNRFNwvvC1ZXMkkiAC7VhQGI0rLkPEi1Kfd\r\nTeqIT6z8nukUCa0VwwRYG6R/xZCEcG5Wtof1DJ1UH79ggZWnbqWGt6gLVBDs\r\nOfuAVYL8zBIAHLk5SWRhMSNiJWPOxgWWzM/R1gbjAoLdGbOMvmpL3IjNwyS3\r\n9Ff+214x3L7Im72GckgaO+rOxD6rowOrK7JcFgob2+Z35W0r5NL7S1opMGrO\r\n5bDl6ucoaT3i/4MfjyZcmdv5NZt0o5L26lPAU6szLDqBmVJaYMOt75gmxT/j\r\npMJHcw/8Q9+h6nOMD3XaY/NGBYPQjOwxv/c=\r\n=W9WU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd_1674746985958_0.7855402571978161","host":"s3://npm-registry-packages"}},"21.7.7":{"name":"@preply/video","version":"21.7.7","author":"","license":"ISC","_id":"@preply/video@21.7.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"73497b8c4e3fb8b7040172ecbbb8ac700443af7e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.7.tgz","fileCount":1089,"integrity":"sha512-N0jqXFWGi4jYQdlioIEv9H9Xb/sbqClU+4lvPfUZcXcUYX0T6lmZmRXaXG/5cCg0T8jaj2MXcodb3+BsMv8v7Q==","signatures":[{"sig":"MEUCIBzsJD7B7g+A59wEjYdo0O7O1vtJEpBH8dXd6N8OJwFCAiEAzx7lvxRoGlgc164rmimx/NRj3ceRnv+NujV/qN68i9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25425503,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj06ScACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqp2Q//R2kQkWmbJWMil6nX9r6joWs5sG69sLTpccQQdIGmnAeV72wa\r\n0i4Q5RmLCno6vueWgy60barBPxUjb6qayQ+llRIlCoZhs8m1c5KDnAocZcx/\r\nVtIIAFdtFafoerUrfEF0aR2D2OBA4Z2+0OdywLny7f/WCLQ5DKHrN/PjsayY\r\n9GmASWyuVFsnmi//ZBd4os4NbJV5yEKQubwsD+SPtiFZxYJorm1Bvr3t2d2f\r\nBNfnBHrW/NoMEYPwNRZTNLd4tzkNq9ckz542gdqeVhcllrYYpQfivaTNs42J\r\nfa4rLXgb5z3qCk+9GBT1L1xJGeIXMEf1V+HBXPb1jcJ73pZK0eXcLrNcYcB9\r\nmAK0v6BBI15YYa0zt+3LLsuvY3MgQIjoW5aH2a3F3GOGXz8EfJl5h8HI8cIV\r\njgCs5FLwaAP6K53b9FDLEKHAyPmzpKRnrxC+GA4Jsd02gHhmrK41cuMMGxli\r\n1Kxm1WtfYYVZOnx6ssqSvqLAbtLNtyKF3rB5qMSO+bWJsMoWqv8DH3/424t8\r\nJHQBh9DJgtPP9TnGW6lzzE3CnziZ717qLEKCeg/tppjhDf3xm1Fy2+0y0cHL\r\nh9O5ZHzRXXnuuiWRYFffoBtV9k2gzoE1Ez7WMseXqp9jYaEUEMCSJpg77Qoe\r\nlDLAuHUEwhbiSKYZ7ciKnwhzkz+MMryszt8=\r\n=JkC5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.7_1674814620479_0.9829320931995382","host":"s3://npm-registry-packages"}},"0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d":{"name":"@preply/video","version":"0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8c957c7c1bc6870ef46ddba1a94f235ba0788ca7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d.tgz","fileCount":1089,"integrity":"sha512-BDz1dtF/RSQS85LVuiNI3OtlwXqZqPmEz5IaCgrX25v0pzbDlQwSCpEgvo4pm+uiPxIkP7mxeFbm1YyjNy3zvQ==","signatures":[{"sig":"MEUCIEIwO5Yp3u5YnoLTg1hPfozSf/K2z7xuk46LJE2aYfpEAiEA87f/6iMO6rYj+mTWO7KvLzkLH/tZkeHesZqM/7ILlXc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25429222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj08eIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpodA//f0ywU3xMX9QuwZvYNXPO1AuGu3E79FRl0jLEWBR7QRxlfk0K\r\n7Ou746K/TaTP8cbFdh8JEwi7vb43DiM39R74Uxciy9QzWu7Z4vMyIUrDx8N6\r\nLK9iLahbVaKZLJS4IQ928qZjb+7xvB6H6+bgoLSieZ2eZxkmu6hFMtFzEAmP\r\n1dot0M7atNaVdmf8Ts2JhsUJyszhbbdYa/4JLudk1hWeb1NPH34Oyju72BtV\r\n6E+jlBWXMpAbYuYMHnr1YjONK7nOYJKgS7DQjKfWyFKj5PzvKiYzZZPKWr6r\r\n8TEF1lXGx1AUwOcVXCwU4oJjSvmb5UBC9cPQ2d0I/4QoNgvQIXqwsuatEHL6\r\n8URnHo9sxlutYOGr+20X083zxVcYTCWuI28HwUazbRMKtCSmwAUx7yS0jVEK\r\nyUir+vQAVugD5j//KCMIck8Lp5wm5HvCZ92kHgs7n0lzVOAGGDlzXOnj2QLn\r\nJhXloQqPYTpc5Ra4GnTptqYogLZV+RpK9hd6Q4iYiAgK1joYG6GdeK0EiuCg\r\nxHAhzZ6OD7o+z50yjbFPDtww0nsngxFI4UNlOIy6wzZXmXq2HnzbPw9rKTJK\r\nuoCBF356w3qZYNDP6Rl6TRnk58aiEUiYrrJtU1K5ZQs70sMZtdVfSus1mPuf\r\nIGBFBGSRCavdfE0GeTsVWolDCRpxvxvytMY=\r\n=4alZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d_1674823559680_0.5554949123692554","host":"s3://npm-registry-packages"}},"21.7.8":{"name":"@preply/video","version":"21.7.8","author":"","license":"ISC","_id":"@preply/video@21.7.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d7df25f60512e51aece36d4a08abb35ae3d5876","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.8.tgz","fileCount":1089,"integrity":"sha512-4t2DGQit1FAxB81q/snLpCvkNEaIV09kWVV+qzHya9yu0BHunFvFB9/u5XSQQwTSDdkEcQfxvYSnHnrO6lN2uw==","signatures":[{"sig":"MEQCIC9NJ77X9cj/w3apA7wRa6Ce8uk/jvzK47KZHqY9UnETAiAAp3hPoHVVzNXbp/BWkWEqxerNDqGxOW41OtLLLf6pJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25428491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj14yUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeNQ/+K0cQzH3bmcYQRlCI1Zhhtz72sxL/E0MmgZET7mg89J3Nemy4\r\nh+DXqX6fzFQEOS6RQiAO3xd1VtK0nY6retx+b3dPETmdGh7KHAc42pLpZxCq\r\n1pmtF87GFVAB2mQeKfJlQXk2L3u1O1Pnevg7z3GmK7FW1En02m9ITLKkUICc\r\nNaGk+I0Duj1XeeYWUpL9Qahjx68h3a9qaI6AMAazrj7SrnowRQPrXn5HRXZU\r\niKtSMvCIgYlsiHuf5P7Xm1FRyJr3e/ZyUEb+GXBRDPS+G69uzADhY2QAgSRR\r\nKnXLfQudNPVUpMCkP9AyfoUu4VJFLBXu1bwGOSRhMwfjSa4S2bOmM7KmQFnM\r\naJi3WNnG3OnHoy+UetFKZRayKfFIcaTH86PPgbD2dsgj5df8dgL58QhHJ/nj\r\n6ohd+X6S9WsfreMiv0bM/ql5qB2juODYTGZ90CVJq5VBRXynq81yUi7ot7lY\r\nNMV70fM0dY7DWtiQkThktIqbgL7xqJvGbYcSXiRRQ5L8jn8q2bYRkLZ6oXxi\r\nFmSFnv3tEG7WFbKWO/ROZN6Zlq+RtgJuyFkb0M1R8eSyyN388RYrgTxUhJcm\r\nuvDyWt78uRtpBvgSHG+U13le9w07zxXza8x52ySXjaMmGresG+WeGuwWO+ru\r\noarFVoZ7AhMbtmdGy2qnb+T7lNt66YHEtW4=\r\n=N239\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.8_1675070612324_0.8149993784695098","host":"s3://npm-registry-packages"}},"21.7.9":{"name":"@preply/video","version":"21.7.9","author":"","license":"ISC","_id":"@preply/video@21.7.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2529fd5e82d63a77ba4a93a3195cd6920d1720bc","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.9.tgz","fileCount":1089,"integrity":"sha512-gOFMZMyaODPPdqjd96FuYEvautqA72JP/veFyc/jyQZjo6wh/cdcWY+sKTR2NDKOXf/+DAEJb1ye5vKh+4I8fg==","signatures":[{"sig":"MEUCIQCmH38gLi07e4lcWpcT1j5tSoAKwjUPjZy7Rq0rvyWPowIgSBdW4UWQ3RltY2em+M7HGwQ6g/7ALjJKnqoW2/zP1Fc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25427372,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj16DFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8ghAAjXUcQDmjaYRq38IKDGOwumtySFvcS9N90pgE0AdiplGnEQRU\r\n2ddfgr6DAnNP/1CRIftVatRWTa+VHQmSAfKNcCjOpoLWZEVMPcD1gMpZ/UaY\r\nVhb3xXN9Eni2nuc9jnhvPUiz1a5GEHZcazd2Yqf0B5JW9iR8rDXtigYf73Do\r\nuiNJA9vNUXzEX1w50WaNqeNQ/PpEQRcsD/wVuaL30fxe8qInVbYkGtBEyuD4\r\ntzf4L6xX2Y5YnUuMt51K9YIBlweON9n6sMZ+oxMp915Cv00VBE+MnD2d1s1q\r\nMbGHREu+r01RvzXEACDMb27TS1xBaMy8+53/tfZ2u6M6G8GP3ZuXwKr7OPLp\r\nTI8FSKL66U7q3MWT43zW+AzSmAMtPEet91UHvUfXDsQJxUcxZ5r8qckSflEN\r\ng2veC525WJziy/IvD60ONmnGq3f/sJ5Z1isyGb+d5A//8oOgifRHuasJ9fzQ\r\no/a9/0RyLAJGUc8wKNoSMkobQy4GnSKgRMNnxX3M6k5d8vY/qPyqPTAS0o/U\r\nDTEgwYfpDZOsOauOIkOBq4+rzhFeJSP1sdAbQg9r36WA5aaWlbCdrbWH8ZcS\r\niUhvYqsjXYi48RKCkTT7qR5ypYVMbXDmI4uC6jhP8/uv4kgIG/5OYrEizwCp\r\nf/MxSwZWRXd41YHL/6sIQvrQWbAuiYcCvJ8=\r\n=7Gut\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.9_1675075781545_0.3056686232439132","host":"s3://npm-registry-packages"}},"21.7.10":{"name":"@preply/video","version":"21.7.10","author":"","license":"ISC","_id":"@preply/video@21.7.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"97e85a34b26da743677db5b5a903a95fb8d6d936","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.10.tgz","fileCount":1089,"integrity":"sha512-Ww5ArG+TbW+aBNr0rgypJP/cop1mh1DR3IOcLMKK8CeJH4xZ6HyRwsE4AYzjf0uqBHFuuz8Lpg7qx2o76YpXRw==","signatures":[{"sig":"MEUCIFTe4Zmwt32QAijDSI0RTW50WvXBAKwZ0/4f6g44W1hFAiEAzKEPAWIuqWxhv4MAQuXcf/76dNHVWnCZvzgkgnTageY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25427441,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2NTuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp7wg//YtQuZQW1mxw9JVFxcoZmh5twfmxy4XhA1ITGlUOEy7Fpx4Y3\r\nuM+f1yqT3p8FfPpPQ8zLSxL1UXWPzVtrDmwvYq+xMVBI8aDwnKM9onDlnQS4\r\nRlr9CeG5r4CyHH1ehs384+U8ojUsSNQr6C1XSESbKN6tDRO1DEmTfS11LLtf\r\nmUjFWM/96o/6awYkTG/KUpIJQG85S15A0+evmesdQ03tItoVxjq/ip+mEmaZ\r\n3l0HlouDzRXJaHwbV/A5U/5gJfQ+jDHCMPKrEtYlJZzvypK89FLWXWS+8Vyb\r\nWxyr6M3HICwJWVJGccYsXafAGQ/Fxh1bJxke4NakGfFA4zZSNABOLjUO8FI9\r\nsZ4M56memXkhl9xGyoZ/N9aBiE/x2OIs6/QMGgKFrkKrShY0vvb+l6cM2K8c\r\nBC+F6Wb3JedPsQxLnIO6NMWI8qVjiKSIy/jA3ms2TJXD/MQEao26iZfSDbai\r\nE0BYJl897zlkdRWPzGbZy3yw/jEhSZyZTTcN7NfJE8BAS7X5YEEf3wgJm1yq\r\nTmAfga2B8lUU34knBnJgSrDWlviyGR4RCqt2dsrZM2hW4plSLkBrfDcBwu0Z\r\nw1Z6po1rD/5LLxZOrvT1YqPc8wrBsCZN9xYVUXd+4VaMRdaWBnVxt/KNZ3q8\r\nRCCtIZFfO7iOPpJ9SX2p7L2OSDexZimxd5A=\r\n=c2jL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.10_1675154669716_0.43648724763767444","host":"s3://npm-registry-packages"}},"0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec":{"name":"@preply/video","version":"0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bba4d07247fb670d5f49b7f5854448424dd7f42d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec.tgz","fileCount":1089,"integrity":"sha512-bC9sDLYHA+0x1JLJxbshNl0cXqgZXOZVbWkg7uS2TC2/eyNQXWqDy/Jpu0+QixJimTPwEwXBYMmF04TdVSsDHw==","signatures":[{"sig":"MEQCIDWQvxHPe2MG7zizwUU1kQ5/Njq7uV7eQ++bMr1q1CLSAiASMPOByNUZIIJOc3vLWUD0MXb+5wM32ulEdpXhbaGB0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25430742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2nvUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMoQ/+Ntc+MpIBoFAI+G4/mh3tCJsPf0sIscqmvLFXjOwdTg3Es/oK\r\nZTYzgb8m7qD/EimqQF8nYuzKBi33ob9BzBjOME3vXnzsnQUl6eAtWSnTeu22\r\nkWjm9+2yyf+w1vdNZZHzbETYpqAE0JxgcrvBE5HD3pVDFs0kz1HwvgAitaV3\r\nNoX6V89wAX2ijN/pCOwaixMR1XCBDTfgyxfiuxN4esbNhNCFXb78lwkikYAN\r\nEzdJYBgEbEWLIckBXGRvO/V9X0Jjq+sIz1Kyxkwn7pBonQdlypVuzI0MvuPc\r\n+JY8/Uw/5KhijFF8+2D5ZkCIy3NVkfWTFa8SRMV9yD55nF6svNb+bqstVnip\r\n6zj64LYgX92M08eu2u4DP/PlP2FIspCjprms9F6pc0PInFbcdhg10dSwjK0/\r\niF/nd9E3lq9al7DWylhDtkJdsdyrO6ysDhKbyKaRpmHmCaNAprf8gZKiszCm\r\nh2bLSJL0nqx+JvcttEG8ww1i/4JUW4svK9KLidQ6/vtbcUVjZ6yJLoMXJXUV\r\nPhJkVtd2ItU9Ma9W7u+GCwi+kold7E2gfoeguIAIRxlp62PGpRhsvJ4nb3Oq\r\nYJGtSCSxGq28SWZidgpTBKE5v43hRWMg+5imQLF6W45fLUoAoRv+cpx/ghfo\r\ngx/mqH3LWoSzYsj1knLwSF9Pee3XUuHtIC0=\r\n=6i/y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec_1675262932064_0.8109399699844315","host":"s3://npm-registry-packages"}},"21.7.11":{"name":"@preply/video","version":"21.7.11","author":"","license":"ISC","_id":"@preply/video@21.7.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"03d75d91ba8669ee076e56031aaf381d3f1b7291","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.11.tgz","fileCount":1089,"integrity":"sha512-t6IZnXnTqyCrDru5kOpMizBlZinZbQ2M+zhnAX8BMZ1fAgW1rxvhPy7oYJfkwYwumt/SKvkiy34L2mCPiUa2eg==","signatures":[{"sig":"MEUCIQD+DduP/fuZDLnKMRBCy5F+IXK+pTAkhddF5+SgXj1PqQIgDo2ttVq/7H23SqysatTnwudOx7F9Hlo8npStb3MSMZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25429464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj247XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGyg/+IN2umQDuCUCIwzncSdMep+Y2RdM1pt8DTZRP709e7+UI7ZQ8\r\nFfC3vFzY6gbR+gznFqdw3SmyZVKBNEbj9TQWGSrDA0MoQpcgdUaqOMq/1qAr\r\nUiA26nsjn3Iyt50sgSw7f6jZyMHdMoSkOeL276J2OP5fnSDzdhOYe/D2fXFa\r\nuYnvjKBIOWYsnmS8kZoVGEC9xbcQh6f8sl92k6N/82+ub7FF6z2mj1WB7M+A\r\nh5fp1bGdwB1d2JqqZ9m9zMtPjTMUZEU2DYsN8WjyQiP53qvlhzwwN27qz5Sh\r\nk9Ve+2NW60vMS7u9PQih1yMeHOKvSC5zkbeR5l1do0EyQZx6bwIDHicXTs0W\r\n4to9P86iD5lK+Nb+dhaKSpHfuy4pDYFNaFc3rvO5Bw+spvtYCr/muM7KMwZs\r\nLVg7FZBs3vrTktI0h8hmcDRaXZo+OHc8cX9pMWbLZ7Q36mdeRMHs3ucziLMt\r\n/DVJfQLE0qNGxOZjeqg3m63JA4iCVyEUb/84vwHHoDUC6DY3IUgR7P57W8xi\r\nE+Hu2J7s1VR1yVzaeR+TWjjThT8cXVRL3x4gRq7Kupyk8hceIuiJ6LcuoSyW\r\nJijftQ4f1ttA43ar5W10HFkk+2RtmaJyE1srIl62ZCx3TKQQv1wKZMWOZQok\r\n3go1kftLjN/1vWY0W3eoWVBg+0ySygd2KGw=\r\n=VSG7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.11_1675333335229_0.03518584391089741","host":"s3://npm-registry-packages"}},"21.7.12":{"name":"@preply/video","version":"21.7.12","author":"","license":"ISC","_id":"@preply/video@21.7.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d07c590957b5ff09780b67c94333fba818682743","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.12.tgz","fileCount":1089,"integrity":"sha512-roFNqrmW/lzAwmf3otsPWLt0/5ozevLueOW3Vi7SdA8t1Mw1I/Smru3ijuue1QIcvufJWLeuW+rOLR7pBc59pg==","signatures":[{"sig":"MEUCIAdeIXl6TnzsQNRvOitvisgHXr9qBvhcBOuasSoisHu+AiEAja38qHZp+AN4Lb6Ye+i53TeoibxspxyC2u1T6nwnUxE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25430737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4MF7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+nQ//RvfLySc7OJjdSjid+pGn996LlDi+tBzStQl8ZM7hktnHKkI2\r\nauQmjKOUNmKGfAPKgR7N3nCvlkegZdXG8T/0yUO2VjQqVkEVclc4vxUo9XNH\r\nG7AiitncSaA0JNDooSvT2ZiE4rcQcf7o6r5fn9072q4xd+mvybBGbTQGs/2z\r\nQXRGoB/yzjND2BrOFTSiptcLm000X1CkcNGEahtOc3hqaRFwnit5WXoixk/7\r\nkskYSc1TkgsKDs1GdwX/pvRBf/l3UNTHzwIot4wY/wYvu6Y5ylpVdgWE6KQc\r\nr/CttsAQst7duQFtVBCEHrQw6k8JSvNsDzJPze0E1fduA5M7nra+veSgotjH\r\n/Ah62CzXOlDzEcEu/lZV1G8S2caDA1GT5n4LWmhVu3AJMS+hHU8JW4V+KEdb\r\nznd3j3fIL4ykSkzSWsTZAomXAXD/Sfn002lkRIJ9a3uQ2mG8qG89roV9tHXc\r\nwQbn3hQD8wx3pnz2rv0VcTuSqai0UoASnqBUziEk8Y7PUEy9uL8/sfdOXzqN\r\ng4bpkqu9/0f5ZFxeKCEWaLlF+/aynhKTzbFZF3akSoRSfTCoEoIctem+15yy\r\nqHbCmd6ZM9DmSpW8fZGWYXl2nj8xSm/EAU7LgX4KSUJypY4Olpj/aZ6BPSQM\r\nj72xOq2rSO5piI/s3zdPAdqLouzJA/XTAyU=\r\n=bLGh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.12_1675673979571_0.887604223329931","host":"s3://npm-registry-packages"}},"21.7.13":{"name":"@preply/video","version":"21.7.13","author":"","license":"ISC","_id":"@preply/video@21.7.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ce39610a4f4d52975a66f39352360fbbb17b3d7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.13.tgz","fileCount":1089,"integrity":"sha512-hGR8AsWnRZCGXzitUmL2IgJofCok4McXz1sbFkYCfef07W7Yg08e4QhnKkiGPCzmZfOOXSbNsr5WVKD5Qno45g==","signatures":[{"sig":"MEUCIBsxx3FEfhzp4G65sPweYYwHm7ukffG0r+/0fM0ScP25AiEAmPnDu143cMyrCtpWY5NGfHG6MUCv8WbpPrf3qbQKh/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25432005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj45HBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr92Q/8D4audCcAI4rdGG10TkoQGhQYg3lzVf1I+gM/JH/O6GTV7Zx0\r\nBR2rDcyUNNC55RPdp51NT+/1kD8FaKyjK5x+iYJqovUkOmnphPsN5n+SZOKl\r\nBoUUZiJgf19MTzTs30CqZlA7l3t6w3EAP5hbK01dZsBaCgXKmtsGMnLyREwh\r\nC+ihpxOj8Nv942+kJ7R4Lnnntnjm/Rh5hGPZ5d6c7rjgjZI6VYCJEaPTyWK7\r\n3oIGxfjsyhsm6ziEATNnKPlGvVhWy2qE9HqC7lSgE312MGbdEcfOrkcyMvfr\r\n1NLqcntUY2zfcBWes8SehN29EpKGdDVelo+iKM9XwMyXSIqRBauLvGisYFSa\r\nvHStIQrqfRVB5KdP8Idck/7vrMJrobgkwjBaXzvkG3uzKMPXJJ2Fy3p/IqsP\r\nTr009rc5MQkBUPp7bEaXpM/4AFRwPTeoaHozg0amTH5tbjpXWsBzqIOITY6h\r\nDK58ZO8JC8BesLXHWxwQMtcQbIZhQHXuRgxgcc9DzhPEJ4yA/6l6I5krqX+Z\r\n6tkZ1JRModTqjud8JDUL9pXJW/QEnIC6SDHBtqhI8oixjwC4SXisE8Fw69R2\r\nau0/jc2KfSw2Ng1yr1K1uBbzovpVPRNwB/MxJwj/q+bykj9lKskj9m4nXFVa\r\nW4HfcGI6zNcb+IgyRDVlPazdca3ahZS6wB4=\r\n=wYMO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.13_1675858368830_0.7059116439546516","host":"s3://npm-registry-packages"}},"21.7.14":{"name":"@preply/video","version":"21.7.14","author":"","license":"ISC","_id":"@preply/video@21.7.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7793155a6b24b90083168c8c5fc5398e8ce642a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.14.tgz","fileCount":1089,"integrity":"sha512-R8871USfSTiLLuEOtYut6TTHLOALVxSJuVDE8dbXmvgM/V31JLaw023ANp16Yj9cu+8VSsC6dO8hH1dLDiQRFQ==","signatures":[{"sig":"MEYCIQCZFp9lcoarfv6Cfji7z3qxxlInYs0W+AzvqsWkopmzJgIhAPQ7AYt+CeYCVjiSpQhsPSE+DJtFCJqgwC4EzZRBH5zR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25433177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5SI4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnFA/9G595ZhgDNpzh5ZIf0Yp5C/Gzfd8L3incSYiuZwAsYHglOMVH\r\nOJf5I1UTMPyZXYotKrEJmkGDEhQinCKAXnYtnrskPone3sBdwc36T5EbXkgI\r\n2SrTf2MplcYVy2dMr+ywp6j6u6A2lQWWjpQOTw0Km4xFeEq+X/M/QEw87ddG\r\naaiYsFqZkIyXw/2SCLZy/5pJorwWt1aHnpoDn6IMxUxMfuXRCqNEl8Kj9M4S\r\nCh23G7Mytndz4gRUtHop903WXU/zA0VqrxOWUO3Vey1Qn+E+SGElTyRkd9ZE\r\no+jkWC38zZEJcxcuXtaRSB4Sn6l6Gx3rA3InacQJWdQXaT6kFHbrXP71wUUD\r\n9PHFdRzSbVXHjEIYvgACUjMpIpJX0lUqvURet3+3OKxuHn9j4QZBipoNsaOL\r\neDm8WhjcmyMpr3PMIYsYzRhWTKgG2dK7aRFFQKVePIZJCpE/ehzD/Dmat3ny\r\nAgMIpjs2uzf6x6dHWio+De1Sl4iLxxmH7w5k3T0uxw0idiHsPiVBf6ucoffY\r\nZS+A8pzZYhC8XJYlKipXEm2m/k7vjbFVXbSP3VgQlNlu013uNywbfcNqtJWW\r\nx0+vWCaUEPEaUCbANiY/6WXnERHiRg1WJDp7oia5F8A2LT6T2cktQtjsTo5y\r\n/5nZ9wO9S9TBYaHZh2+iu2ts/TBWYNDx988=\r\n=rtMP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.14_1675960887812_0.8454600250299988","host":"s3://npm-registry-packages"}},"0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9":{"name":"@preply/video","version":"0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f7684bf55a745bb86c232f6001d3eefaec286baa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9.tgz","fileCount":1089,"integrity":"sha512-jTvPMONk1XcW9A7h38RQdEtM5MLrLRg2gGaPGoSM67cCC8bx4Teh4SB75VO/pYtm9XSe5YfywUR52C1e72+lug==","signatures":[{"sig":"MEYCIQDVrIkOsmGB/lkXYaORDnmN5pcOjRh/jUqFnFVIl+3CngIhAOZ6/2KzlFSgGinTGuwcTa+ZMVwuOI/Zilo/n6wAY3vo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25436406,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5g0GACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCjg/+JpEeEoFscoY0HnXelPZKZvrz/kjhSxn7zogm3mmjtdMQqp/3\r\nP8UhTlpFVq/CNugbT0oiRzSofKejp7TyPj38dDekCqt4raHvewCK53ULzWrE\r\n/hVvcKxTs3hpCNibwHKUkHACZxK6sHBBOe+0YREt6GxQUwQWEn4bepDZyf9f\r\nW79iTg89OpXE+MKfmS9XKO3TOArrTLsHz4BaAXq6UD3zFOC7K/V2TCFX3sdA\r\ngC9Si890SqpsVIxTms20PlOi3FBQPgejU8puX5tX3UkCBE9BIeR1SqKGpbHN\r\n1CBq5MhseOkeVe9PASHXSJ2n3YAcYS35XBiWATEW3DDzP1J1zrSeTspSHqNG\r\n0mGkQIFGrTKLLF7SJGCtYelN430AnixbzDhkwiZPrEU6iSEl3ZLZjy7IDxQj\r\ngc1kWeQSXyO+1uajTLIrVcDOINsi53UDlGdX29BRqr8+FIuyjf3YjxpKhiyf\r\nxB+YZe1PfNu4i3kdZh0vhjq821bhuRBP7yDwVYNRUWmvIDa70QxTf7XqtSao\r\nhDp1dhuq7jjApX5/uR+1aLFVVtm68GurEO8gpjNToAAFNUHIGDlyXv+pEeiE\r\nCvtW5tCpJJtUCVugLYoOLM2hUldMZ08nU0PYQzuU8QVapSHjk4sf11WWWDqw\r\n7HaavLvXg3nZ2K2QJDWMIEcW3d1tmUQd9sk=\r\n=h5Ul\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9_1676020998477_0.010619321059194498","host":"s3://npm-registry-packages"}},"0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4":{"name":"@preply/video","version":"0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"68d942bd20c6620234f16943e8a1d16df9df739a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4.tgz","fileCount":1089,"integrity":"sha512-lDB8WtRhHR8BRaUCgAnyI8ts2bDKQBQCWDx5zChP49RIgq1bygxduUvg2exe1hyi42UkIGatMaKZNusTZQyRpA==","signatures":[{"sig":"MEUCIQCiqed/bUHMtDBEQST+f1XK5L8jszoE0XvwLa/l7VyCrAIgX1FE3mbXeLHog4f5ju0mkbeB0QpM8kp4KRJOoo3Hflw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25437573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5hS+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoj9Q/9Fe9hDZxAhh91+tGN36x5HES9acIkJH8/ZwSOHR1WWAW1jgEn\r\n0G9flCVe7iNK2bd7sEeQYDsnMiGqhF58P2eCZi74HLxqmy6Md+XS2U3VgBie\r\nD3ePMojy7ST/QjzwNjnLLPAyzjj7t1W9UY2FJFhy+h2ylApnV+XIoQHYbxjj\r\nKag0AzYPNOqoTtluycWfUuQngDx9LUHeywBCGCu6Sz/spCpPsBE6wow7Hmcd\r\nE1aGhw0FHFvRgHVlDm42avB1n7Bbg+M7Wk6rV6CkNR3/I/cqt0j1UQrRciMx\r\n2lmHO8nINKOPMHKSgrJ+wb1L+Q1PUOZQasa8ao2tf3wBdzu67A3aEjznmJ0c\r\nM98V1zfVUM/Z8GjKklGKf48RoZHPBI+kp1aDk6/WuI+4Tq5XdOAJnIKmH6Tb\r\noStEI9azcVojlASLpNP9NPU8VaJKpDlutKYU/R9u1yrW4VlAs8UHJndJCCtN\r\nHvChw6MDz/BYJfWZRvXwQtgUFhByGT8HdxPqUXet4rUkSEsVajivC7vLATXC\r\nVmgqGrm2LC4is75a46FSx/zu9hA3+MfR/wF8VtZBMvCWZ3paqdZ20afLIzjA\r\nkeLMv35+uAQXrtvQkWFu97AZT0XoIQ50KTEXikvDE8j7suNokMPcIymQtUWe\r\nl25i7X60MrHt3NjnYwqOs1gkb3Cyv6uTB9w=\r\n=GwTE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4_1676022973656_0.3191035555858568","host":"s3://npm-registry-packages"}},"21.7.15":{"name":"@preply/video","version":"21.7.15","author":"","license":"ISC","_id":"@preply/video@21.7.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2f688beb59f585212638b0034c94d13fc46be924","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.15.tgz","fileCount":1089,"integrity":"sha512-xx1My8LBzZcQ7nGuhPQlQraUJq/rExhkAEtb8Ou+bmbsua+txAVFtSGr9dbOanEz3QZAgtHs829+n+i6NaQS2w==","signatures":[{"sig":"MEUCICgG4N2LzqC9jTrAZMSDfRZ6mkzEKfiOoxfqMM2OrsnEAiEA18H2kCBZ5C70Wv6JGwGkZkNiQbvPovj4RN9DwuZrqL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25433177,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5ha3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo0zg/+MJ1v9EmhcMNXbo0eTAcauMDlLUV7/s8LE0+1Q/AiFgMrK6Do\r\n+I6UK+30D7cIQUeHib+wne70J9JiIQOs0zob6DKyGPDBQ7x9fdYj7XtSeZSC\r\nRXrNe1ua3/wusFFhiVHit9LXrh8y9DWq0e9tA7uLv5ZU29fOm6dtjfJJzvuY\r\n6HXVc9kU92TZtNFx6YKHZ3Ru0AZZlsSJ+11CkO47NXM4hIOzGgH92FyaSXxh\r\nHlNqxOiNB/6q3aYNO0dX2XvYHJgckUdfLF7aPqIQh7ZU/8R/N5bwcq0XhPi9\r\nUnX1ab481CI1lCf52ywIssVy6ZX1ZapkijtJz1paySdm6S9AEzTkRgr+p3wj\r\nSn/9tRO+Pf0CbXCl6oZHvxWXDixo2KEKd69JzNQSrNDFHMielZcysvQ3v5g7\r\nlj0qO++B81Yi0qZQW7CsPrMnIWrffEoN7VjmYHjBtLTugUBRFMBNQzEId50f\r\nWfjfhocU8BRW9RMEOQKBdnlqLBO0ecLt87gYkVdFjnt9wd2Hc2IFkIT7OPl3\r\nAWZcru0lMfKNWzbRv4B22A7zcOa8dPTpW1fb/sF94Dlgf71BAZsNDc03hST8\r\n/c5yKoFBGLV9tZXVz7GxVwkPjr6h/0ocsEt5E6cQsfq4C5aRO9viPPGAEMaN\r\ndOCDLqNKWmDpfAaLs3b4ivC53wjzoQ4/g3c=\r\n=Adj8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.15_1676023479091_0.8747135275573863","host":"s3://npm-registry-packages"}},"21.7.16":{"name":"@preply/video","version":"21.7.16","author":"","license":"ISC","_id":"@preply/video@21.7.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"02700a9c9abfffd90ae9fceeeb0ec9a169551379","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.16.tgz","fileCount":1089,"integrity":"sha512-RN93Pjw3RbtizuMOn19ftmWk4MPtL9OIUzzsMGBEi55+USK8K5lVPMckNE2fsxx2RboGekRjlHw0cRXgpesPlg==","signatures":[{"sig":"MEYCIQCaw9FZBR2x7rUEMcRl7H07cgX2yompawl56fPAWiIuWAIhALZqt5VEpvCTh5hF+MX0rQnmA5CG0LvbgZ8HTkdF2gpf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25435642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5lVpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrI1Q/7BnqCN/PqeGL99yUhTsBzeSRxrc+Br3ie6ycLLvyjXV8lafk8\r\n/uhv101bdEDDusbqImItHizQ8ImRLv9XfQIcYum2Po0YZ6lbrKY2a/Vmomyy\r\n3noMWWL55ovsI/jP/9kHvx5SFGbw7CMIJvlLLuZxIfYZjCSASg9WiHWMo956\r\nh7ih6ULBo8lDQxyu0nSZe4LYj04w4R/h87dq31Gh88O2e1gqXCp0KKIGIIYs\r\nFCp1HrY+LcoZp0LgkWTORnFRvhU6YADY7+WIIXc+P2fbcdVSzkMwg/oelWvm\r\nqokwjhFpBpuhkBpVcz3/sDDKkXblSWXZM9KsJTyv1wEhG6TcNmFJJ5qcDEli\r\norSWt4rMLLpeSUxGssnr3k17pC+IJsZFg1Au/Ks5vNFL3he3QrCkOxQ7XWGQ\r\nkfM6MKAopUm8MIGAV83UCJiNnKIyYEhgPtgD82zCp+6rdmdq/5HOMafW6faF\r\nQQ2xOOviQfRcdRHtb0NC7jz96c8d2SIXVRcOUkFDlCnsLdQWTbsDepYekR21\r\nLNffhWr4hBa4cos2+SPM6TV9rpVgRzHGsz/WIIG+9oQ9EriyrV3CNALVaYMx\r\nhq82cVMnkoBX3elIUOL+rowHVWh/mb10w8DXecgDkpJC5lC+WkvGtm9nAPJr\r\nNlLk9UAyWjtC0ReWLFrx5Hv25+ieYzq70tw=\r\n=XJa2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.16_1676039529442_0.7044647014311272","host":"s3://npm-registry-packages"}},"0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91":{"name":"@preply/video","version":"0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8ae001def6c2b879f07e0e8b2be8ca15b70ea475","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91.tgz","fileCount":1089,"integrity":"sha512-2Jz21sOKMLLzvYP8oTf/Opi65pYGsOk+yMhKwQu76mq4RH6fV9RuW81jsFqU9GUSXfaaVM3xJsKMSpFEA/UAsA==","signatures":[{"sig":"MEUCICAXYRI6E83IBlzEfPOPryUQeLz/ZkpE3nkXJciDXbrZAiEA2jC/R0Vl0sdQNm9STYWCC3ZB1cvE1SDloqOD6Z6IRzM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25437794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6hwJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSoxAAgXZ7yqn3ertXlEcPSwP3zztIxbvXJQSC8UeqbbtHzXh5o2BT\r\neelQeBG59sxjdH+HESW8lhtKMXZfYHHBvJGmHyE5YW3mPk0UCckmkUzDOX2r\r\nPWoeFJCiFHFVe9DcFo8dQlm2+5swyjEywsmC4uMS6X3YVDOiJw+L7xEycTjn\r\nHlSHKkdq59Vayx2cbjrRqSe+RgkNEF8Q996C5tW78ljsNEOUbVMT+UZmg1Nq\r\nfTN0ZAHvYCpCxKI6/YnJKxaq55tkVa1T1nNFrX+TSf+is7JCd3dTTeT6/y0F\r\ncrDrKJl1HA86m4ABFmPxbNpGSQci05kEaYOBq2V6vRAhtbmLL9LqxuPiELbs\r\ndpdIhYIPMNLwatnHfs6ne56GqHcpuI2DUkxxquaWL589SsBIk5o18NS26rx+\r\nlNAqXDhGEP20gLNUJS0Sks8MRzFN3cWBM3/QjpaF9g13/jZ6q6hYGE2uqoyu\r\nBsoYOArcfNYLei7m7aCZc9Dhc5oC8cqyXyyS4dgNw2cCo06ruC6i+C/B/hNv\r\nEftXwrX49HiWP7n/jvpOCPFwT2ZTMmcf0cKGDuyqiU+N0Ye8+bM7STuE8aC0\r\njvIsa3qIjYnZZV8wvlkmseJjRXXz9aSa7VamUYipmEvOej3mtjZAa1RCwKK8\r\n/ncQbIKTVGYboo35eSIe3bjBHLEfxfozUAM=\r\n=fdV8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.54.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.54.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.54.0","@preply/ds-web-root":"0.54.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.54.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.54.0","@preply/ds-web-core":"0.54.0","@preply/ds-web-root":"0.54.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91_1676286984950_0.49131810603526604","host":"s3://npm-registry-packages"}},"21.7.17":{"name":"@preply/video","version":"21.7.17","author":"","license":"ISC","_id":"@preply/video@21.7.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e05949599d093693f49db5c9426d3c36e6ffdcc","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.17.tgz","fileCount":1089,"integrity":"sha512-anP2aeGRpeJGob2aT+BoYFRDELfVkMC5tASdoZy0vSA9hvcLeFY8Iz4hVPqV0jE1ex6VIurOdvgMmOnp1U1/ZQ==","signatures":[{"sig":"MEYCIQD/GOtdmedgN8xNH+2BsV9CoXTYpp5J6EM4e1RwHKDwJwIhAPa684XsKp1ACnzD9Z3TVu/QX0qTk35tKKJzMuhU8olQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25435642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6ilQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo/uA//Xvg+sGEjcxM+M20IoaYM5RI7BFTab/P7bjEoSblbcHudSTot\r\npoIAyDhjsLvD5t4VYLdXrdLt4l6LZOC20efPMy+IxgvsqYkdacw+yk7vcL/R\r\n9RsO/GIFJaTwjxXM8GsYAZrAzd+R+fiu24wnlJH/RypNaV+7x9hC+IE6HGKW\r\nT1l1mMaEIX71mOmWb3b2wOBrvT/IdNcTTbEI/N1kpYTWKolzK3+HKhQhlcvH\r\ngEu8VTzStHH88gojIaEdDWvuC+SKvx3a2c2ypmjaL+Swl/aa1YqWoPckPHOs\r\nogJgiaoNqqJAg3BjbkkorfP+N5oPD8XSw85swzqs4XcqoKPJ7j2QCNSCZF71\r\nB1Bg5N0rEEG/RLXMyCSoMZiXYTh7doeTeiaIIyHkSl90zx9vsWqIcRP/9/NQ\r\nZ+2l9xNpRdB1jEmxBQpZt9JYWOJgaVXfFLj5vSsS6PoS3hL/yWAZegpcrHyI\r\nEez4H95OsSUWKUmQ7iMuHfhYbkzq/2BckjdI4/SSEIfqUNd47OWV/Hee7TNr\r\n4vrI6s04a0YM03sRTdDeBG3ciYIPItGj20y87bU8Ufm4dlXvkQVm6NuL1nGB\r\nIeGtWWMycNiCWhDKZG7KK5k+RVp658EaP4mY67nRY8Z+fAIGACqxEyW4vJTQ\r\n3tua37mdJDXHBkXzUUIBxtG8E5hhQQmm19E=\r\n=6gq8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.17_1676290383917_0.31846074766456645","host":"s3://npm-registry-packages"}},"21.7.18":{"name":"@preply/video","version":"21.7.18","author":"","license":"ISC","_id":"@preply/video@21.7.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e827665d049b1f4d741e24473f6013b4cdeff59","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.18.tgz","fileCount":1089,"integrity":"sha512-aAp69FpmRmoPncf8GXWl/itqHBLR0nq9kSPTleIVnwrC/LPi8q2JDhhY2BYnC4SkvqKJbory7QkUODc+YhN3RA==","signatures":[{"sig":"MEQCIEvtnZR+T0VQMIUB3IoOIbApYkyuSzeAjeIBlzhEdlDXAiB7vA/f5+atS4StqgKbDwPqiO7ztwY9JEJjf/JZZX4S4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25435642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj60XzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLfhAAi7Sdk2heAQ6d4RlbavpWAhPZQ03gEV8qQVaUuOoP3ptStZ1B\r\nYXDeUQUx+9Ii20FEfi6+byBclS4IQ2zfdjA3opeb2zbtYBy2dYIJ6xNqmrjC\r\nY1SlRjx9te4hZF4U43pdIZJBvRf0N1yM5yyZA6i9fsfq/OOvz5eLMJhD9QIJ\r\nEja3PxrdUMsJlP6gQEMb/dAnsWqJ6BjoAKR7/4D2J2w7aiugxxWyvrhsXwVQ\r\nnuxtp8uVOrcxw4zxaaNHVhtd5Jq7Jb/xyBCSkAxEsVvxurtnhQ7dWmYVZN//\r\nxdypmBmEM+xkSCkXiiq8xZh0Eru4LevfJbYaEdtJXunmfFXhQBG2wPocL1FR\r\nB5tEjQnGPqjI8+nNnu7tHbfVmdancpxVaiuoxt6hcBL46V7XSFwnBjSV3PAu\r\nJ0TQUqGeWkNHwNbKT95S24kZ1aHK4FpT7n1LY1pAJZpYHtHpcS0b3IX87XpF\r\n1uvsO9N86MtomzY3BGtIb5aPFMxJdjSs2p+gFxs1W9ONZPRfLZ/tHRhS8R1w\r\n4vd9HoPsVc9jzHzA0foXtC3g7HiBBDdfk6NKdxunB8o5CGAm3p/AG+CdcEd1\r\nG/gOnU+JlvhD5pOE0KSIPHmewc+DtKxp0RR35AE52jPD3STVi67UQ1KSRdjn\r\nML0xXVwpzlLQL8PRLQxmViNr0DrZHztGu6Y=\r\n=wcM3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.18_1676363251162_0.05336636780916648","host":"s3://npm-registry-packages"}},"21.7.19":{"name":"@preply/video","version":"21.7.19","author":"","license":"ISC","_id":"@preply/video@21.7.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"07b60b417ddb6bbbabcf5a48e51d254324d56328","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.19.tgz","fileCount":1089,"integrity":"sha512-qDhnE6A7DSGWg6BKtjmlVEuRFg26pfE06D7tD3gHO6tMRrTCJOWJHJ3Knr5YBmUiUJKY1Z2k7l3RwSJa7NDKrg==","signatures":[{"sig":"MEUCIQCmnWpqSOJ8SYGBsO0O8ZwPKs/pIxkfaPI54g7JalAvGQIgffLUOIuVmnmXuo5KjKqk/lBtrHhxaqSr6ZUCqILeaZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25436623,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7PjgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmql0A//WhL5o+1YWD3E0SqmQJJIYwkv1V+XyJUXRLmVkpgl/sVEIJYh\r\nvbEXBvDFNHk+rFPyAafMwACzjhInF1kVJwTUVb5K8tpTMfsoY6jLxG37vF/i\r\nLJmsja2Z5Gjy38Js9XtZaHRfzI6MTRZmt1Tl1Do3iey9Rua9qEdy/MtWITot\r\nAhdqUu2+Jf/PblC9+PtezDPAMYE+3XusTTS63xePSBjJ7YpM8edQgguuf+KV\r\nRnwVSG6k22UVNmT90EV6A/Wg8cNf9K8UOjFySzvYQLYD2OIA7MqAUJB3Ukl3\r\nYF935Bwqn/x1Sm3QMEiVeiFkDDoxVfUBx+QD7rOvMWkYKjG1vWYeGIdnmkg7\r\nWu3fko2/wgYT4RaLnD0LxG6eiPxgly+8na0iyh8nLTulHlzP8PNx0Z+haxDx\r\nOwHLWbN3HvkoWShLYJBq48VnHbQvg3P2Y7ET1R6Ns2zkjVbjaxdYob4BBLq1\r\nrVVdg7uPJac356klL+5rUT3OxkgBFipQiR9OShUa1bfM5IcaX80WFLdIIHU1\r\nr5CDh7w5QFu8GplQyxI9MI++Af6CbUN19N+UL9UH/GWFpm2Jjwi6cpzPHaj4\r\nEWYJPXGbLGWTkeQ8KKkmcitOUu7FIK7OUIRGg8xuH4g8+PuyVtlJYUYkohCh\r\nUX/lm3fRsxcBd62Ea2nFD2vkEFFJGjF5+Q8=\r\n=hWwO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.53.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.53.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.53.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.53.0","@preply/ds-web-core":"0.53.0","@preply/ds-web-root":"0.53.0"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.19_1676474591362_0.3326599576274085","host":"s3://npm-registry-packages"}},"0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609":{"name":"@preply/video","version":"0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a6b6065cfab57a984484cbd578bfb6cec88cfbb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609.tgz","fileCount":1089,"integrity":"sha512-can18AwM5JjWqgQDlPhUCNZXA6zGspY4DqqSLP1/V/aAA5hVgEcLNk4nRmEP7IzYPt0KUvawTa/VQZrlBvSTjg==","signatures":[{"sig":"MEUCIQDpPPCWOmAk30cuS6HxhW3yX8J7a9O8wP0yOeqivCoutAIgN5W95ystY+COr2hGmCm8WRi8lXuXj5OD+nIS8H/ZaeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25438775,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7REPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowIg/7BZ3zoABpDH5zr839z1cRQm/rS3RhnTrRiyyIl0ytSRU7rGEM\r\n0XD7dWA66L7qa6Iq0v4nG5HgLFBMESNYSrzoQ24a6fdWnODMQPl5T6M+kzTe\r\niuwDIpMZ6ti81AAzYLmAn9tC9TDsj0lcf2Each1XMoPKRJMyG+fN9C2kRhKg\r\ndJOh8OyJ+fLIjGkqM5hRv1F7k5oqaXHqveUjhaYA9xgOK9AJqbNuIMUi2Tz/\r\nrTyeo4WkOVg+I3R+y2M621J7k0okK9ZhJEWIqOpHNCr3qj3eRp717QmMO7LI\r\nwJY8d+Ewf/lqzXnaRbT8dspaMtsJq15YQgDyl9Il+0K9wPta1XUgH5S0kWRE\r\nrWaRqvR6lejGyjBbbLbqsAGwvo/oEwzz0OuNeEUDlHmge+mvDvFeg5oooM8U\r\nmXb8M3ytrTU+VIBMy44NreJtIjYUcbBxNBgSmlPUQt+10xhud2lFuZYpmQn6\r\n8yyPEyTpXx62feKlhTB4AugPo8X/HeXRF8d9C+e+2IQXW4zgoHa+P3v+/C8k\r\n0ZywMKIr4gXqJXGTpFl3g6+wKFgl3tXIA5UxqHJqRPlVY7k19BcXCiHYgG6b\r\nGGxeo8wLRO4WlraVZx49Y43Vaw8TVqVCTHRKcxxsOKygGRgYXVTWZlfWYt2T\r\nOj39qkPPx5yXaN21901O89p5NDtl4YtgiYM=\r\n=cY3f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609_1676480782863_0.43898978095173713","host":"s3://npm-registry-packages"}},"21.7.20":{"name":"@preply/video","version":"21.7.20","author":"","license":"ISC","_id":"@preply/video@21.7.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e27646e9820d6bf0a31297c8831341d7949e6e8a","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.20.tgz","fileCount":1089,"integrity":"sha512-MisMZX6a8+EDLFw+VkgQHzfS3rK6Do8rtWs0UgCZxho7ZIkIQbuABw+dmR4CNqedkgcsn6nA1zoTHb4Y0c+zdQ==","signatures":[{"sig":"MEUCIQDpPhHw2KnFZY3vOMabtMkgz75Brz/KABCETp6wzcaPZwIgD3qypbrV4cT7cEc6QqYadLzhPV5lsgFC9EQq8yd0M0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25443848,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj7zZxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+Wg/+P43E0CI6uyxUYJlI+Y9+9kGkqSwS2O6xqAK6z+88k3rFtXg5\r\n/a3n0DRfQz3Ayuo5ZWVU5PqK+mn1JiY91jlVIcZC7puFyHFzLfFfMq2kDaW3\r\nVxKSwadVjTATXt4EwLyY88HWEprFn34geZOqisV6eOe1S4AeMpeLfzhGlGng\r\nprjhich+jcccMAcGhO8hiItc+gx06DMhrq2SB6yH9yJbicKur3k4MBWkC/QE\r\nk71+arAJMrwMUmcKt0nWZwmgzi7n+EVv4vXPj5GX1YuDmTi+ZuoezZOI802x\r\nIhJYmNftdN5DSFl+uXVikOgxrTvzdU5unKxAI93Z5tuzivm6x7/DOo313pkG\r\nhPv5YZTWtAEYNZCDnrBXXVWkXl/HwC9UMTLR0tOHjoI2krf/hW5UscaU9giE\r\np4SowzxW9Ev/LSnDVB1DNpdq6yYfd3EzHIqyI2cfalMpahDCwurWuxTdoAq3\r\nAA/UCIlfwpePYIAp5c0DKzoGUO6G5UJZs9VwLYB3wg/cZTbxIWBZ5h9I6pBK\r\nCcRXNP2iMjE0kn0xXe1mEgfAtNvt6mUCPeU8xPELzC8JkAGKsWHGtUXGNvXg\r\nQb9eWXfGwq3/1rJUo1Ap3Xha0Oko2xcGd5lDOD/o32j2M0iHhbEzyhoNUEgP\r\nYv+AzbnosqYdlStoHAIpXfIfeGUIEWO+wGs=\r\n=A30G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.20_1676621425242_0.6907772681615283","host":"s3://npm-registry-packages"}},"21.7.21":{"name":"@preply/video","version":"21.7.21","author":"","license":"ISC","_id":"@preply/video@21.7.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"492550046923c75a6cbd963f61b373659b4a18c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.21.tgz","fileCount":1089,"integrity":"sha512-DNz18cJOqpG2Hc9uPZiokwhPQvv+Y+neWV0z0qqMSohHhOEtyAw0ibEFFnAcFvAyNPj3LmtBxm5BeTUGG1ZTYw==","signatures":[{"sig":"MEQCIGi7gVjA13PKgnyn1z2bk0Y7A7tI1jrWKIYDT2AxpqOLAiBKu6u5CMstQhmXTb/vJOtsoTn+A01t13ISU+kfpj1eYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25446062,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj8zCNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9YA/+MsRTWhD1OfZpHszpfqi9stxJ+enJXGDqtttqSmfzldmz/ArZ\r\nL7oBwhjy+D6r9stZrknGZ8fdtkUNcMGGpydwGd2TencicGYWWdqkzUCCZQfd\r\nvfxxTKopNsDgpL58n5JuIogczRhWuRUVA1irsqV5Hh35m4z7327pI0THA7S0\r\nndgjlli1bZE6AR6shdc+RuWJnA1ONbzq/S7Vvwjb1kskbZEsYQTwEgjomypt\r\nr6I6t274uNAV4pL0gVLASLnz7RdRAOmbLO3SWjWoLwU+akaAZ61lpluaQEuC\r\nP4b9DtT9/kMS5EtIQkfDz5A7/tzCC2KY8vpPDZVSrhcGaVFJxKlmI6h1R2fY\r\nH7bu19tv9Oz1XkaDrfRNIwj0qd4GeIP2bWJYt6TQTBDZxope3ROKE/3sVXZe\r\nGS4AHGF1AYk5X8u+jCeI3Pim9v5Htb9ZijT0MVR2IxMRY3GLCvg+dmjkwx+h\r\nsUZRrls1hut+LFEQkhdUSFToLbprnhIVb5e88xkGIe0Zv1fKBjN+q22Zm3L+\r\ncUKAsHygez47++BFa68p+UirVno8lqcwSqiOD+mQI+TgrE4ktiojXCzUKUQP\r\n0In07knh2fLkQq4T84LY1o87KOh/6zQMYv8z1uJk/J77sYev7h2pwnJqX9R8\r\nd7li7RvvK8gOeqsrAiIpAp9Hcz50cCeweeY=\r\n=dlYY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.21_1676882061002_0.5800303001524387","host":"s3://npm-registry-packages"}},"21.7.22":{"name":"@preply/video","version":"21.7.22","author":"","license":"ISC","_id":"@preply/video@21.7.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33a271da08c537d23349719bcdfcfcefaa7813e9","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.22.tgz","fileCount":1089,"integrity":"sha512-gmB1E4z/A2xMWlz1v1vdNYLfrfjchbsb38ZBJAVTxajzZ5BYYaA2Dc5rf7U5eLbB5QBsAB0oJqWFKE1G3TdPBQ==","signatures":[{"sig":"MEQCID4esxZZoHZU7vPuutHyYG0SBOiJqFJk0GOeQo5bI7wCAiB5+Lmt63on0Ej5nnh/xDR0csuYANbJ8wYMQRxYNT5gLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25446049,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj83QCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoJfA//UewTkb7NOylZCw8X99USiIq44NCJA42Axth0DFxsYzk2oYjd\r\nx36dX2R4xcZ73BALrp1PzgqA1BA+u9atUQ8QFARe79JOrsV4T5lt90mPNqeA\r\npJsVLecAe4fm73QUml+u2IdjTZA02yaqm/meP4i15wW0U+SwQknaRbOcKC9e\r\nv3hMBdQSqnN1zAiff9wh8DPrPB6PnDpMYZS9ToRlLCUWw4DE9dfu6qG/8ctk\r\nxfP2ebVEqpwJl1vU10QZfCo7/oPTg8n+Ck2wTF/h3gWVmVDxTwC6zkVhdZc1\r\nj8rgGjE1GjQyZcWrpYe9Ag0kSEH3AmAGl5zJR7zVgpmbWD2WI+SUowaQQUNl\r\n1GikJda7xi6JogVdo+tSQme8tm0uHyBhLTwYjD3RjUInhCGeHV2dVpbF3g9f\r\nEnhnalqb9pfG6cxLyEzOPjZfruI7wnMpUe8H50ahIm3bERU7F6Caa5xe/d+c\r\n3cDNaVsuzMkBl+Pm6xOx1FH9egReIlAgKWRF4lgILuT99n6om6s/gvyM0OtA\r\ncuykW+IFLYxvkCjY0sJklG9VcnJ+TGJumw2uZ6EycXC8AGFERD1ZxThefqfd\r\n9UDTZ9zUrvoHAduyXkMFU0Kd1JcEPfZqfPYKIF/UpXikf5lO8gY1i3+BOZB9\r\n4oV7pzOjAMdoDgSXupBryFExyh38QAsT+nw=\r\n=hLOx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.22_1676899330510_0.9781264469636981","host":"s3://npm-registry-packages"}},"0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc":{"name":"@preply/video","version":"0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c7370cb018f394cdc7577a8668d95ed6a0def9a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc.tgz","fileCount":1089,"integrity":"sha512-PZdZ+eyP5Fu5uErdCQ/n+W5j9xxBZpYrb9QaFWAXzmvuk27EzhVb31TiI0JgrmUp+iy6kfrWrmfm2NDtycIzVg==","signatures":[{"sig":"MEQCIAlUK9cRVfU6t0UyzpcyxWLfRmdwlvBMmWYsFpV70VpiAiB1r+CMRaK1oA1f9Xwmc2iGV4URqCjGZg8J7dQ2sIlaWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25450377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj83ztACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLCg/9HOitq3dRH/eZJdReWHbomV6QwtxuKKvlKU7lUs6PlRiMve/Y\r\nlx3EiNECHHfyuJmxi7exayzSkiNYAFS7vCbNEDMPcACWv8ke0qIPpLpx6B4g\r\n6VZhH+bRh44Iz4Sri5JdugzG51UTV+KiqbvKrLzvKyLUypdk4bL6DgtAWdo7\r\nFINEz9jQWFbCZxWlTKRcbr6Txv8OWs8SHHhFSFUtAMzJhUUhbw0MkhNiduP+\r\nvSl8Kye9H7jTct228exzIHOyY+yP9TB24YH259hxVa73E55eJwKPvsQgcTih\r\nmMieKE5HEoYn7cOhTh1s+pJfDBR+8QFXp2Jba8kU9vTKx8hbQeQi19kdaGbg\r\nov9Z4e8b6ET0ch7upMyknBR34pt4+sqqUeRTv8tldvYVMZXmLukWXnwmKBUD\r\njvrRTRe14E7l2lQEoqXGam2eree07siYsBs9V0kR4/GZYHtV6m/Y+kFhtaL1\r\nNKrswISxSbr0OzclgfriHYZvkG6EGA6pXSi1XredEHG3++TQlDI18/JxHW9N\r\nIV0BlHECeHz06UBTUon8YW7TLC7Aso4MYTHCjVrcnKy+qdY+XaXpjQXa8cg+\r\nqH+Q+4GCeUzv4uPTyGlAgCo9gRynAmOCsxqI1azX32n0mKTbCbcDrziBZHIY\r\nAk3xR+01iuSvwzOx5NyyfQAFtmD0E50vtm4=\r\n=tsu+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc_1676901613314_0.898123160673564","host":"s3://npm-registry-packages"}},"0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4":{"name":"@preply/video","version":"0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f28785ba5f28f2a48bae99a75ae1feb595a4b08","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4.tgz","fileCount":1089,"integrity":"sha512-xVq7o/c7qlixf9C7C8k25/R1SuLvonBTfLH8w2Zos/40GVAgJ6hhiYHSo4xXIsvpnlYnjWgtLmZayx3A2X4y9A==","signatures":[{"sig":"MEUCIQDZvIy+YK2QXklh5TqO4oQ3sqBYZu5GSmsDLjO6aVHVwgIgENgdf4dilOLLeQgxDERRBt0LqmYeBeQZS3pcOetqhyM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25452030,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9Kq0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp4kw/9FxksBHDj3jLTEYCOLkvL+DM6MYDkfD1Zed4smZG1PavynJh4\r\nlotspIOQzOnMUCADpyUmPvzg60F/wtt8gQGbabEeM8BJfeNIqIum4rgM/zLd\r\nJElFw0wucy3AhCiPzKn29dvm90ucsTj4zB8Bu+XpLEt4z6Oboq2bFXG3IJhB\r\ncC/dOejrnJH1nvNohfGtqNqaUScQXKu8MvFsfiV8rWrbB7bZrfwnDtCAgHD1\r\nK9NXNJ3sbOtF9jHCRlkD8LI18/tXNCIQHUzLzusWCXLS8u+WY1GKkemwpwgM\r\nk0PNgJjvkUzFvIWgGX6Kg/b26eCgOSjN4v5Yu+JSmXdudNUZV0nNTQye5bOE\r\nQUIphlTWJBdaAq/bX1emAhCZMjHbxKwWcewbbeLcuGFhf5ZRz0uDA1kNNKi5\r\nOnSKujXgbfhgajuvq0pgz+kuePYhflleSz3FEpMrzj+pQleEdoDAC+gQqsom\r\nugTFXM2MhG2tb8UtS1nTv2CEe8VmJRKEejN29e/UpAv8c0eJ/j/zSwh+oNoM\r\nY7ti3Zb2ZWe5h3YP4Qi86LNqJWL+QKzmJOyiQEJxtVjc5zufZRmOQtnpqxmf\r\nW3+UIcbRB140zpYFpEW8Y0hE/Gqb9TVLIo5B1gdVsGz/CmB0aaC/FR/BhrI/\r\nsjOvMFlKl5zv4xTfELidDVV42qxzbAzRrXY=\r\n=sJgc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4_1676978867535_0.04240649383384687","host":"s3://npm-registry-packages"}},"0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb":{"name":"@preply/video","version":"0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7ca711bdc0da1ce6db27d2c71cc02157c0d71b7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb.tgz","fileCount":1089,"integrity":"sha512-6wSDNrPDMk9Qot42VigDMhwhh1a+W5qUdcqQ0W90jmlcTOhIuYc4U/wYcV/XuwDx7bBdvjfND1+Q25Yb0CUmDg==","signatures":[{"sig":"MEYCIQDLdKAjZvppJtgfo6GZhk7ShPYgczajfPPWUOnU8ZqmFwIhALnfgp/wkiqVSbd6xpfbgTp8hDO6U0Mim8N4QghwJCIW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9eHGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrH0w/+LkEmGye2047n3LSQFjGOIzi6xllOWudyQRGbNerSOAXgCmeO\r\nE0Qh3OYngR12Va2tFjumnu0sQvZb1LWvja+FCOkQNIxwxYCXrGYSVf4gSV2P\r\nZqA5Cyy2nmJ6gwSVF+/ITDAY3+EnASSfEGxModgDanU6/E/mUJNWe2jxBKtN\r\nIDACfMTya/CLrFS/WIHX/m2WPKgyvVM+KYNhkJlsT3zwNe28uiLoqiilLWFH\r\nTFym0Fs/Aixml/EFoIa4hOROUBaGS5J5qObMbVNA9pyEAM7ybo3ob+eXmYYG\r\nY/8+UpyHCus2ipF2Ir8pBTq70iTwYXooRKqgeOOnIQYUlqj8vAA42e1yWz4u\r\np2lQV1x7UjRLja2GWmm8gch2bAHlvr0biDyIWudJL1hK5SHPpzANsU5UWvT/\r\nmA383UQ3QkNABj+aFay0HRXWLWRRpc3IvK21ljPAJM4go6VMmH+TDHtgnjkf\r\nFvWe8K9Lv5Rm8bX8Gj6VCTO4HQu6HKh8OPXxASEbaU32QYXUSPWicKUjMr6J\r\n0CrKIgBFSf3ZZchkWLAXzzyy38hF+QrCoSmWBU8hzzp6C/4nGctPwe92YsjJ\r\n+ubBWiO08+uFhbOrpfBUHuFvfXdW1v0HnAUgVLZB5oPKaoYOBKD+scnLangx\r\n8RmNMuS5PfDqkyhffftJeYI10eZzU87Rmlw=\r\n=cvk3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.1","@preply/ds-web-core":"0.55.1","@preply/ds-web-root":"0.55.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb_1677058502223_0.9096998482037262","host":"s3://npm-registry-packages"}},"0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f":{"name":"@preply/video","version":"0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"30ed817cb3b1e813e1c532197d777fe61780919a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f.tgz","fileCount":1089,"integrity":"sha512-VwreDSH83YvscuQqBu+NJRjShRXr/rc+nG9mkoRkfXaMfS5SxiiN2TFGE0Q5E67BBkA2co131+WUnE0yMZig7Q==","signatures":[{"sig":"MEQCIFOmoZDML8NIyoamUxdxih+27Z0a5smiL68r5m1uCdutAiAeKgIsp/lPvKk/WFjrVwI/SF7JdHp7ZkvGmnZAuUabKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25473485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9xsCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmorww//SK7/hlhSksaM7qQfwU5iG5b+wKt5B4J7xgtjrG5QuGkQFQYZ\r\ntKbOFr2NKh0/UvIGaY+z7HuE7PVL7/5NtTgZIC8gRsLWb7T/gkDYUKV9pm63\r\nasZjcjikuWJeQqliHWtjsgT2HvqueKv5ZAXtFJ/3+6slscx0fcZzjHWPXs0g\r\nFMht3Z+jFBzp/g48QG3TiXrGaM4+PjrJuaT+5p0mqrMoYPmGnJEdzUTxezA/\r\nlkTSIv1PK9cqPD8ZlWGEWmZXQS977A6IfRKPaZjpy41REfCu1AIuXt25a1xg\r\nxtOIoOg1xyV/TQFRDd06uAomCZwLqrnyF2BSBQfwCTXQu3pOqTtEXmra7YbK\r\nWOTgXzHLvHyIDtfMkQku7t3RIJ9KcfqAETCxgSy5e/Hph8pKbHfI07UzLY3H\r\nrxNlv9eatpPUGUO3yauK6PJ2OP/DTIfsJaiwiPF5NUj2qc97XP3YrFbJVkVX\r\nUp5r1z6FqTt9BwDg1cg0zF/DTEjfCRTx2MZl07irguBI2c23B6ftX8C+oChb\r\niFyocdV8viE1KMaLzDNxHT+Hy7sVKwijBFFkpT3Sq2pW4AWcSdQQ/d2mbLIY\r\nON7rY82lW61yVf0Zt3LyYwbblgMDrgPC7/G6NRYf2kArggPP0vl/pLU83scf\r\nXT3DD+joammhhh7IE9eOXlYs3V1qfXtyjEI=\r\n=id9Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f_1677138689593_0.606237657195611","host":"s3://npm-registry-packages"}},"0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202":{"name":"@preply/video","version":"0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"463af6fbd1bf2c95ca42f39dff2be72de473aba8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202.tgz","fileCount":1089,"integrity":"sha512-G1UPhCQPuXRoK/YKjF4mQA3Q08a+CdHZFlGRZ3z+HmjaURaw9YDekcJtmcQnKwiA1xN1IUm73ijh3orcvrzrdg==","signatures":[{"sig":"MEUCIGqtLjb2WdnibtcdvbuQnOg9GgU2uO12M1y17Uz/HibcAiEAvJcDvVi2Wm6uAd5Psbc+ZPqXEIcjXMdMNpzTJeouRsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25477208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj9zq/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKEw//fyHLDryvrbRCs4T1luWwLVgg1y4qA4jOGiJxJOezP//mp5Vn\r\n0R3I3//qGFl25S0900xMaKH/v0Ymf9fqy0IdrRo8X8itE3hCja9LDiNsQdAF\r\n8PSQ6s1bvF6wnGZecyhwmJxGh4Oir7yB6wgmnV4UJ9ARFJrQB6yIQrg0A7XF\r\nZM9oYsYJsSNJudb2TWEFgcVY8K6+1QRGt7P7irdhanmX/SteYu/4QrgD/+tQ\r\nFdB5w3sT7VRKFcAhggOur04hkbX0Lmdg/r6DMlysc8GA/PuRf0B799X6WH4D\r\npirLN/0O3UoaSa9+xq4icSWf9SbeBbZN9oCGbQk+YojHcqId+sjqLkNLk5z4\r\nP5sTYCycquAe0KWMsnXll5ggJWkmCKqXNLCTwf0r4M4r98jzKRSbu0PVTTHr\r\nK5VVhvDGII/cmuT3VqIJCt/KcteGlfXzmZHDblzDOYftlyA+TMJB+bHto+Pq\r\nKDGsfgKkTjbw3eEhtY/KTyZrDcu8p+KRcd8MvFNkHMyJOCOglu8OzsyRg3lQ\r\nnTiO3ob0OCGOUc3ise0F9oQn4i6LTA8VMNLtDxM5jL8/Pz+Jl7DeMLgWHyWc\r\nAd6DaEi1I4r2JJZhv5cD7gaRehZf5D3lgae7uqVOTEg250uBocADcEBUuI1S\r\nfZ2BSxzkdO5mwfwBDuuw9yajp4hjMOg6ygE=\r\n=Ylmj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"5.13.2 || ^6.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"^5.13.2 || ^6.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202_1677146815495_0.09537960299729575","host":"s3://npm-registry-packages"}},"0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32":{"name":"@preply/video","version":"0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"123073d758462d0f2e21fa45da5ea429d3c23d3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32.tgz","fileCount":1089,"integrity":"sha512-LpqITjti9uPNcjpl9rTGB2MCZJmY+xkqTEtvG49wtsQOGfPaJnjf2KXdLj+NT6zDaF7jjxoNTgqIiseDJoRMhw==","signatures":[{"sig":"MEUCIQDgFj2x4+tyDu0Z7u2HhrjoyLcTKiuyxwuoAVmOlsSOrwIgaIlOG4VsbW0k3gxSBw8U9xst5e6WjmV7HzWZbLODfI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25487964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/b31ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVSg//SWPD5Z4d5qZIvYHJrlpAiesS2lXwFSVblS1kLq4F3NhRK54W\r\nSfOwizCBnFQZpnR02JibLHxbe/9YofjDatb5EbTMKtLB97n+K4Lt9CC1LH05\r\nH2NuhcYJ2WP5JPq8DPBpAQahNQ5e3WWX6C9iZrwDi9fHC/aU5ksXrB0Tmr8T\r\n+eHTbnpMhQmq13JmHwE36cqc1Xpv9ozk7jRKACRP9UogkxVSYvQjOmV1R9nG\r\nCA9DxGyNtJYE82SZULTunVPk39pOjEYivcxjGAKRhjF0ZRuyHro0rUYSQ+XA\r\n8SPOmSSn5iydAk6aJQx1jVeQKteMYY7oWPdK57w7JiZkmh1k9Jh046Nn2v/f\r\n0eBnY+LtBIUv4JrtKfgq6KMTssnMC9g3WX1wWinKUN8sjU69ezgmom6gXx53\r\nNJrWybtH5QjnWvOJt/lo/VUalAGT8mxmSazx3qqHRSMcfeB/q/c65sezDQ6K\r\nDifhJp8GldfHLCQtF3x1Sr2o+Rg5MWXjtYvp2HN0N9z5uNoQOpz6y/rWhrGX\r\nuErpg/MW6U56PtaC8/Sd33eh3XY/W8zSa+DJaj5e/q28u9jseGTFprvo5Snt\r\nOHSrjH2Vbx8XUIFlxskPpRA/abFoljghBI3dI3HTaltaTipb3AFpRwQnF8ND\r\nGPTrRXNfbmp6LEdteW/aiRt/d4qmM4KXO6s=\r\n=Nj6f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32_1677573621108_0.17351677436604018","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af":{"name":"@preply/video","version":"0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9018f67a2344d33340ae5a6bcc71de22ad6eca40","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af.tgz","fileCount":1089,"integrity":"sha512-JtyrCJSobxRtk5ZeHKZPoNiKXwxyshP9flmds7ifJfHjQ0ElbopSNhjeGfRTIi4T2VMUsTghfXtYKIVsmdMXBw==","signatures":[{"sig":"MEYCIQCKnusFNLfkxtHsNux3/6zB+5h7wdblME0NuIObPruZaQIhAPVQ/vR/qKm782IbmIWkHG7jt7fRTD5NzxScpMfHAPnN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25487964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/caiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWyw/+OTrbse406lBnl2V2IolU+osQbKgtwBWWue9L9JEgF34RGNTr\r\nt5CsCyfC+0BgXgEGbKpJPAvOjlIfiB++2ZO3K56uGPcSYTo2+1loNSbhIMER\r\nD7cjP4KW90D+AGugKBdDGtuKX5Szr58ue34D4qaOcpMwp0Vu3xppDG6qIcOr\r\noQP6vkOoqQHIF1kcVspL2NkSwPkVINLldauJS3qPSsxsaQxdX7bgI5X/Xvdj\r\nGDWf2/XdGKxflGheKnAQztaXPuApzfH6sbLZjbf13+FAVeQNyvD3I5E830GP\r\njNKbvLpSopXN1PL6Pqij+LXGZC1gy9/JpV5GYY9ZnNxy4/3Ryk/2FS64zv+L\r\nnZWpZhZGX5d6JGl6qhUbZkR2vMpOATmeYt1T/kk5CvzX24e74vSAj+9ACAXC\r\nRMXZMVD5DNOiywCkb+6lTwloceT+eReLl0vSIQnbvaxdZpiqlZFCTX9JaHu5\r\nriSulPAr/o8FgeaQKHy42wULgtMrnEFntdjlghQPXJ1Y1HJNXK4oLV83Zz7f\r\nAHhCgbzX7TmMFWDZfeDJBhWOTIFQoZIyF5iO8csRyNjKxRF6yIrKIowW8MzL\r\ndWU1dMqL78GOFGVdf9tBIJtbuElSgbU/zuSZNCSgEYjIN5uBJfKH0kS5zhby\r\nVV4deiv1zAr2ct+i9hZnjzgyzk3HrBiRYyM=\r\n=4kAY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af_1677575842423_0.7488002564121878","host":"s3://npm-registry-packages"}},"0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478":{"name":"@preply/video","version":"0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc463a9d51c4d7e60e772bf2d3321b5ab26420f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478.tgz","fileCount":1089,"integrity":"sha512-oJajkEol4OuCLE3jKQrgDwxwTnqjhazFC1PWivR1UkcaRebSlGHzVxt+LM+G78/ZzKy5or9OBnuHRXUslxlQvg==","signatures":[{"sig":"MEQCIFdP0tWIRCWbc7okdujCvA7skj0HwWJsHGVTb5IWjHKSAiBo3FFB72hE3K3w+eYkBypeM/T0bB2bebJriRX/8S4VFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25487964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/danACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHSA/+NWpkiyM3FirhwErhqTNNqKiF0+EY3PypfYoEtzan03yx55ee\r\nbZMgU4pamqsjAap0WMDE/2ITsRPC/1HIP/HK5Yg3jMXS2ZxyA6jpGBxU8JWg\r\n6pMiydg1Tz5gPB6YZLELveC+JkRdEpmHm6nBEC1IxIeZ4VzbD1rFP4U1tarn\r\nvGSQX0ie3pZZf7cSbfFEA9cNL21KPfCjIxcwHNxJivDWgwDlENybPPdBpdMf\r\nahxuzYaoAKUTudUoPubpBTfA0QIvj3tFg9bwWSudbySF+PpIJXaULKylJGkv\r\naQKTPlXJ5BVzX8uRVRPJuc727zMiCg3R1SiQi686VC1jo4BgIjDDTc088Mt9\r\ndU047U6LkLs5ky45Qbe88adZPoCzcBwi6es3lUWsMEzlBuYNE0eHy74Gfc3P\r\nel/Zkve9EYI3WCKWDbzKpgJAS8QUQPsg5hzWxNqdsgQbiO9FALCli2eSS/Q8\r\n3vYfyY65xnipWUM2G23zvdIkT7VYhd2SdiR5Eayw0aPMU3k6Ty25NHJV7IxK\r\nVe4icKF8g0T520jhPwWKsaC9BIFCLA+fboAAjWUVfRELkRKXXPpT2tvYeY1i\r\njAGxqtL4+1W3GR0aUgjxqy+pjAoq1PBeFodpRJMzTKK4IRT7CfM632An0WKk\r\ngA042HMrHLAnmH791E36K90nF/uH22HE2Xs=\r\n=0N/W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478_1677579942784_0.5347845979942807","host":"s3://npm-registry-packages"}},"21.7.23":{"name":"@preply/video","version":"21.7.23","author":"","license":"ISC","_id":"@preply/video@21.7.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75be069e8fcc9ff534fd967bf77ccea59c14bee4","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.7.23.tgz","fileCount":1089,"integrity":"sha512-77DVfFc5Y0uj+BeSG0r9wG5UrMddhBozjipXv3lSbyAyDPXIx2I6lzODzXdSKZ2las7TINBEo+3z7dGxjhwC/Q==","signatures":[{"sig":"MEUCIQC3xlIgM9Vno0EArQwYUN85WY4CiyK1paC0bALIj1Uw7QIgUyMtCGnBwLtkZoH+O65QXxVzChX1okNeMhs+g4aBI5w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25485910,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/f3SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOVQ/9HP4SDZZDHLiliHXVmUP4++GokMZ2MkNfJrp7ntpUYFz3h8zm\r\nSkEuqeHmTt1lKG4E2/exypkB0lggNqKK7Yh4hOVe14kQUTk30EE5eXrlMgBT\r\nsxtgzRSwqM5b35TYheScsrF5jqyo9FWaaW2WFtsu+jq5me41L1oV4tN4LWW5\r\nFGRcjNkgJDQuJ+RtW21CB4hcr9g97vRBHDgyuhsS50WIU+Pmf3xugj88Q5vp\r\naN7xCaojPLefH+pPCxCK/bFCNh0IT/74UynI7Q5iaule+sbSLm1J6y9/PDmj\r\nU94kVkqyZdS8jhHvxDmcp3QUNSS3DpH+td+6+GdNNKU0zpERvBEL1GctgaeO\r\newcrU6aO0csweDHLKddMw6sQ2Oxe8Itrr7tAFPu+Ad9lJr5xkO97cD2hhWoE\r\n/NAVSPVVq6ppzloUA+v1VnMUxQXKH2ABEHSZlEBNwxwJloqbbQ4m2lNcN0Kv\r\nJFmAHEuvS2Lb9yRK0LjGNz13XffOT+MBIAQRkhOoHjUQ49va5gvPkVJkPbrR\r\n9L3IecIR9+E5ZL6j6noM8cZVsDjyjV2w9ihxTw2nw50GJ9YiSkbNxIo5mznG\r\n3pjdeTOugV+mTyc1JAND+q6skB4mHbfDbYmd6Ix0bOR+Ee/1J5Xu4PQJVWVF\r\nYAX/tC1fgt7l3Ri1/31de4JWB048SGhT52Q=\r\n=DbcL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.55.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.55.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.55.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.55.2","@preply/ds-web-core":"0.55.2","@preply/ds-web-root":"0.55.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.7.23_1677589969912_0.5501144048495961","host":"s3://npm-registry-packages"}},"0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90":{"name":"@preply/video","version":"0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e338aff1a494a2134587dc78a70b7c48ed62648","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90.tgz","fileCount":1089,"integrity":"sha512-StEwltb11b3hL9AeyDaU49clRLglRHO0JYme9GUd5/P711QNhg04AY0Hau0L5M/pe1rbuU65X1MzsHzXk/gMmw==","signatures":[{"sig":"MEUCIBvb5BYiGMix7ItaD+riK5/ULmGMJ57yM63t9z5V0kKyAiEA8CPKZ4yZ8lzBT3oYWEO0EQit14FG7jtar/wEmY0387s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25515608,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEG/vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq65Q//V8a3NOyPDgut660HQOJinKmnlYYwK/1AIovEYASx3RZNSM+l\r\nyC1FW2XXG7YPHjYlihvydLj2A2acwhoivbs92xmx8njjX6Aa0gTSbTmcheRH\r\nP8rjagsyao/vuMNH+CVhnUwWmJXuhuMjCGDqGKKAqpBAMSoCmlU479QstZLi\r\nZ4DEnpqfIfybNZuLWTkrPlAYahmKkKl9CYN/jzYK+pAGLunJZ4CfoMPIg6Lk\r\nwhyvzpHUuXbGYNaCd2VmAHpV29oKlHjbjgnBS3UhO6bDnnAWQ5hPXc82iYxJ\r\nnCeLV1Qh4CVPQ8tb2rboVqOiF1yjPQzNckJkICpOxMVMZv9RMbebHFjtiucP\r\nfWc7hDyL9CLKnYW/kStLXfpN10O7+taqHBjZurEdBMBBuUEgigCk/dbb23wn\r\nKFbVaTfApi7jwY722pZavabf2RA/fS85VmpyQF2Ol+Dw3pRpI8pfq9LiZMlH\r\nDMLFUFTVnHYapWtzh4KhtOrJbmzWBNLre4oMfYAlRi5j5MSRnguQCpRj4cM9\r\ndqK4jd1kKbEN+lPsiTOp2bWgKW8JcZZUKDAhQEywGPhErwAEUmSvIeHKQAir\r\n5ZD4E6OSdUvWem6lTCdpFMCMdTpWnfAke0bimb2XaWejdZCyLi4OpcJJC3uh\r\nVHy/J+Lv5l08n/h0eUEQCKvFQ4gsmRok7hg=\r\n=8t/k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.56.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.56.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.56.0","@preply/ds-web-root":"0.56.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.56.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.56.0","@preply/ds-web-core":"0.56.0","@preply/ds-web-root":"0.56.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90_1678798830799_0.5807939076070021","host":"s3://npm-registry-packages"}},"0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51":{"name":"@preply/video","version":"0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"24d82bf024e7bc6b7de8361b5c9899e3793149f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51.tgz","fileCount":1089,"integrity":"sha512-HyV2vcUJXL2U/n9MqdwQT47ReKuYAqKxr5k+VVnP5kh50OCmwItV6v4Wf/NXrn8Jz6/wHPjsb3ksJn9uxOFUVw==","signatures":[{"sig":"MEUCIHlqy7haXt5loxJgazRGz8zXKRLwFT70Gawk46VgLwaBAiEAxj5wzsk/roq8BuJkiLVfM5O+oxrqUJKSKdCnsZeRiZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25517719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEyVoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoW5w/+JBUsiTTZbNdab7MmbuNqwWOr2JxaQpHpyPI+qZ26qgl+2wKo\r\nBdEvEjlXtu1jTtWnDEzxLEKKCovstobO1kLjeLNVQJQJZdYZRZNJd/0dg5fE\r\nvcpo8IW7T4Vdnff4C3wFkzuIzlonVamZopwhUEIplZR4jITJyOodmUPW3teR\r\nmf6BjCjGYyHyHso7cll6YB7D+0SH3CqEwbBOR8zpAXAMjhL46RsxX1rllTW4\r\nEVRKLaGAI5fEVg5a/PV1c2uFws/Wutg1WNZQx22ftVGcxFn6XA4UcFGzo0/l\r\ndxefy+8vys05InmpKxXCxu72CKyWlY/MmBPLLMn3zTGaFBhQV/N4Leb1M7jL\r\n8EBIHKfcuck9zD+oKcTZrJig0USoTdKZilwTY5Pic9pSNxSJFMFnMi6OaLre\r\nvi/3Mx0GKJvw8uCPO1fJNrztBttcr3axuvcJjLoNSNArE7BywcMa7FPSFOvp\r\n/Wx+Wf97KYXdtHsKl+xzTG7AozJfbWnCPpgx/J/J0deL3+1j1HYxeO0Xg0kQ\r\ny9IsOA2vO6gt55FqwEEgiYDJ/F5TqVLwHRqtEx5EG7YPl8pESLzDcazNvX7c\r\nAzSELwIC/eUOOxNKrGMxnFYkdFkTn9vv85iWymC2TnSqaG94YtT1tHMARjvf\r\nS5kCx9RIcuXRMyYMMD6aCyKOhLNIcYls+qU=\r\n=E2Hj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.56.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.56.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.56.1","@preply/ds-web-root":"0.56.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.56.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.56.1","@preply/ds-web-core":"0.56.1","@preply/ds-web-root":"0.56.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51_1678976359744_0.4191001223173507","host":"s3://npm-registry-packages"}},"0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374":{"name":"@preply/video","version":"0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"662fe3c951e9ec0677b3dddc89afc779d6b4508b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374.tgz","fileCount":1089,"integrity":"sha512-HeNpTBp3xoWhNhin2q1tUHb9PAnY6GkdK8mjWlxF6hykFC32yMKz5I+ZLv77x7Hw2bCszxObae5lc7aeYNzpfA==","signatures":[{"sig":"MEUCIQCgmEbwxIBa6v3pVCgQr7FCoNKA3na9vIRpcrij7kkxywIgKePv6kHFKcS6fNviKl7LDkTZJf8XAhzt8SL+WCNJlmE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25519551,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGY+lACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXjA//QjdsYbWkOhkZUeN/A9YNmOefUkLafcLEKyY5ZnGG43ZUbfH9\r\nOyKZTxnmTmILXPw1EyL6eKxvAmH2iiiw4Eu815xWFH34Gb1d1skOUKOO2gIm\r\nz57at01orYCQzU3e6q5Y1+T2qxS/TeZy0IQAxjTd3y+wXwdDrtKAt17m8WoX\r\ngo1G0ovHO7RnupKnVkoV9yVNwD6Joq6kdAEu8iQXQB4DRWk3I5/ghhtUJ3+o\r\nTjDz9SU46F2+fChePYfvwu4Fc9cZzyrJl/cQCwwub11OKQO//EcurDZcUA/v\r\n7ssB8dMELtBSahZ7UsAAk/2ZsLEWogl5EYcSClujfBbwSCmvw0OCCk3k9VzX\r\nujRs5zMifSO/2pbwM5yXzHva4uTm3D9bdft5wgWinblyo99Av5+ejlQkjOne\r\nUeEbF95W9iKRVcsL5BpyTS18YGhOq7vyu6k4Ni0qfDd5hxdnIucMpPyt72oY\r\n7xay2JYlFElu9PVKVZSEG5ccczuhU/GWJr5mW6odH5E0NLdBf+wIYO6KGWJW\r\n7RHvk5hhnhsCLry0aY3q65Cy89I6IBx1LcWv5WMfhzp79Lry17vALcC7HvUj\r\nq8wHKmwfmTcvCF0ieJuei5+mKs4iaFkSC0unl68bjWRrbaRsEDzCa91ah0IT\r\nDXo7y41JGGD/hE1x4G5SvmKNUR0HUjOmxN8=\r\n=7Sji\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.7","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.56.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.56.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.56.2","@preply/ds-web-root":"0.56.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.7","apollo-client":"^2.6.3","@preply/ds-core":"0.56.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.56.2","@preply/ds-web-core":"0.56.2","@preply/ds-web-root":"0.56.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374_1679396773443_0.7180470588034851","host":"s3://npm-registry-packages"}},"0.0.0-beta-c7870629c951a759fa29e664207463275f355454":{"name":"@preply/video","version":"0.0.0-beta-c7870629c951a759fa29e664207463275f355454","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c7870629c951a759fa29e664207463275f355454","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e6a41b8fec6dde2fa050c0c63602e09750e320ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c7870629c951a759fa29e664207463275f355454.tgz","fileCount":1089,"integrity":"sha512-XVQmcpk0Jc7wRrktSo0z1uTonKHbXY7ynJz7t+ImlicQooUYhNmJgIV9tX8n9n4B3RZ3KVhRY+76shpDnIV8RA==","signatures":[{"sig":"MEUCIQCwAtrY1J0JH9CL4RCDuo74eRMz1yg1uPEhv7mqcM1TFwIgMI9fMF6Plxdk/n4eXEVxR/1uF1Vxw61MBVx9eo/CkCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25529532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHEvPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAdw//VSniE4q0nd8yZ0KodnH5wbiruxTPMqUb+urriUN7kLiyHl9c\r\npW6Gf52CIn4rLM6NwqwKwnkS9Fc72Ps73bZCTKakzYixpK3uiGWPxJWh1OG4\r\nlLriJOzY8mLRCzY8gF6fd1sgda/wDso5cFmR0sU4jhfi9mh0EJM6pw9b2H6A\r\ngDtMsxK0JyteLMNCWovpEkZ9SBAM0pvx94rAXN5i8btl/rQNOGiI1n45ifed\r\nun76F65cYqLyyEduOvJVan9CKJGK2DMPamR3QDCRNktdcBJCfwqC3vGRFGhN\r\niF0V/EXX/hC8j9l9k3iKS27YhcuOwCh9zZB80ucffUOq8ojtfw5AlqgfIGfT\r\nxCVl5+fzNj2mSEOcJp5G3IiU+t46Z2/9apzX/fI1TXgB0YN110SpxBSfxtao\r\n1oAuoINdxrWyXOslLfWe5vsT8/8KjLTdaMRZ7GV0pvKnIypmnV52KwG1hSjr\r\n0o6hKrjC8eh6fzurFjzDHVuqBj4NP4MXRLHCHDcYvEBsvuAvWhvhoQjTYS8/\r\naWBdpb2x1sVR6KIg+qnl49SRdMCnx1s5oHnVWOWMaYEDUlOIhBTwFjVtV+0/\r\nzb4tDZHBHS/Kc8yezFhGWtArFi9Vygn5fw+B4K8IPjsg6i9Hh60dnX6QO8P0\r\n0wsG3HFm8UyaycNJWGse2/dQdKun8fVQjFI=\r\n=lXe3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.56.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.56.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.56.2","@preply/ds-web-root":"0.56.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.56.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.56.2","@preply/ds-web-core":"0.56.2","@preply/ds-web-root":"0.56.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c7870629c951a759fa29e664207463275f355454_1679576015349_0.9193190218532672","host":"s3://npm-registry-packages"}},"0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf":{"name":"@preply/video","version":"0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7510030fde321eecba3b9a5e5d066777afb67eda","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf.tgz","fileCount":1089,"integrity":"sha512-8HdyDygWb1e+/rIGyiO7OZNG/SPS/lzMm6k46skYUxw8rDd/mCOjk3PMWEROVe8I4KTNtJXtqWBwt2u7Z+w6rw==","signatures":[{"sig":"MEYCIQCcoRoY0zsmFdJy/Danal9wAJjlVA3g0SQosfdXHfXXxQIhAIiJHbw0xzqXPHIfWHNp0UylPqqWYdy7WXTGzwNSTrqu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25530893,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIXnLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqakg/+NypZWWdF0kakfJs+rwprR/Gu8GLnrKI+17ovC/cMiIgVPERD\r\nTJl2o6FxE3DpZACd+Skaz6dDZuNys7e7RaAknCFdbnpiCO1Ohg7DVKianvOz\r\nKN60U52ej9BtOlfIOXYVgj1ICB3/Q+/Yz4qZny2RenWNmPqAnGsWTCLdoLcR\r\nm+Jrsy2PO6tmCK0feH5vj9YqZAfqv8NkwJDMtGmo4kIpkcT1nAlhSPh8oE2M\r\nTZ4IEZyJUQb10msvJcqSikNIoJ0s889XjQri0enMJ74S6GY79pP7fO4UaQag\r\nAL5FsBrAZ/2h6ZEOqJzlpnX8Bv91VxalQgnyzDk3m9dRYAFWYjMWWOezRsIK\r\nfa8mwGY9QSLt8KZoBN2Cja1QSGJsuXwmpcK4UJmW6oa4nXa+1m+KYtQ0RCIs\r\nLhCm6J1XJiUhe4lWvdQiAMOvVD8fCbWTBh1+L0QPEAudRAIjTKDoluOjr6Ay\r\nQlI6JVXLLwqxzIN3smTWbZjSMCElmBQab83efNOG1brfTAz/U7u8SyzWpCyT\r\nbDvvacgVw2sqc5q94J62C1C02PGG3jZ6APXqZbDJlJ2r6djnuDPy/uynjWVM\r\nnUXMvRze/Vlv32hCOc/bnkudjt7prr1mLi7S3LzRhsfuWdglKPPH7pJt6C/X\r\n2q7lWKmUMF5CmrS4j9qf6i5AtoUsjBmBKFU=\r\n=mJzq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf_1679915466634_0.7498718449949531","host":"s3://npm-registry-packages"}},"21.8.0":{"name":"@preply/video","version":"21.8.0","author":"","license":"ISC","_id":"@preply/video@21.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"78ff015ff808c50368298515a319729891218d89","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.8.0.tgz","fileCount":1075,"integrity":"sha512-BWWhDkO9VzZGTlb5i0Pqr2KTeYvuLAi4rxqgY+e8NzGQ1aXqzmz7fidK80TiBguRdi/bOBQeeSsy+a7ykR8ngw==","signatures":[{"sig":"MEQCIFtH+6YarSMfv1O71QdUvU69peD5nLo7qfH6F16OUkG0AiAIRashLtQiN8yJMP9CoJQoTUBu+bIXPDbM7mctlIOeFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25196901,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLqoRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs2A/+KRhIR94Y89cPIGrAhw9vDTMTyYdCNQ4PWi+mrN8Juyrb7NPW\r\n16tBajEKNFszsT+r90PIxg9B2O/GaF1kcaT5xnocFpdwLaOZLolZ9C4x6pwP\r\n3lixloMCUQ4PM8u/wVNxD+Ak6zvvjI+JIfVTtWBa5KWFFUeHMwG5Y6QeRSeW\r\nocejSt5J2k7+nQGIQEJP3M9J3/emyGSKfA1KhCUysN5JQgBR5I1zR09GHjVx\r\ngqqZi7nAdQ5kDcPz1Qv9ZwlTHmfrMYbihjPM//saoWJ9GIbAoO2usGOof5Da\r\ntyKi7MVsPQseH5HReaMngoBu2mOhUaejtCM4xZP/rVY5oYE0Df5k0lPmTaLk\r\nsQ5kudVNKY2BsPYuHzvQ2ApDaS2192uP7zXCPz/KdiOKWjOEhppHgT9j1yC3\r\nXszK3a6/qOvy1yRLci+p/sL+N1QMqtb21Evknj3B/2Iv8oe0KrIeki/W8Brp\r\n3PCJhyqTrOtpfsg/UtFZGQAQwwSoZenrflfKgwuiuPoV26rcvH6SPgLbGVb/\r\nr+iKKDufBv+nfneEbx5vF8+zde8VfdvWgdZSn2ARUS1ZeLIqXDGNMo2btTE4\r\nw3wuDlrTr/RrCsD2JjRsMWxo5FawAlfEaPl6+0a1amiCTGjudhC9RZ15Ho6r\r\nPQlYVt7zftVtr3iAo0YXxuv4Z0awwlQ6NG0=\r\n=s6Dp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.8.0_1680779792756_0.7112659787532025","host":"s3://npm-registry-packages"}},"21.8.1":{"name":"@preply/video","version":"21.8.1","author":"","license":"ISC","_id":"@preply/video@21.8.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0ee290cbfa0ce603552764a1ee22f1b046b06ad6","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.8.1.tgz","fileCount":1075,"integrity":"sha512-opXsUy3q6EE5sq8pzig8JjnDyy8jM4izAKXC4D8sEaxqDRHalc2p+k9f1S+IlSxepl4aGqLgsb0sQ8nPRt9m9w==","signatures":[{"sig":"MEQCIDw48ypSX6ZKuUb4HR8ZduT4+sKRzUtMo+8HEXQS+EohAiBzwStOVk3JJznYEPFg13Del7J1jLIO76S//g7frYlf8Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25184832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM70aACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2vA//SKgTMiZH+5BsWVDaIMXZEpVg0jMeVojeuszijNVNStEHvUPx\r\n+TGb1B3HRPGE5MFKd/bOwu3tkZPvAf4duOwKC5ZpbXIG6Y+uwtaO0HdjFkRQ\r\nfGetXMmeJNZ41QzCTNPqDa1E6HT/v2CQFGIaL0nKGSwHwO/c0qumwu6mU1eE\r\nVQJM6G4zKkbcvdD/S2ebRXsfwomfcwJIxhpPsCJ2L4llxggCH0XCGAE4eTwW\r\nMv4xS8jc1lpJPZWfSkpsxYzkPdt3NiJqkwGT2eJN0kKyjabmygMtEtTdSfIG\r\nfFTkadGCDYZyZprvaLIto5LhuhaH9Ethbx5ov+59Y63gfDRo9sOOZVR0j6Sr\r\n8jp/6hDzVW8mxtL/6rSh8d0+ijP1GQiX9+i3dyZZ0lY4d8Ewkz3Y6VGfW8GA\r\nIYxYqKmoT1ykZiMIpLtO2HIrGbSw4L+5UCaOkMaKguweBYstJUzH0i5B5ebS\r\ntCpc8Oj/md3CRQ8HXfxxZiD6K3vLYyzX5BJDUNqQiJsGzeLscIKkbyofUjju\r\nXYleYvjd/5YgZnF/OEZs2dBggwhctHXQKRKcHGg045+YOm/PJQkyJP6pXR19\r\n1b4eVb2+oe5Q3dWKh0vxVz5EVfMdiJe2vUAf83m8WeyNwNgXSfXLUAvmYCgl\r\nWAs4A3B+o3hp+4Oqo4NJ8o41mSbLE7IsNlc=\r\n=vQXD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.8.1_1681112345989_0.5121418320493236","host":"s3://npm-registry-packages"}},"21.9.0":{"name":"@preply/video","version":"21.9.0","author":"","license":"ISC","_id":"@preply/video@21.9.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dfb15890e1af0948654a54d08c236dccd553db33","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.9.0.tgz","fileCount":1075,"integrity":"sha512-UDSCkyT1fQHIMZRcndqmvwjKZGxGzbudkoecwvE9b2I5tfC/HwLw86b5h202EgUgdh/6gy3rPJF5K8BQY4R5fA==","signatures":[{"sig":"MEQCIAv95CFESqiiQpkteDdPXhAfF0ZoSxpUBe+QUpMcydMWAiBSjBw9/Cri7zzO/ru79J7+CeahXA6OyQ9QlZWMrD/WxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25214757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkM78AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmouVg//RXWM8A02HvsU6gXalDdXNGNj93Cyi/asXKRlqW2Wsfq3FqcN\r\nn5r29XrJYbD6PbMHZpiTQ1qC07rXFAAcXOiOiJHf3jnvDHRQm0wfo/5q3Av0\r\nPOBAEU9AW2JWAsyq0o2OHZRsXYM5164sAVPTc0wcEgD6s0i2pLFinAiOiMDv\r\n3sjYKnftdc6T+UHc9P+X8MGiDLi3b7whq6DLa+gh57JvhkxoX3tNBQd4WqJN\r\na+8BlmyeIpvfj0N0L/UIrXbbNtAfMO90zaIWCHgsLZEwEtNbhe6q4XWl3QxJ\r\nDdCX1QhAjXH4rTrw0VTa0/KpuKLrP3csrEkNIG9scP8HzBiKGlYuJ9c4lDqn\r\n/oC1mk4C8pvbuCPy19ViW3VtOVtytK/23A13A01994/c8rilv6A3Bhyf0zCd\r\nACjJ8yxVM5O8cUcjRXqCh7wjcuW64StziSao+7GT1mWSCvgP2YEca1rNJp5Z\r\ne/cxQACZPCWEQbjYslzocJn1IV9YNQyM3KhvikswV07wKBDUcCt6c/b5iAg2\r\nMErAp50Ix4KFEDfhTR+wIeY0EZzvEKgEG7qa+wRLKNch3Y9njqatxdW4tsml\r\n2cQXJrHfIgeR6jgsAoUXL1wnKQymDVpt3Rj+RosLbsEtDIwChyv13pvWRKoy\r\n8d9p1HHB0hdHshTu8jX724UakNu9QiwUUf8=\r\n=QTxM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.9.0_1681112831962_0.28808160315522713","host":"s3://npm-registry-packages"}},"21.10.0":{"name":"@preply/video","version":"21.10.0","author":"","license":"ISC","_id":"@preply/video@21.10.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab4343000b72cbe32c4621627cb430e37adf50d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.10.0.tgz","fileCount":1079,"integrity":"sha512-TUlj4gunPRy4QJgYGImTEhI0U4EFJyv4Cy5QcrWBTaobzWyL4muVxAz0X4/rxFPvsWZV9oE2q0cM33Zg5OiHFw==","signatures":[{"sig":"MEUCIGREGx+ax03s4yKykuV32x86CmDCMFjkqh74GytVA+k/AiEA2LTdjtx2ogEkNP97wCrJX9bxzaDcGfVFQVYNXx/pqCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25292234,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNBaqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmraEA/7BBGjMQeWWIgtNN8YZuzJtQgWAV5O6PZwWgCtyRotg/O9vxir\r\nenvBWqpnC9xZzN1HpXRatOKGYmTqlPuVoEenvrGvQ5TQfRXJDKHBrXNlIFsB\r\ndqjK/YXrr6mwz0XWJ40yJQtLnnpKHP0KnkWRiAmU6JL+bz1EumXFNwfavMQQ\r\no7ZXhKH10XE8AmWbeY2ewk2WUrzapjzPAh4qH6PUwjUpLwCrTu3bxCDMuzQk\r\n+OU4HhPanlzdp7UM9ApQE/fNmTk4s4A0D+P39V5fZlTFR+rbsuyF1897dqOZ\r\niCrB3oeN8JhVChJDBpPIkJjU4bZVNwsZEukN7VJ4bPKoEcFtErNjKGV0APcI\r\nDCRamWuOSYqF4dd8YfQV++xztxRBXzBWALSBhIGiFlE01Pe5moRfgbBkdvET\r\nBpwdUonnHsrrt0w3uAZLqe1/9dVNmNgtYxzL2wWSLmn4XBX43ozfzM7sDSXt\r\ntxUwkgIWSJrfsdMG33YxBBtbHnLsbGGK1RJ7MY4S44Y9TR6cXRSuAfVLApKz\r\nuhgPDdH+GTVeeIDZFaOVG8InPrDDrouNoq84tewdNnUDacerRHW2d7PpfyAb\r\nJyOcaghuqUwBFjVAX1CPMq6j9QgE46kaflST1kD77YCH6y3HqgBCZOzU7yWA\r\ntCuuZoPrKULKASRD53282wgq71mt0oFlutk=\r\n=scw5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.10.0_1681135274550_0.6647811111391622","host":"s3://npm-registry-packages"}},"21.10.1":{"name":"@preply/video","version":"21.10.1","author":"","license":"ISC","_id":"@preply/video@21.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"de303a415686707fa6a2245faecc9b8919b3c72d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.10.1.tgz","fileCount":1079,"integrity":"sha512-ywmQOuSjaMdmFwXA2q53ZxOYBqfY9vbL8Ni8mIJxljmBecFQ+yZdB86uBCydXzYNfyxVQtNh+7mj+Qr60QndeQ==","signatures":[{"sig":"MEUCIF6SIoTsmkX/xbdMjTgV6/rE9cCi3Zj7xlcWpWzq+AJUAiEA4fe+6eAnwWXq5xKBJI5NZQve9+CFjcrQ1WWzJfOvjIM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25298728,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkNQolACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmorjw/+PE1gPbW74Ok4meY/cefaO9Cj65NpuKJTMRJhiRh9A2YoypU3\r\ntPurcL0rXHc6X2r1xRXyS0BlksiAWd45ENILWqWmzdpWvk3/UifYJ1JZDZR3\r\nno4eFgM923A9INNKlancBHFWyfF4lVDV8aHhP9a3prYfPzuUjjzT2/ubYoc7\r\nvDf58FEGeXQKQcHp4QijZIkuqVr+/EgVEZsKicEXNFm+2D5hXf0VgT2gEGyG\r\nD8r1n2SJjnWKdu+r7OkLG/UmR5RPS4DYuhKxA4c6PMNQ7U2b1jjvyYshvFHu\r\nej8ZSp8Kw5FFY4us/qel8Qy+/1EjmyEY6ZWJH5mBQFvHcTUJKpwFeGUo8afC\r\n+XcUI01hgBwbAOXo4vNh00uyKSnfL2O0/gk/V/qAnFA6chjAHuK4SCaU4nDR\r\nfI/auj3iUvn72j0SvVHEP1Jhfak+SWfne0EQ4sLUAVzRCRMEOzsS5pe8wc8U\r\nIds5c3N/rd4NFpvsMaiQeiGoHyD9deujVQT9gbCsYiDxpxI9QpeFYAomYwFy\r\nDV0bySGdXXoEbNWjBd8HLhrONvV0xpFiucA6IsmPzI32WJ+mNH2wtIHGcSGx\r\nfLO3WmaY1EgDcJ8fu+N0DCjFPbqOD7n8RTRKtFiWdLYmSQwqZO0RDJjbCDMF\r\nJsS//qo66DbFV2VGAfWrk9rWZeBAyp+cxu8=\r\n=dxiE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.10.1_1681197604688_0.92190694433008","host":"s3://npm-registry-packages"}},"21.10.2":{"name":"@preply/video","version":"21.10.2","author":"","license":"ISC","_id":"@preply/video@21.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c39a7fde42760a15ed9d4e1fbdf9e9ecd64c77c3","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.10.2.tgz","fileCount":1079,"integrity":"sha512-JaKoDujQZNtxBIujmlvhTRDty76KsdApHNAGWDLfWxmdaRiKwReXCtJoYNnuTwtEZMWlT3bQJX6QABMBvgmDxA==","signatures":[{"sig":"MEUCIFC1CLwJZT8akmITx25cQuP0ZiQCx0dbkAaHh3xzAJmoAiEAy37GNKRzm5lYW2xAijY609fX2aGKgyljWGxTr4Wn8BY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25299711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkPRHjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolYQ//SMUd4+M9e2qUbvHdDHFTtYK4Vfefaq/vnmEus7qflrfATwfQ\r\nzbGD+cd9urqP+9BTK3G1jSB8i6mcKklrl1e9U7sOWqv5J1VMjDCM3CqZJjwW\r\nNMqMiRAuFyKoa6nfkN6Rfp+GatG/y3Mrn5nt03HFwicwbJgmqhWgJ2QLPbZc\r\nCDvmz8PRa3YZHkyx51wogkwKNYWP3LPA8xc1HRZEMdjbqZLRZWeZQpXyO/cu\r\nVay/g84RD93mCFm0bJ00FjKJzqBNW2lA4zYsUhCD0FykWwj9Sk+DqND2Wb+l\r\naLRJ2qKSC4mEBli0LNzz76MBmAP1wXpLGEYKAzi18peJyJUZImYs0e4egYPw\r\nuxftisgqmtBtGpcRoXni9MqHgip/mHyTYhjr+8vlrYc0zFCG38JhvsriGR6H\r\n5cwTUlKcWz5bRkPtcL+cm9NNdd851q9hkxKInA7pBGYM23syPcL2whbIoldg\r\nDr6WmSyx8T3CD522JFtiq7k2OKpggjLv4IEyGU+DzMNQwj8W/ksy30EORJNv\r\nvyZhVJZVUAbSfdSdy90kvzWhOOxwsF+EH/s7rONa+Tr+E1MO3iO0JingwyGS\r\nR2zPUA4+rFe+MYQTqP/jqvUU0Q7n032Rbc26UIMryha6vVZHQfhmQIgTY7de\r\ny5ZCKfvP/iOE2qZQezHE6gwpzgCob7e+bws=\r\n=nPEy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.10.2_1681723875365_0.1266007518902792","host":"s3://npm-registry-packages"}},"21.10.3":{"name":"@preply/video","version":"21.10.3","author":"","license":"ISC","_id":"@preply/video@21.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"569ae1329f7f0d371ac5f122b73d93e571d554ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.10.3.tgz","fileCount":1079,"integrity":"sha512-7EE+jvzlaF0baYquxOo0OiHxPd5AcQa7tXPjjesXp//pV30HlnKoofAGC0+SgP/4+8AzOvUn8ceQmGLrbULNaQ==","signatures":[{"sig":"MEYCIQDtpsLihCQ1YbrulktOtmtdP88AeANHFiE05Eb+q+T88wIhAO6skgkW2ePX83D1sCJHG+PRVR3Vk0Z6DRwmr/olhQam","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25301411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkP6VJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqroA/9F5ZPy8Xp4IxZjMhNM/3yfQ8nJT8EZJlvMhW0/pKstL9s27y1\r\nEgd8uJp4847bSG5leYdY8xGjYWHdnrlqRpffw1oah8ZiR6Jkqb4HO/VhMf6E\r\n+KMc6aySaGPduFtIwDbHw9745BvIFGiuP8DkVZfU53PmAMq3VXwh353ngQQI\r\ns2OzcRlcoXuw2h1H1dKe4yflvJzBSHkDffTA3FvPlTWObDwVN3pQeHlwvLyC\r\ngqFmL18K5j2L4bGv99M3nLD7nKYFgeYscm/RFaK7/CNCG+BhI6y+4+os9Hxr\r\nU4XkGuL0S680rIPwkjqtwIBOpG+MXVBXlBW/F3RQ/+dVNHIgWp3fDJpkaA/n\r\n2LiLARozE0gqp35w2NbScnlywK1iudSlS7jofGEl+rVKUmbHTSTvwrwL0DZa\r\nEvTIXX1v7sHGGObNJe8JKaG23NUoeNGQmQzDMokNdOBD2gayTTeGXrhr8FxA\r\nWqHmyrvyU6r42uNZdOLKh6+HDrxoXqEUwv8mA9jaDJOHL/8nWaw1nCb20aS5\r\nsMYqvNHFlYoGYOiBPoZfsw1OV40f+fTNQ98NLA47+jm7eX7grpN8Qb2alX0v\r\neyMXuJRrJ4FVoONYvEDjV0Rqg4X9KWjr5fvY6vesin1TOdmix0KztvCoQMkO\r\n7cwT0L6j50aizn6B29NxdHOXAp6HbMJaL6E=\r\n=HYnt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.10.3_1681892680676_0.9873618624920175","host":"s3://npm-registry-packages"}},"21.10.4":{"name":"@preply/video","version":"21.10.4","author":"","license":"ISC","_id":"@preply/video@21.10.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9ab3cb4d64b9b732fdccdb06e7b5b400f43b7ffc","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.10.4.tgz","fileCount":1079,"integrity":"sha512-BWBSlO4gWLJGBayemK6xn1tZSEHQc5ZGm3E/zSa6KqtxHaAB/4RM/4wFfaPXQrx5nBPAq0BpMGJSH608PSjjBQ==","signatures":[{"sig":"MEUCIAZhLVGJbfWIk1TQOXrA7AaCJAlRjljF0uTJonWIsoU7AiEA6QKlda4fzKGDfRkqId0wswvgbBxaHjiBJhgQaXbTyOU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25303060,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkP+aMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXxA/+LzB3JU/l6JhlMN7vG8joI8GXRUYgAjZHwv/Jmn6vHCmBGNJW\r\npAAscVNhVtdBWN0ndBUI5cUVVRJJhJQQwcikWhl2VIRYSQFpk+DqwX7BeMv/\r\nWtK5GSD6Wqg4hrPyQ+Q0XZc9kDNktdxNja31kSB+dHVUDQdIOM0KEC8+YtrU\r\n+382lRmTACXCwI0yDbV+jxfkuAO9bOs53JIBMpn2E88bEpdnxkWzYm6BG55m\r\nNpVUuNONk1hzckiLkBT1NH/pGgeK5PWCgEotknHCI1P6UnQR2PxgwZL2SujR\r\nu5dzYff+meYf8ZA/YGRG6Dne1Y3GaLxV3dQ1vffvN2Xxhyhdbgmr2oOzAqnY\r\nt/iXbbVRL88koWYAl8+wb/DTqM9RJSYIMcz101041fTqnP50UwOfTCs1k0IF\r\nvfdteE5f6R/8MVeO35JfuTy6rvSXUANUPXvdNICNW7Rrw6K7zbbkn5MXI/QQ\r\njnJvrC7O0Ki9BIVbcNsUhOqBqnMJ1bCT/Xo7HyiQwB2NFw7ij8rNzOdsv+kD\r\nNKeFqEeECdfokEWrQFH53ioGz+sr7AX0D1bFi3LKI8J6o475I+Xz+PqfXss8\r\n5yPVmRZ7Q4mPsbgM7vF46LlMeb3p8SnNqhtpzpAgHpcTssRxuZGbuB6hU4XU\r\nYW6BGDuWhYDCROYcCK9czPBtWdt/fvmsoXk=\r\n=gFmF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.10.4_1681909387838_0.9736114468542607","host":"s3://npm-registry-packages"}},"0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843":{"name":"@preply/video","version":"0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"262d5fbe586aed3a65af430d9010956f921570d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843.tgz","fileCount":1079,"integrity":"sha512-X9vN3M3wpEYv14TX5ZCKCPJoWnQ2KCK5wJCEJE4DVzq8LewENAL1zoWL2VuVLReyiIl6HmfetGTqu3eotUjLnQ==","signatures":[{"sig":"MEUCIQDC2CkJUEfb8Ula5jFCczI2h32yZxeKz8c8PQP8DbgFrwIgRFwcqaZMpDyBWukGAZs/g0Y1LPii/dN4TW4lW1YfL6Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25317051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUpWZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpwjg/9EjlV7xynFS/lvQgbc2NF+R2MLxPddogVpThx7IZMklFnXVvF\r\nHI7SVF8vJ59nA/wAG1FMZwTuHaafE2JNCERYTtD/Xkwz7i02jDnkd+50NSkQ\r\nVW1ir4LSZ4JUrHvvDWAzPqzqAZ1/+h9j9CfIxGrFo0vrTCN9FCYknPUdODcb\r\ns3QvFNq5HUUFU9uc9bGWKssI8nhXyWW2A4N+PUw+6715b4Us3kjdK9oOBmH0\r\nQ44GCWdGreCC8NtPqH6JKeXyISyDb7jKA2oqhWut8KWFIruU7ceX60q3Mpt4\r\nOncIP7kd1Luu2oVRGnilZcW3IgeecC2lFD5o2wkxojqMQ3O2QZdcqswclPVl\r\nVovpi6fEzoSp2bRhwPlasWlqCTg/8atgFQuHbosV3xt1CISX5xrH5gIHBpd5\r\nhjV0qfWbU4Y018oRoTpQvjZcG+n61u7kcOlgOpPHdrwzMIEELExwH0PbbUFP\r\nJJCXJB4/JJJha/otdvw/zISzqouG1j60/TIyqgp2LDTuUdReYIB5KxVmwfNw\r\nKwlE+CQjBv4C1/NN5MMplQ0tN7+c0hofthPEDIchmH/Icb+NfXT3PK/i8ezF\r\ncmaakKudN/CvhQlyjttgI6mCSG2ecT39t5v14XsERvnGVgNu7Qc8VkWHmmfq\r\nZtxTjWsS6y7dOud9FIY6iNN0nMSwObhvMRk=\r\n=ZsQ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843_1683133849105_0.7486243716513574","host":"s3://npm-registry-packages"}},"0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271":{"name":"@preply/video","version":"0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c60a9f2de7d275d68ddc7d84143ece49bd573da0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271.tgz","fileCount":1079,"integrity":"sha512-Wk8ppehytapYeHXaQQozXH8ycXKBdKkOEWQoaeRGWda2iiRbr54jcCtaMdK6rc1MRDGbIjIxpU2C6CJgBJ2fpg==","signatures":[{"sig":"MEYCIQCSbophyKrDwwKGdOVkEB5NL/rbaO9SaTRBFmu4e6c+CAIhAILiFg7Mxkrp0urzOpzrtUrnxS39JwqFzEhceE5XX2aQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25317051,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkU585ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKLA//dFNWO0Q/xJvvFUJmtLamJPdouuATx5B/7ynK9cZfvvJtUmYh\r\nM8aq4hgAUddL8CgKGwimp8aOG1bZ5mX9hCNaELnrBYCFWH0jx+8IbaLUTi+c\r\nS0GQqQOnCO19oTMwTn/cMqCFne7QeZX57fg9H6+j5UqyKqP9Avt4YkTL71oU\r\naeylA6XGye7G/GlmkSKUhAb/6v2RyXgg59hxRYJDbZhJvYQ6diBqi6iIlcRP\r\nU70q0v0vsE0EGDfpUblQ8OOz5LFQSlDYsMEOSKPh+3tPMpKRUavdk8CwOKw9\r\nfPCer88VHBhhv1umrOuujecOypfhu/25eRpZ0Nv3eWJ0e+Eif6jHovLvboKL\r\n17s2XMi1e1se0uZxK1VhbsqWFfwyWqzo+c2yjTdYyfYd8dgltnSsP+ZNRDrH\r\ngnxEeRbXijcrII/dsIPnz/kWKIKU/WqVAy4BW1Ttrfo9kPQUywiQ/ZTX4rjZ\r\nCbCg9aOxHU/TT8ONYdO/rXjrtT4bl+A9aPhBUb7FAeVpJ79Vodr8bu9OXok8\r\n+3qEmuOXvJlFoCau4oPn7oucFqTnTZmt2ozQIA+mXYTHb9ZxKXZaPn5dAbyW\r\ns1e50YzGUr6enuf/A3w4G29JrhGI00domcQV0L2SwOOsA5HWB1dU6T0wXwAf\r\nrm146u/bs8pT/mLI3+8/377VDgalVZnAhlg=\r\n=nWg1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271_1683201848760_0.7472740995456624","host":"s3://npm-registry-packages"}},"0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90":{"name":"@preply/video","version":"0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7fd07d1f9510c4160fec08d47aad79448f85dea5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90.tgz","fileCount":1079,"integrity":"sha512-rOlq9WlbWfyHrYOraTupAXGBmL/u7FtMEhDxZ9UGN2/zl/dXAX+/Vea9KCkRFr0csINqz1JzQ3TxhL/7SxAi8g==","signatures":[{"sig":"MEQCIFK4cFaVnYPyH0TyYDLhJ8FLUaXYCnyDOQbO84PvmPyTAiAvzxhiR7edtr7VyNOd58VQYJxzdgs6BKnG+hfAUsy8rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25317264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVKzrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMig/8CroLFYE6ij9obJMHXguu0e25zVIAs/cZwVu04cZF1tVvHep0\r\nnsSVDMXrGi3j5ysVxf3+17btr3K2wyolAAjE+AFO8R7ao8YD3tuXaz+q/VbE\r\n+lZ8RsAZNpUaJflvA/fOrwDwiehKcc0vm0BiquuybY0PkwbYAA2z3d6rqBD1\r\nKTqOeAsKEn1XEwx97oke9xlzI4NwHDZM1jCZ27jfXH0lcsUPCfVmaV/HTKHk\r\nCJSns6K72XBLVa4DbeJYCL2B6BmAtRNaqUpgvvnJph0vgfZs+QXykkOx5+1Z\r\nAGcDbsZ7Rvh/yhmkYTejE+9NnFQoJlgsHl4cgwUFRYtNc7k3kjqx/eBD2WCQ\r\nw4nZkuQWZXtIiyTzlzA0eZCDKxxiz+pWxJYN869o2yAtI2Vlsy+Cq0mnpwRg\r\nDQmBj9ODEoluup5rWkEMEsL+b6aj1PabW8fvw7TLOQx06wdedsnYtJoAcyH0\r\n1g/U5JBk39ijM7dy+w4HAOFSDy1hBXdQQRiqssxp52U9IqwFept4/E04QGTZ\r\nvYAWvVgi41zXA1KKpNaMnjq3/eJQFsWM505mxdYLgI9rmz/kHLeSpeDBDHL9\r\nj04231WFx+pHT0HaSIL8H2SpE0bxD9gMQzgjah4sBOOzDi35JB4YnYaUsqs+\r\nb1i2ggPulpWGhL1/M8hB4BWyhX2wniZ9HAM=\r\n=luJK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90_1683270891354_0.4238859307301892","host":"s3://npm-registry-packages"}},"0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd":{"name":"@preply/video","version":"0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6cd28e56b2658d94fddf10c61ef5428a7b58fc68","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd.tgz","fileCount":1079,"integrity":"sha512-Gtsf+9qtrpj8YRoZH6hLqw/nxVjv8aXoFbNpdwhJ+ojkYZxCIwteKiaIEzBRhT18PB/vLn4obJrEO3vycz6/9g==","signatures":[{"sig":"MEQCIHvDOPPr4GYbHeXeI1f3pVJCTR+xHI/o9+mRZkja564cAiBt9psMIbqsaYHPwXQ2Aae2moekpccRcA/ftqgUQcSGZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25330710},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd_1683538485029_0.3773485623556805","host":"s3://npm-registry-packages"}},"0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf":{"name":"@preply/video","version":"0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"95a31bc79b0f54ca3f99d95691429c30096853ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf.tgz","fileCount":1079,"integrity":"sha512-Ba1YfsJZZGQfh4ulSyybPtc/oCONJR4rizP8Rl6d/htGlupFybKnmNMmT+BwF62cE96buWCzt8p3GVl6npnsEA==","signatures":[{"sig":"MEYCIQCNqYsUIg8nCMgsvAZiPvSZcA459+paLAUwabVK2COs0gIhAMWgj17io2XV+KhJwZHPXI5VK/jCok/U8Z2GWXpSQ57P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25331613},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf_1683606478775_0.8356910844364349","host":"s3://npm-registry-packages"}},"21.11.0":{"name":"@preply/video","version":"21.11.0","author":"","license":"ISC","_id":"@preply/video@21.11.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2d551a75c829b31cffdce6c7a2efd47b6c30a3c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.11.0.tgz","fileCount":1079,"integrity":"sha512-4bDPd8gMQpPQcjYxKSvwWFoXdvuzMwBwRxMi7q84IsSVDb2XyKnVq8RVUCnFyAJxdoWIvsx6yaUlQiXDc1HEpg==","signatures":[{"sig":"MEUCIBFidmlOSD7BpGD9yzy0WxMoN0qZPVp7bH3J8gPbfRWsAiEAkDK3OM6FdrhhSXQHab5e2as7AkC63Vw53Pp7vqO7nzE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25329478},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.11.0_1683619513498_0.5372014700389249","host":"s3://npm-registry-packages"}},"0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753":{"name":"@preply/video","version":"0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"838427472104c9028ba212190700a71d43dc0958","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753.tgz","fileCount":1079,"integrity":"sha512-H+Rzq26hkZZxZBH9QXHWW5U8AfUplBfhvPp74Wm+qrTuCtHaNH0XD32W0NB/Qz6hk0giQJf3EnVMiVCF8HVJPw==","signatures":[{"sig":"MEUCIQCbOdWDdlzlN3Lwibd17kdOEiqjOp2qMAJmjBesIc8BYQIgTUAe/32FsiwnbZpoCaAF9MXm/fYhmXoamYXHhy06Y3I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25331630},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753_1683621404608_0.6899668474416096","host":"s3://npm-registry-packages"}},"0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf":{"name":"@preply/video","version":"0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"519a6af77c4bc85f69a5fdbf9adaebb44c79257e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf.tgz","fileCount":1079,"integrity":"sha512-FvUOyQ/KpRKD2HgInRCu38KDoQUAenGbqrsfYgM6kV8u1JQcBk4thGN9OC6RIiHlB77ieVMrCTcnR6hfD47uqw==","signatures":[{"sig":"MEUCIQCxfByz6oiTgjL4rDp8M2BbnrisxMeBlA2BL/W6HKxx5QIgYZNG82Lsv4/I+EeLlnxVq0rQuHOr+UtKdT22bAFEByY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25331630},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf_1683714933859_0.05647904681612026","host":"s3://npm-registry-packages"}},"0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82":{"name":"@preply/video","version":"0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2bd9da1a20e16dfaa94c9be898f6b4248df63ad8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82.tgz","fileCount":1079,"integrity":"sha512-mtJMDvDrW7NVa2BBpUwtGT8/83gkx7jmdLw1ZyMfOwsBqMGpGnIsJxoALkCGwPVB/uZ7MyKN2LuKFwtobKQDrw==","signatures":[{"sig":"MEUCIQDSkBym9H2754ndFIM5iQkBWhWqyGTazQ5tvPEbZE4WJgIgfB9X6C+GvO7+N+JzREuv3kf43DPJu0bDMDJf3B9/CnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323076},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82_1683726552154_0.6564458475271342","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1":{"name":"@preply/video","version":"0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c4e95aabf3052d972c76436290d8f04af0a5459f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1.tgz","fileCount":1079,"integrity":"sha512-RqJ380jKWuPs/ir2gGgAWKYy7+ht8rYeGs63F0X2e6Azei2Op8yrYnnYagONlnkG9Er/sHyGuol2QTZF8AsNiw==","signatures":[{"sig":"MEYCIQDLnQEZ2SB4/WNyOZzbK/98QkE0oFYh1jcggxIcBrM0twIhAKamaXvblCZ3baYeb4lMrszBpOyKSY05TqE4FJnr3V7O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323076},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.0","@preply/ds-web-core":"0.58.0","@preply/ds-web-root":"0.58.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1_1683738940819_0.4396262912525948","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a":{"name":"@preply/video","version":"0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c5c1e85a08946309593c86ffdbb6a12347ad47e0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a.tgz","fileCount":1079,"integrity":"sha512-b2Hd4aShvNy09H/ZMu4m+ldAqFwYk06vpFhz8TX2VsFNn/fCvaIjDHSJJ8cTTOo3p+11f8Fx/XPjyLnxIfTsWQ==","signatures":[{"sig":"MEUCIQDVd5m8zAQLwozNUaXznl0eEJbKKU3j0oGkGTJcyaW2XAIgQ7AmR5Nk6Z8xSIMl9lq8GatwwlE9Or0tIw5xiK1o5+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25327313},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a_1683788679498_0.6010064198626914","host":"s3://npm-registry-packages"}},"21.12.0":{"name":"@preply/video","version":"21.12.0","author":"","license":"ISC","_id":"@preply/video@21.12.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"81775c809be39ebed3d41888219a83b2530de741","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.12.0.tgz","fileCount":1079,"integrity":"sha512-ueOGJk68DEFhgIXBzPzd0L0cWf8A4q8vkfi0cVYUtNdeWNoqM+jZBJqgBaK2hBMuShYZ/CAYe/wG57Q3lxzmSQ==","signatures":[{"sig":"MEUCIQC0H97RNHbkD5pzv74fFRT7CvRrMH0TCHjm43XEwDXVJAIgP3y+h3F0zEX/3zAt1fQABvg7i7YXUUjVSvVgfAjvQa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25330021},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.12.0_1683792271178_0.13186184354050123","host":"s3://npm-registry-packages"}},"21.12.1":{"name":"@preply/video","version":"21.12.1","author":"","license":"ISC","_id":"@preply/video@21.12.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d190ed56e7132ddb146b7e3f541a33c78af592fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.12.1.tgz","fileCount":1079,"integrity":"sha512-+P+wG2fMnazMbquHJg3fFGEx3JQgtYqs9nuVM6jxwyegPxthpRAmvTW2eCG6EsZjnva1qFvpm5HM06x6Gt+3zw==","signatures":[{"sig":"MEUCIAjn4GdT3y/mwmeuITk+mWa9bBGVRgAzfvssI8Rs+DyJAiEAjbuLX1ry88xfkUhL+fkzfI4hmfetElwyNPzwuB3zntw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25312178},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.12.1_1683893458000_0.5134570643443894","host":"s3://npm-registry-packages"}},"0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611":{"name":"@preply/video","version":"0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8827ed9e1254c18a6544b76a7fd523aded8a5da2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611.tgz","fileCount":1081,"integrity":"sha512-OzqvEdl+9cZLytH1VZgKR+J4ZHp8Ra9NTop1OLKYoFsm7LCGiF41OANfFD1AS6KYZZ9r0TAKQhDBksirPxeU3A==","signatures":[{"sig":"MEUCIQCwUtFsZgyuto8dGqrZbV0qnsGC6XgZTK80X0t/5Kdl1gIgQJU2QTgOw5WFEO9wLETu54ktG6aBOcU5jHUY3M/XKKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25335688},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611_1684236361950_0.002101420462998327","host":"s3://npm-registry-packages"}},"0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5":{"name":"@preply/video","version":"0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1c4e6e3ece11498f14acd20da2984bbc5d80f058","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5.tgz","fileCount":1081,"integrity":"sha512-sD7MwWNoHG2fOt38o+4CDuBHnBeeUq1EGkiDcIuL9x1moVIbH851855kBiDw3PigZ4/xaqXrYV0ZldQ+iYn50Q==","signatures":[{"sig":"MEUCIQCO9caFYRM76p8Nr1RDrYVxyDjHabdVrD6xqcIUN7ZbbQIgIHZSLMt9BwYOC980EUVIdqsxnzhpRgurbnSIEBZ5nUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25335688},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5_1684239216048_0.17183490318873784","host":"s3://npm-registry-packages"}},"0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807":{"name":"@preply/video","version":"0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c56f958074c2acb01b373414fd6b1fd5253cbee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807.tgz","fileCount":1081,"integrity":"sha512-6bxfiUom3d20rIkOPfocLL1piT//foZBKohP0jlgWAaba3sl09lQtqRlfQx0MVDyl9scsTZ1fGnWf5AqgmheiQ==","signatures":[{"sig":"MEYCIQCU3UFyK/QY7klRIRc9oTWS0XQ/qfIBpHGI4epFM7zIBgIhAP85DNfzqK/7tl9YnUz0ipcKGsTmMOKvoBIoiKUnk61S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316614},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807_1684251439026_0.12481742893565495","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027":{"name":"@preply/video","version":"0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e2c2c4ae5ba8cfcd5696d23c9192e87d41684667","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027.tgz","fileCount":1081,"integrity":"sha512-9CPYD8hXN3qSKkZBLXsk32kL2t/sfpyKPpEYzutuswu8QY8Oh+Y2TwILGdHjWdBoxUdh4810ce7E5CgndziUMQ==","signatures":[{"sig":"MEQCICpqYF/tZcPjh0ubP9JfpUmdRprl9XIFGo1tvqZdj3v1AiA531hoapD1IXfZDSttXuslUZD1iYQAHFvhV+GOuWvhUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316354},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.57.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.57.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.57.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.57.1","@preply/ds-web-core":"0.57.1","@preply/ds-web-root":"0.57.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027_1684253202943_0.7481733691818844","host":"s3://npm-registry-packages"}},"0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9":{"name":"@preply/video","version":"0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f848a1a1c942169ad239f5a17b9695657c7620de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9.tgz","fileCount":1081,"integrity":"sha512-nlGND79UDA62xMZtTGQqGr5k+mOnThDyLnm+OQ1bh1FLoIrY3kRqHLbV9GelBPGGJKAOahdTMr5g1bJonELjGQ==","signatures":[{"sig":"MEUCICyt2Fgn5p8k6kpkMQeEOYANjfg3fuN1u/4zjOc2DuQIAiEAqhlfepw4UrCZmNQ67NYimPCScH6xAaU4L7EZsy9SJwE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316354},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9_1684315577320_0.7705575900219945","host":"s3://npm-registry-packages"}},"0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7":{"name":"@preply/video","version":"0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf0c386febf03fc45845b667923130c123da4ed9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7.tgz","fileCount":1081,"integrity":"sha512-aF2peYD3S0BPsJZQ4fefd3XgomWNbu+s4CgsSJh0TiTZKTDMXi4nZTvX8tobYpWhmxcIk2Q/CoLdPXeZH2PAmg==","signatures":[{"sig":"MEYCIQCkoN32XchmyBeGuj5s9TwZY1Ns6tpbzYJcZfYWP5ED8gIhAMAkW1B5HhNxOKmVY6gbFD7mdHdNM7PrSHztfE8C2odp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316948},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7_1684320494897_0.41481737870289104","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710":{"name":"@preply/video","version":"0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"40b853a7e26a94707b868917ff769c31a017f6ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710.tgz","fileCount":1081,"integrity":"sha512-Kr8sewCgMWf8CRvXSYmo6Rm4xa3UBpWDBJbgSaEwQWUetPCOmQ6Bfn4QqSZBQlI5UrwNwtabZtddyzOO+VH6xA==","signatures":[{"sig":"MEQCIGLZA9zNdZBqPePJE3ZWvjVCR7eLzLEpnpDRzJo4iLYzAiB9iBfRJXvOaWOKYTn/9ePnGxsYg9qSmWyZR0dGT20wAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316948},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710_1684325749978_0.07510179619863","host":"s3://npm-registry-packages"}},"0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4":{"name":"@preply/video","version":"0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e22aa15afc921d68e2d866eecee329f330f6586d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4.tgz","fileCount":1081,"integrity":"sha512-o5D2A6UepK483MCJrLqamCLB/wvl0MXxnPINi3spBjg8jFTgN+YNqvhCyalheoKejrp6dP/X4GfycI6XkhV+Gg==","signatures":[{"sig":"MEUCIAdEbugNTtOFdbppm30E10JaWHQiuuG+xHoWO8UUpDtiAiEAskFsi5o80glpbk/w3AYPI6biRPgHlXV8oGFHjM0Bp1w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316948},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4_1684332221266_0.4189291208010737","host":"s3://npm-registry-packages"}},"21.12.2":{"name":"@preply/video","version":"21.12.2","author":"","license":"ISC","_id":"@preply/video@21.12.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e22721d1dcbf3a3cb3dc2d2868d680bf5f6db25b","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.12.2.tgz","fileCount":1081,"integrity":"sha512-eq0D7w8yLw5p6VmlFyYIT7DUjqCzW5WiPOLQh5wZ/sBdzQI4+5c/lhhfPV+9SSIE9g8+duEDaNkNK3/d0kEGuw==","signatures":[{"sig":"MEQCIFFyQROl4wfI3zuGGlAKFfHc0pFkJKvYhB04bB9YcUvYAiAumofJb1iMJJP7j72qVqUDh9vijVUfN/FAbTe1yZiy8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316473},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.1","@preply/ds-web-core":"0.58.1","@preply/ds-web-root":"0.58.1"},"_npmOperationalInternal":{"tmp":"tmp/video_21.12.2_1684421615841_0.05659693574344482","host":"s3://npm-registry-packages"}},"0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3":{"name":"@preply/video","version":"0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bda88f123bf899a15a93f01ef424c5d012d0b5d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3.tgz","fileCount":1081,"integrity":"sha512-mlGCPzVJtlUGuT2ut62JXk6tWfWrxtgUB1gW+BJcx8/47UFy+XmlwCqPY4ARE3ncLRb+BEmMUX2WF/5OOiOxrA==","signatures":[{"sig":"MEYCIQDCNKYyOMND1ar7SHsnEQ8sXke2OzcW1VqmkEZkPgyjOAIhAJfxQ/xrKG17ljZzW4dJ6A5fvG8n7/131HAlJdFoA3kx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25318625},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3_1684482833272_0.24282566773233216","host":"s3://npm-registry-packages"}},"0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6":{"name":"@preply/video","version":"0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"76ba1c5d3107ac0f50a2abf50137a960f51d0fe6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6.tgz","fileCount":1081,"integrity":"sha512-csOE3MRo/AuvEe5zomyfN7ak1AdXaH1V2ys/oyHNNaah9gbLU/5XcKNQBBZhLq7q3FgEth9erpk3KWL5xViLRg==","signatures":[{"sig":"MEQCIEDmzFfhDLmEKp7TdT0C01W7mGrfkLavbevAD7sFJsRHAiBFlDXG1jALYo0UL+wZh6jKGWE391OTCZBr0Elp4aMH2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25343959},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6_1685534372607_0.6584537106758264","host":"s3://npm-registry-packages"}},"21.12.3":{"name":"@preply/video","version":"21.12.3","author":"","license":"ISC","_id":"@preply/video@21.12.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ddeaa424f2105b170b89111ed4a901999836f931","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.12.3.tgz","fileCount":1081,"integrity":"sha512-Uer1AB0UB+vy+m0/vUsRkAaOYCGn91BIiQGaThQbMYL5A39UVu9nHbePwtw5AQTYdWzn87FpSZo5M5eKHOcIkw==","signatures":[{"sig":"MEUCIQDfxLSLedmoUvNU5BoeyUH7xCbAH+GzN7mQTusmGrmUQgIgH+4flbZu1k5jLqpEP8wjsVyLG/Ue1tPI6fHDK4e5PHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25341925},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.11.0","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.12.3_1685605877891_0.3896895613999143","host":"s3://npm-registry-packages"}},"21.13.0":{"name":"@preply/video","version":"21.13.0","author":"","license":"ISC","_id":"@preply/video@21.13.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d51e625a17b3e6266d21437edd0d473e47dc789c","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.13.0.tgz","fileCount":1081,"integrity":"sha512-XH7G28AjwAAVx32cAi5+Wp9oaY8/Za6VSDUmUqfE9qlJjiiU3p4LaCaBRCAga8edhhpn6b2Rrhmyyzq1xFozSQ==","signatures":[{"sig":"MEYCIQC1y8kxXvRnL3zQYyEBfrBSevmEWLlYCTsVsLmWrCM45gIhAKPsCUMVFLN3LS14K4KS9H5xssFx2zuREKrxvdc0rPr0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25347202},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.13.0_1685631598025_0.02423400702632117","host":"s3://npm-registry-packages"}},"21.13.1":{"name":"@preply/video","version":"21.13.1","author":"","license":"ISC","_id":"@preply/video@21.13.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fde15685a589f7055d39f55fe23f893aa266cf83","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.13.1.tgz","fileCount":1081,"integrity":"sha512-/ZJKS8Zy2WQVqX50a34zwaf8g8Vw4oLUvdwzWzE1x3B9XqPtx1XUfBsZEb25EoVR9/yKk2AzPaawsnkAT0gN5g==","signatures":[{"sig":"MEUCIQCjmdgy1fHb8eXLO4v1TX2So4WTD20aw4RImH5/IVnnpgIgXWB1gzNAHgUh+1tewvbnziIp4TPy0UvKqitfv5nG8wk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25330175},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.13.1_1685709610389_0.5505003472390217","host":"s3://npm-registry-packages"}},"21.14.0":{"name":"@preply/video","version":"21.14.0","author":"","license":"ISC","_id":"@preply/video@21.14.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d86b6fb572e10ae52ea1c2810df2d53b115f6347","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.0.tgz","fileCount":1081,"integrity":"sha512-+nB0jINENmUsB8nEKPD93fZzltrOoyGeKjfszTtPyvK3Hz0l6OZbjvjWlKu41nOA6pYlbR4KL1aSp1fbeUUqYA==","signatures":[{"sig":"MEUCIQD3p+hO50nev8ybsZJXnwKzeGcbolp01oNP1Mskqkph6AIgDoF0babRbGtI7Oy+NGF6iH+HJdprbRG+F1eo5XK1HTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25337605},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.0_1686054786859_0.7412561491899574","host":"s3://npm-registry-packages"}},"21.14.1":{"name":"@preply/video","version":"21.14.1","author":"","license":"ISC","_id":"@preply/video@21.14.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"52e0c082340239db83765e5907b85aff452f010d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.1.tgz","fileCount":1081,"integrity":"sha512-tgqS/dFKC7xmYMLR6YGDcgVKGGKDX8RnKLqJUxRL7D4Ji+LZyhBXsAQAJXk4zr9IGawfogl1htXdbOU7WF7hAg==","signatures":[{"sig":"MEYCIQDAgCD2bYZFPwCWgvItkPbMOO5pIkl4gXJ17CN/PCmt8wIhAJDdGFeD9q07HQTWatNvMd0U5XPuwfr0qY/lax1rDMwa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25347165},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.1_1686131006510_0.41385175953582665","host":"s3://npm-registry-packages"}},"21.14.2":{"name":"@preply/video","version":"21.14.2","author":"","license":"ISC","_id":"@preply/video@21.14.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ab50303f94cbed08d5ee7aa5ee006704049dc7c","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.2.tgz","fileCount":1081,"integrity":"sha512-PRRb8aCiteydH6eDGI1EkRpQ65SOiaKR+/TVWbYcrT+vLiFrwG5jgi2B2zMQWsdUcHy3Qz+5rQP/7JxNMv5XdQ==","signatures":[{"sig":"MEUCIFzxbfl0loRY674uEdvRu+hIZdPuLDYgFkwE242M4o10AiEAosUYkPa0jysuJbWa9lPrL5nd4AxAUDRXJ15Nmpiv/0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25347421},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.2","@preply/ds-web-core":"0.58.2","@preply/ds-web-root":"0.58.2"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.2_1686234789415_0.30408812017970543","host":"s3://npm-registry-packages"}},"0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e":{"name":"@preply/video","version":"0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"49768ced4c824227100d9bf695e540f640a73eca","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e.tgz","fileCount":1081,"integrity":"sha512-LpRQRGIr5XdDX99NGM6Nhl5pKqngzRGyf9gsdA25TLJbCo3kWsrqEbyXSRK27sg6Jru/J90+rakRXPwQnxMy8w==","signatures":[{"sig":"MEUCIBQXq+MmRXl+NGBqpD7brW35Ab5eLt7H7HCHD5+Lz9EFAiEAqrxZNPBdrINbBANjFoU+ABen/Zt9DajX/XcLPLswMxo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25412917},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e_1686742977107_0.6103953568290286","host":"s3://npm-registry-packages"}},"0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145":{"name":"@preply/video","version":"0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b5a8ffb298a5a52b89acc829204996c9e031ea8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145.tgz","fileCount":1081,"integrity":"sha512-xwKJSQuQA3mMVKQNpIlqBLmyKFVwvj1J3z7+SaAPAtlJeXNxQSD5umrZIsuSXjRuoY2KxeB0DcPqSMOWcY0BIg==","signatures":[{"sig":"MEUCIQCo+YjjZS2ri7MMjyuo6b9xBuInPlBYz78hkDeK9jE+VgIgXat55qoRDAtViijoPoVDzrenDmqBZSzNrO9/rzjD1Ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25417401},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145_1686747811645_0.9443120573673738","host":"s3://npm-registry-packages"}},"0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790":{"name":"@preply/video","version":"0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1707822b9f701c9eec9a34d6329390fe2aee2334","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790.tgz","fileCount":1081,"integrity":"sha512-l+zUCktyQDIveMXdanB3vc7Jg3hYbmUJ6sZKqdzGQqQLDEx1pE5q5hAACspuJ56JFZIbcp3RP9ffk8otLtAXbQ==","signatures":[{"sig":"MEUCIQCT7V8ekor9kp0CjHwnWXI1gc5eYSipEE8ewXi+QvBYswIgF4nQ8oP7y/Ph0tSPrjjkFDhl4G02WRbQfQOh7VvH+/o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25417216},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790_1686846416294_0.46579714133559214","host":"s3://npm-registry-packages"}},"21.14.3":{"name":"@preply/video","version":"21.14.3","author":"","license":"ISC","_id":"@preply/video@21.14.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c60d788367adcaa64f8023337144a9140586a4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.3.tgz","fileCount":1081,"integrity":"sha512-w6aridBlaQ8GjaYi7o+nrxWktx9slvgPJpB+i7m+/HvoOOHRB0cVnnBHmzMirs3AnKwLoE9Uolkg+BWyC9MD2A==","signatures":[{"sig":"MEUCICWIe9uRWIdlqA3W6aFlFFa9SWFg2GBlY5npvWd4/3kAAiEAoeZ/7S5NsdcbEafwzMqEzlANx6UMHPMvvLBpyqHL6b4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25418210},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.3_1686918002287_0.32700747692825427","host":"s3://npm-registry-packages"}},"21.14.4":{"name":"@preply/video","version":"21.14.4","author":"","license":"ISC","_id":"@preply/video@21.14.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"37e309ffb032ee5a9fcec3226e2cbf51c9d3015d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.4.tgz","fileCount":1081,"integrity":"sha512-qsW3rJUgGePGy7jVugKjKMD796hx00gXscxIWoy03yk4a0au56gBnmeSZ+IUVfJAHfrgrjqRR/qYJQwj3eopCg==","signatures":[{"sig":"MEUCIGqPyWU3lmnvdcVrje9spDo+zoJifKao+CcSFPyahR4GAiEA6hz2+Q6TPpa4xczpoCAB2eOBZIoee30BnuxOk5edVrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25422783},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.4_1686923953231_0.7776594755999264","host":"s3://npm-registry-packages"}},"21.14.5":{"name":"@preply/video","version":"21.14.5","author":"","license":"ISC","_id":"@preply/video@21.14.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"19f6dcf5757157d9138b168c88610f05c93237af","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.5.tgz","fileCount":1083,"integrity":"sha512-G8lQJqRHqnVcvYpmyfySUCap0OqZtDGOdrQVV5mxgfa+xxPvC8Vwv7cpDJQi3bxwAu6hY2Pdbrgs67ECOq7CTQ==","signatures":[{"sig":"MEQCIGAiT0QMpx9IiPJb90ZGj1f3IrYu++UVofzWqClCatQuAiBk5LpmCjWk/OAoDtNVTRJiwAwUFsytIKwfpFVSE1hS0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25440760},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.5_1687517974006_0.5585792951723738","host":"s3://npm-registry-packages"}},"21.14.6":{"name":"@preply/video","version":"21.14.6","author":"","license":"ISC","_id":"@preply/video@21.14.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9cbd2c59cd9d602aec68114dfc1705e145dcbc4d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.6.tgz","fileCount":1083,"integrity":"sha512-euovBF5+Qu8G1WI/RmseIPy0OAXUZwjDohW0dKsrDSnJN9cYlgwzPRoKKkgBMSJUW4ZpY8y1+2ZAWDbQLqkiZQ==","signatures":[{"sig":"MEQCICSeBGktdK8RXyGWVOCLwXiwS1YLg7KDaTRL3soMa4rvAiBR9UFop/oqGUD/7MLew86fGjaYJNyXxk5imZvlLC4L1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25506252},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.6_1687769080604_0.3616135841511676","host":"s3://npm-registry-packages"}},"0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501":{"name":"@preply/video","version":"0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d43fdabff567e1f3826bfae19b32ffa71c26609a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501.tgz","fileCount":1089,"integrity":"sha512-jF0uHu27vcQv74RHf5nm9CftE7PUJBVGeuUKWCLrsjbe3s2kXT2RnseJuycFiaUPb3uJHFd7FBQFrbw1RaZhUA==","signatures":[{"sig":"MEUCIFxJ5WXTqzSDgNBSVDVXj22lWdbiB2h37+h0X4YEurSgAiEArR/DQwjgwIgkCB015sMLjjSyXbsW3iS2KT2XJSUN7PM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25567301},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501_1687775322682_0.24934221115420896","host":"s3://npm-registry-packages"}},"21.14.7":{"name":"@preply/video","version":"21.14.7","author":"","license":"ISC","_id":"@preply/video@21.14.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d2bc7479f1e7c4c95534f04a672f9a4e2a693b0a","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.7.tgz","fileCount":1083,"integrity":"sha512-CflcpWKmTPVGSWTVamdPB6fAitgNmkwDPBjb/vFFSZI3vr4Bs/N03UaC28Ze4ueLy1xnWAVtt8jyNuHvQuqStQ==","signatures":[{"sig":"MEQCID5Qngk51B/eBryx7vR3tWiBWEfMjil9eIBwkChzxKfKAiAEe1uKcW3lQzDh5j4kQZzZs742x5ScLZ79L6O3i/4Qsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25519332},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.7_1687777336637_0.3285131749024428","host":"s3://npm-registry-packages"}},"21.14.8":{"name":"@preply/video","version":"21.14.8","author":"","license":"ISC","_id":"@preply/video@21.14.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a4111391258bed010882c0259516f313a1af1533","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.8.tgz","fileCount":1083,"integrity":"sha512-KCW6oBFHlDATXqMCh2rLWefANyjA8ECHvMuwaIzxGN4WFO3T3UMqlmQo+uTVwvp1zBpfQWcCD5kJdCgS7xqrjw==","signatures":[{"sig":"MEQCIDEkAC2cUYjOR6TUJPUH/bhgn46TzFgAfuiLDFyye4EZAiBm1uicctMsXlb/SKZG9OR/P0wmgATt953hjC4nVbKmHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25522474},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.8_1687780287587_0.7725096216988874","host":"s3://npm-registry-packages"}},"0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4":{"name":"@preply/video","version":"0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdb5dd0b3c6ad5b4bfeae48fda5140b056d966d8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4.tgz","fileCount":1089,"integrity":"sha512-wxgdDskTV86BePj5a71OO1R9UtNOMskSU/w2JkKkk6ymVC0zS31zbCUPl2lkqOH5YcsfEKK1qd5KAHQSt6tphw==","signatures":[{"sig":"MEYCIQDM+0UXKxtsKa5AxmG9l8m839e5HSR4tVJJsR1rErltFQIhAPjDRB5KS86yKbWIMMlgGbuVxtbHcw2vIDvk7J9xP/+0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25585156},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4_1687783915885_0.7728644931498265","host":"s3://npm-registry-packages"}},"21.14.9":{"name":"@preply/video","version":"21.14.9","author":"","license":"ISC","_id":"@preply/video@21.14.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a71f8789a60687f42cb45acbe6e70ded16ed46e","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.9.tgz","fileCount":1089,"integrity":"sha512-NHVD7uQlExgWW4k8Yucxs4lYmLwV4xHKnDob5hb9kbVSwpBWBExtUeEViMlo0CJjVkVuD1QcSCP/oS/bPeaptw==","signatures":[{"sig":"MEQCIE1iElje3YMDP1vprgy9FSZZKFnGf/rgzfM8gIUkuTMkAiAc/cewCTIqZZdgd2X+fpabIU6qbBfUU4vU4uVhwtxxLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25583004},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.9_1687788178925_0.6160982715136336","host":"s3://npm-registry-packages"}},"0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819":{"name":"@preply/video","version":"0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cccf37f35132fba18d72537ae2acb983db40e0fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819.tgz","fileCount":1093,"integrity":"sha512-0I6258x1no4XG8YIEA1ytT+/HbPx4w+/wSH+CCDP9QGH6SZC8tAXQHZheOuN1GAwgewgcghVTOrZJaT2HI2e3A==","signatures":[{"sig":"MEUCIQCdEC2poawGpeuskXBX8K5ba87p0s6jR3KTwBH3NU1aKwIgLP3oQLsW1gZB8HX4hNQXGUC1zOZqCYecJsCgNILNWRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25643591},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819_1687795047732_0.31611115845401816","host":"s3://npm-registry-packages"}},"21.14.10":{"name":"@preply/video","version":"21.14.10","author":"","license":"ISC","_id":"@preply/video@21.14.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe266e5342afd477299bed4c069e4cd73ca52192","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.10.tgz","fileCount":1089,"integrity":"sha512-VHwADYfXqeY6JKJZsANBcDt1p1P05dnkMO/qqjFMcoltMxz5Sh53VxhVXcO0VHovkE7Am2rmosSkd2rAZxv9sA==","signatures":[{"sig":"MEUCIQDnc8nocXtDdDlACJBXMucIGK9CRk+iCeCAVkSflM8JxQIgAfvkHx2EQQz2JWje8Wqd36Pa1cfk925c4D9rEM8jGB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25583073},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.10_1687796181731_0.2917085322529587","host":"s3://npm-registry-packages"}},"0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4":{"name":"@preply/video","version":"0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3e7b864abbd451eefbe1ec734b160242ce395f95","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4.tgz","fileCount":1095,"integrity":"sha512-q6dkZrb8TJD9uZKURamcaRlzWVo9d4IgoozKjyZM0cAFjq8nS5Apet8Lsqabgtnvc3cVb5LioLCDQWXlWoGzMQ==","signatures":[{"sig":"MEUCIDSLSkHVg5XyUSP5+945Wo71KNL0th9dt92LL1Pz39lAAiEAkqoKfwmgk1/f19kLJXvIj8rYI1ks+NNGmrWfbbwIjTk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25646299},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4_1687873289315_0.3567014336502432","host":"s3://npm-registry-packages"}},"0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f":{"name":"@preply/video","version":"0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bbc8c82f59281be07450cd7056cf226f947e622a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f.tgz","fileCount":1089,"integrity":"sha512-WSkNjG9r6IXSiTULgdZpk55UgmcMxr/xRqF478thM5NmLVOIzi0oHQsRVLiWg/QgOPCglSxhWA5BAGGeTcw/xQ==","signatures":[{"sig":"MEUCIQDD7SNDzMGw9+NR9JaUzWQtLBNAQCUZdqx2aw3wehehcAIgevFazksjpirKeHOhU10CS6xa8B8vQKZ0jPNd63W4AGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25586949},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f_1687873735957_0.23921142209997326","host":"s3://npm-registry-packages"}},"21.14.11":{"name":"@preply/video","version":"21.14.11","author":"","license":"ISC","_id":"@preply/video@21.14.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82f4068e32ff0fefeda56fa3b79727578c734d29","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.11.tgz","fileCount":1093,"integrity":"sha512-8/2TjwUeVUtg/G5K37JA8ehnQu+liK2PY3et/N11PnrU+L053y9y0yhGaDkCTD00TVJX7lFxwmOUPvN/h6EcKg==","signatures":[{"sig":"MEUCIQDGB1+FYpxZbwxQwg9uRHmYMxPqKFf+YUkltiPtxDFXZgIgICPtKlFuqOqbOXi8XBli6ncfnvv4w72NmgRgKFptbpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25641583},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.11_1687874236639_0.4332983813069866","host":"s3://npm-registry-packages"}},"21.14.12":{"name":"@preply/video","version":"21.14.12","author":"","license":"ISC","_id":"@preply/video@21.14.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"950ee17811bbdea93f48f2434be9b55572f59e01","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.12.tgz","fileCount":1099,"integrity":"sha512-qn3VicEfHZhdGf69EcU8WPLVvU3L37A1shf42xU/BPmdWy4d3dLokQLlUy4pmeZKVxbFZwi/IiSXeEo8qowzgA==","signatures":[{"sig":"MEYCIQDco0S8NUAVVsNPGKpYkrFca2J+lbCBTeo/W9fmLrjPfQIhAIWgthxMXpinSX0QJpmKquqwFioLxJ5OF3B8QSa/V0XZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25705729},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.12_1687945422316_0.25681181038629486","host":"s3://npm-registry-packages"}},"0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70":{"name":"@preply/video","version":"0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c948885b124a0f0f89be12a2e966788b2a85825c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70.tgz","fileCount":1109,"integrity":"sha512-kN2IW1NBN6PfqLxS7Ki+ykIuqT1Uo/LW3TmhdEXU1BJdgqu/8SxPEhh5VffebKOBJASopYXGQGPaW3nqXEdt/A==","signatures":[{"sig":"MEUCIDpMqTTTGgZPWNm43ZJkCwuFU9cbczHNSkeZDKBORdpVAiEAmj3erDEeDsiiqvrpfpmUGxM66rlYrH75kgDX6iBYc5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25817306},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70_1687945965863_0.3267097587100454","host":"s3://npm-registry-packages"}},"21.14.13":{"name":"@preply/video","version":"21.14.13","author":"","license":"ISC","_id":"@preply/video@21.14.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"933bf5a64804fd12a72a23187d06db28d4eadb5f","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.13.tgz","fileCount":1109,"integrity":"sha512-GcHzmWwYUKwyu47Ppr+IcEJN3qWpQDr8NH7Mr+tk3Rgh87AUlAiqtZUhs5I/w2mHf4EETX3tISKwKEhLJUi5OA==","signatures":[{"sig":"MEUCIHgjfey45Sras+LIHA0luruXea3rjfSKBtfNt8sqrz7YAiEA/KamYfjsMklWlAo+4b+kthDHE7QPnyfaG+3/kiSVwMg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25812571},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.13_1687958760535_0.8351247646985929","host":"s3://npm-registry-packages"}},"21.14.14":{"name":"@preply/video","version":"21.14.14","author":"","license":"ISC","_id":"@preply/video@21.14.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6631f6ff483d499cb02801d094f7a344c1927c29","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.14.tgz","fileCount":1109,"integrity":"sha512-oZYCZ1X3hGT11nEiWhgV2muBDqEdXtbvrmJ9HzJMHPBlt/NYlln1PwCsFDbfZ1tKGI+3WMuWzBIipFRa/nmUTQ==","signatures":[{"sig":"MEQCIDx0HhV2OoFMO3Zlv2VfLy1A5CTmKg5YNsQfhFrl/U1gAiBlJI2MvT/N/fUs2xU+YNWX1FcqYkvrAfc/z9+4IVGpUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25813458},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.14_1688024960870_0.58019737813117","host":"s3://npm-registry-packages"}},"21.14.15":{"name":"@preply/video","version":"21.14.15","author":"","license":"ISC","_id":"@preply/video@21.14.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c5402c9eea29f813c26afd0e48c4fbdbba93461","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.15.tgz","fileCount":1109,"integrity":"sha512-n70FDSkPZafE91mSD3ZW+AqR+WPsivoQEU3wbAffvw+/pNcdh8IwD0k307wPbyQkJsqZ21zaLlDpwgPLMZdlqg==","signatures":[{"sig":"MEUCIDl7oH+rFUYHmbbZHzXIgUettKkwSerpLostMugST0vRAiEArSAMsniqUlEBvYJhARWjQBgX3VYhcgNJgF6yap5jL0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25813832},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.15_1688028235435_0.2648812290150777","host":"s3://npm-registry-packages"}},"21.14.16":{"name":"@preply/video","version":"21.14.16","author":"","license":"ISC","_id":"@preply/video@21.14.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9af66502a8fedbad336be15934d0a6c64f8cdc50","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.16.tgz","fileCount":1117,"integrity":"sha512-fjsc7gfAZktO05uWiwJT04R7TBEm3b+LYKqkwDLILMJBXGcQPDsPpRKkCpsG5QHDn7A4BcLLsqJIDvOlbOcD/w==","signatures":[{"sig":"MEUCIGQQwYsqkra0kIIzyV6NR0c0oqoSfjgmrYWFXVfk79Q7AiEA/gCNO/sRYuOtPFqz6H/M0bd0BsINYhHapP+Rv/1vZuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25905725},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.16_1688121757111_0.8358418341594953","host":"s3://npm-registry-packages"}},"21.14.17":{"name":"@preply/video","version":"21.14.17","author":"","license":"ISC","_id":"@preply/video@21.14.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e7c66e7a9c74723fd834e2f2ab6b3ef0faa8dbe6","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.17.tgz","fileCount":1125,"integrity":"sha512-s6DQUl5DwG4+op7Sb8Rajq5dRN7mHl6y6gUT/dQIVKOVUYG3f98xLrOM7ek7dGnRxhUb+q62/c5692xsG3J3Jw==","signatures":[{"sig":"MEUCIFoxuipBvhbFqZ+d/MUrQVMd+PvisTK0SzVKAi9s1tx0AiEA4QuvRJH8zlkWlFDK5VjkxDBFIqMlKec/1+b79x3A/MM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25996691},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.17_1688122253117_0.5004945888391121","host":"s3://npm-registry-packages"}},"21.14.18":{"name":"@preply/video","version":"21.14.18","author":"","license":"ISC","_id":"@preply/video@21.14.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"46b67d2c8279656fb19f1a52f010409c1fc9a8eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.18.tgz","fileCount":1125,"integrity":"sha512-cpXzd6K8K7zlMNIIvsbUxFJbCFz64L42kFrkhc11M13HMIdkeVdkuC+91aUY9/GcH0ddphW8uSDl0nOzyIMmDQ==","signatures":[{"sig":"MEQCIBZOoNP1kWjqdfylr58FexelfqJR4vC329NifKnWvUBsAiAqr0EEbSHiRN+cFd/PmOIWKrFN1LGCVLZExfQwiWSHRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25996713},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.18_1688126377341_0.8308919823607996","host":"s3://npm-registry-packages"}},"21.14.19":{"name":"@preply/video","version":"21.14.19","author":"","license":"ISC","_id":"@preply/video@21.14.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a475f0675856e6f9186e69b6f6b037a365212a7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.19.tgz","fileCount":1129,"integrity":"sha512-h2emJoepkgFw8VWq8AnBRu8lds45dT/+ynFd/y3sREMqPnA5m93IIZ1o+y5wwSGT9/iou1aNPHdWRI/V47+a6g==","signatures":[{"sig":"MEUCIQDgpo34kS9vnoKGf2+cWXl2rkpfIU3nZkO+u2YNjSF/1wIgR1SRXxaXVEOJIXtddoQsVpKz62b+J61yQ+NyuYSGqCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26046642},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.19_1688136438166_0.6554718318310719","host":"s3://npm-registry-packages"}},"21.14.20":{"name":"@preply/video","version":"21.14.20","author":"","license":"ISC","_id":"@preply/video@21.14.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e721ea814e5d4fd90f579ca0f3ad8f019bb0a2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.20.tgz","fileCount":1129,"integrity":"sha512-tOvT6dgPvJIp5JNFlzapTl7bQl+KeHpY2gvB5TiqPm/kZ7/uGC4Wejr2uCY01mT6aBSB7Fg08H7ujjNtVHdi3g==","signatures":[{"sig":"MEUCIAIufxYK5OuV3rB60iD4NRdsKMLAaKFfpVjqY+3J7VDVAiEAyELOGtVSOjbEqdR5t+fjz4mXLXQJEaNuyoZH/MsDvJk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26047510},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.20_1688376118861_0.7422747500033611","host":"s3://npm-registry-packages"}},"21.14.21":{"name":"@preply/video","version":"21.14.21","author":"","license":"ISC","_id":"@preply/video@21.14.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0becd55b7b6162761042333d33e7e65aba99e0be","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.21.tgz","fileCount":1129,"integrity":"sha512-pBEj9YjAcSrX7J4gFyX0DGDKbPqgFyfTK0iJo7F94AXo5/cmFypTYy5REfZ36YKGpSiCMLnwcVnLS8DPfKJVSA==","signatures":[{"sig":"MEQCIArHxi+clD0juKtvV+q1pizEaWWQSwRC7/H1hVJEcd8ZAiAcSqGuVGh/znosL5m2ac469nlPK28QIZzaWeE7IVi/AA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26049993},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.21_1688456006060_0.7108419994743869","host":"s3://npm-registry-packages"}},"0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c":{"name":"@preply/video","version":"0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4acdce88b89b7a8b3d37a22180b5f9d0eea02650","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c.tgz","fileCount":1133,"integrity":"sha512-r57Kl8vCofT0anr8syhs2IC6eGf2/vl1ks1ktI6amfcSyvqrXs20QW50Gk0IVFKESpLLMhr4GiENiguxxzXU/Q==","signatures":[{"sig":"MEUCIG3jAMMfxRx/R51Os3Y1Hv+yrgcYiIn/VOlxvs0D1hDTAiEAkE+A19g0UdXOJCg3LiBoxjZlAORs42YuEfdR/zDaXoc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26082689},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c_1688487119495_0.6177334787320996","host":"s3://npm-registry-packages"}},"21.14.22":{"name":"@preply/video","version":"21.14.22","author":"","license":"ISC","_id":"@preply/video@21.14.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"db46e9210d9c06267d41ba2b1fb517b1d268d0d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.22.tgz","fileCount":1129,"integrity":"sha512-ptOz27lYaUAt/WnJoQZPZNlr/Ao3Jn7bZhE0h1WhSdJxV1fEPG08bVT/VHFy2h7RekTN7wGBHKdzInG3hrGsJQ==","signatures":[{"sig":"MEYCIQCzzv/1TuuhXdOIigiWxOE/QIYPLNcP0oDvdNuWtLJKQAIhAO9m8QG5Ea3T9q2CA0mRLNKYil80WjcXZkXw88xf2qUa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26051803},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.22_1688542813924_0.5129297272634001","host":"s3://npm-registry-packages"}},"21.14.23":{"name":"@preply/video","version":"21.14.23","author":"","license":"ISC","_id":"@preply/video@21.14.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"41bd08531e4a6ecd5d6e788932ff518980cede4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.23.tgz","fileCount":1133,"integrity":"sha512-AD2MoTGMl7qPwbj8DjGZgYDKQJCmWHuFrqikigXx6JNZxhBniEcK68isPqVN+cGeRH6uZRJfispGQZig2w17qQ==","signatures":[{"sig":"MEUCIA4im97oXys5S0L66ffPv+U7keY3asNxV+rsNrJ+VJDDAiEA7qIKfywe/CYKUxfkMQO5McnGwKq32aPWl3Qq+agRSEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26081101},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.23_1688553259996_0.26818856863462304","host":"s3://npm-registry-packages"}},"21.14.24":{"name":"@preply/video","version":"21.14.24","author":"","license":"ISC","_id":"@preply/video@21.14.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fde74f0ba661f0397647910c17c6cb35fce5ee4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.14.24.tgz","fileCount":1133,"integrity":"sha512-iSlb+eBX4yiUSl5DAi3AbwR5DHAQLUWDkqQWOR2XvLOH0nfbBT60Bwv8c0iM+g//b2zepsM4vapO6UI/5O3DBQ==","signatures":[{"sig":"MEUCIAS381pFoJg1mg4YxG427yUcYaOjOg2fO/K0ox9mSRc5AiEAzewRPQ7XqHiEKBSySP3dtyLlTVt1UJyOlR5o7g4pZkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26074464},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.14.24_1688631540558_0.5587699104792199","host":"s3://npm-registry-packages"}},"21.15.0":{"name":"@preply/video","version":"21.15.0","author":"","license":"ISC","_id":"@preply/video@21.15.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ca61901c0f431a1b74bb15825cbea1da16293065","tarball":"https://registry.npmjs.org/@preply/video/-/video-21.15.0.tgz","fileCount":1133,"integrity":"sha512-6nuMAzLALg6wwdOiLl2XFulcIH9pHKWhgt7pFyK1EHVQj8H9ue+VzcOtflPHZegAByXpPgbT0IPbiSJ+5TNdEA==","signatures":[{"sig":"MEUCIA+FK0Lz/IuNn/KCHCvyiHfw26+4jNSLsFCGqwPw5yv3AiEAixRwBhYy/Qi+/+ikIQbnYNSd93o5BOFW+0IMc7KOQNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26082130},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_21.15.0_1688721787351_0.7637159335474999","host":"s3://npm-registry-packages"}},"22.0.0":{"name":"@preply/video","version":"22.0.0","author":"","license":"ISC","_id":"@preply/video@22.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"76ae3cc860604b27ffa18da0c717dd0092641566","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.0.tgz","fileCount":1133,"integrity":"sha512-mvukIrdyloyN2GFeC8iGislIXzy9R8yw9cJ/1BdAWp4yjJWMe8QMiNYRNDnxESV5PdXmLpBPTOtbX2wV9UHVjQ==","signatures":[{"sig":"MEQCID2PZLkBkGrKRBMWk4w5z+E0TB8CaJOhLONI97KdI5KQAiBKluAgiJHX42S8dygzkp/5WnwicmGRl2FzlsKwcNx5WA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26085406},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.0_1688993634145_0.47987800752443643","host":"s3://npm-registry-packages"}},"22.0.1":{"name":"@preply/video","version":"22.0.1","author":"","license":"ISC","_id":"@preply/video@22.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"791def48b6e440234bf47f0fe2a105bf3118791c","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.1.tgz","fileCount":1133,"integrity":"sha512-dtwtL50qkeacY0mnPmXWrPBa9ok3bxCTIdzusc0MavMuTZarcD4OfwbJPdkMWNivursJicoZCXJH4cjsuWTa9Q==","signatures":[{"sig":"MEYCIQDwi7ISE1orKW3Tl1nfVpJxJyyoRh/33G5MJzXCOiL5BQIhAJXlAu8a4cl8s4UC/ZahDvO2fGQGyHrQqNP629tvvO2g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26085952},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.1_1689080231160_0.7718333983364192","host":"s3://npm-registry-packages"}},"22.0.2":{"name":"@preply/video","version":"22.0.2","author":"","license":"ISC","_id":"@preply/video@22.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b17597ab348e08b87921ecd1caac92217a05a118","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.2.tgz","fileCount":1133,"integrity":"sha512-dfkVCuZAdeBFWSS6OAFBjH8SLuylOKfayJGrWDgeQHY99bAKCyGcOBkaPtdu2+8EBnPUA/41F7MZL3G6hFH43w==","signatures":[{"sig":"MEYCIQDe6DLW4AzBNcqFEx+09Tw6I5PIBq4ZaF7va94OjqBOqwIhALDTIPGjX1ho90IP8QXjSQkVtlLfSgwP5tWpEnuIirWI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26088250},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.2_1689159863114_0.5188043502807245","host":"s3://npm-registry-packages"}},"22.0.3":{"name":"@preply/video","version":"22.0.3","author":"","license":"ISC","_id":"@preply/video@22.0.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70336ba2b87185af59b80a29e9e744f120bf4479","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.3.tgz","fileCount":1133,"integrity":"sha512-T8ai7aC7bYnUiS6K+TWPMLiqNUf3NKmNAAYvHW2JnWDDkEHEwDKONArW8gpGJSD9ulFz6t4n1pBrkG+afLrnFQ==","signatures":[{"sig":"MEYCIQCJhTci0LGE658RKcNimjzKiPpaEPtyANEVJGNrrw/crgIhAJ7H0esEndnzofJKLl+H1h/cL2XXYzL3qpIpAOKehi1W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26096389},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.3_1689592689868_0.4742903026359073","host":"s3://npm-registry-packages"}},"0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83":{"name":"@preply/video","version":"0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8aa6d806d846a786ff107e9a02eb51a4b200d311","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83.tgz","fileCount":1133,"integrity":"sha512-RKF5MaSjuoXiHhzYhHltqoxtXrS2b2oOSHTDTuoyL+/JcfRoW0scs41/lmsHt3AH2pHGdCk6J0FvH/xV+KvIKw==","signatures":[{"sig":"MEUCIQCgG86vHpBU0PSwdIxdI6sXwBZWt4V1kcDgc8VSv1wlRQIgU6hiYVoZ3WCgxgO25DVLHl+L2cmJVwHf/Faaj2UxIaw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26086309},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83_1689605944284_0.5990151671211574","host":"s3://npm-registry-packages"}},"0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173":{"name":"@preply/video","version":"0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"15fa8d540c166d420db21a98054d56a88125934a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173.tgz","fileCount":1133,"integrity":"sha512-JI3mn8TEYEvfqxvAnarDgYvZJOu60QHBIset0dZAPjXY6flVUkmtENp4+N2sdIvgmPWdAQEal27xc51qEcg7+Q==","signatures":[{"sig":"MEUCIQD41YZ2ZMh023iVXWqBjPdiM7jKhjv3Xy4RLBJVukBjDAIgHazG3jIxxvyfuYK2/iuwVmj0nI7E6Q8ZpQc3Yj5tutQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26098610},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173_1689606989084_0.8811003084221911","host":"s3://npm-registry-packages"}},"0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971":{"name":"@preply/video","version":"0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b39183bb8331a39ff0ef0b19b748ffa32aae36d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971.tgz","fileCount":1133,"integrity":"sha512-O1OrJskaOzjSJUtx4co7dbyFTKJGUqv6ch9qyRYBqs2CB7fbddlZD95bvaI8r5DRQsekTUHFgzGl6M5+/Aitdw==","signatures":[{"sig":"MEYCIQCEWSyhhb67wMKk87sTa9LBuN7flaYQP+WnV9aexl81HwIhAMEMb+209MTQimPX+irfBc9d0m/BUmxH7B3rEhbzQ3y5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26098610},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971_1689679526555_0.2350038023730734","host":"s3://npm-registry-packages"}},"0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a":{"name":"@preply/video","version":"0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2502e8e9e3993efbac6b2911837cdc9c1769bad7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a.tgz","fileCount":1133,"integrity":"sha512-oy7QZlKW5pyUY6g0a/BePofYowyaFJVzP5JHejtichsJL01o3ZBGEzvPd3ouOYUV2JFOr5j97G0TMF+KOXCIwg==","signatures":[{"sig":"MEUCIFGyEfJBXdfqZHqa9GpEbj/RLYlA07xL1aTWcdppnJ3/AiEA++lVcJn7i53OyHceVfQ3IOQ+02w9f0yBzPJC5xPOvs4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26098610},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a_1689679974663_0.8996746511212217","host":"s3://npm-registry-packages"}},"0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082":{"name":"@preply/video","version":"0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b83856930cc3577db82f788ad32c867b4c51905d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082.tgz","fileCount":1133,"integrity":"sha512-An4A6jDgayYdZR2xueh/Ubmh8QSSyzfvVEN5TZ7+KB0Q5Rn2pMu6GUXIgn2pfOK4Bc8mxX9YI+QD9A1CokWN2A==","signatures":[{"sig":"MEYCIQCu8T+0l+uYitZZmqnsrKj+XSn68ezQrNebLu+41O9/aAIhAJ+HbYjpdnjyWtjs3m7m2+7A58j6ofW3dP9DpESSdVBK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26098610},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082_1689685654325_0.35293987340214117","host":"s3://npm-registry-packages"}},"0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f":{"name":"@preply/video","version":"0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92ad9577302f4b396a430a151b4535b1c3fddc59","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f.tgz","fileCount":1133,"integrity":"sha512-elqqLYtzz4iSP9eFuvf+wAoURwecDv1FclB/Dj7JdKCsrZQauPw6Tth22mqqpFqkuEN64g/SRKlHbYiubi9yhQ==","signatures":[{"sig":"MEYCIQCpG2RtVIokfaAdSDS9d+u7Rd2XFrFWgX6tcFGS4x1NHQIhAKGejRSFfJAtDQZ0y0zCzP7zY2KG+s4VoDE7wLhz6Inw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26098610},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f_1689687287467_0.1518515369811948","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e":{"name":"@preply/video","version":"0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6ea420228a254ebcc61bab317f3b707aa4e1350d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e.tgz","fileCount":1139,"integrity":"sha512-pAQdBq9Yz4ta4AheFsiNLCwRX26TgagLYYCbZaq5WkKwy351rLvk1xbPdSFFhwp9EcPMxX0KQTjpwMyKcnVWzA==","signatures":[{"sig":"MEQCIFum8prHySkBdjI0P0foYTwPyQNdUcNUU0q+K9D0e8xPAiBbeQ6zqcIeTeBSeSWCNRFiefwUBV/OEIuFdob2YiHVCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26193658},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e_1689690729021_0.026964975769943722","host":"s3://npm-registry-packages"}},"0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312":{"name":"@preply/video","version":"0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3f1b4660f4a638fb623e6fd4d81aba0f8b022032","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312.tgz","fileCount":1141,"integrity":"sha512-oQo/jNH6O/ridIiR+C+xR+xg54e18kvK+DU1fCjE4ZtgWFCQqtapwhSRPhlEdEWKwOjQ7k5Cbtnm42WpPS2kLQ==","signatures":[{"sig":"MEUCIQCNFIYyh9oYAWzUxahg8GgXdpk2ypMFgB3bwA1PnkPkAgIgSndjxd9aqzssdP/cCGRuOcT9l69IADST36Q893ORoH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26190816},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.58.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.58.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.58.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.58.3","@preply/ds-web-core":"0.58.3","@preply/ds-web-root":"0.58.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312_1689753115577_0.2008744834639875","host":"s3://npm-registry-packages"}},"0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d":{"name":"@preply/video","version":"0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"40f9ac6f434c41efb0a2d5f2bb6448bfe9aa8ec4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d.tgz","fileCount":1141,"integrity":"sha512-WwOhmeueG2Nn4uBWQTjpDu0hRz6a8jb/fkenSgqe6BByz6FrAQYGmCk1q1nXWpmIuw2g5YnFwYf57YNHwx37WA==","signatures":[{"sig":"MEUCIERa3eo1LSnIcjxDdb4vBynjUp720tG0GNoOCU6avYKhAiEAjEWgeM7jgFbpRFlJ+/9o1GoBSxZ4NpXbv9pW4UpyLS0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26200655},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d_1689846533889_0.0060049419330425735","host":"s3://npm-registry-packages"}},"22.0.4":{"name":"@preply/video","version":"22.0.4","author":"","license":"ISC","_id":"@preply/video@22.0.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6cfb5ed07d8cea85fbb26c69c10f7d342e2d801b","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.4.tgz","fileCount":1141,"integrity":"sha512-eAO26urwrR5yFEYoccDN7YGAizrAireOcUWwpJhhxWVNCB8igqQHUyhTl4zxnCaBXvwvvbeBqEN8FcfBFXVhrA==","signatures":[{"sig":"MEYCIQClvgdYyONMLkDyKax+bKtTklBSVEUAZEbkeke/y9BTMgIhAPwcvz7fYBWEIHwmReUCqGhzSxfi2wC4LX1qOadM3HEq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26199106},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.4_1689857929247_0.3178233456994297","host":"s3://npm-registry-packages"}},"22.0.5":{"name":"@preply/video","version":"22.0.5","author":"","license":"ISC","_id":"@preply/video@22.0.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4f9bc74d7f116a18109e4056e7966f566e988a49","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.5.tgz","fileCount":1145,"integrity":"sha512-Vq34ypx/9ZBP6S6AR38h1g8RWQBwB9uNRpeMyPUfKO52st3bgyfDSMs9Qip8KUc3bw/XTqjkp+oetemejw2xgA==","signatures":[{"sig":"MEYCIQDr77gYohTmFnHPY0Ii3U7GDNGrkv4qQj8YHc1Nb5Di6QIhAOTZ1njB+IJ2wdt+o0/n8QLSo6NPCYQBLpScCyEmqpKJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26260781},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.5_1689929735940_0.8015622024003024","host":"s3://npm-registry-packages"}},"22.0.6":{"name":"@preply/video","version":"22.0.6","author":"","license":"ISC","_id":"@preply/video@22.0.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89ad825538c9cf03ae3aeed117ea6dfaf5581138","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.6.tgz","fileCount":1147,"integrity":"sha512-b8KobU7B4rUGcK1IHrQEd4+tHhtD9gtUFTygB28H6nF8AXL67p7C7hHWb8Qtq3uIWZ4BAHgdw+KwhUofFMBUXw==","signatures":[{"sig":"MEQCIEqVigMX1jF30mhzTW2z37fGf+DOHPvGIdh6IGD11+ZcAiBkImVduFf2oOnqC4zno7lqCkIIrSbJwTCZsstkAp7Abw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26302999},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.6_1689934005801_0.8772007816148102","host":"s3://npm-registry-packages"}},"0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b":{"name":"@preply/video","version":"0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1e4dd0cda2a9799a1a44d56dca9747a67f5a8b34","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b.tgz","fileCount":1147,"integrity":"sha512-NnBkCNGAz8GLH6SkFs9vLjE9Wa2ojHqn8QY/L5fo7hNXgXrW1QVe+2XR+PGsVqLRxlaz4oHH8wTqmUbu4p4p+A==","signatures":[{"sig":"MEUCIQCabvLSw1jC/ZrGCFWkMFPJTtb2UPjZQR9H2M239gheJQIgCbPddxM2cOq/lhKaTclyNd2v7gvcejCkHm8+lUxaX0I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26275742},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b_1690282734612_0.36640572215570777","host":"s3://npm-registry-packages"}},"0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678":{"name":"@preply/video","version":"0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b63e9a534fa9616c67e3dc241bf1632d01807132","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678.tgz","fileCount":1147,"integrity":"sha512-xy2p1pvSyxX81L9yF9GY8tS9hxSJ8hy8QXNCKcEAUH4VONqtDzmwjM57fphR5CYTH+56gjAPAbjezC4Kfr7d8w==","signatures":[{"sig":"MEUCIBh1+5pkmESBiqaVcHfBN5Og167CJN7e5IzZO24vLKkPAiEAsn68TpX3SBReIoNdbSTh6+2l3RBV71/MPzuCheidHmA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26284191},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678_1690368211489_0.7342703750803325","host":"s3://npm-registry-packages"}},"0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746":{"name":"@preply/video","version":"0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"222a9fcd199ddf2480668d782db729ef88e73c65","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746.tgz","fileCount":1147,"integrity":"sha512-4eCP8qbZ9SVsQnatqqqHW5HDQz4jpNnbI3XjMeLGJxQde1VIGE9ttufzGmiwPt7a0xtFkOTfmBR2iuGklXF5Wg==","signatures":[{"sig":"MEUCIQD4tvpgPWMi1xBqhLB8TqG7IBd+2AnRI/6bcJeal2eTxQIgTKezKPF+5O9THl4WQEdb9+A40BD4UwQLcifFsZuOzQg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26284191},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746_1690375429245_0.7173022202033887","host":"s3://npm-registry-packages"}},"0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741":{"name":"@preply/video","version":"0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cba24ddbc60fad627a1e913b57083bd90ec5c95a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741.tgz","fileCount":1147,"integrity":"sha512-RATATl7abqiG85g+Ge1xA5pDvxPgG8ElP4SUvzShji3j+viqEE1yQSj9gNklo/dF7EON/dZ0oyTMs9Kp6isnzA==","signatures":[{"sig":"MEUCIQCZAG1aNvS+wAfc/eRIw16GF2HpMpQ/rnAUbF3pUVn0XgIgGvfu5bmI+ACe3E3iNzFUK3CFivWzKzsWx5V3eBYlvfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26323381},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741_1690455234424_0.7878657001084239","host":"s3://npm-registry-packages"}},"22.0.7":{"name":"@preply/video","version":"22.0.7","author":"","license":"ISC","_id":"@preply/video@22.0.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc8149e20e44d3fe0ea6bf784d20a93a02e0e125","tarball":"https://registry.npmjs.org/@preply/video/-/video-22.0.7.tgz","fileCount":1147,"integrity":"sha512-n88xk+lhPbpYbxKJMaJK4kbOL+/v7uVUz3zgorUDEeHPqUscwdnLwBw9LMbEv0/+vkN3ddEWJ6Z8yfhB4QVHLQ==","signatures":[{"sig":"MEUCIQD8dAPNPL8Lz56njp4oAuX/969c1v4eGToRPQM7MOe2WQIgISR/DE9mn7kHhHGTTKEO5Zzw2N3tKfnC9FySZxsWMq8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26321160},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_22.0.7_1690473904079_0.9319027595259297","host":"s3://npm-registry-packages"}},"0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500":{"name":"@preply/video","version":"0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"935d742849c9adf0ef27f9001c96f71959a6ba0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500.tgz","fileCount":1147,"integrity":"sha512-EFfpcCfBI50ytSvZTAcQXYWXaQfUyODU/WYEMAH6vStcvNZyWTs+fgSOl10vLQDrWuLe1CHpZX3mHiRp/BWYVA==","signatures":[{"sig":"MEYCIQCR0wYE0bSq7aFod+08bTL1frpTz46K285Ovmn+fo8qwAIhAIIOzVOpf731CIUa6QLD/tT1gEBeR8cYhnzV2vWa1GFK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26323381},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500_1690544912398_0.12192959154614647","host":"s3://npm-registry-packages"}},"0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50":{"name":"@preply/video","version":"0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d58ac93eaf5bb4d798522009cf179cd9eeaa7cc7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50.tgz","fileCount":1151,"integrity":"sha512-7lh6ZcFjiy9xIH5We7Q1H8iTuFO9XZjLfWX0ZyEhmdKJfuqjTZ4WwAR2rB9/Tq9YBL6ZIJc1JYjoX8aUkHeF0Q==","signatures":[{"sig":"MEUCIQCTAI9bpKa2/YVjZd4eN98soxyFfdINvoU0EiPiuSkqBQIgGiJNfIgnVPs+uK3wtBO1mLr7K8L6/yRt6ht4L6oKRTc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26358098},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50_1690557912372_0.4280305282636938","host":"s3://npm-registry-packages"}},"0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce":{"name":"@preply/video","version":"0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ff77ee9816290216a9da956fb892d0087c73f0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce.tgz","fileCount":1147,"integrity":"sha512-fRGzIG4IvB22l5Q4lS8V3h80B7DSq2lN8gNnI+jcqMAgl5l9sc2l9wgldgkTZIoVMXUCimlGZbLTPmzUKBQfrA==","signatures":[{"sig":"MEUCIQC0mW2GHQV178weRCNXVUU+s88X3omxTG9pFnwg3kYLzAIgWhDQ4dEcjqdJAp7wV/3+vbHatp4POBFsfcvPN8xBJbw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26291963},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce_1690793321520_0.15684579480409955","host":"s3://npm-registry-packages"}},"0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46":{"name":"@preply/video","version":"0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a7578449136c1241054f2be6ef745f73bda291b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46.tgz","fileCount":1147,"integrity":"sha512-2gIGTzSMaDjbqmwN+TwjhLmMWNft49+ssNFh3aCbtA1Ottkp30Z+IrXqNnV48EdpSJiSbsshBv64iEOGezZ7Pw==","signatures":[{"sig":"MEQCIEsefMw3Mxa7C8IKnrGYdqbk6uTTIG165G7F1DLHAkOvAiBTwG5XICrp31svDccEnvqXhvSwXSwIJfXH9WPI68uxZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26292507},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46_1690800191076_0.910656829201312","host":"s3://npm-registry-packages"}},"0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751":{"name":"@preply/video","version":"0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"57095bfd2b652109ce317bbb7aafbc588d7ce396","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751.tgz","fileCount":1151,"integrity":"sha512-BhhhCJg5w1ygCdPQzpOvLisdvh7YSRYFiLKOvP9YTHybnLgXpHj8oEBl9xYygh93lUFFnPSb/jKuS3InTYEn9Q==","signatures":[{"sig":"MEUCIEOVQuf0BcQfCXcscC+/9S/9nvYvZfibXSvSeH7T+DkaAiEArj5Mye/IfqToD/Rc4VaFwC8A048YI625mz4UcaDEbR4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26384326},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751_1690808472082_0.24363844816150704","host":"s3://npm-registry-packages"}},"0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1":{"name":"@preply/video","version":"0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2fd414847a6efedf36967231af5189e8740d60cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1.tgz","fileCount":1151,"integrity":"sha512-/ZLj/vSWmHEykhxqKp0lNWHlltBdG3+SllCibq0AvBGGiNYDQGiwDywprROAPqNOnrwCMJR8ZYV8GNpbjqjhng==","signatures":[{"sig":"MEYCIQC3cffsp2C9KYIExmcSe8e4qg1FXQAWM+r/sbqq1Lg2RwIhAMaV9S0MrAKmbm6EYM+i1ayDBiAT6DwGNAi+EQf/rOr/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26383986},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1_1690814367611_0.4877856318074063","host":"s3://npm-registry-packages"}},"0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21":{"name":"@preply/video","version":"0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8886c258ae118c736d8550b0f45c6b3ec95868f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21.tgz","fileCount":1151,"integrity":"sha512-2+mbh7wQyb9tDnDlGQqH7yrKlRRGIj/bsqFvb8fRaV76qQJPIY+8Jb72f5YhUZqFUP/CaWE1B5xk6izQnOU41g==","signatures":[{"sig":"MEYCIQD7qXUeMsY4ApEIhYZuCg9wOOUD9ojsS4ieEL9RnDMAiQIhAJsOBc2k/Kli4nVi1zKTlLnjEzM6A4VfYecVQ4a5tpWL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26385764},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21_1690877556013_0.17978594767140788","host":"s3://npm-registry-packages"}},"0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e":{"name":"@preply/video","version":"0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bfdc0c9194b391afb4c97c883c6a8be0c1d5e317","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e.tgz","fileCount":1147,"integrity":"sha512-U9RXY29n5dJj7I99pe0vIinjcTXa2HeG4BH6hVBQCHDzU0/qmdwC4SuDdg6wxZ4cX40AZZ6FW5SlGDkaqBj6BA==","signatures":[{"sig":"MEQCIGKzSGE6AHKWsGTP/DalFQeCz6jUDrU9uZaVR0edoTQaAiArUsdN0ybLXBjjlTfPaDKvOWWFRlYlR3sHmGqAs3ERVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26461536},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e_1690879046412_0.7652697311064041","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4":{"name":"@preply/video","version":"0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2fddaaf76bcb76fd7f7b311a8645d343a390e384","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4.tgz","fileCount":1147,"integrity":"sha512-VN5U8vzUXE2xK2GZUZOmcI+hy1stsqaW+3//Cx5yrmuyrA1jEtad0tuDJPDrGhL8HyMljynS5sN07XY5AkuW8g==","signatures":[{"sig":"MEUCIGiyTdETUjzpkLdahNO3Fso4dHO20RuDh519Uh6oLSpiAiEAuDeQw4JYiv5Lg+zbSnWuTTeWSO0DEdiOT1Ul++oCZZI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26477621},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4_1690880766612_0.631669625974018","host":"s3://npm-registry-packages"}},"0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd":{"name":"@preply/video","version":"0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"68c0d3720eb4c7b6ca2045d3b7e7f8024342cd82","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd.tgz","fileCount":1151,"integrity":"sha512-KgFI2L2z2pvIHdOqfa0MMCGoqdgLdTGpW73Cb1ZXclTHBkbXgMK/oOEOgYxm+6YskXcOWsyG5r12pHHg2n14Fw==","signatures":[{"sig":"MEUCIQDtUWNJRM8M1tUjT6DGBD7kvwj0AkpDu19HsdRp2Ppg8AIgGjQoCVdFwCyEoKTGe1om+QqPSKJVe/DfDjC0Ci9o5IQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26387943},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd_1690884745812_0.6392976882383481","host":"s3://npm-registry-packages"}},"23.0.0":{"name":"@preply/video","version":"23.0.0","author":"","license":"ISC","_id":"@preply/video@23.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ac715608106dc2b020ea06e70fb2ee8404fb2282","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.0.tgz","fileCount":1147,"integrity":"sha512-2AjoV7HiJ22Zybw7kYt3MfKyz9TNmSmtVBboSFMRQSeRLOHHjbCg5puNkbZrlT/udQYhm12kvA5OugQF9zodNQ==","signatures":[{"sig":"MEQCIHvekeHPL28y4hhPsBvUZVcZAoytjbeiaG6e2OA6hdTaAiBjmp9s/f/GT41l0ojSmx7IgUeNLOIODvke7kN4qTIJ4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26475400},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.0_1690891711868_0.4313613286651865","host":"s3://npm-registry-packages"}},"23.0.1":{"name":"@preply/video","version":"23.0.1","author":"","license":"ISC","_id":"@preply/video@23.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d1534f32b52c95fac8dec4c5e835c2be810891b9","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.1.tgz","fileCount":1143,"integrity":"sha512-NfQBn6D9Wda+OazZZ+xZFPpayNwrBHfF1aTZtLuFIqPPbKPz6o4FR+sA8XOh3aPeNOzXt0CsWJuwrymuQierRA==","signatures":[{"sig":"MEUCIA2hHlguQFxUzd8yZ8WwTGWa3emtNlQGDXq4QbEEaUI1AiEAygfddI8TKgjivANjaFTr9RCx2zlId/dU5AgauK0r93E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26366912},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.1_1691049652683_0.7062886079359909","host":"s3://npm-registry-packages"}},"23.0.2":{"name":"@preply/video","version":"23.0.2","author":"","license":"ISC","_id":"@preply/video@23.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b5a4d04d3198089e0958a2d4131d9adc00386d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.2.tgz","fileCount":1137,"integrity":"sha512-EQDCpm2cYJ/qv2J26zJ07YtkW4rFHdOI261req7Y6Kfher3nX0M2qQaNPj82kYkufC7hAoTqtmoIjbA32zDupQ==","signatures":[{"sig":"MEYCIQCR/XOcFxUjL+nkjLL0KYzTEOOpDkEHjZgD1Kd2x5UGNQIhAPXWit+L2ZbCIyfuH77u5KFh0e+5tGEkLi/ECkkoSts1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26000195},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.2_1691062111845_0.9289959982180058","host":"s3://npm-registry-packages"}},"23.0.3":{"name":"@preply/video","version":"23.0.3","author":"","license":"ISC","_id":"@preply/video@23.0.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"feffd4991f66af75e02084dda3ed080dcb7c0e35","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.3.tgz","fileCount":1112,"integrity":"sha512-Hk7fN07CWbKjJksWsDzM3Vfh5xp6TQvX7AR/A9q9f4o3S6lyg/2GfdH5UJeOP1eifTdP0OEMW44L7moFyYL6+A==","signatures":[{"sig":"MEUCIQD8X5OQQ8SDi4emV8+RuSZWO8kpKE2rMz9bwV2EVPeOyAIgEaj9qpFK6dMfbQjUc+XHPGaA1Z/XuBS2015KjytrpXk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25798430},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.3_1691134098934_0.9971248914098316","host":"s3://npm-registry-packages"}},"23.0.4":{"name":"@preply/video","version":"23.0.4","author":"","license":"ISC","_id":"@preply/video@23.0.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35b1e86eaf9bd0f07c720ebaa992c7a9a914149d","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.4.tgz","fileCount":1112,"integrity":"sha512-wp2CWUHMWCU/qbx1rQrw1wrnBjai2oU9LvGnbCLcBG0y9nZ3EL3bJ0wkrcsC5fIsE3Fjlxu62iayZwrfA+auuw==","signatures":[{"sig":"MEQCICXJ4kgsyP2HR5TX2rG63ZxCP1CPGRxGbxsOWqxm/hlLAiAMfDNpoqPtMv2ykaimbJCAsZdmGvlHKCYqrE3rSPZ3zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25723902},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.4_1691135370320_0.552088354687394","host":"s3://npm-registry-packages"}},"23.0.5":{"name":"@preply/video","version":"23.0.5","author":"","license":"ISC","_id":"@preply/video@23.0.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6161c20b457316120a1a9371ce9e5ccc97380936","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.5.tgz","fileCount":1098,"integrity":"sha512-38eAhzcifqW00753oYTrkRxqIsXfXE5psy5UGozcsIWAWZql0EBf6TgcrdPFkHN/6+idpNi3zLEMCW0nEPIj5g==","signatures":[{"sig":"MEUCIQCkZoJ2J6e9Z53XiYoqV/wjXO2uotkwkR+grODycxqU7wIgSy2p7h1eL0Ld5L8wrgiIaCcXSUjAvGpwhliJIxoqWWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25720691},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.5_1691143156326_0.4006307183952642","host":"s3://npm-registry-packages"}},"23.0.6":{"name":"@preply/video","version":"23.0.6","author":"","license":"ISC","_id":"@preply/video@23.0.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f26ab1b87a2139d9d23fd118d8e46b9f9b0286c","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.6.tgz","fileCount":1081,"integrity":"sha512-xs/k2X83D/Q9NcuVcD5XLlauamd6spwOz4+5WG8TggyHcigJeycbU6BE9nr8ALlSiVDyUbaSupk3MLcuzDDsPA==","signatures":[{"sig":"MEUCIQDObKAV7AwSvwymIoBYyNoPAWJB1ZQin29cmi4mQ3O+RAIgAtpLhv48MkXtu8C4ouF+4HhJESv3NcnfGJM1fyDqKso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25687877},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.6_1691145193099_0.166030412271716","host":"s3://npm-registry-packages"}},"23.0.7":{"name":"@preply/video","version":"23.0.7","author":"","license":"ISC","_id":"@preply/video@23.0.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cafa7a397a15e3092a4cb035dfc4b38b8c2a16e8","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.7.tgz","fileCount":1081,"integrity":"sha512-qAaBkRnaDTrL4gAtoF9BVy0mSq6oxfB4mOJZ2XvSz9DaCT1DoM82A984ZJ4qUEzqr/z8Mgm4j2xvRoi6A8Ghfg==","signatures":[{"sig":"MEUCIQDNqae/vSztZL5HGIinm+Vq3T7bKffP3flpvSIBMjKELwIgBNVyUvtdv/i7xm3MWm8FjIZHiYB+yLIsYstPpYtn8lg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25651700},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.7_1691402867535_0.2635368492756751","host":"s3://npm-registry-packages"}},"23.0.8":{"name":"@preply/video","version":"23.0.8","author":"","license":"ISC","_id":"@preply/video@23.0.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"59437baf8991507e4e94e43dd5b6712dd07552bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.8.tgz","fileCount":1081,"integrity":"sha512-KNqDXe7Eelj+5Esmq3Gg96atKFKRsPaonXDLPteFKeMxUQf79N4VOYm+hokQ2CPx+jTBcRO7B/qwHJUfuhGUlQ==","signatures":[{"sig":"MEQCIGCkm+r9VeWqxlpfiKq7INy56zhYKLiXyBy/absb0KUMAiAUkwRAFoe4WLKyDbs6y0HnoZ8y5Qz4SbwKlNrM4uvJHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25655861},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.8_1691421912756_0.24141947068834568","host":"s3://npm-registry-packages"}},"0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def":{"name":"@preply/video","version":"0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"723269fcc673eeb3a49c9b129eeed6b3d7134313","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def.tgz","fileCount":1081,"integrity":"sha512-aHqOEQe9MRsSTy45W8kOlQLa6OpL/P1BkvOiyafN/CkbUfDpRHSlQTlO1Lq4HmpPhOo3p7si190GEq+tJ4pEMg==","signatures":[{"sig":"MEUCIH0i6SM3z5sEaFuk2DW9p7PUV2+pyXVMyIXUOsFsDMg7AiEA0u93MPlpgiLtXCp+mzq6EMda6fVS/0bjn3W3BJ63iKs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25663448},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def_1691425352610_0.4213168876396267","host":"s3://npm-registry-packages"}},"0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73":{"name":"@preply/video","version":"0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"69053f69a5e350759e67d96101cdc75843b3df44","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73.tgz","fileCount":1081,"integrity":"sha512-0VaEnW/L3BDCF7C/jKbpXnM8pYappkBzk2KMtNgiDBR9665DOOoCg07CkmRByH9iEkLr0EoHADZyXOHVqrjh9Q==","signatures":[{"sig":"MEUCIQCrKeK2YwCknyN3mgbTbqRV0KGJNVMCgcVOxMThm+gzawIgaKkNLAUjwKHBPVnRXL1IpPEZJ1ASiGc6yFNS3xoHgYE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25659996},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73_1691485342234_0.9033415223909962","host":"s3://npm-registry-packages"}},"23.0.9":{"name":"@preply/video","version":"23.0.9","author":"","license":"ISC","_id":"@preply/video@23.0.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"add1e8bfc0d7647c2161173768aba9b457a059b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.9.tgz","fileCount":1081,"integrity":"sha512-0avR+wSY4k8vIqwHJdwtT68pfoWD4DjdBTryN3Y7AGqvUCvAV3yr35pRiFjr1lMsxx4h61t1JIwaPmDYTwilXw==","signatures":[{"sig":"MEUCIDJJiln30QyL0bdsSViXTYr27FZPx0W5SSbH2ZT//igpAiEA1YbsiNze5A9TvgIMSNGjsncwMgcZkizeHFmI+FURG5c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657775},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.9_1691499331517_0.05415028071103278","host":"s3://npm-registry-packages"}},"23.0.10":{"name":"@preply/video","version":"23.0.10","author":"","license":"ISC","_id":"@preply/video@23.0.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c587d6840d6e6bbd487bf05c9775f9407b7c842f","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.10.tgz","fileCount":1081,"integrity":"sha512-CD7mVWhbdAeF6rW9CgXrVaihA1OS51qtl9Ed6r/KIu8P6lLRHCVBv53EELS0wfWmAt4LxHGT/NJQjdWKBj1c4w==","signatures":[{"sig":"MEUCIA0FkJuJ6bq8Mg92OEWf0NJaTc4kqvEcwOjhNfZVWNwxAiEAuUuTw4xj56GN8HbfFOi22ppx0Q0HUWcQHQ7sW4y2O0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657844},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.10_1691506141891_0.47647399611875896","host":"s3://npm-registry-packages"}},"23.0.11":{"name":"@preply/video","version":"23.0.11","author":"","license":"ISC","_id":"@preply/video@23.0.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d5d2268e10d80a69c98a62ab7866332b062356c","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.11.tgz","fileCount":1081,"integrity":"sha512-pN/nFb9s4f+sMFZJUhfXFR3x08adDDo8FWqvXlCKeXXMNjBigB79nnBnE8JPLoyJFn8hyVKRjeTtbiP4DohnrQ==","signatures":[{"sig":"MEUCIQDa4vrS3s9wJiENSz0xHya71FOq2fRyfiHqyqUjrBNDBAIgDJfbP8gvazA8I/sDRH2voriaK1GxcjEbWF6W4EuFuhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657935},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.11_1691587760379_0.0970879974986889","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26":{"name":"@preply/video","version":"0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"490122f53af640db3f6284d2667f3b0ccb48f6cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26.tgz","fileCount":1151,"integrity":"sha512-nzL0runkOXkm1PHejKIVeRW3KT62PjsZa1WdZVSU01yYVEhTx6gDGyVlNKILrq9InUmdM5MYNoug/XZuKPx8iQ==","signatures":[{"sig":"MEUCIQDs6mSsohxNuVfRbW+NLl2ARS34+0qysPxCP3ul+4Iu8gIgJYzTHnQ7sLqtarp8BJekx6v4JrrAR/ZLau96qb3ZTmw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26387943},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26_1691663079198_0.11761178336547129","host":"s3://npm-registry-packages"}},"23.0.12":{"name":"@preply/video","version":"23.0.12","author":"","license":"ISC","_id":"@preply/video@23.0.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4174c2aef394194093e33792fed678dcb9ab1d76","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.12.tgz","fileCount":1081,"integrity":"sha512-qTnIqhVGChanSZIYyaCTxPoGm5TyWA8mSFGO6ypBjxTImquq2jqFzX76vU1wDVH2/RZXCchcV/8pqn/X58izaQ==","signatures":[{"sig":"MEUCIQD/gahr1ykg3uBG8lKiNyotmv0SamCkylFJPEazC0K6RwIgS7ywreNYIUqFDe2EBN4vDI0T1+iVIooocagLgKPtfsY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657951},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.12_1691666498828_0.9530644426884911","host":"s3://npm-registry-packages"}},"0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114":{"name":"@preply/video","version":"0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3ab0f8f56607d1def70c5a0cc551cd687e12252b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114.tgz","fileCount":1081,"integrity":"sha512-lLaGmKUlWMEgnAVTsMiRQw8J/1Ue2gcSS5zI+OY3xFsK+MoTju8Oi86726u9lz8NB0vAe39llslwfhFZhptv8g==","signatures":[{"sig":"MEUCIE6ZaB70sDwjwW19bGuUX5+BAtXqj6aPRgGJ90wKvUmkAiEAlM48EOw8+cRzgIirAOzFgrpRPpUkDH+UEZBlY0ZoCfE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660529},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114_1691676040763_0.7395396035615356","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985":{"name":"@preply/video","version":"0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"634d4c558cef7f7a1e02d6fb724fa9e834e96db1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985.tgz","fileCount":1085,"integrity":"sha512-81pBUXFpfm13KvLTvswR/uPvMIcPfiTu5Hi5jnP6KWa3Ojo8yN3c8CCdl8f1mWK2DOC6oqvj+BwCUxECiPt/Bw==","signatures":[{"sig":"MEUCIH2EGIiKXO+E4vt/1itxEmpwZRuu9O0sCMpPSnPh9HTsAiEAs3dP7cjzBk7pAdUkTnYiE680xyECQ6argXcgcr+gcNs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724614},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985_1691676818636_0.8304772128370985","host":"s3://npm-registry-packages"}},"0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3":{"name":"@preply/video","version":"0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"441c7dd65ab6aecb245398738cab5af43d4382b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3.tgz","fileCount":1085,"integrity":"sha512-Gvy989fVaZgkih8P7PyWeBCqpMr75+esS9mVEJuxQoxX3L2Cb/Nt2RwEYJ+hElDN1dNZ4RmgzxalX6veMPjq2A==","signatures":[{"sig":"MEUCIQCwWtHRkDHf6NB8HkiF04vh3kFLzUfImbuScaFgZVPRCAIgYl/CbRUww8N+v7EE95FhR1a8cVyA8LojZoXxa8mebi8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724614},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3_1691680434059_0.06547923424878199","host":"s3://npm-registry-packages"}},"0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f":{"name":"@preply/video","version":"0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"617774e356eef546451c0f262ff2776833267bb8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f.tgz","fileCount":1081,"integrity":"sha512-ftfZlFN6qdMR7ORJPmbH1Ncnm/gT+ahtNZaFBH0cLDd2Vv/kcyqHKL0/Y16zXmwOaCjsVJNmqX6on0B35LQqIA==","signatures":[{"sig":"MEUCIAk2lRwi62L6hSg6mv7tf7X2UomJjG2DCsVFuZc+uj68AiEAp1DRZhqeSAV83tYFMN4GqmSKSvkvPI8MauZowHdHIoI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660443},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f_1691683304161_0.9487065549239049","host":"s3://npm-registry-packages"}},"0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da":{"name":"@preply/video","version":"0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f7c821cebe7fe88d1b322c16af65a10a8208b30d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da.tgz","fileCount":1085,"integrity":"sha512-zfYaMaE7YpFC6fPGa+v7IzptdsePJXiIQUdp+0x+vcHgVSSrb3Q4YK+GkY9Oeu8r2W1lYk5OTNrl04dQECvBJg==","signatures":[{"sig":"MEYCIQChH1BckPE8fET73yIkOLK6kxJaIVTOsjbUnKu/S474hAIhAN900KCnl1GJm1K+jF0UHaOqm6CD70Q08rqYHkY7Zsve","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724631},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da_1691683800974_0.31133996762556393","host":"s3://npm-registry-packages"}},"0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6":{"name":"@preply/video","version":"0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"237fd0703084183ad718fc083a34a985f2a21ce6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6.tgz","fileCount":1081,"integrity":"sha512-FFr0hz+m99UO4lzJFtd+uHsDqjVs6LU98TwwAyge3Q65EV+bauibd6r2JbpJyr+JGQNyAfbzMQOmGp0dZfbPEA==","signatures":[{"sig":"MEQCIFKlK1AVLGEmtfEJstpPRESOUwOVLUpiVUokTE16CA5KAiA43/d0G/OLstBwQ4GkjlVIuUU2i9ntBCCqiLrQauzV7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660741},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.0","@preply/ds-web-root":"0.61.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.0","@preply/ds-web-core":"0.61.0","@preply/ds-web-root":"0.61.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6_1691684329797_0.05297588176388035","host":"s3://npm-registry-packages"}},"0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658":{"name":"@preply/video","version":"0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"64eef85cd9b3659e524ddce31b04d7cff91df7a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658.tgz","fileCount":1081,"integrity":"sha512-1MCllqCUddBsYO+ZexWaFoLTv+hAtKVPUaXX8ohxPioZ7GXdsATaKYn7/QvKfLBPUsff5/dMLq9MjEOcwr0oLw==","signatures":[{"sig":"MEYCIQDJbpOTE1ULrv4gUkSODRGKdClYz8zOKg6pJrM9iXsEJQIhAMpJoqnr3IML+pDP2eacmxqLXDWW6HosbKAo5sG6E1DQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660443},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658_1691689769036_0.15711751050067746","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15":{"name":"@preply/video","version":"0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e47a3942e62e97ec3393d66cc7f886ba292f18c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15.tgz","fileCount":1081,"integrity":"sha512-PRsxqLsUjDDzzjylz85+o5YMnmfVdM7rQ4qncW6GjtEVnofE8Ur1k47yHLlQgd3Tho/4wddW5gML/w63uo/1NA==","signatures":[{"sig":"MEUCIQD3Lc0OfTuzWt5ojlC/owxBMui1wRfC5xQPj3Yc7OS+OAIgejVuco1vb8OSObL0VP7xX5fSInCkAe9yTG9U2MQcZSE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660103},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.0","@preply/ds-web-root":"0.61.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.0","@preply/ds-web-core":"0.61.0","@preply/ds-web-root":"0.61.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15_1691739411982_0.41151136137387256","host":"s3://npm-registry-packages"}},"0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0":{"name":"@preply/video","version":"0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b57bdc98a634803a87335ddf0a6662f898ca09f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0.tgz","fileCount":1085,"integrity":"sha512-SFiwN+9l7iflljNeDlmjTKZ1mnegZo+48sZPzRWiLgk/ckNoQ3Df1wAAcRANO8yfXiAzRmcCL4awAspM/lkkmw==","signatures":[{"sig":"MEUCIQCQx7Q5S6cEbSDQR1KRSY+5iI0Knu7oblSR0zg0wXY5yQIgYDwxzlSyLb+dDSFAfFSjTlKgeZvy9jXmJszeVhWYMlg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724699},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0_1691742481192_0.17523474889219104","host":"s3://npm-registry-packages"}},"0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191":{"name":"@preply/video","version":"0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d364fbdd8229a94010910224f3c576fe17347837","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191.tgz","fileCount":1081,"integrity":"sha512-n+iQynx6WrXltLmeAXIFoZZ0yj+6kODa39G3etrPbVL3Vx2rr7uX8qV1l3RKX3IOiHKu8cc/XPtUjIfF3npVcg==","signatures":[{"sig":"MEUCIGefsRDTuhaKFiKOXToBKc/J03/c7Uh56+4V7ySdZLn+AiEA8KgvpJAgtQBIVh3DjTugpe6sqgUTmKeo2skfJZIati8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660443},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191_1691742994958_0.23260050462631","host":"s3://npm-registry-packages"}},"23.0.13":{"name":"@preply/video","version":"23.0.13","author":"","license":"ISC","_id":"@preply/video@23.0.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"11b9e211cd0adc7519524697653db2112c9187ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.13.tgz","fileCount":1081,"integrity":"sha512-UNllcCHwSANOySaeCJ08JCtu0bpbRT9OjmYCmG+qF2dIbYbsvgyKmJiL6W4d6HntvPL8qGBTsPQBs19ILajjCg==","signatures":[{"sig":"MEUCIQCKFekBB8I44wRVWcYJLFzl6/h67MALY6Q7HaXLjO/JtQIgcUlYDu1rZgaKgh91S3Hq+zvCvSNOApOxUzCHtTfmoZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25658377},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.13_1691747469556_0.23562972846474084","host":"s3://npm-registry-packages"}},"0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057":{"name":"@preply/video","version":"0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6dd93588f8bd13f07f0db0a3ac8db0e60205b38e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057.tgz","fileCount":1081,"integrity":"sha512-N+/rbmPMvxUSk2OZRvAwR6ciOSc4lvkMGqdPvYyk4EFydnDUjo1WZFfmlakYxOU4kEnhCwPwZCfYlE0Di8hFhg==","signatures":[{"sig":"MEUCIEYVc7eBHa1sUhFPfsEJ4LHNf2XfHpkIgTeO7zjkRouZAiEAmL6+E4x5wNRBxwFScg1KMIvH0mxPQGhm3cmGJ4BZNq4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25661167},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057_1691752489799_0.8403845336486906","host":"s3://npm-registry-packages"}},"0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52":{"name":"@preply/video","version":"0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3eecfa2a266661ec6b61df48d9f6e652f9faf019","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52.tgz","fileCount":1085,"integrity":"sha512-k06GWws5mtcHeNSrGEcJjRRBPYJfktYuqi46P0QUtpdtM2vHI3W8MInyDUu/Bptsc13IRt8ZcWU8t+hP0Oj15A==","signatures":[{"sig":"MEQCIDFCuIBzqxV55yP1OT3ywlsvHOEA1VWYygWk+pIvDdQuAiAiaQqkMBlsfcvPlFCTZ7PfmVVgreYhtOAOGlJt3jkxGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724427},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52_1691758070620_0.8358101152705153","host":"s3://npm-registry-packages"}},"0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b":{"name":"@preply/video","version":"0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e6f1ce0e103f32e7f028671efe866247911d6123","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b.tgz","fileCount":1081,"integrity":"sha512-BD7V6T8Bgf7RDcnbH4oMJtETVfoIrH1JxCpFu/6/BIMtSqFqCLKjGb8xDgrFohqN+OOaaU/R/PLLaasE+CUrSQ==","signatures":[{"sig":"MEYCIQChgb43qIgFUtUo7Y5V2XaOi5cqJOoBOeOGcWfm4l4iZgIhAOCpD1XszGKU7k27Sfv5jPsmkztp7xt1KKZkEER77vRJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25637338},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b_1691759462001_0.4457384969866014","host":"s3://npm-registry-packages"}},"23.0.14":{"name":"@preply/video","version":"23.0.14","author":"","license":"ISC","_id":"@preply/video@23.0.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"beb1eff09a12ee3a055eb6ab21864479fa83c2c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.14.tgz","fileCount":1081,"integrity":"sha512-dSKVTDJw1T4tOXmNmXn5rom3Nprumee+UYns3r8yG+FitTRH6O/U3VzEBt4qlB/UzRbOxalrRPTdyMFCehvCKA==","signatures":[{"sig":"MEQCIBkOS8SzMhbtxsRWBHw6E8bCjqz2iWariXOudeCPBPsoAiB7NEnPnwCimr4gXe8b39D5i9vpbw529wMTmHlPWkeFBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25676463},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.14_1691760345500_0.5960916283423965","host":"s3://npm-registry-packages"}},"0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590":{"name":"@preply/video","version":"0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ec2a6a73c9bdf2ea2b054e61f4f10d0c55d300dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590.tgz","fileCount":1085,"integrity":"sha512-ycgcRjsHdrQj3jTtQbhXKT6YsF2JKvAcQu3w8E1+iX50lavy4Gccr5RUnKvR4hbiPRY0z03nRhVBnAxUpwx3ww==","signatures":[{"sig":"MEQCIEPzPEPZ+ckS4TnJ7Nt/dvOx9TC5hXKzn+RIcTVcrQ+WAiAgHNbO+LUPV868y1JwHM02esnt+Q7YP2hmJfMofsVi4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25724410},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590_1691762974587_0.8694798710406311","host":"s3://npm-registry-packages"}},"0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e":{"name":"@preply/video","version":"0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c884525e5bd1808d1e36549642badbfdebb29efc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e.tgz","fileCount":1081,"integrity":"sha512-Cb/mFV/9+0L60CxoXsYcemGVScpGtglL7R0Kcs8bJNVx2OO8HHVm6FERwYq2J7XtBT1kly6HsTn0PchiwuJmtg==","signatures":[{"sig":"MEUCICZx/lCbr7KWHOW17g+4rFaVuGr4VqOCFRQlyszE4iGtAiEAoPVfgRhzlVgF+y/wx6Vfx2wzdvFMRb1AHohOEK05ZrY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25679253},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e_1691765878082_0.2666699687684748","host":"s3://npm-registry-packages"}},"0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d":{"name":"@preply/video","version":"0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2341801e894f7cc4235c5a36819bed4e2a4befba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d.tgz","fileCount":1085,"integrity":"sha512-pje+ruIdnDe0YPEYXSENlagaabmODqiOSHAVwLJpk1w2+In2NmguR+T6yw/z7AXn0oVbJDXICYc9cM3gT2AeWg==","signatures":[{"sig":"MEQCIDVB3Tc2iUCAVMlREK40MeNdmtbsqote+qf/yMC/Ux1uAiB8z2+I44KKief8QhHd7y2tUvL1hePnZVch/nNZS7BQaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25723662},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d_1691772051387_0.1421437040407576","host":"s3://npm-registry-packages"}},"0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666":{"name":"@preply/video","version":"0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f6677e31e439005ab30d2ad3bfb7753fc11db01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666.tgz","fileCount":1083,"integrity":"sha512-VH+nQ95edTzpRiAfAWSdRj0mpT/7+Kvn6W+NPi9u7SY1nu6c+qkkKDPkl8Wud2HeX2pXoad5OXSuxjPz8qpU9g==","signatures":[{"sig":"MEUCIDFwexp5t6vDwYfrFi8qlKHkMN+aw6brcWEKweOCc95/AiEA08kxXLdtZ+m3HgGqp7UfDAxC6UsIkRm/gvuSX/WLNyA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25663996},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666_1692002234689_0.6791821395699955","host":"s3://npm-registry-packages"}},"0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2":{"name":"@preply/video","version":"0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"339e53f5d4df33763ed4a1dd74439f73748bc1f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2.tgz","fileCount":1083,"integrity":"sha512-dLgLCvGV57bLwlGnAfEjuW2jIkmtv/r3LO1E8AoXW9ozZcKbf+YwLUenLuHYlfbGrvxUpLzqnQzbw2KjN55a+g==","signatures":[{"sig":"MEUCIQD5a41hcMf+zFebjG2ThOqmz8OT+ouqKqRjIKhO1z+XDgIgdR2p61wI/MqN9uQHt93ToQCCBx+p5xrTY6xYQhwKr70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25663979},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2_1692006103786_0.15732404124274768","host":"s3://npm-registry-packages"}},"0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884":{"name":"@preply/video","version":"0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"914d00cf55b3bb3e0c99ac42b612990a16751344","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884.tgz","fileCount":1081,"integrity":"sha512-lrUzXgj4roArUoP/vRIUqt0d45LAxeT5rnSrwX2Rx0LJNVmKQN5pB7+liR6palxVa1mJXI9JXDDgKhbzV6Rfwg==","signatures":[{"sig":"MEUCIQCJetCGW7CRot/6qLaO30zwgZU0RkJQIdwAA73ieTEUJQIgBbmXRtETZkv8J+pJHy0S8HxJtmYVrItgjL59H/EBlHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25656302},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884_1692011707350_0.31785463101941125","host":"s3://npm-registry-packages"}},"0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859":{"name":"@preply/video","version":"0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"062b8bbd445ff417de4ed0f2fa4dbd26d290744b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859.tgz","fileCount":1081,"integrity":"sha512-4Jak7g8hbD8R1UAW5AANd13+pUrS28HXaQWdDuieRjhnLGZ6ZP6dAAe06SAQS8/OGYpKkDUPyV/KXkpL2Ae3AQ==","signatures":[{"sig":"MEUCIF9u+gZMbtfJzr0tmAUSzyCda7slOBCtRNmaGnRJ+/HyAiEAmZg95dXJFgzN7ftwGCQJChfM1BV6HtbFngadJJz5zyI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657016},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859_1692014235613_0.935825206950174","host":"s3://npm-registry-packages"}},"23.0.16":{"name":"@preply/video","version":"23.0.16","author":"","license":"ISC","_id":"@preply/video@23.0.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b20c110dd5386b271754b280dcce5be3789e599","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.16.tgz","fileCount":1081,"integrity":"sha512-HQrIOcelJJ1SHjsxHdsK+tzt5TDawgP3dWKwZnaE9zv8CvBGKZgP4Gloec1RJjTtzsuIKTH3M6rDsVkPXIXgdg==","signatures":[{"sig":"MEUCIQCyUrOBni9n53AwGFLLwh6klpCnOR0fA023hKOGrERoVwIgRNgM/S/g7kDAsLzUuuP7gDm3NtmEtNE91oa9ClrGOgA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25654150},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.16_1692015832688_0.7267497595697521","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3":{"name":"@preply/video","version":"0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5c9bee9e6ef04852387447bc4c7c6bf80f261c7a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3.tgz","fileCount":1081,"integrity":"sha512-NyquA+Eaub1VHC1d1Akl1z9lbeLSaLk2oDr30Z2U3sFvQEVsBuepstf06oUzHYaVyBMbBuDFqWJmmQpKIEZYkw==","signatures":[{"sig":"MEUCIE6n9/h+uWrCG1k++cbmAVsDJdySG6cFm0clFTXhTSUAAiEAsnAh8HdeD+4hBL1yxRAo4DkaUOIOVsOgsbYpVTwe4tM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25658709},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3_1692016344253_0.11266456814903125","host":"s3://npm-registry-packages"}},"0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2":{"name":"@preply/video","version":"0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f292a3ffdcc6e9c4bb4235c79d32fb7a2bf81e15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2.tgz","fileCount":1081,"integrity":"sha512-d5pXDz71RcB43oTYE0Y7BnWC4MbEZbMN0ssKMGxd5QPNy+Mns+/pzccWOB038+huI9R8lX5zlbOi1kRVOZXAoQ==","signatures":[{"sig":"MEUCIFHlsu4hBgVkCLjnjO7BQAOilckMcqqXzH6vx6tpOppeAiEA6EedjJ2rBw5aNTKGsgbx71ICfMotaMHPr7v5lNW9JCE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25658728},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2_1692021362829_0.9113213244311318","host":"s3://npm-registry-packages"}},"0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2":{"name":"@preply/video","version":"0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f232382b1df69a85aa61d4808d4dbb6da658c59f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2.tgz","fileCount":1081,"integrity":"sha512-Y50+lR7bU74gfV1Oo1x2EluMyQO49K/ZPXIougRBTi4560HsclbUzDOG3U5vZnFek1Y+qACg7tZFxBK2A/ml4g==","signatures":[{"sig":"MEUCIA09yYucKHdJSFot1dG/GyY87kJb5ykN1uGSAFP9H3X0AiEAhk4W5f9lQQ6K80w8sEFn47Sgpo82tbEoJRr4xuTtIWc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25659561},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2_1692024370306_0.4214303359359688","host":"s3://npm-registry-packages"}},"0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c":{"name":"@preply/video","version":"0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"14355f58379127f222aba6967777cb748f56bfb0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c.tgz","fileCount":1081,"integrity":"sha512-5WL1TcVbVGtvRW3HKSYzGyihkKyR8gqcnifchsbiVD7JxR1MDJWDiCO3M/C4o/g48sNFTCNXrQAGH7AbajGk+w==","signatures":[{"sig":"MEQCICNIpXBShIJApuxsOXXsPWamsfJKm6FzPXl7lnOK5ef+AiAP6Mk4mwZRGAM3Xifz35QuUgL0OmV5XhNxOuku7YaVzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25656302},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c_1692026028948_0.4873246915714635","host":"s3://npm-registry-packages"}},"0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16":{"name":"@preply/video","version":"0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab6e255b4241b1462e779fd1e6b58a28ae068f9f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16.tgz","fileCount":1081,"integrity":"sha512-wmV++U530DYmFLy7XljFLPH1fixuDUULgvNO/YdqVUO7R5zzVh2XgzeYxjM3ILG8VBkBrGIR/v/1yY6WB9+rXg==","signatures":[{"sig":"MEUCID3dB0PivbsKFZqzYEV6F+9tQcsEXC/hgDyzXLNLi4v8AiEAl3lDQpFuARa5ILy2ck6g+4cUD59CHB1/D0PoWRpHPmU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660428},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16_1692027727730_0.46049835082253976","host":"s3://npm-registry-packages"}},"0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25":{"name":"@preply/video","version":"0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"47b7db7e383e88b7f61b6c8f612c23bb773e21c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25.tgz","fileCount":1083,"integrity":"sha512-lddNPRzISy688UD4Q2r4z8q1j6jaBuXVQhFcSl9aw5Yqq5brbeXSzEvkCOJTfCmEjwUursdbAvIPzFnmUTUpdg==","signatures":[{"sig":"MEQCIAv1fLDYaHQ8SlutpjfDE8wiEakTKSx+yexKXp1NHvoGAiAKgfp9n0ky7Bp+XWIXTLCxuFdiHydXbn9+G2pTbmYkxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25678753},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25_1692031924090_0.38632464501018515","host":"s3://npm-registry-packages"}},"23.0.17":{"name":"@preply/video","version":"23.0.17","author":"","license":"ISC","_id":"@preply/video@23.0.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7a13af294b80ef5b6433b3cc6cfb575c6a03ee46","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.17.tgz","fileCount":1081,"integrity":"sha512-1/E5G1bS/GXppJNqqGrB7KQeeI/8jNSA85irIsjgrg4ASNA33SuXRLGMI1DoLdi1+tvYEL5KlVDgL59Y3N16NA==","signatures":[{"sig":"MEYCIQDHieQ0LyGByOkv4F+8M35i0eG9yjtm7U7Rx8TElvSr+gIhAPVtoF1r9HwljEQoL75XgSyN0zHYdv72IhLfqYmaQtdL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25654188},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.17_1692033141936_0.2962287205885312","host":"s3://npm-registry-packages"}},"0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2":{"name":"@preply/video","version":"0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aecae9924fa1d897cfb1da75483a9301e8cbc3ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2.tgz","fileCount":1081,"integrity":"sha512-61aZTznOeVL+3e2Gzaf/XkwZLHJJl27Yet/GAEFqIWyQW8H2PSQXxSz1dMzEg7VGQGUtf/ss1PXQpMjjW4EzaQ==","signatures":[{"sig":"MEQCIEzXVGJ9Br6ZKZGiU72XzOVbSMJW4zUjaPzabpIAKveSAiA3mVNh7/tjthyEbDpFm3doXwioR36th9O6zbr2O4V+eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660428},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2_1692033640249_0.8242974380715611","host":"s3://npm-registry-packages"}},"0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db":{"name":"@preply/video","version":"0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9a0a310f655614322ac37983005104cbe995b341","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db.tgz","fileCount":1081,"integrity":"sha512-QpU5+dItW8lPZyPrsgZrZpeMOhiiKVDytBKYqxY+3rK/mLy9vPdqEIMYY2RKie3X+5IDitQ8ghGIJ8a7jFEZcw==","signatures":[{"sig":"MEUCIQDn0Ob7HpEe1GNtXeXwAtY3yhqjI0K4u8pBSEAJp1WX9wIgVnvTy6HHYB0IJL2eEcRfW8XLZctMJo6WcGmCFfvcGuU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660496},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db_1692088596917_0.2889236681285159","host":"s3://npm-registry-packages"}},"0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab":{"name":"@preply/video","version":"0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eeafa0984196c297e82968ab6d5932561f4ff238","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab.tgz","fileCount":1081,"integrity":"sha512-QNvt+slv81rZn8mNEHXJXZCXIH1f+barkZgjcaHCTMPvTx/eWuqlxzp6wyWqkeABQx0natK/70MMxFkQwz/SiQ==","signatures":[{"sig":"MEUCIQCLsE4oyDNmobJx8Yyvu7kGk4QLTRB9+lssNRK9jWk3+gIgEbmFK2ClulXUbrNHHeUhnlkGl52gNRxgy30fo7rE/hg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660649},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab_1692099503417_0.22327548102601535","host":"s3://npm-registry-packages"}},"0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8":{"name":"@preply/video","version":"0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ca9e5afe399f38cb72231d0639b008dcfc90f18d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8.tgz","fileCount":1081,"integrity":"sha512-eh6Xc9smGJyGCNlfe9VKsX+VQEbiHupSoQvEC3I349TXb5qd+TUNWdUaNL0oEefPE5My+m5Y64RgmqlFU6gMOA==","signatures":[{"sig":"MEYCIQCpUdoT5P27o9PfZ2UCMIjptT1LvjVIMKp88Jy7XRYsVQIhANaSOJz5v//qWiavg2q8RyGQyK7uKr/2pql20/hsMXCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660700},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.59.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.59.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.59.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.59.0","@preply/ds-web-core":"0.59.0","@preply/ds-web-root":"0.59.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8_1692105352043_0.6500599605357933","host":"s3://npm-registry-packages"}},"23.0.18":{"name":"@preply/video","version":"23.0.18","author":"","license":"ISC","_id":"@preply/video@23.0.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"da8194b5cbab443b19642752117528203c4329da","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.18.tgz","fileCount":1081,"integrity":"sha512-PtGAjpFujt8t5pkgqOkW8dBpI3XRTi3w5dteHydhvdx9afSxidk2neil3ul+iqOyYJjDC3DJQjgBPQU0qg9jvQ==","signatures":[{"sig":"MEYCIQC/ukI5O+rgz/hxypGCbpEFyCQECo0tTrGg6GI49sWrswIhAKGPG1uXBtKYAC5wVHorHNStllLZwffMBVx9iadOmvZj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25656237},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.18_1692170821989_0.4260737834591388","host":"s3://npm-registry-packages"}},"23.0.19":{"name":"@preply/video","version":"23.0.19","author":"","license":"ISC","_id":"@preply/video@23.0.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"23db2f6254ae71498d356d266c909af86399fc10","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.19.tgz","fileCount":1081,"integrity":"sha512-qtp2rH3I7nYlnGlSeB45HpCRmqugMbYjBQIyoHy96gCz4RtFprTB0z9HNazCHS368xGs39NN5YsmmtbJRk9x6A==","signatures":[{"sig":"MEUCIGSkMA99yEEK6+DkZcqC1+DPZoZ0MV5npcFAD1m5qXlNAiEAiIzN6ljO7YMatRkF9gXwxGvdycRUCz8RuEtVnu7ektg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25655846},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.19_1692171926548_0.8054183439465443","host":"s3://npm-registry-packages"}},"0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375":{"name":"@preply/video","version":"0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8b4d8591ce1446eef5d2e10f419657f90cba41c5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375.tgz","fileCount":1081,"integrity":"sha512-EWS8JI5/jvJNQdx9CpnBFTNO/YWbm6PRQCmBokgr8Lt3CELaMPMCe6O1/evT+TnOIwow1/auugLS4FPceJi1ng==","signatures":[{"sig":"MEQCIHc84ByNOaEdSZaag2cBR+/ZlHxC+xvIySEp4ZBi/YBxAiA2jIfeCcbG+1+pCkehbF2eR91OaqWhrfkU91q614CfrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25663131},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375_1692173144113_0.8655487423599417","host":"s3://npm-registry-packages"}},"0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57":{"name":"@preply/video","version":"0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a6f2cde22e9ea1724e27ad64cecdf965779db555","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57.tgz","fileCount":1081,"integrity":"sha512-Ygu03jeJlH5BmW1gZq5M+IZfySKUJRlcVS94BOOr/ZbIXbUDYHhQbbq7gbWtvZmNeT0elUCbzoT6oA4NJW9hjA==","signatures":[{"sig":"MEUCIQC/tm2pjvqb29CQlpfXLKPJX59urxOCD4VxmETAzSvNnQIgIYuV74K1vKTNhYo1P6fBo3/y57x2ho2jKxdQmLUWOC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25666365},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57_1692181122968_0.71543496817818","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea":{"name":"@preply/video","version":"0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35e49cc71040da04b604b99214bae52a560c6fb7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea.tgz","fileCount":1081,"integrity":"sha512-Aq82IWbeAf6skOWyK2OUN0MJVMXVl7Zb5yqL4ADumyE3sCOoiMR3cT61KAYSD9K7HHV8cncwc3FTAVD3pmimIA==","signatures":[{"sig":"MEUCIQCQvT20SDXI89BrOYRlRrLiinYHq/6TXIQ5RvhHBe5TDAIgX/LVd0sQkaRdyVCNTEMqc8dCijvqxKpdJLMjy9J5Ri8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25659309},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea_1692192783511_0.8549487033628835","host":"s3://npm-registry-packages"}},"0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77":{"name":"@preply/video","version":"0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f6938de15d2eafe0e2ca291d2d96cf35b813a4da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77.tgz","fileCount":1081,"integrity":"sha512-H994PBcJN75exI+on8eXEu5YtCYSR7VLg30xp1tySSrOCLlLTcdPOgLUzlrAoHGMfCph8Ew5gg42PsWUFAGaew==","signatures":[{"sig":"MEUCIQCDpe13oTo3Im1Wa3n5DOddjYaDZdMcZCyM0Z6iCo3hJAIgQwBz88aPsDTl+jVueY+4/DeHs8HukGCnBh0RHraAqQs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657181},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77_1692262365214_0.9369301924899989","host":"s3://npm-registry-packages"}},"0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b":{"name":"@preply/video","version":"0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"138dfa65aa346e650015b373a2e44f313384f7f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b.tgz","fileCount":1081,"integrity":"sha512-+6hdmYp+OMPt0hrEvc9iPTGAQ3P2sxSye8fAEzDuG5rt17aQBLogYFLazLuJaT+qOYubOB5MvfHr0rI4eKA8tQ==","signatures":[{"sig":"MEUCIAf9MdWgLG/Mg3LrW4xNNUQqrYfmy6M+jPQsyi4MkzV6AiEA1MkxtulEs6uUo81vqJBqZiZN3EZgF28m7mTPgzZ8Dkw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25666654},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b_1692267751517_0.5142157596341712","host":"s3://npm-registry-packages"}},"23.0.20":{"name":"@preply/video","version":"23.0.20","author":"","license":"ISC","_id":"@preply/video@23.0.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff32aee1b20b6a43b49aab17bfb2f306f7fea643","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.20.tgz","fileCount":1081,"integrity":"sha512-Y/wITH9/GHnQGAq3CZJcDVWTiFk0bD7l/eP7GG8DrTPV3kN2J1c5UVfv2ZX6OZvjw/7AebG51d+HcIzxPDt+bQ==","signatures":[{"sig":"MEUCIQCJIwSpGFkWitIEeQfsoAZ9Xt+0D1B0+UGiJZr5tRL2owIgfGq34nqiPAYAWHvKhHOQ3v78DBwwWUi0Id9t/yItQvs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660287},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.20_1692280932713_0.5352541037773799","host":"s3://npm-registry-packages"}},"23.0.21":{"name":"@preply/video","version":"23.0.21","author":"","license":"ISC","_id":"@preply/video@23.0.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"00c3c1bce03efd9c5277c2204d65d8149ba73a73","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.21.tgz","fileCount":1081,"integrity":"sha512-EohzDfo8Bzw8WVH+YSl9JBRry3p8GWbFMA4fkVFurF1F5jLBjaf+VbN0ZxAcXnPbpjy+a835jPkS8QayiavVww==","signatures":[{"sig":"MEUCIBrUWt+CTketStrICEDpwbAX86vrF4vRFpGTAkzENF/lAiEAsNmPQrEMiNQeQl/og98T56B2TARtKllySNcqmFDOz2g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660363},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.21_1692294430642_0.7364335569703744","host":"s3://npm-registry-packages"}},"0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1":{"name":"@preply/video","version":"0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b08cfcc6ba77f7000a84eb14a0bad8514172753c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1.tgz","fileCount":1081,"integrity":"sha512-EII3MPLcdrOHqxkUYAD+k0AWh8CWZeIgpwALUBcQHK47gyZ39cBJ/rLlAAfZX0vv8sEDp/kIH5BizIJn1LDFtQ==","signatures":[{"sig":"MEUCIQDFPflXnN/ZAlGdEfRmyfghFN5h8IONyvTRPe0A7jlfsAIgSCDrPT18rkzVGz/gLZdrhlnspJ7WjIcPcIiy6zB/8U0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25660770},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1_1692345842291_0.7562345204696153","host":"s3://npm-registry-packages"}},"23.0.22":{"name":"@preply/video","version":"23.0.22","author":"","license":"ISC","_id":"@preply/video@23.0.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ce9eb82a6c8cd0dd1c997ece7e6d46e14e24603","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.22.tgz","fileCount":1081,"integrity":"sha512-+tZTIlI6gYu4K5py2uiKDj42fmLIiq9nSLRTVskOAB7guijtXlwe7bsLc749sw4NQsUp9C++8oyTXNKz23hUVA==","signatures":[{"sig":"MEQCIBx5Oz7/zRiWSm5yd2n+wAdG1eA8rb6iVXYXKDvydNHHAiALgTX+SozP9inmn92x77qLmHX72eZVRWEpSX94Le03IQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25659887},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.22_1692352011160_0.5810443713272675","host":"s3://npm-registry-packages"}},"0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac":{"name":"@preply/video","version":"0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b2c4b36403789bb246559d5b12425c0c0bb1090d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac.tgz","fileCount":1081,"integrity":"sha512-oHgeoIVVfuHVO+jWknDWJ5x+K6k5O5OobDo5V5FbHsiOuEW2/g94n6Li6Sd/7XF8oefjn/pQcUHiYzgf01H/Gg==","signatures":[{"sig":"MEUCIEsoWy0yLAwhWB6nygX/XmxxO2VTXiIC7O8fDaBsH3ijAiEA1KDQgHYgrIxlW07Zkxei7rweBwhMdNdN/nTU4wrA66o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25662039},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac_1692354869840_0.16809791090378368","host":"s3://npm-registry-packages"}},"0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf":{"name":"@preply/video","version":"0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a39bda6465fc2398f47eb6a407681fbbb5e3775","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf.tgz","fileCount":1079,"integrity":"sha512-nnnfEYUfn9beCJby6Si+finj7Dlf1rRFF4trG1d9pVEzo6YUjqExegH0UrDxi70j8CQCFgVUG1MzeGrhiu9DTA==","signatures":[{"sig":"MEUCIDQx9uuu9EhNBzyXOBHwyGdkeanQKoi7SepgIptCbBmdAiEAkxN+jTBD6L6ThZxKWGX2JeqODklKh1wuOQDjHzAbnzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25644081},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.62.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.62.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.62.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.62.0","@preply/ds-web-core":"0.62.0","@preply/ds-web-root":"0.62.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf_1692368131985_0.4932219727876632","host":"s3://npm-registry-packages"}},"23.0.23":{"name":"@preply/video","version":"23.0.23","author":"","license":"ISC","_id":"@preply/video@23.0.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"10430fd2e5824aeb05cbc8f9ec999e04e8049507","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.23.tgz","fileCount":1081,"integrity":"sha512-lIrRQlSMJMOEReEbqACfnDNAhzDn8wV9EA4b0kFN+aRqLL9JoUW5IqqINDUbYGkB7OVONPxJeHG9FjDEI6/49A==","signatures":[{"sig":"MEYCIQChAp3ZCayprXCN64n3mMTZPFzDsZ7VyvYLJmSRV/zT7wIhAJmsvzpU4WfOXh0QJ5rkk/yzz+qT5M5/ikQQ9p2MNpSC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25661353},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.23_1692628919100_0.8012063605821513","host":"s3://npm-registry-packages"}},"0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86":{"name":"@preply/video","version":"0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"100baf92cd682da5c5d6874c377555a4330b5f75","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86.tgz","fileCount":1081,"integrity":"sha512-iZv4oC7bCmNkJtkegl5G3LcPSZy6tXtBJND3ksjx/EMQdfwRGi0b2Pz64MTIQVCmNDAAshy9ygYex811en/OyQ==","signatures":[{"sig":"MEQCIE/pfeHjBYaqJoFx1BvwFtQ/w8mk9kqNTxbM48i4ZpYBAiADHh78kSFuKqf8nYQRM03ruicCZWdBlus1ym6Dq8FAcg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25666416},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.61.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.61.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.61.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.61.1","@preply/ds-web-core":"0.61.1","@preply/ds-web-root":"0.61.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86_1692691029414_0.4019962814544338","host":"s3://npm-registry-packages"}},"0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde":{"name":"@preply/video","version":"0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0dae08f7b710ee14d887b87e4775fa40941d55f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde.tgz","fileCount":1081,"integrity":"sha512-d67+5r75dnrIBLEHaQ0saTSDgtj6Zo5xe1gRFIMImVvYYgzwJkp3PsUewUPNvcvcg2UyxlIt/C7TS+Zu2qFrQw==","signatures":[{"sig":"MEYCIQDUd2ozJl1/IpraaDsz793mI1MjuT7GGoitmm+iMmFo8wIhAIwVwnQs6qPhUEsg0IbPGInP4UfLsnrN7TMP31tIe/JX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25675213},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde_1692693876341_0.44200671422868787","host":"s3://npm-registry-packages"}},"23.0.24":{"name":"@preply/video","version":"23.0.24","author":"","license":"ISC","_id":"@preply/video@23.0.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cb40118ba2544c4707c43b92dc7ba44902d52986","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.24.tgz","fileCount":1081,"integrity":"sha512-mOpKAcam439CyZDfVBGQxHdsP4w/y/vZ4w3aSlxErrVrm5lc0IyUj2KBOSAhdjtrl5SXtQN+2vehgXA9nGH9HQ==","signatures":[{"sig":"MEUCIFDTGzKeDvzHMp4o3fLGbbyIPYD3DJFPI3CkUY/V1k1LAiEA3SuYPkhqGri3+ZPvvTVcNP1hT6y73qgvHouJSKdEHQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25665955},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.24_1692696025571_0.7010822424780914","host":"s3://npm-registry-packages"}},"0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c":{"name":"@preply/video","version":"0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2f04ab00fd3839f1c32d54ce39cf0c36389266d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c.tgz","fileCount":1079,"integrity":"sha512-JBPdK8/C+JPNr3ce4KWcJ2mJkbNBX00kE+C1kOMVDVxoCXVzimjORXTiSbvwkRJLofG8XOQ1rG6fd/CFoprCzg==","signatures":[{"sig":"MEYCIQDWKLraaehy9uLniIBsrN2b5FIi5N++75DvWZO1F/z/rwIhANPXP/RK6PBpQvijJjSWlSWBEyxt2K0kUKC/Blv9neL/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25651418},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c_1692697133116_0.2616358582685785","host":"s3://npm-registry-packages"}},"23.0.25":{"name":"@preply/video","version":"23.0.25","author":"","license":"ISC","_id":"@preply/video@23.0.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"322bcb78eae6e3ff71bfc3cc2e22796a6b5f8424","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.25.tgz","fileCount":1081,"integrity":"sha512-ZGgwMsYynWpSYLwLFJzXm1InkuTPqkGUS8w3OQvGnA8yGarxiwylo7AusQfOdHLTbMB3f0hNAUaBhWHeQRlsiA==","signatures":[{"sig":"MEQCIGPOCuE2k+oOg8ruPGcp/xvw0LIe6B9iykcamuPybOLYAiBdGZYFiMvcU3UQYK20yt3fzLKVgePE6jzfDZ2jEtmIEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25667926},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.25_1692777072032_0.9392182989138826","host":"s3://npm-registry-packages"}},"0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836":{"name":"@preply/video","version":"0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e9d58f639eb3fcd8f678083868e5ae01b00d035","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836.tgz","fileCount":1079,"integrity":"sha512-a8y1EEe+xyDX+Lnep7lkF0NkHl+9Apag1m/DNF++0gh7Rcm7EWhv94/j69qE/C6hU4sLswnisAULEwDfK5X3RQ==","signatures":[{"sig":"MEUCIBhqyiF91r7Q5KjvERCOWz+1IszoPC57+py758V9EBdFAiEArxFGP76q+E3v9zCju6TpYgXMpuInoOkzVqvWHSKYeQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25653389},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836_1692781586638_0.698604917156699","host":"s3://npm-registry-packages"}},"0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9":{"name":"@preply/video","version":"0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f3794655496b815e4f8561ee125633b974b9ae2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9.tgz","fileCount":1079,"integrity":"sha512-TNKgQ8i3PBix82K2hF/wYsiURXE3ojjcp03f9uf54zNdDpMWN6OKhnRi9wPs02ZS7rlG0VXjhrmeHgCFEr8kPA==","signatures":[{"sig":"MEUCIDHu36LY1/KUcOWFPjjt1S/NmMvbvnDf0azhnWOZOSYIAiEA4GxGh2+EnahNG55Zznn162E5+yHVHSFtZJtnADhPwgw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25653389},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9_1692784222413_0.580724839537955","host":"s3://npm-registry-packages"}},"23.0.26":{"name":"@preply/video","version":"23.0.26","author":"","license":"ISC","_id":"@preply/video@23.0.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4491aa44fdc88bdf8196c0239c8a6015f7b7ea71","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.26.tgz","fileCount":1079,"integrity":"sha512-orKsnPBUjoSiRIMuiS4IHbMQmGDua43fld1zXHQjgczTSbMg+zf2Hz7Li6JVPt80ehIgvqzV6r77FyLCrqxlkA==","signatures":[{"sig":"MEYCIQD6w51bHc0sGSHDCTHiQYfBlmfUsmOrvAdKMkBid1dvGgIhAKpv0BKTaDEC6c/j6TfMgHcrDPLCRLkJuD0DKueNiSyl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25651237},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.26_1692785512730_0.5400495206926341","host":"s3://npm-registry-packages"}},"0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a":{"name":"@preply/video","version":"0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aab33ff63b6263e2ea9239200c82cc347272d643","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a.tgz","fileCount":1079,"integrity":"sha512-GEXnVebkjE9To2Sw2MP2VdxBsYvLgyQ1kFSQgK6MWQDF+GNwExs3rU8EtXp6T8IviJDmpq9scmqER2xlP9njFg==","signatures":[{"sig":"MEUCIAjcXbUqpx70p/urPMBAYaVypc9KLDaa6kEM/mi2uuz+AiEAiSABeirA4gaY33gz/TWq4j3I+AyQb38/G2VWmRXRO4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25662424},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a_1692967260818_0.0916562690836431","host":"s3://npm-registry-packages"}},"0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6":{"name":"@preply/video","version":"0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33ea5f0aea54bd4d988870d4fff86b78e8191be3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6.tgz","fileCount":1079,"integrity":"sha512-wV6Ks0Oo4ODtEXXZe+029WbyHeO1bAw8F8kPm5/RD/zuHuGJcpj4A07lE2nZo9gt+4FCLBTyVIYgBXyb3RfdBg==","signatures":[{"sig":"MEQCIAikZAynpeFQGzwTrsnYspNQx4JqDFqw4jTq7rmbA4d8AiAUBQC4jGwqJR+KJXVQZBm9AhaxbQrPnbYR61RKccHteQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25662424},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6_1693209042777_0.7210133197419011","host":"s3://npm-registry-packages"}},"0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e":{"name":"@preply/video","version":"0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"80befe63b8f3da00d1a31ef53ac5486bcce938de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e.tgz","fileCount":1083,"integrity":"sha512-B9XUSCWrCMLRwB18cTIqYbiZAk9vzcMU7GTKgxpYlsj6LOLwoIUSnfvYq15STBdGTQ7Vgs1gIMYc2A/hDV4KFA==","signatures":[{"sig":"MEUCIQDHx4LoxYlISiKNUoWdZjOdMJT7W66bsWR9v3tcPpK42QIgZr43kkmGbnAidyhqtTFHIz52HR+sKsUcSHMLYAw3Jlc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25718337},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e_1693210112654_0.5179697281627353","host":"s3://npm-registry-packages"}},"0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944":{"name":"@preply/video","version":"0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"68a410b09bbf3025f952cc113ef16c6a7cbd8054","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944.tgz","fileCount":1083,"integrity":"sha512-sarnzpO4bT90tJxNbLuZaLNXpOa3wQHDwG63XlXiSorYzo7yROfhzVfGfNqozyBKv/7T8OD1nONouk1jwJamRA==","signatures":[{"sig":"MEUCIQDrtkCqN14kL3OHxw2rdptCozJmdhc3ND9RfOfxXIU9qgIgbmRM6uZSemHVPS6WMp733sh/7IgZ0MFgjyMNbDKEmFA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25718337},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944_1693218146969_0.5391761634260219","host":"s3://npm-registry-packages"}},"0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974":{"name":"@preply/video","version":"0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a4a6e01f9563b0dea151ad971bb03d62a56e18ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974.tgz","fileCount":1079,"integrity":"sha512-C3xZ4gu5ysGMcKS6PA649N7mwT4avosqwhbL45ecBIQP14B1kn2iNi7CNoSbYKfVyB7XZlR7u+nPeee5H47h6Q==","signatures":[{"sig":"MEQCIHgjHkxDyqVdZitnJYIueOkuP6d0X39hwfJCtJt97vkEAiABPt7vmojkhTOFKgCpRLhOSZn8WGNXPB44Fff8IU+wYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25670284},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974_1693320402830_0.11849826259986362","host":"s3://npm-registry-packages"}},"23.0.27":{"name":"@preply/video","version":"23.0.27","author":"","license":"ISC","_id":"@preply/video@23.0.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f854349b90c7c5a5258443c92fbe81b811f81a9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.27.tgz","fileCount":1079,"integrity":"sha512-FF/LZEjkxbGLmlGe5nuy2u36RmbsRvizIgRF4bPjV02EnY9g6SQBjw2htfmYZX11rrssKfWcD3kxSD8U8Tc59g==","signatures":[{"sig":"MEYCIQC3McRMf1z8UQAOZnZkRSbJiSTTXC3sDMkk5TCFnVXqtwIhAL2N1AXYiSrsj+qzNVWbEXMTbrix2RA3CfRfDYS0CLHb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25652632},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.63.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.63.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.63.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.63.0","@preply/ds-web-core":"0.63.0","@preply/ds-web-root":"0.63.0"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.27_1693369136597_0.1877043306923285","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab":{"name":"@preply/video","version":"0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0390fbfd8057220bace35ba72003384504982de2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab.tgz","fileCount":1079,"integrity":"sha512-c0lCVfiomz1iRuDXDy0i2PLF/v3xqROM3YbGM5kCzbw52Wbd5n6+TYaNi44Sds0KshUVmT3H/qK9pxCm0AnohQ==","signatures":[{"sig":"MEQCIDCSajxYCIBcNyNCsjzEowU+EAMYOaJgH9UlRBgCQmquAiBpnpYe+EPqZMjU13F3DwIQLw1CS24La9QTWybH8GzF+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25655417},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab_1693395633730_0.7377817148847814","host":"s3://npm-registry-packages"}},"23.0.28":{"name":"@preply/video","version":"23.0.28","author":"","license":"ISC","_id":"@preply/video@23.0.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2554d4bedf33f9e4251a881165a71dc2b454b052","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.28.tgz","fileCount":1079,"integrity":"sha512-qw5ALWxty5q0bwgBG23x7/NtrAFjIUSwRWEEU7Bkm6JFETWPJClqPdzRPPNQzlmUlpMV10HBbvQiDazGRgum4g==","signatures":[{"sig":"MEUCIAjkR2Kgu/So02bbfS6w9F2lVk4iF9fAB0exC4QS1YTDAiEAtTR0uX6884+F0EHXmyyP6zzBVIL5RSapv5zXEcEPVPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25652114},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.28_1693542108667_0.9163574157493424","host":"s3://npm-registry-packages"}},"23.0.29":{"name":"@preply/video","version":"23.0.29","author":"","license":"ISC","_id":"@preply/video@23.0.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"62eacb1c26e2d59173f8375f4ff2430d8137df6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.29.tgz","fileCount":1079,"integrity":"sha512-oU8G0gdpcYNCv56VEjkg640YCLVacVIQp8buHHlTDxvMjlvp93nl8iZ2IrB9sFpVckfpLVAtx3C5doERP4dF2w==","signatures":[{"sig":"MEYCIQD92zmulB9sZdEBqL0VCiobb3SSIJlpdK/Xrvyw4V9AVAIhAN17oVBS02s/fDMgtsrDnBslKe0AdVZwgZ93cr68Sfjw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25652132},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.29_1693801060712_0.11448079811630407","host":"s3://npm-registry-packages"}},"23.0.30":{"name":"@preply/video","version":"23.0.30","author":"","license":"ISC","_id":"@preply/video@23.0.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab6f268602fd6cf0b5d40e629e7b6a273756a11f","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.30.tgz","fileCount":1079,"integrity":"sha512-3CRNcuBwUvaDd6+90kwPwTEZYWHMVZ+6lzkkhZql2LA+9KgfhuQ3+M1WPyRa24Qf2uE38vIMlgujuaxpiGS/Bw==","signatures":[{"sig":"MEUCIQCoJAB0Ca8aQ69bP6DRdVgkmcnf2hSJ4XxPX55aQrGYKQIgA/MjPBlBU1qy1hyI4vwHGFhycLDmKoN1bPjcAUbCErM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25652189},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.30_1693974721569_0.014038455121986093","host":"s3://npm-registry-packages"}},"23.0.31":{"name":"@preply/video","version":"23.0.31","author":"","license":"ISC","_id":"@preply/video@23.0.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5930d44c88169f68f39b01eb4030313718cea80b","tarball":"https://registry.npmjs.org/@preply/video/-/video-23.0.31.tgz","fileCount":1079,"integrity":"sha512-ZaYfKT9TXXGSOTX6YP1cTDPlpwK7jvjE5PZXDtQeGeQviL8pTGUkHHhrkTZYT8dy91NMtfgwhzEQnJVsineHHA==","signatures":[{"sig":"MEUCIDSlu0o+wpcJ4YQvgyBqmb9jfUNpO+A9g2z0dTPwdr8kAiEApuAlEr/qx5dIh+ZdhLov8zIGMysXLVKigwtqBZMpgs8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25652877},"main":"dist/en/index.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_23.0.31_1694060920752_0.5019902579172055","host":"s3://npm-registry-packages"}},"0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470":{"name":"@preply/video","version":"0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eef8a9a92b3baea4c83fb6252ee41907a2ebb61f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470.tgz","fileCount":1083,"integrity":"sha512-d4x5a5VRB7Ogu0UKylBG0UaP6y9CoK9repuUBjKsXC+skeeUC8fETbcz7bwjzpBzNbnvBYY7NqiZDvDmOyxVzA==","signatures":[{"sig":"MEYCIQC4DJ0CtYDXeTTvP96i6pGy3e2Jquy0Kzc1r1IYXOfRhQIhAPbDZLkYgBvHif4LbfsoaT9bc0M1iHwUWkJr6uljgU2T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25718587},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470_1694089161727_0.21047651809961043","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c":{"name":"@preply/video","version":"0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7199561a92ed4ce29ad13017140681ba3916c63b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c.tgz","fileCount":1083,"integrity":"sha512-qudzxPK9CPDuorJtTQHPedutIPXT3ZNO0+6TpFyUCW1fhc4Iy6/bUlYopNPriV2jkJKY1WFZABsMAgurE8vy8A==","signatures":[{"sig":"MEQCIDaHCyTXOk6y4YFyCA/BzfvdlKPY4qbdfvtNsFH8bY1RAiBS3rmr49bX0ngmR8Yv1QJHX6HBhbgw/RMXhgKSpu13Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25718587},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c_1694092140183_0.6183293176994649","host":"s3://npm-registry-packages"}},"0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2":{"name":"@preply/video","version":"0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"481316244c319415b6a603fcdac966ba1540f420","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2.tgz","fileCount":1079,"integrity":"sha512-tsnjd234Z+CZ+FELnDSTLw6vFTXgoj4hOUGnJOUPdow/P+a8Is3SUi2m+IpMmEMHD9ATmbs/sX7/LiAOjtYXHw==","signatures":[{"sig":"MEUCIQDEQWZBkVFJiaGkbKHjZPSmaGr7KqP+HRVYKGr+vXs7FQIgMSOCgyO4fl7qhbdovIypXdOKDO4QmUGVC2RPcLJQ1gI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25655029},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.64.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.64.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.64.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.64.1","@preply/ds-web-core":"0.64.1","@preply/ds-web-root":"0.64.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2_1694094416044_0.40957178017611007","host":"s3://npm-registry-packages"}},"0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089":{"name":"@preply/video","version":"0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ec04ff6a5b5ce16ba2011fef309fd1bd0a7b9bd0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089.tgz","fileCount":1083,"integrity":"sha512-YcJ9zFC/t6BLzlDXxUx42wALJFoUOlhe8mcPXl5TAZ+lRQhLM/h/KhXKK9bzJ2qK4iawMyQ5aYAdNrO5lvUUcg==","signatures":[{"sig":"MEYCIQDeacSkYP0nvVwRqlKU45NAlSuMZsME+M8fwC48grY+8QIhAMYh6yoxTL9Hxwkx2N7dLydH5ol4jdXBj0O4dpBAqDBv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25718587},"main":"dist/en/index.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089_1694437003812_0.8496742939155668","host":"s3://npm-registry-packages"}},"24.0.0":{"name":"@preply/video","version":"24.0.0","author":"","license":"ISC","_id":"@preply/video@24.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"798e74796f7cb5154bba6508831dd2418a9922f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.0.0.tgz","fileCount":1516,"integrity":"sha512-hVB52qH+4+ewmRZUmaKoyRWlE9iKaghLs1vqsb6leQ140uZ5GH0Rb5Awm/QmUbSKfXbb+HDlIMwgqN2ia+tm+Q==","signatures":[{"sig":"MEUCIDeJpzRdcEssKxik7A4QudpCOi9b/LnjCbitc/xKBGX0AiEAkWqse5p+HclImv4/cvBeRs26IZJql8VmpWXUGEVs/VY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41971992},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^1.4.1","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","apollo-cache-inmemory":"^1.3.11","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.0.0_1694516271641_0.41781005408562577","host":"s3://npm-registry-packages"}},"24.1.0":{"name":"@preply/video","version":"24.1.0","author":"","license":"ISC","_id":"@preply/video@24.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1a34fc70cd9adb8484f880c53af145b646a1a0c9","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.0.tgz","fileCount":1548,"integrity":"sha512-gsgE79m6O1Bzpo5jwXR1FFr9NACk1G/8IgTyn56v+XS+NnhXeEajkpJIDyzxVwC3MvZdH1M5vXFcS9k/2O4b0A==","signatures":[{"sig":"MEUCIQCWWs1CkS7WbBEhVGbDtqYEd7PL/yaap40JUDCwAXxYBAIgUPxxAf6uoN+2Yv2LGAdnu4WOWYnpUR+Fcm3XlvNqVNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41988074},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.0_1694525963517_0.296244934792111","host":"s3://npm-registry-packages"}},"24.1.1":{"name":"@preply/video","version":"24.1.1","author":"","license":"ISC","_id":"@preply/video@24.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"983e834868c1abc1d3633796eaa0042cbc95c68d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.1.tgz","fileCount":1548,"integrity":"sha512-cqrcCjfCA780c9iI7jGvSEMbLhV7RbiWUkaVrlpStRObvFKPfeGoX3t2Qed+NmAA0iTA1QaCu5lUfC+AY+5OyA==","signatures":[{"sig":"MEUCIQDUM80JH5+d4cY7jdzwBmmT6VyKUmpqcdScT6YHDRNkQwIgVo+shnq33reGCCxqu5p6ATVUE3wLw472Xa+SBGGfYVk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41975448},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.1_1694532204845_0.9130809942083615","host":"s3://npm-registry-packages"}},"0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43":{"name":"@preply/video","version":"0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d993737eda277d88c6f1ae4a73fe868f229bd927","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43.tgz","fileCount":1548,"integrity":"sha512-BkQhCTXPHrjzfRAQJRhPAGwiwYLZWd1nT+SwhBPAiTFM9elljV6j50/FbN8Hk2ghTsQ+FpCmdpYhCavBRvVqDw==","signatures":[{"sig":"MEQCIBMx+KOfXwZ/ld86/nR/HbQ8i9IVTVIfPZ2+XQOoJi+wAiAV69mtKL8haMIEK/GdtQSKPU5wClgqYqWOiZp7TCRh6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41992471},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43_1694534726206_0.507141488210541","host":"s3://npm-registry-packages"}},"24.1.2":{"name":"@preply/video","version":"24.1.2","author":"","license":"ISC","_id":"@preply/video@24.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4fc583ff6ec2e85876d804190a63915bba702e66","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.2.tgz","fileCount":1552,"integrity":"sha512-y2pW0zKtEyDqreYeEiUyesrhSfjfi/p5+chmCwrj6ohz/8/Fd/aPRbzxyfJpLoljDNrZReLgZ6FivlUTsybNKA==","signatures":[{"sig":"MEUCIQCutcWL5a8pGFgoC2sGzeoPUwf2tj/DZcN5YautlcEOvQIgWn535pLurKIF4Kzpeff73LUt6+f2qfHy/jaCSxxU+II=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41976665},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.2_1694539700358_0.24905797478539826","host":"s3://npm-registry-packages"}},"24.1.3":{"name":"@preply/video","version":"24.1.3","author":"","license":"ISC","_id":"@preply/video@24.1.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"311765e1183c69dd7def4dc177e6e8d7291106a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.3.tgz","fileCount":1552,"integrity":"sha512-LsmgllVh9zcGOC3DyiJLQhthj9qHGdHz3yNZSlSiy6NNAFrd8zHSllXVI4gIZvpFLpnpL6GZU2qfKDCU9nongQ==","signatures":[{"sig":"MEYCIQDejWKGgN/jNQjFvtM6Z+msxFr29oa69/KfXtrpvw3OuQIhAIAMr4AIIwNZVhmX3YZrRpJr1yGYVfPKCiIZ4iYplTN5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41976673},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.3_1694579721645_0.9933090161328915","host":"s3://npm-registry-packages"}},"24.1.4":{"name":"@preply/video","version":"24.1.4","author":"","license":"ISC","_id":"@preply/video@24.1.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8bfa298ab112ca6122b35ab86cecc2b04bc5ad32","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.4.tgz","fileCount":1552,"integrity":"sha512-qiov/Ckkc0Cf/Jw+SAzwJlUJsaiRYVo1LRFJ1PPzr4OwaGEsVHetvPvcY89eujEvObflBZfoSTjp4vyvTpr8zA==","signatures":[{"sig":"MEYCIQDQ73eTq6dAmFqKpXtranRl8dS4BmcUj5wke8Z+7wTRbAIhAJHicW0EmBaUS1pefpDYg0jIc+f5uIyijhZWCXyxX9TB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41943209},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.4_1694596538609_0.3954845412033605","host":"s3://npm-registry-packages"}},"0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e":{"name":"@preply/video","version":"0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f4600fc1bab77687288fe9c57f7ac4986900afcb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e.tgz","fileCount":1548,"integrity":"sha512-dOC/fg6jZ81yVbun8QlqjtRnD9EROF7JlTgdD9I+3+pA7Vo20hk3xkpb9MCLLNR4H02onONrRsn64DDKFahVZQ==","signatures":[{"sig":"MEYCIQCD1BUQc8tLm6bHETXb9BJhlauiTmlWjQfijJyCogx+oQIhAOFcg5TbrcDrmzUArt8pfdW70VTS2MGGxzlHS3OlzWiq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41992471},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e_1694598129912_0.20776329651847325","host":"s3://npm-registry-packages"}},"24.1.5":{"name":"@preply/video","version":"24.1.5","author":"","license":"ISC","_id":"@preply/video@24.1.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4639b834e9a5bd9df88849c01b1e4cef169932bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.5.tgz","fileCount":1552,"integrity":"sha512-mPkJ2fD5wpsRjIuVZjWXofbo1nty10m53flW5D/wEes8Dirf2jvUWAYbBGpOQ/rlug/Oe4vOu+f9bbfefmgB6A==","signatures":[{"sig":"MEUCIQDgIQLhNH4J2ICiKCt0XkiNpzNHF6jfpQolyymjrsdQOgIgAiRlmUh3TmXm9o2WfzM5aEXyEdD2my8PhQZKTBhhYd8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41944382},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.5_1694600973714_0.06499485228931645","host":"s3://npm-registry-packages"}},"24.1.6":{"name":"@preply/video","version":"24.1.6","author":"","license":"ISC","_id":"@preply/video@24.1.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c75002ad9fa1f48d404efd792ad61395d25cca87","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.6.tgz","fileCount":1544,"integrity":"sha512-qCPqzh0Lxa36jN2huLuGmfNGg6uXe/cRuCZIzdMTx43bQDLLOqWT5gn7XQnLEdXMVDXdI2KgYEF02SCrORdDnQ==","signatures":[{"sig":"MEQCIEXLjvvsSYn/wYoJGRTrQwWrW8KEVqNdGzCQj/lb589hAiA9D/oVYxPs7LueDh9GIuSXdu+Q+JoZT9QnSuXeF1pYJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41885762},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.6_1694601681381_0.9170942043371879","host":"s3://npm-registry-packages"}},"0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233":{"name":"@preply/video","version":"0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"186605e6727ea9ed4440cc7005162b2047312922","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233.tgz","fileCount":1544,"integrity":"sha512-2SOZQ5cwsGqr0IDD0WgGuVveScFmoD+F8v9qNE7WyrCMbIOfOKguVkpTt7xki8TO21t870qy5lWKHz+O6Sn/Zw==","signatures":[{"sig":"MEUCIQDXaknGnRhSoSt/G+TJH2IYdsOTvCAQiasqmkc82pEQbQIgfnjK28+l/TtVjVejG/kOEaOLO2qvTaN3lnFGaquk/CI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41890159},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233_1694607754473_0.07926821407634188","host":"s3://npm-registry-packages"}},"0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f":{"name":"@preply/video","version":"0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"002fb24473b416d3733f2d37517000ea1a13afb6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f.tgz","fileCount":1544,"integrity":"sha512-fx5kOMm43DFHKkcF2UixTlaRMTzTcpqE1qpg82okC/SNVt76HQU+rilvn4fGpkqlVVXHDB3Q0fA5XeRI9TA+yw==","signatures":[{"sig":"MEYCIQCpuwkWGG11aOdzvk896yBaGk0pKZ4iyRQCFcXs3R80vwIhAL6LoGudg90lsnqjqCen4e7guvgcG/NWVoZsxe6GzeQW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41890159},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f_1694617235959_0.6324439087085161","host":"s3://npm-registry-packages"}},"24.1.7":{"name":"@preply/video","version":"24.1.7","author":"","license":"ISC","_id":"@preply/video@24.1.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5039dcc8a847b311af67d11650a1391351062f08","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.7.tgz","fileCount":1578,"integrity":"sha512-op/TxS0U/5a/gAxHZ7eHCetXvzppiUeqrwLe1FlwAFjxp01QmDsSUym7IVvhHFexjQ6Fs+9ClJ+PMn58m2Y3FQ==","signatures":[{"sig":"MEUCIQCJV6Vq2IJh4mqkF5F1S/MsEojuothGSnHTBKTyVw1HEQIgeBEBEQ8vN6aeoTkemBNe9e1Q13nGgOT+I7uBmz+Szeg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42084520},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.65.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.65.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.65.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.65.3","@preply/ds-web-core":"0.65.3","@preply/ds-web-root":"0.65.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.7_1694620105354_0.5598853356934763","host":"s3://npm-registry-packages"}},"0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933":{"name":"@preply/video","version":"0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"28081b2d0f8de8b8e4b087e254a8d012fcfc7f45","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933.tgz","fileCount":1578,"integrity":"sha512-RXZqdiwDsELPkcOGDSldRcuhod9Wxi4ZDp1P+N2b553rRcF73if0hiqAxSk3DMELU7aH01/jPW40t94R87NClw==","signatures":[{"sig":"MEUCIQC+mvsPQEgqrNKbUngNnx/ts6kNnyBylb+GdP9Q+sss5wIgcxReNkNxdMguBlzdhskMSG1YJ4cQ1OP5GfGbSZYvxaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42088917},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933_1694667836958_0.952829829983457","host":"s3://npm-registry-packages"}},"24.1.8":{"name":"@preply/video","version":"24.1.8","author":"","license":"ISC","_id":"@preply/video@24.1.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d68f0c9d5c56fe19ef5563c1f8f03f3e72ccee64","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.8.tgz","fileCount":1580,"integrity":"sha512-V6xMm2xMOA9uawK1uHYw2O1lpab80vZ9r2+BKh1KCIVFWRlfstyo5D96NTRUcBP+FAUJhKdMkGVfSSpMxmB2DQ==","signatures":[{"sig":"MEQCIHYzLljqWVx7gHZAQ9QyFE0D3LlFGQ4/M7uXqJRj48rnAiBHPM/2htmqYx+IpWCEDFrO4rDXrOhwX9vCIM0GQim41w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42124001},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.8_1694680409596_0.8392205018156513","host":"s3://npm-registry-packages"}},"24.1.9":{"name":"@preply/video","version":"24.1.9","author":"","license":"ISC","_id":"@preply/video@24.1.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e9d8acc03a0bad8cfaf7255ffd060f62040b3b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.9.tgz","fileCount":1580,"integrity":"sha512-bWaIEDBZJmJXqqVRo7shBBLCHositRUE5PAdjQyotUjccOxWLDU4tMBmf5Iu9O36EPcj8506Efc1G8ohCWppjw==","signatures":[{"sig":"MEUCIQDzymuDORDrAvvQ4QLnKHFl/anUmboTYjbRTgpMOPMx+gIgB5/bz4RJAx2VxcbhRl6ww+iC68/wlh/EVNu4mhzP3io=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42093282},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.0","@preply/ds-web-core":"0.66.0","@preply/ds-web-root":"0.66.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.9_1694684187599_0.06096221980009764","host":"s3://npm-registry-packages"}},"0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87":{"name":"@preply/video","version":"0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"00e818f2c44800cab0f68a10f91f156ce15d89bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87.tgz","fileCount":1580,"integrity":"sha512-wFBSzbnx5ofwvJDbExJo2h4ZfZRkl8Pp38eVCx3SO7x7DCMvJLupXXebgtW2y73/Alh787Mwap0jfK/piKoNBw==","signatures":[{"sig":"MEYCIQC0PK2aoOP0GaUbP/vGSACzEBnn5pAbXZBlqLmDbvr9ywIhAN8WuzZdjLT0xgbwSJbKbcpZEN9fKIVg4QoCeSha6aEM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42097679},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87_1694694081971_0.04977958478144906","host":"s3://npm-registry-packages"}},"24.1.10":{"name":"@preply/video","version":"24.1.10","author":"","license":"ISC","_id":"@preply/video@24.1.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"22704460bceda5e3571d2d71d0a85f088f27fe7c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.10.tgz","fileCount":1580,"integrity":"sha512-wO5YA6mXERydfJqYKvvy1uweqx1TbAJeKNPLmUQ8jBR48JAyixOSuaX3tGr89kp+Z2d9E57oELqxWyThc3e7/A==","signatures":[{"sig":"MEUCIQDS2PFM4suP4ssRrc7lziUFGO5csf/GDHmYRbvz3ZE3KAIgeXv7QNeoPlEJlAMTbwMl2tW3hZNudJSsnH6PC8IsV4U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42103005},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.10_1694698524719_0.3348974346691702","host":"s3://npm-registry-packages"}},"24.1.11":{"name":"@preply/video","version":"24.1.11","author":"","license":"ISC","_id":"@preply/video@24.1.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3ebfcbae6513564f48516ef931db24feba0a8b67","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.11.tgz","fileCount":1580,"integrity":"sha512-UVi5gwmX4PBx7vg890xllwsbCzKXw86jRDGZRcY3j4lU8+b8gmN7BmAdXnBy/xgsegbryoUV2c/X3NwJbtxyXQ==","signatures":[{"sig":"MEUCIBwtWDwi/e6QdxAXEyZ677ZEs98nJfWk+i0D30mbi2usAiEApa3fNsAiofDE52z4AcXLzttI9jmwrTtDaBEOlMp2xO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42112750},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.11_1694699221528_0.774634241824238","host":"s3://npm-registry-packages"}},"24.1.12":{"name":"@preply/video","version":"24.1.12","author":"","license":"ISC","_id":"@preply/video@24.1.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"384a973d7ef429c93843cd4af50028e34cb87ec4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.12.tgz","fileCount":1580,"integrity":"sha512-4Lzche0x93jovG8PdbiuIlgHb9MPcUgrlkMDymAXr47ik7ar10OmEMBCxjiIz2u/bAnwXYefNMjBH/ssFmHIhw==","signatures":[{"sig":"MEYCIQCT3233KjfOQ577z14GD3VHWqA0903euE8SQUUQ9vlDsgIhAI6gDRDsZukNxqCgGL83fJFxBrHy3K9DdfL7JnjFOiBB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42115623},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.12_1694699933149_0.5474414816879252","host":"s3://npm-registry-packages"}},"24.1.13":{"name":"@preply/video","version":"24.1.13","author":"","license":"ISC","_id":"@preply/video@24.1.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e0e211421c3642296450dd2d5c186c8e0d6b16e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.13.tgz","fileCount":1580,"integrity":"sha512-AUbPLTfKirWsQ+3kUcsHXaWtDK3dGlp8R3jomlTOcPnvnQvpW8zzf5MAr3dcJLoqHfi7IORKAtUKg1xOhAxhpg==","signatures":[{"sig":"MEQCIAlxrtxWdqh2xD4BkdD2dQH3N2DhV6mnzE2E1jf1TCjkAiAN53xEH5AAgW9jubAgjlOkmIqxGL465NKf/dz43S/S4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42109315},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.13_1694704940968_0.6830868376184471","host":"s3://npm-registry-packages"}},"24.1.14":{"name":"@preply/video","version":"24.1.14","author":"","license":"ISC","_id":"@preply/video@24.1.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89d4e79cf13def3fb463d54b7c59ce3e72379d78","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.14.tgz","fileCount":1580,"integrity":"sha512-Ev0JG9WFOcHGIUQ2eSbs6KeIWWvmaY5DsmrvzzVh0mXEFlduKGEAhXJzy92UVnO7Z3JjpR5l5nYFCt7/ZvkpAQ==","signatures":[{"sig":"MEUCIB8AIxwJlvc5Ce+opsUK6vLUrDYmgEh7nvwJ9qlKCJx+AiEAzYKjtQtMr/c3uLaXx7Y0Wv97ibtU/IFj9/WSe8yHGYA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42078800},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.14_1694706634339_0.5154487361781954","host":"s3://npm-registry-packages"}},"24.1.15":{"name":"@preply/video","version":"24.1.15","author":"","license":"ISC","_id":"@preply/video@24.1.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5bded1057c5e71a6019ef8b6b45eebdb1420df60","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.15.tgz","fileCount":1580,"integrity":"sha512-lTgghIMYhxoADSazxLnl9LAcxdm/iWHKiQhYB9i3kWjX7RJzVfa8aoNeXzYm05X3zOU1L22I1VVMvaE2j2iFtg==","signatures":[{"sig":"MEYCIQDKogJa2Qaa3C8tv9bkj9qaDWsrWoFuVAuVSLTtWPXOogIhAKOpebOZLb2f1GQybVWfNroEbfrZJY4Pn/fdbCtJIWbp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42086722},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.15_1694752064621_0.6673532762061574","host":"s3://npm-registry-packages"}},"24.1.16":{"name":"@preply/video","version":"24.1.16","author":"","license":"ISC","_id":"@preply/video@24.1.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f9a9033339d8e6ec85a7eb260b63f7b9dfb258d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.16.tgz","fileCount":1580,"integrity":"sha512-ITngRWVEB27/qw4cqtLSvbe8yDLuCxk6XmXVxihfpE2B4MIFDKQry//fAgXycyQnEx8DKVWV2Z9dlhTZG+9KqQ==","signatures":[{"sig":"MEQCIFV2DmI4XLbrLqnGmqQn+N639DeQh0Ls99A3gHGRKWQuAiA80tgC0CW3DZGB1BILMtF79vX9+WhwQHlZZXlvPqGoLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42095409},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.16_1694769867363_0.007483612122307415","host":"s3://npm-registry-packages"}},"24.1.17":{"name":"@preply/video","version":"24.1.17","author":"","license":"ISC","_id":"@preply/video@24.1.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"00cfd641094d6ee5ade2578008383a79436c773a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.17.tgz","fileCount":1584,"integrity":"sha512-fByZpMzyMsTTsrliPzMR6xP158lMFwbQuwJPbxf2icaxxaCwjf3WJGgaFkRItwf787QWzv9uKq+FPsvgL4OV5Q==","signatures":[{"sig":"MEQCICpxUMYmfy3uTfUtoZIaye52xGHmDeO2e9mw0yDOW73WAiAjP3ssF/2z9go0Kd4/WozRhLEorCl2XQimZrHn/EsqRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41710289},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.17_1694794328082_0.18051143610679676","host":"s3://npm-registry-packages"}},"0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463":{"name":"@preply/video","version":"0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"64d4b0eb70b7f65a4fab522f6500c5c4ca93a35d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463.tgz","fileCount":1586,"integrity":"sha512-DJ3x9O/4+uy8Y8oyomsYu+CMA2oH20ZxNqcBiM2YATmmuKIxyrNuILKL4bZH2T7gqg5/5k4GEyrmO/TrkhDv4g==","signatures":[{"sig":"MEYCIQCeAd4iabWwhaCiCta5CiH6+hxkaTr+npW+7klO6Bd/JAIhAK+8WfISTwhO8vVcvH9EZDUxDqhYnEVXue/55O4A6jfs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42105462},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463_1694795044720_0.09908588940800245","host":"s3://npm-registry-packages"}},"24.1.18":{"name":"@preply/video","version":"24.1.18","author":"","license":"ISC","_id":"@preply/video@24.1.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8a6b5e04765bc3bc5c1943397810901f2818871a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.18.tgz","fileCount":1584,"integrity":"sha512-mdf0qpEzhNpdu4ZLSY+182jcKFYDrjwcB78M6YHG1eSmTtBi0Lo4Zmc33LQbgUXCpbOVpAu7zIYYnimSg2DcKg==","signatures":[{"sig":"MEQCICwlhaulm1BtZ1D7Dbh5wvHBNiOfsLCOw5gAvmaZtiUCAiBWFcQOlLVwx/ZcZtbGoZOn/f2+ozzxfzk5lQ16GfDx+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41714665},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.18_1695011399759_0.10077134093897255","host":"s3://npm-registry-packages"}},"0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba":{"name":"@preply/video","version":"0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"699c7dd034f05f43b1267b7420acc884d86a03af","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba.tgz","fileCount":1590,"integrity":"sha512-gcGUhSXVmHuHrofVPmLpFCUv28gvlVYTHwMVNQYRBG9AJ097OnrWc7zsBgfYm+18p5kUnW5T9ARoqtkmyrH25A==","signatures":[{"sig":"MEQCIH2mlc+1/xE08j5iIxws9C3IGU9rQGBbWD0s83d/Kv3aAiBkWMyJw6N9bDaK7m9NABCsfj8vLuhlL4kJDCrRFmsGgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41724718},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba_1695024620310_0.4138823796342599","host":"s3://npm-registry-packages"}},"24.1.19":{"name":"@preply/video","version":"24.1.19","author":"","license":"ISC","_id":"@preply/video@24.1.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e443709a98c373e105ed993eeb87d1ec1ed67421","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.19.tgz","fileCount":1590,"integrity":"sha512-YYi+2UAQL8bW1pAGAYpOtlyb1KK5WTknbjluTszUx6EfngGepLbo9Gx+UyC7eGEVJ1I5d7JLymmXZT8eP/HQxw==","signatures":[{"sig":"MEYCIQCYCRgTojl0mWtI8mFO1aVdWq6JtFTZprYVz25gddj6kwIhALEpsa9TOoXqrsUxkg77VGZtrGFFjHiQtFNn1RYrKsw8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41720713},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.19_1695031779140_0.28380833503809333","host":"s3://npm-registry-packages"}},"24.1.20":{"name":"@preply/video","version":"24.1.20","author":"","license":"ISC","_id":"@preply/video@24.1.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0982fb5d6640f494755a62ec6d066686ebb8bf64","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.1.20.tgz","fileCount":1572,"integrity":"sha512-/yfB8rat8nALS0bjugg1kygUgf4FHZ+j2lFtx8s3rzN3xYppzWHvF3UGzjyToDHc7k/eWCWgnyY0njQHc8o1IA==","signatures":[{"sig":"MEQCIA3GW5WzwgIpaYKcCrG8LTZcAYZl0bnWKYs3SF2uD+39AiBtuuIZjgsOMHm9oLXo6LLRD9D2JFT+XwaRWA+qdCWAGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41113123},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.1.20_1695052158068_0.016830982612315415","host":"s3://npm-registry-packages"}},"24.2.0":{"name":"@preply/video","version":"24.2.0","author":"","license":"ISC","_id":"@preply/video@24.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b0aa2b2fd13cd2028001a1f1a6039e04c257431a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.0.tgz","fileCount":1572,"integrity":"sha512-WbKgPpaAAxI2utcUXsNcd1Q5zPua3+Ab/Pv/akTTeB7c3g+C8uNTG1jY60JgkCd7hs4fcDf9ZD2NnorabKkXuQ==","signatures":[{"sig":"MEYCIQDcaFHORMTk/pkhBo+9oZZ+gisHzJoqYKFbQI4kUrLdSgIhAK7B+9Ajb1+pAzYq5dXAmsAySSefnWDshj9AtziEdY/K","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41127225},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.0_1695053999875_0.1863472690763428","host":"s3://npm-registry-packages"}},"24.2.1":{"name":"@preply/video","version":"24.2.1","author":"","license":"ISC","_id":"@preply/video@24.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ddaf4cded6feefd41443538d61c16657f0c32787","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.1.tgz","fileCount":1572,"integrity":"sha512-Hhoe9h6nA8my8gfcmwF1685Ph897wknOvRH4FH57XcFhSmGEKljg+YKvxuxu4yJyqK2nQJSoSoZnKT8cqXkkww==","signatures":[{"sig":"MEQCIEZNGE16kaK/ckMW/u3Q/nggoVrhTPReD46c/+usGXDYAiBkMqr05t1Y8bnHRLSMODvujEuDzAvbppWOT2YR2z4W5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41157631},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.1_1695097613846_0.8900736503353641","host":"s3://npm-registry-packages"}},"24.2.2":{"name":"@preply/video","version":"24.2.2","author":"","license":"ISC","_id":"@preply/video@24.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2a499c1d801c26b21214f29d38615d9eab8a2a37","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.2.tgz","fileCount":1589,"integrity":"sha512-3KbyBEt8Opnom2RXbyw01w3D0K/wY2DX4gYtvb96YES9dHSVD0LQOk+lzO9//oTEtEp+kYZX5YBPKPHJsGhOXQ==","signatures":[{"sig":"MEUCIQDGmlqz5aWZgkD/S2B6cf/EFsWn8OH62/jGh2+KGQKHEwIgUDtfq0XbCeC6g/Zylf4a4SbvQaEOLMUfx520RXmOltQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44944599},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.2_1695113679454_0.6834525757826169","host":"s3://npm-registry-packages"}},"0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01":{"name":"@preply/video","version":"0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89ec357794885dfc0902f61bee125ff8d47c3b5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01.tgz","fileCount":1593,"integrity":"sha512-p/44m5b3hGzVweQc7QIkm91epm8/CfzyOJ4dm/girbC3p08+s/Beaes5gSZzHOiyA5tYnO+iFiGMlsYG4+GCbA==","signatures":[{"sig":"MEQCIDypRTp7xUt4dyM2tlB088ttNTt2SRJtlalY+hZ0aur+AiBvAjpPCx8XvE+4V3dYzdjPKjDeW7ddEIKQQ2ab8MOJWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44974852},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01_1695132323127_0.3582853673766184","host":"s3://npm-registry-packages"}},"24.2.3":{"name":"@preply/video","version":"24.2.3","author":"","license":"ISC","_id":"@preply/video@24.2.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"95a9a6bab255e1925d636fb0fb00229b3416a489","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.3.tgz","fileCount":1591,"integrity":"sha512-4Q9NvBkKte8xShKdJ3qLitt6Yhqb01CFEkd3C5SuqkbiYXVdDR3vZ6hMf8QeUgOOBEHKOxj0G1g8FJwI4vlPUQ==","signatures":[{"sig":"MEUCICfvpb3RPe+8XAJf1nLutky3gJildCsQB+9k9xEOZ/NFAiEAt0EWwkehmWciqal+MVnu9uaWjWVJ5NsJaJDLnUigPVE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44900625},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.3_1695134692143_0.6515557739823088","host":"s3://npm-registry-packages"}},"24.2.4":{"name":"@preply/video","version":"24.2.4","author":"","license":"ISC","_id":"@preply/video@24.2.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1cd511fdae647242d9d419f9459043c424ad2544","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.4.tgz","fileCount":1595,"integrity":"sha512-VD5G56MINWja0i3JUdv4SrjkSt031qtOiQaxN6GHdMj/Cggt1qolKe+uO75LPPfOzqZoaRTLTnvnzzxgQzSVeg==","signatures":[{"sig":"MEUCIGh+pkTUY7BteCon9BkVZW/qL32dAJLFs1xB9amRe0NHAiEA4g/owtfu0ZZWTz7mEtkWxo0byblOqSQMVUueRmhuXNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44922899},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.4_1695135425271_0.446427971728494","host":"s3://npm-registry-packages"}},"24.2.5":{"name":"@preply/video","version":"24.2.5","author":"","license":"ISC","_id":"@preply/video@24.2.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"60074a7116b48df014d526aeb5b8df7979d57160","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.5.tgz","fileCount":1593,"integrity":"sha512-kpZ1Pe2DWLzj/1ne/McR4ActM10QdKupmN95icFTZSEaxHv0VRVB8h0ro9xTDQ5D0XH/guhcY7J+peMCcXudOw==","signatures":[{"sig":"MEYCIQDaYcKC8ih21vOyVuWVb5KTm5OVSlM9zPGQzf77K+6zjAIhAPwARSFCYVohz7gRMeQ/XzSkGGaOHzicDrSGT4jR9my5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44877511},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.5_1695140233847_0.8839895954404275","host":"s3://npm-registry-packages"}},"24.2.6":{"name":"@preply/video","version":"24.2.6","author":"","license":"ISC","_id":"@preply/video@24.2.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dbc9933dc0c1b902d185f01a019015a43ea52792","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.6.tgz","fileCount":1593,"integrity":"sha512-IlHclfn2XlsJsbSXLS2BPLczJ5AtiYGr6QGsHK8m65E9RAEC5XsOlhvk5K6xVXNGCd7ZrjFN0dicWuL8Zh1nLQ==","signatures":[{"sig":"MEUCIQDO0lNYspcvPVqAqCee4OQaE0gKr0L6ZeQX1rpcSEu7SAIgaib4T0qejc4OrS7LXcrFrye4NLBZ6Nazal0F2z97deU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44877527},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.6_1695184024185_0.63401893785735","host":"s3://npm-registry-packages"}},"24.2.7":{"name":"@preply/video","version":"24.2.7","author":"","license":"ISC","_id":"@preply/video@24.2.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c753f1eb6fd09fc70e0f8fd5d5714737a397698a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.7.tgz","fileCount":1593,"integrity":"sha512-Ka43Zx9H0/ltEhl6WLLSD1mX9a/3XGbFISIUYwfDHaI4ejwLPjd/gCz4o/Uq836BfWNLwVIbdgR61RFEabT6/w==","signatures":[{"sig":"MEUCIFwJ9pp2//oSTpgWZ+Oc9u0Ds6LJmiK7q0xSLeR1n9B5AiEAt1RJUJ9zefmEtPXlaRXrONheGcViALns4+Jn99PzV4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44883404},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.7_1695200794923_0.5290438611351216","host":"s3://npm-registry-packages"}},"0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654":{"name":"@preply/video","version":"0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b239024f21c6f19bc038406023bc9d3c853a9bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654.tgz","fileCount":1595,"integrity":"sha512-bje1tx1YdQzCbbuTLx7nDfwo4LMCBXTLHnQV286j+EwNw9q/ySfwBcPd4T177qc3QGXdqbkAcGEPCOFBzo61Ug==","signatures":[{"sig":"MEQCIDulQCVX8l8cqPfrKzLurn0rktSQVPIMFzYbhhZg3BsaAiByTtqWyZGzYKA9UvwSQooQvpqjyqD78bWG8An46wkIww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44842007},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654_1695202218756_0.06685982892202325","host":"s3://npm-registry-packages"}},"24.2.8":{"name":"@preply/video","version":"24.2.8","author":"","license":"ISC","_id":"@preply/video@24.2.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"efae941761c76ef51a6bfd9816c51b2c96f30637","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.8.tgz","fileCount":1591,"integrity":"sha512-tjZTkMTNOUWa+PqR7h01mNr5Wme5Uymw4Gf4QA7PLsqGRzFwMnD/Q86oomdMbzctbpKR3JWLKda/GW15+wzcEg==","signatures":[{"sig":"MEQCIGlRJR0U1AKjB8OjcHEWp5thFKoSdgLs9r+eSB17/6rEAiAbA74lEa4uuGSKJY8+LqL2BxhQXo14Lj92kFz32ejE2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44866050},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.8_1695203884419_0.1730014840781373","host":"s3://npm-registry-packages"}},"24.2.9":{"name":"@preply/video","version":"24.2.9","author":"","license":"ISC","_id":"@preply/video@24.2.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e8afbfde21a55cef60cdaa142a221c6ffee062d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.9.tgz","fileCount":1593,"integrity":"sha512-6reCmXNG/ZM3KxRuP7FVfy/tZda5duye6sgzvVPHHYaVGSaOjq19Ua9SUI0hROhd2Dwr+rANKGWkpjh2OIsBJA==","signatures":[{"sig":"MEUCIEAtv3xlII3e5Y3Zbu9gFWWne9w8uJ1fL0fu1J5pUHKeAiEAyMytJ7V8YeBa8Or7AE92B54n5H9gnY1kMUC5gWKYSK4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44774902},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.9_1695213064684_0.4650660701265239","host":"s3://npm-registry-packages"}},"24.2.10":{"name":"@preply/video","version":"24.2.10","author":"","license":"ISC","_id":"@preply/video@24.2.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c5f0cfecbb9f44238a883ea41f20262c3e3da068","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.10.tgz","fileCount":1595,"integrity":"sha512-3r4Wx+L0OZXaV7hmrnF+Wne4DAL59g+YueZeWH8JnYImII8sJRCwfPk4N0mDmoAP+QQXRyCBE3ubcvylaxiIrQ==","signatures":[{"sig":"MEUCIQDiO1iAWyP2GRLlCodFBZPSMgXK0rFIko/3G7q458IGHwIgMC4Hp5ekwzhU4YWRvypS5hcMVpC6yOVwvE7BqrQhc5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44778551},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.10_1695216218880_0.12096395250854042","host":"s3://npm-registry-packages"}},"24.2.11":{"name":"@preply/video","version":"24.2.11","author":"","license":"ISC","_id":"@preply/video@24.2.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"52385896a31c1b8765b210a6f9eac56e5bf781b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.11.tgz","fileCount":1597,"integrity":"sha512-aimnDa8hEcJ7fOkTSWhb8crdDlC3aA/qRDyvDGO2Wlc8B+UXZr1EQbphqs76bfa/0eYEx9ANCYi1JFHFGUgMqA==","signatures":[{"sig":"MEYCIQDd19nCeJQK3p3A7Lisj7/HlWF7ScNrwEezN3mqhSFJCgIhAJCYsTxZ4UjSBDJyvHPNBU0Kni60Lis/d7g/0JB/9AwY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44750871},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.11_1695219145829_0.24483352015107163","host":"s3://npm-registry-packages"}},"0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f":{"name":"@preply/video","version":"0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4301eb76b1c3bcf0d3de2edd19d6d170e956f416","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f.tgz","fileCount":1595,"integrity":"sha512-uxa42MFDPUvDTklheYOZIZEKrutDyzpWiQ5HWsD19/K0XytxzDJWcv8G7vAIPxhPZ69MoCip1KkSO+uY3Ua++Q==","signatures":[{"sig":"MEQCIGSa81Ps+ejgGtWPjmGWbyr8o0PedjxidRE+OAolcBUZAiAXZfr6O+8NhE6ylhDQBa8h+9Fby4s14DrkpY1+PC5Vkg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44783406},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f_1695220298939_0.5405047905497471","host":"s3://npm-registry-packages"}},"0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6":{"name":"@preply/video","version":"0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f03d8776ba24fe12113ca31f1df097062560bb7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6.tgz","fileCount":1597,"integrity":"sha512-9FCfYb7RqR39vZ/KVpazP/pg/qNQokpLloOXR3FmE3DIVJuHq0GdKBHUl/Mz3VZV2vfPrulX0MJePZ/kfwgiVw==","signatures":[{"sig":"MEUCIQCPOl6vggcGiK2ym/Vz32NhwJWTf5+ivkAcIAHth0WlzgIgEc8ToR11NswInvV5Airw0AXNOGhGsMfJw94LygMIiGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44755676},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6_1695235953976_0.1376524734711242","host":"s3://npm-registry-packages"}},"24.2.12":{"name":"@preply/video","version":"24.2.12","author":"","license":"ISC","_id":"@preply/video@24.2.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cfb74040ec41eb231df8fa222f8c3c79d803ac6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.12.tgz","fileCount":1597,"integrity":"sha512-+QcsKwqJFkp5EAFInnRDsOsOf/tVksYjTw8ofpMB+7YeatMLUW5hZuz2zB7XL8LlfHKzowWPzmtUHHWVTKNd+w==","signatures":[{"sig":"MEUCIQCVDmkMJx2aOQGI17TPYITHbibhdYemV9x3D2hB/8kc4gIgDwF0ts0ISwOymekcMuHrXQyMb/uZ7WgF5uEf27NIZrk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44750821},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.12_1695236677504_0.6967992298041812","host":"s3://npm-registry-packages"}},"24.2.13":{"name":"@preply/video","version":"24.2.13","author":"","license":"ISC","_id":"@preply/video@24.2.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3076858f6989455609e31bd767aabd4bbab07b6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.13.tgz","fileCount":1597,"integrity":"sha512-QAGzvjQXasog77oCbyf+7J3H/sFG4yjn866cYaYHz5jj+OGsnfm+JKIO0HtrMsxb/X179/RR0/n76bjHZNEp0g==","signatures":[{"sig":"MEYCIQDuziuVkO53hhedx8JWr36Ec7cIedre3QPrthiJtg4L8wIhAPqnz5WWiCVhYmuv6b9puwHTMV2wzVoSk4ahsaOspoPp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44750919},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.13_1695270647589_0.03789171151633308","host":"s3://npm-registry-packages"}},"0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff":{"name":"@preply/video","version":"0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"48fff0eb0769a812589b057ff69596b442bd047f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff.tgz","fileCount":1597,"integrity":"sha512-5KCdfGjIBY1KgoS3QTY4aCunL7mol6N2AA4OGAuZQyoO/jVur1YBf2H48JqEVRSrh1bygWwKjeIlOTqdAaoHSQ==","signatures":[{"sig":"MEUCIQCGPq2kWBvQQtljlmpx0MwV5K8HOvV1yOhKyAFculxtRAIgI3F8CPFhnAbzb39G1IQjA2qEGuc9zXXNzByQ+WKwu7s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44756624},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff_1695283570210_0.33702007452643534","host":"s3://npm-registry-packages"}},"24.2.14":{"name":"@preply/video","version":"24.2.14","author":"","license":"ISC","_id":"@preply/video@24.2.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3102c6f0a5a278a4da528e39807a03b14dacbc1d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.14.tgz","fileCount":1587,"integrity":"sha512-PibPwOEsuNnuRcckpDPvquE0BUMvENLeIfjHsLlIfqYzT3TV0IxPonKTQAgrPY6BUG/eVxIxXkYkF9R9MM3z5Q==","signatures":[{"sig":"MEUCIFtBEDnFEiuLMbKUii/CijPpe9kpj+o0BI0QDNI/WRQjAiEA+qdb3kE2JOlSn1dKu5vNanVFuag2QKkoY4vhenmI6Xo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44219852},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.14_1695284566724_0.8387288178403605","host":"s3://npm-registry-packages"}},"24.2.15":{"name":"@preply/video","version":"24.2.15","author":"","license":"ISC","_id":"@preply/video@24.2.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0739416cc70a5c5dc3a16a4e82522abb6db09593","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.15.tgz","fileCount":1587,"integrity":"sha512-3zpEatzg0zSJREYaemBdA7KA3ffevQwIBU+AJGDoT8Vq9P3M3B7wxl+eqz8YSTxrinfRWqEV7ACCD/NDo6Nteg==","signatures":[{"sig":"MEUCIH8fpvIyn1v9gMGbDL5tpooUYKtUNYSjEEPSf4X5d7JoAiEA5Jz/jWgO1y3ZghrkMOwpB2GftgIPItmrQ1t8+wV29pY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44354817},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.66.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.66.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.66.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.66.2","@preply/ds-web-core":"0.66.2","@preply/ds-web-root":"0.66.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.15_1695296013436_0.5407654391249999","host":"s3://npm-registry-packages"}},"0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de":{"name":"@preply/video","version":"0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33c2c78068961d7946fcf69777a85c5a66bb2fdc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de.tgz","fileCount":1587,"integrity":"sha512-r7ph7W10ohv6Tuq9JvsDewFQIDLvMTL1fEnfigdFq1NKRbY79vvEKJAaJtaqR6gS0X9A2vr7B8/9IhYliF57mw==","signatures":[{"sig":"MEQCICpPf0efnpgp52YeF+f6s01KYInW+NLJSypqd8arOphOAiBpo2NbLlH5cECFXXtJZOJxSqOr9b2OyWamcPNH0iJuVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44359205},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de_1695300214004_0.9166761934046492","host":"s3://npm-registry-packages"}},"24.2.16":{"name":"@preply/video","version":"24.2.16","author":"","license":"ISC","_id":"@preply/video@24.2.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"67c7b39079bebbdbef5b1a629e9e420028300629","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.16.tgz","fileCount":1587,"integrity":"sha512-a2ZXyRz+t2Obej58C5HxTiIFvCEd7fcGcrzYAyxyqmbNxyMnBC4ybMnc1rsm9+QpiNUmqwjVURQcvJkFfQKHQw==","signatures":[{"sig":"MEUCID08OM24qEEhH29amtSDOkJkb0ccPKEbsGb1CiqbRga8AiEAwFz/iyZheSoVySGG2KV5H63xqhZ0S1A6ypgqE+dyoyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44336633},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.16_1695322091315_0.4502575281083878","host":"s3://npm-registry-packages"}},"24.2.17":{"name":"@preply/video","version":"24.2.17","author":"","license":"ISC","_id":"@preply/video@24.2.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"276a8d5d6922098b1fce65ebe765e4d9ea1aff34","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.17.tgz","fileCount":1587,"integrity":"sha512-UbIGXsH0by+a266KlF4+QI1YaGemOA6Fh9PoYmVLJqkHeMdPoekFlwLUh2JVO5ox05ltHhGE+yjvnZjCBhYY1A==","signatures":[{"sig":"MEUCIQDPcHuyY6+GQ2p1yHqDj8y0W/oYfd4w6EdjZL8usLVGDAIgMw1/oiSq485D5X7fvV4eozJ5SOyRu4CxxlTJ51Ufib4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44364827},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.17_1695371590783_0.9342272636917812","host":"s3://npm-registry-packages"}},"24.2.18":{"name":"@preply/video","version":"24.2.18","author":"","license":"ISC","_id":"@preply/video@24.2.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d5f123fa8a494237cc70dc6d306731eb7617646b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.18.tgz","fileCount":1587,"integrity":"sha512-2tQodCtkKwTzfN9bupIWjQs1ldQBtIvGZ0tgaKBtII041I5iCdICo2tiAEDqWu+QDbp3SvyCctDiFoUzs67eAg==","signatures":[{"sig":"MEUCIEDXZl1n6Z6Cstd8huyHWCDEOyeSvKYdO9aQICIcCJGOAiEA23NbEPD2UE9HOL45hhmtyICarDtwzETOH6gk6LW2HE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44367547},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.18_1695372739191_0.839313437702228","host":"s3://npm-registry-packages"}},"24.2.19":{"name":"@preply/video","version":"24.2.19","author":"","license":"ISC","_id":"@preply/video@24.2.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"673e1a08c99312f1df8648281313f13279a67b6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.19.tgz","fileCount":1587,"integrity":"sha512-e/etfGXKgDKne/hxrwLUHfg9uQAWwS57Mpl59MoVps9oOq1Hz1jWCKCShoA3aiS4D2A9G6vBdg2IbYFF5nRy+A==","signatures":[{"sig":"MEUCIQCoCoDQNGGXBQMq+7FGDHmVxDII04V27+g4Vx84LtRKGgIgFPCPMu1fE+e3kkRQgixsZDjlLLbAHgLxLrN/D49X1eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44367547},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.19_1695374261755_0.8153027609020189","host":"s3://npm-registry-packages"}},"0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759":{"name":"@preply/video","version":"0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"43bbc3d9c8adb693c5ea6ede6bb047f968ddac11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759.tgz","fileCount":1587,"integrity":"sha512-pKPx8TYhSQojRjTAr+6JC1NY9uYLKypY68WTdzV+MoM/SH9V5eVHEogPj3+OoA67I8p/sN9kkoYZ7G5iO3iFAg==","signatures":[{"sig":"MEQCIHhxOXBZ0oBzzKbdENaT7xJJ58x+p4RJx98F8jTWyf7pAiBsShKBbCpU2whcyr0RQ8SAz50Yyu7aiO8sWL2tlWdfoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44372011},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759_1695375471032_0.13843207477219988","host":"s3://npm-registry-packages"}},"0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41":{"name":"@preply/video","version":"0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f5a1ff657b730f3ad80c5dd7687cf04833bcd1d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41.tgz","fileCount":1587,"integrity":"sha512-bHX9YbIHhCbdsI702Earbi/mrM5csBEpFVWR/nqpqpSMTE+2u3J8b8Xlo5B9n+yBfYietvYfNzW0Bp7HaAfAIg==","signatures":[{"sig":"MEYCIQCcAsFU4/ERBoxOGCOfJyI/wnN/+Zi7CY8O00oFJQ2yYgIhAIl+qIzKk1nyN4ghVpjZix64L8ccrp01NbUlmlqx9lNq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44388765},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41_1695376178337_0.3955523198534552","host":"s3://npm-registry-packages"}},"0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65":{"name":"@preply/video","version":"0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9cde2a6c54ac7bf0fdb0097f039b700bae6a6523","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65.tgz","fileCount":1587,"integrity":"sha512-g/34bIQKEsIsgeRMKzXrrkWZ0tjZhH0UTL72o4t+nIdqLVOEPPGcWIZl/fe7msKoHXszHQpEE5dHO1Vc2Q3gfQ==","signatures":[{"sig":"MEUCIHlBUDRNtQ4LzuKt4SBuOEvaHXNRnv9i9zBDBXHoiqowAiEAm74j1ma2DA3kfjRxWlZpVroxh+9q3xUr9Yi4KTeEDpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44433177},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65_1695395030220_0.8427052544189795","host":"s3://npm-registry-packages"}},"0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff":{"name":"@preply/video","version":"0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6ef7214211f8ed5e6194242cabaaee74f8caa59d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff.tgz","fileCount":1587,"integrity":"sha512-YQyUpT7N3KXX4S7rLBnh3WgQ7Ek+CdcET+B+DBa6dGto2y+nYTv0UxDYMcqUhgbeBIvY15E47fOWL2NwqCM/pQ==","signatures":[{"sig":"MEQCIDRhpYI1VB1O0uVf3hsAg4NExKV3542diA9y0oCI5tzKAiA4byUB4AjWgBULQDhbFxEBVE36ztm+Y1tFLX2Y8i9dCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44433228},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff_1695395650440_0.3768905748601237","host":"s3://npm-registry-packages"}},"0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466":{"name":"@preply/video","version":"0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70befc2803590710c2453cd259e8422c82283f15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466.tgz","fileCount":1587,"integrity":"sha512-zCcStFBagCnxM9XnumtDB9o9kUsIEn9d6heIxybrHGzK6YAr8cKyqu4h9vuqwzvmfTNz1cm+RCp5d4417jLIIA==","signatures":[{"sig":"MEQCIBPGqemp/jWybHu2sOcqZ4daR/5QMWZ5XTKLHlDMbJcyAiAuG3i2hkOnKslZT5CR9gqrcxglBRiu2053+s+cGVzhuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44433228},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466_1695626645962_0.6656150947380761","host":"s3://npm-registry-packages"}},"24.2.20":{"name":"@preply/video","version":"24.2.20","author":"","license":"ISC","_id":"@preply/video@24.2.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5cf6a1829e9b195c09f12f17ab5b398e0fb2fdae","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.20.tgz","fileCount":1587,"integrity":"sha512-oNqtXNCGDoY7kRa+xpfH6flNA+omUrEZvp8moQgIGGTCKEWlNMTg+R7nFlE8bqDTW5ALD6SD5UEYBxJlZ5xpag==","signatures":[{"sig":"MEUCIQDYB6kg+siRRIf9BG03yPGoJBlVBj+LcCD3W/pSrsUZuAIgPpQSqft5But7blaAo+AAusGagHKKKtf09suQlzhVzBc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44425435},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.20_1695669624198_0.6611817216104527","host":"s3://npm-registry-packages"}},"24.2.21":{"name":"@preply/video","version":"24.2.21","author":"","license":"ISC","_id":"@preply/video@24.2.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71b0d1fb03a7c55047d90e5d0d0332e65f9e355f","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.21.tgz","fileCount":1587,"integrity":"sha512-g65BeHZ02gYwQS1R9annQzF+n7326ajzSAn7psi9XswChr5aBS6JQy/NLJYupIbaG3fN2lQ6c2i3wzjANIiNXA==","signatures":[{"sig":"MEYCIQCsTeVvDVLqF4LHaR4n2canamezACHD//gasLXU/p9zMQIhAPVI/oVtEW5ql81iW6snTFPDL5bOOIwz1zG+DO/KOSkL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44423497},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.67.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.67.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.67.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.67.1","@preply/ds-web-core":"0.67.1","@preply/ds-web-root":"0.67.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.21_1695702540963_0.9889468820270744","host":"s3://npm-registry-packages"}},"0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba":{"name":"@preply/video","version":"0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d66775eb9624aefc6914ef059770c54ecc0c20e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba.tgz","fileCount":1587,"integrity":"sha512-j52tqbeu3/xG33Mf4++iw/iy+bWW6SdmfUodAg55qyyqjiFlQJERm0rVU51Y7Nqe20HA3sh/KNSvZk5ql6qq0g==","signatures":[{"sig":"MEQCIGlJRtLjUPunvrs683LJirFzh1DYNPXXHOGBjY/sZvqUAiB5ISTRZR14x7uR8p2328oKmb5ME77J0sDP4EzDPdQFNQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44427757},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba_1695712222249_0.35003456504282493","host":"s3://npm-registry-packages"}},"0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849":{"name":"@preply/video","version":"0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee8c1bd73169da2267dda8d97f2850ef7e7e9852","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849.tgz","fileCount":1587,"integrity":"sha512-7iSAetBX1YAs2nvxeTpXuh6vnNAKrXSnnbnvxXF41ygxJH/iccYmQGQEhohTdM45b5AVkdBJhbWFgB4x9SwMnA==","signatures":[{"sig":"MEYCIQCn9GjRmeOJ0HvM9QHHG8pSkN4/hPSFfqoiez5QGFPJTQIhAOclXBtUkjc6KO46ktK8+DOP+xkmc1drcXRJDckDD0Pq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44427757},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849_1695713760358_0.8023178516048561","host":"s3://npm-registry-packages"}},"0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3":{"name":"@preply/video","version":"0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7f3ca16a722ed8bcc09bb60ce20313c8baabc065","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3.tgz","fileCount":1587,"integrity":"sha512-/8VzYAxLRt3Pggs3wLJN46HDW/31W2Vq2Uf3MrVdt/4ggQMyoBxjPfmJIb5ITT5SALeuIPhwFIbZvqSKRAC2aA==","signatures":[{"sig":"MEUCIQCkZT67r5BNIgA65HJdx4Ohpzv1u/Jhgx7rAP5qRRG/ZAIgWDImMGV/h080sbGOrSG5EuCOfWSiQcSyIYOsxyqahGY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44427927},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3_1695813282550_0.8679560118150533","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28":{"name":"@preply/video","version":"0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4f357cd4d064b57de183993f5f3505f22407c7e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28.tgz","fileCount":1587,"integrity":"sha512-umZOroQDfUHmvUZkwIlthx9dgDRfXp+qobyf0531bu60wlZRrehs0+yU8BD3sp6xbyKVzve89NmUT08L1hq3bw==","signatures":[{"sig":"MEQCID3Ea9lKbIFe5uqyGPZgjJLLjy8h7bWd/i9t26MDW962AiAWcKlhhHxFFTdFTpsavbmzQjdi0hN/wc7ZTQx5oJgcaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44427832},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28_1695899214871_0.7937226298021653","host":"s3://npm-registry-packages"}},"24.2.22":{"name":"@preply/video","version":"24.2.22","author":"","license":"ISC","_id":"@preply/video@24.2.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"57f091c688bfbd843001c6373b4d8daa6eb8a209","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.22.tgz","fileCount":1587,"integrity":"sha512-23vmDMcmNxbc06RAaJ2hy1YEhh6AvNYp29mvfCXCgfu/3mMiU9c7pIusRoRwWcrF+QLmniu/ZuzQnH5rrZ/Uaw==","signatures":[{"sig":"MEUCIQDn6Y0Y/XRKZaTV3y7wzD4Vhx8O+cd+7Whi5Nh3uEsTmQIgeGzzOAlZ3wxMrFpQffQcvfv6H6hwesCMC7XwHWbwdKA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44423912},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.22_1695904250316_0.5847525752913667","host":"s3://npm-registry-packages"}},"24.2.23":{"name":"@preply/video","version":"24.2.23","author":"","license":"ISC","_id":"@preply/video@24.2.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7607792798066c1010c6b90cf6df4a648f26e0c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.23.tgz","fileCount":1587,"integrity":"sha512-Io2VwrQ+Gf6z1Hp4gs4/dfMP7kL4gRVZV+knZEK7iggay7AKvJTN4AfKpiD9SCjS4L401AFG4SZcXHqrCic6ug==","signatures":[{"sig":"MEUCIQDyBJIS3kn4A5WOuT7WXZHZ4/zaMY4FuTan7ikGy8BjagIgAPHCMXk4HpF6579naIS7F59C1gAX8812ok1c6OOSwLs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44425425},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.68.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.68.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.68.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.68.0","@preply/ds-web-core":"0.68.0","@preply/ds-web-root":"0.68.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.23_1695905377853_0.1410287363892706","host":"s3://npm-registry-packages"}},"0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56":{"name":"@preply/video","version":"0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6ffdf416a4112d4bba2232923ca7cef5ee031992","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56.tgz","fileCount":1587,"integrity":"sha512-XXU/TdsfgU+yH41JSsGbE5PTFR737m1mFoMQHDvDmW4oVlQurRo9gBL2+hLhZZubTgy5MAJhHOeBEJUiJafCTg==","signatures":[{"sig":"MEUCIQCckqwZ8MAwDiudOA037xBjkhmd25mJqWqOLnc4qAmXMAIgRpIi1a7ooyyfM6vEsdBW4fVeojRbABfnUGutmP+FqB8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44429668},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56_1695926400895_0.6591353170587118","host":"s3://npm-registry-packages"}},"24.2.24":{"name":"@preply/video","version":"24.2.24","author":"","license":"ISC","_id":"@preply/video@24.2.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"730da60eb91489ff0697f3373694a9f153cddca6","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.24.tgz","fileCount":1587,"integrity":"sha512-8IhI2hj3Sq4p/MawNd69FG2G9DXYK3eopRtOwC7CshsjNTiIHYEur3g9Rx0gVjV7tI9QMlP2kszZih+FriXthQ==","signatures":[{"sig":"MEUCIQDWNchvlb+gU/RViDDe4q3caY0xPpYECZGZGgORVR7nNQIgAmIbA9v+FtOrd55DLG8tuBWI1pmmlKY3dCHbrx353bA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44428213},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.24_1695961712510_0.150620046044186","host":"s3://npm-registry-packages"}},"24.2.25":{"name":"@preply/video","version":"24.2.25","author":"","license":"ISC","_id":"@preply/video@24.2.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e60dac3b4e9b6b4c123a6225d1fcf553b6fbf42","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.25.tgz","fileCount":1587,"integrity":"sha512-DwgU6zyNd9k6Nt7lUxRSbBkYnc96jhJqKb34UMnbDrnOGK91Q60UQTeOcLIsDZOJKo3JvpJjH9quCsf0EKx41Q==","signatures":[{"sig":"MEUCIQCZ/RYzniUJQOighbaCIA8qQzo+6q8Yt8I7NobJjxiRDgIgMI53yYVl3/VWm5PqH8FQLtl6pdlx21V6t0n2fO6CCkA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44428196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.25_1695973145399_0.2196190883851621","host":"s3://npm-registry-packages"}},"0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540":{"name":"@preply/video","version":"0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"246fc63d2f53d530ee4fbf26505f7f5e68ff2e4c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540.tgz","fileCount":1587,"integrity":"sha512-7+uol/vJA0K4ziiKXhlL9PFshoYxcWlCIWlRsavvAjaXh0OGEA5G8rdmZcXjruC/G+M+4AQylo906JLDwRv6HA==","signatures":[{"sig":"MEQCIHiOc1WmTMWQd7O04wQKLxLceL7TLtlZx5CeKW+Y4lNeAiAQ2X27GRUB6SQCP53marO70degqUH4HlLx0z8TrclyLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44435832},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540_1695979936927_0.010477046921757438","host":"s3://npm-registry-packages"}},"24.2.26":{"name":"@preply/video","version":"24.2.26","author":"","license":"ISC","_id":"@preply/video@24.2.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dc7d812f0a4ee0c925a8a491d10243b200079dd4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.26.tgz","fileCount":1587,"integrity":"sha512-a8ofVf4rTAD5Co8+RYEsR0VzSOx+8nR6hjgSCbXOtbof8SKlI6/q4zVe5Ko+PKCAXoU7oMBhB+mUNEC1MQ7i2A==","signatures":[{"sig":"MEYCIQC8PmEwQnFQNlQ0tbsSHkMxFkV14rW278QmSu564ICFtQIhALOmE03ETP07CJQZfvUJZepyeVkwMOfVcXyuvE+5471k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":44431572},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.26_1695981099475_0.8946921650763184","host":"s3://npm-registry-packages"}},"24.2.27":{"name":"@preply/video","version":"24.2.27","author":"","license":"ISC","_id":"@preply/video@24.2.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"58f0994004c1c65817c260403e2b91b06ce26430","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.27.tgz","fileCount":1587,"integrity":"sha512-eXtAiEQsoGnEXsXSmvTpveRQpMl9t0G1chugujCfW8KPr8bAxu4K04Y2a8Qx7ZZYPCZVRcjQijPaPffplVHp8A==","signatures":[{"sig":"MEQCIHCU5mnvBwy2nX6LYNWjnphydxdNFDwYy6Ts0TLZjFSlAiB8teOgINMK7Aqf04DL3CEPkw5mHOXh1gyKpWjmOaaujg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55297725},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.27_1695986167147_0.4775702597578586","host":"s3://npm-registry-packages"}},"24.2.28":{"name":"@preply/video","version":"24.2.28","author":"","license":"ISC","_id":"@preply/video@24.2.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2d0c9645bcb33683608080be0ff6feed07935f2a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.28.tgz","fileCount":1587,"integrity":"sha512-rxnEogvUUGpwaay5Bn8l3FbcZa9uyJUUt9IXOfQKGHHnOApVq4XpJOTdZPHWIjNhksM4N+x3OmGL6uC7yqkWlw==","signatures":[{"sig":"MEQCIGCOOxjVHsHS/YR4nhea7Xm3QlMPSQZ7Gzqx9WyVXMVKAiAiAgARtvDhZFwM8on4H758ney9D5S9myCg90SX+PoyJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55301989},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.28_1696221244385_0.7786977466166256","host":"s3://npm-registry-packages"}},"24.2.29":{"name":"@preply/video","version":"24.2.29","author":"","license":"ISC","_id":"@preply/video@24.2.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bffafbcd08748e808d8e08a7c9b5916ccd49d939","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.29.tgz","fileCount":1587,"integrity":"sha512-OG31cRxh9ctCuck9YIUakPso3bhVTSO0NLZ0VzDvOmD77lFVSrzT3NYGKyyNPhaMUg1HXyU0ykTgQ9wlm+vYHg==","signatures":[{"sig":"MEQCIG6aQYIs+MRERGSRftxNy+iiHH8d0jgRIGPlQJfqGL4hAiA3NX5w1Kr/JiLbgvL4dJ/M3pVhitu/DE8AxE8q01o3fQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55306936},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.29_1696235466663_0.5935560922016554","host":"s3://npm-registry-packages"}},"0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168":{"name":"@preply/video","version":"0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"013219d316110634b66f141f51531df9afed908d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168.tgz","fileCount":1587,"integrity":"sha512-BJvtrK/twhdzOdM75sItzqMrWnJcyQo//SL19mB+/HcEuxgrEiJ0nFJSOgis+3rMieRg2OARSbQtR5/9zCt+CQ==","signatures":[{"sig":"MEQCIDbIsD5asIFEz42EKZUwkDeyMzINzWSSX1tiozdA3Vw5AiAbO05UlfaYgaNX7ikmZs44ok77F6uqD4x6iD2ZJTuu0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168_1696255980403_0.7329321476826332","host":"s3://npm-registry-packages"}},"0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821":{"name":"@preply/video","version":"0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"24b3ea11cfeeb19d00a93b0c586b3875e79d1c11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821.tgz","fileCount":1587,"integrity":"sha512-gKF82S1G9z2bLAzdXA/O7KwHUAeYMRVw2QcbcFTYDExqlXp+0JdFjqSAIOzbPfNVwiBzhM1PCYqgc1TUlIPyvQ==","signatures":[{"sig":"MEYCIQCWzjAocp5b8Q23o5sjpdbluIBLTyw54fnZ+xsAJUMF4wIhAM96EW/GDhR69oFplxsH6nnzbCwN9sxzgzj3T4zu/ZZT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821_1696260450089_0.23668049654548118","host":"s3://npm-registry-packages"}},"24.2.30":{"name":"@preply/video","version":"24.2.30","author":"","license":"ISC","_id":"@preply/video@24.2.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71d5f37bf3b253c9ecc8a77d780056f135f18a09","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.30.tgz","fileCount":1587,"integrity":"sha512-XR1SqQkzgd3Mgbl5IP7O2ELBgZCjKDdC83tVybgmfC0OyG8y3F4d88v99NYzqqM3DddbxUKX4GSSMRLz0mQsDw==","signatures":[{"sig":"MEUCIA7fJfEjbNzwIJSbcNs8hUs+P/u1MWrs2gOQ3kKKc4FzAiEAwrVVVngl7zh1ihfTL2NhsJUNzb8TJ+Jjvl9ZN2EI/0s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311569},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.30_1696307320609_0.34538434220895464","host":"s3://npm-registry-packages"}},"0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc":{"name":"@preply/video","version":"0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ebc80901a71d3f3b67557d8cd17b7c868534b97c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc.tgz","fileCount":1587,"integrity":"sha512-d6mjd6h+tKC6xPDCYEWXEWWQdfdjzrTdBE5ehE6PZwcOaro+QHiGDz3MT6xEHkhVltclTO1GBkHoC2Om+V4wQA==","signatures":[{"sig":"MEQCIF6i8NRU3/dcuI46IkrizTFbq99KOnG0q5mYi2w+OFjAAiBDX7KOpEbjkiJQZ6EJzgjjhGH6il+EZqOAgjtM7CBDXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55315829},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc_1696320564623_0.4624242723325591","host":"s3://npm-registry-packages"}},"24.2.31":{"name":"@preply/video","version":"24.2.31","author":"","license":"ISC","_id":"@preply/video@24.2.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a711893a4b94c6f8f321e94841496e398d94e29","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.31.tgz","fileCount":1587,"integrity":"sha512-xlfrCu+2xo5H7qiwFLCr6xEpxwW+oLlf1aY5uvuG2a4E3iFrAPAGxBg+ebOoGYzpjWhHZp/qO4XkGJloEf5j+w==","signatures":[{"sig":"MEUCIBw3FiT+ftTLUnRQwmCOc7yafmdp/cyfe3dp8B0E1gZJAiEA1vaddsOIl4awcJX+KJ4KJOwcmwS5sEUI02GA2y9QHDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311518},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.31_1696328285385_0.01924000372527601","host":"s3://npm-registry-packages"}},"0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86":{"name":"@preply/video","version":"0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"97758b771d8d9b8c01e80c0af95578e9844f589b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86.tgz","fileCount":1587,"integrity":"sha512-szpc8CfzryHYtMw1SzVqmPiBwLQFiy1rALLB+iGwTVlo5VKryN5KVH4Ab2nrc/bnaZZ0xc1yjGvOu8m0Ul153w==","signatures":[{"sig":"MEYCIQCcTPmZwiGOZzemwPK1fHeBrEsaNbc6f0QwAMA7wDg7PQIhAMsye4SZtMwDqOym7/PMgjyMv4IQbJV3Knh8toBS4WX+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86_1696331883015_0.13339990761744813","host":"s3://npm-registry-packages"}},"0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97":{"name":"@preply/video","version":"0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a9bfeda1bbe63a178d0c99d325dedf739e387795","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97.tgz","fileCount":1587,"integrity":"sha512-Yg9D9yxFSYVSwAYrt2Q9VraUkiwqUTURyrxDQy7tVJK5MZRTD+UaFqWksJpZAV2CTzrHsYx3ufceg/1I5D3iRA==","signatures":[{"sig":"MEUCIQD1SWMEy/0zzdudoziNy9PBhPWakSgB98OuWYroPXphxQIgCG33YVOE6EBzuUlpp771nThN3LPaMg7wYT8l74ssjuI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55315778},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97_1696403438655_0.02509554518214152","host":"s3://npm-registry-packages"}},"0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124":{"name":"@preply/video","version":"0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e5bf79d936f9a3efabefe7929916b3f13bbbae9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124.tgz","fileCount":1587,"integrity":"sha512-EkEuQCHMy+mxA9Weu8eVabjF4D819+yJKuuL0ShznWqyGYtMReK0cd3R+T4P+J0sZ9v+Ddqz0hGOTMWuTg2KHA==","signatures":[{"sig":"MEUCIQD1jkE9kaFGfQxAFHjOPasE9v3hwwtsfilSz9ai1HDAuwIgYNisv5acOsesiKD9DOJ4KPumkiZ5e3BLT5lMH5w9xqc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124_1696404182586_0.601246733039541","host":"s3://npm-registry-packages"}},"0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43":{"name":"@preply/video","version":"0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8b1312f71d1727d5c6ff764a10ad73f260201a3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43.tgz","fileCount":1587,"integrity":"sha512-BM6jwWfmZ+UM7HSpDnmMjJJOkLsCNN4Mbfzebu4beQIPSfKd/OBtHHo8asNyD0F0llZbFPfPF66fifq6MoEbpQ==","signatures":[{"sig":"MEYCIQDlTI2cMR4oDn6JfFMfrevO8lATL9IZL/2+PCLwkQHNhgIhAJrnxzSA+AwPVsHfoPlKBGxLvhPJA3z+7HSHGqbJfRFM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43_1696407458764_0.8645034403364655","host":"s3://npm-registry-packages"}},"24.2.32":{"name":"@preply/video","version":"24.2.32","author":"","license":"ISC","_id":"@preply/video@24.2.32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a99d1834dd3b93d9f3ce6c5fd403714e1caba54a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.32.tgz","fileCount":1587,"integrity":"sha512-1gsHDTo0yVOXQ9eTX9Jr6bILiN6u+2aWGJ2Wlo5cAmWQulxzcqSfo/nBsW5pE46iXPzJvsfYrry3NnNFBExWhg==","signatures":[{"sig":"MEQCIFkIO0zkN9Bkh3ZMo146R+EGKUpJUEmVauA1jBB+8yR3AiAI1mjKD7Q6ShfX3pPYlkBPTXp8xjpaX58Sn5NkNpi9Yg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311892},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.32_1696408242999_0.4790102729243335","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d":{"name":"@preply/video","version":"0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"22488e08a0580bc4608a9495ff6b151e16330f5c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d.tgz","fileCount":1587,"integrity":"sha512-7uYhlehnFexWXnAWZayblwRVz5KBR950qr1txRHzpyyjvDNFatlyr/8Od3A5690B+T0cdEGFnEI1FPNQHk+tWQ==","signatures":[{"sig":"MEQCIH5C1Ir/d1iY2HuMPodrib5r0kXFc4jPQAjHz4qUTl2CAiBKQiy4cYT/mBkFmkCqUNfRgxq2+4H7CohCoZHC+XFyGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55315778},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d_1696409293831_0.9318287417019089","host":"s3://npm-registry-packages"}},"0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305":{"name":"@preply/video","version":"0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"53f11e0dff4666aa7f2c3a8078105ed9a68f961f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305.tgz","fileCount":1587,"integrity":"sha512-vyqTEFcBgolp1bWYNjbuvM1BdDnemDRF8rYcqtfOAHXs5JY0p97YpI89Ce1KEG6mXT9/Qts0Lx/MbB9uGoluOA==","signatures":[{"sig":"MEUCIQDDrDIFeJjXCoBIQHNiSxhcGAEGV+rgbUL27zlVhYVZOQIgGR1nlrXm8+njCRW9oXQZkllTNz0wHT9q7yMNjXWX2wk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55325557},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305_1696416581006_0.631156363356181","host":"s3://npm-registry-packages"}},"0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927":{"name":"@preply/video","version":"0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1faf76086bf9f26aeac5bf9bd71b0fe9e16dd774","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927.tgz","fileCount":1740,"integrity":"sha512-Xw0l+q7g1+fb4ZguXEJ9c7lQmqxVftSw3wxdeiKLHJAJU3MM1Pvg/iABM7Nbj0WnBx169ToWJYnpoKT6NLZfZw==","signatures":[{"sig":"MEQCIBbtAvAUBwiwPmEDCFBDpw441/dnyUMlyM1n4yODHgmJAiAvMsKL7zbpe069Aud6BZb7N5E9+TdWH1TN6spq0AzZvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":116356067},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927_1696417750724_0.31913732787724847","host":"s3://npm-registry-packages"}},"0.0.0-beta-a889d956469f486755b9052429d266db201daccd":{"name":"@preply/video","version":"0.0.0-beta-a889d956469f486755b9052429d266db201daccd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a889d956469f486755b9052429d266db201daccd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8dc8ed5dd76d46194b2529461b21ee66d406fe7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a889d956469f486755b9052429d266db201daccd.tgz","fileCount":1587,"integrity":"sha512-luZOW/XvFx35ZXUW3XNArduOafrNwQALQjArPFlVGR7+Fj8MWqrO47OrBWJa9qlqrZRVd4CNnRgt5eori4gxpA==","signatures":[{"sig":"MEUCIHf03cta/q7QeUdmN2AxYaQQq0S+++iMzT/U0+HGVuwGAiEApqv1wH8JeWz3FF+gKY7nd6NB23HK6dj1U5tfuYa4mRs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a889d956469f486755b9052429d266db201daccd_1696422052895_0.49128048731022544","host":"s3://npm-registry-packages"}},"0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27":{"name":"@preply/video","version":"0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d75299cf27f2bc930b3fdf02b6b161261facb44c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27.tgz","fileCount":1587,"integrity":"sha512-MsDo69lTBkvU8WvVmSkhTYJOQoPakdfqvm2Hw368bbIeZsIpCAlUIidVn3jB7UQ7IK3qBA8A3ka8vbM1Yzd55A==","signatures":[{"sig":"MEUCICsmvOVuiriFOEvJpDKQF5CTmWXdM1kdqfJAZ+KupBbsAiEA1tQbTG/ASO78S/2CFy1C/921hcB09hL88UcPou2YpZ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55325557},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27_1696434737966_0.39846830118693854","host":"s3://npm-registry-packages"}},"0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423":{"name":"@preply/video","version":"0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5cfdcf4ee8809346ec7e60caacb616cc5f4949e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423.tgz","fileCount":1740,"integrity":"sha512-Kg2Q7Wt8pZFin18RIlUevFfaEHwJ8gd1WUFqWlpi2Du4hXSHQGskw2NdlIrGmgrIVAinPpBC3aDwnwYw6//sdw==","signatures":[{"sig":"MEQCICh+yuPVXYgOHyAa/alCSeJyqzVTAsdaMCqlry+kYEbxAiBceVUCXjokaEHpXiVP38hFKTBhFLjYVwLSYMFvXg8AbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56908869},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.70.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.70.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.70.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.70.1","@preply/ds-web-core":"0.70.1","@preply/ds-web-root":"0.70.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423_1696494745705_0.11910720110147488","host":"s3://npm-registry-packages"}},"0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569":{"name":"@preply/video","version":"0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8a80f194e7cef4689178036acaff04b1eb56ccf1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569.tgz","fileCount":1587,"integrity":"sha512-39iEoV3CSQfw61MCV3X0GJYKj2eTnQBpkzGQCN+nPGRieVDeUIquP/dgwHq90vEB6ODyXfhsadNs0A1mXY4P0w==","signatures":[{"sig":"MEUCIQCbSizkVKVkWeM2xw6UmQ4MxEgOEJXP1GiTY1NdBDavwQIgQpdqpJQYp+oRGqabjp/O8dwXM67y5IJKJJeZgSpccp8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55325557},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569_1696495951935_0.18115051179725916","host":"s3://npm-registry-packages"}},"0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4":{"name":"@preply/video","version":"0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"48122247cb6001b16f35418de97195609840bda7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4.tgz","fileCount":1587,"integrity":"sha512-0X02nAMZfOWQhGCyMrSQ46gNkZAwriSoEj6myGcDHkqW5pEPvitEMiHHpX6lYM3zWXYkd/OCz1MpVi9tLehumw==","signatures":[{"sig":"MEYCIQCmb/8dJ441VEDxdPvDJf86Y6ku6VEcAJcRhs8bvREXYwIhAL18mABHEPuX4uO+BSLqa24r2dOhnlzXWrGvTcALrIxA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55311196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.69.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.69.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.69.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.69.0","@preply/ds-web-core":"0.69.0","@preply/ds-web-root":"0.69.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4_1696496761198_0.7583092798349611","host":"s3://npm-registry-packages"}},"24.2.33":{"name":"@preply/video","version":"24.2.33","author":"","license":"ISC","_id":"@preply/video@24.2.33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5bd48efcc1a62ce97f712ec59951eb587c38f417","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.33.tgz","fileCount":1740,"integrity":"sha512-t7P7LSpO+4UUBs9NsLpBYRDq/v68lAEnKJk26rIszloKFmrzrqkE+ShWXUAZ7SbMup7UdD8NBqHlKgEDty47IQ==","signatures":[{"sig":"MEUCIHnwysqVm/0j5jhIfLE0tgS7CTpJ95eeq9TcZYB0TBBZAiEA6UsCktLwf8ICuOQg+IQXeryYUG+qVBKPMXZNEnC9HAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56904609},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.33_1696499776229_0.9097654201038909","host":"s3://npm-registry-packages"}},"24.2.34":{"name":"@preply/video","version":"24.2.34","author":"","license":"ISC","_id":"@preply/video@24.2.34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f8c2a62e89cdcd12909ed5e2a993142e5dcf1e5c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.34.tgz","fileCount":1740,"integrity":"sha512-nYZSbRb7jswPau75pBpjpEupsclLJAbGkZ+VLM+Kh7n9xH2Tt8Rqw2kfNG6Efq8Kq74UDS2KMEXvlyXcqxR69g==","signatures":[{"sig":"MEUCIAG9SKTgLw5EbVEUOnfE5hPZWQAuGruRVJGyxiATuckoAiEA2tLARzcPax30kKd2dCLJk8nGo5Lc516eqyIG7J01EfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56915129},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.34_1696594203319_0.8817012121748107","host":"s3://npm-registry-packages"}},"24.2.35":{"name":"@preply/video","version":"24.2.35","author":"","license":"ISC","_id":"@preply/video@24.2.35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"332ffb7ac95fc22b2316321bd116991fe0eab3c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.35.tgz","fileCount":1740,"integrity":"sha512-IXpW0z0loznKsXex8Q8meiCf2etZjAat+3wZeNNZrzP4Od6beIvSs08ZiYKV1xz/NCvkMSH0sZM43Z0qmrF5nA==","signatures":[{"sig":"MEYCIQDI/7JL96XQfyw02ZoXGV0rv6a/ZEpkSaA5vhrcwTEeHwIhAJhOhjyF02cJZY5Ia0tdwGNF8ovD8u+K3MU8zoNASO0x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56914907},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.35_1696595107855_0.7934667075831936","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21":{"name":"@preply/video","version":"0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0b8ec90b30511cbb01d2d04bfef1805f82af9fac","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21.tgz","fileCount":1740,"integrity":"sha512-GdkYlOJ4OLSBXgNi+N3uaJL8atY97UqK6ICkY0VckmeKZ16VY7Wk8P0tyFtClPHOsFXv3Di5ce1gA2bjVuWuXQ==","signatures":[{"sig":"MEUCIA4ZUGUmCTC9723vCZ57UsI2D3vSmwbYrZHzAWZR5RYJAiEAr+s3tTXug9e+cM9gErnvBiS4vvY7QrYYSGxZ0OvCelE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56919386},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21_1696804808334_0.8584211571900779","host":"s3://npm-registry-packages"}},"24.2.36":{"name":"@preply/video","version":"24.2.36","author":"","license":"ISC","_id":"@preply/video@24.2.36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"65201b7f68726c4002bf6a58953a34c00358c879","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.36.tgz","fileCount":1740,"integrity":"sha512-srOdH3ZO4n2vDBRjY/GCD8QafONgBgG41He3kfu5qxw5PI62oQzxonFQPmxvTIWkhCjK9I7VmPfJU9yEeMFE4A==","signatures":[{"sig":"MEUCIQDlQ1tXD5sQDZ3SHVoubTS7gSOtWdtRbntrfQe8/TyP/gIgVu9DFcWZvN5VHfDSGwLYTn0UTFLrx3GTlGO+MeJgdhI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56914995},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.36_1696825893233_0.2747077230368504","host":"s3://npm-registry-packages"}},"0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f":{"name":"@preply/video","version":"0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"74accc15b210ad2eccd2c1f334d3e6c09cce80a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f.tgz","fileCount":1740,"integrity":"sha512-P53dFcc9vwdLU3xrQQtTjT9m+BktlojJHzQNt3HqzYLpioXGOoAOJVzpi7wInfCcPVb5bV0rG2lmvw1Jui3zGQ==","signatures":[{"sig":"MEYCIQC6cRM/cg0DiusEjzIpmkWGAheciGmazzjonJh21oTaewIhALikAr3lPF1VvtK6SXAr9Pir0vUSajuk9h9QG1W+3/oa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56919474},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f_1696850387066_0.22137452448255068","host":"s3://npm-registry-packages"}},"0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c":{"name":"@preply/video","version":"0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"50d13c26dbfc279a80b704bfc1a08e892248426d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c.tgz","fileCount":1740,"integrity":"sha512-niivFRVAhinENI70e/7s2V7TQ3hMovI5mbfMREAg1rDBCRsiuHwj5blsw0Mqk8GuaMiVIFiHCWVWf+8eyjZjbg==","signatures":[{"sig":"MEQCICLI4a+4SjHv/LchmCkqhaF9Ne3tzqRTiF3M+QZKZbD/AiAiXq9uTbt0t7mtkpPRrDBsGwBJMiPSwOaO7xDLnNcWtg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56919474},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c_1696863124778_0.16055589926652236","host":"s3://npm-registry-packages"}},"0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214":{"name":"@preply/video","version":"0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f7f1854572d365a0a9b5634fb86a3a79260510b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214.tgz","fileCount":1742,"integrity":"sha512-ievRTW4ImBLHOENnucR0GjbM15eeJyRUpPzte8CL6PaLhOscZakmC2TEJ9DRZOHnHQ+4zfiABJJKxODTrcpvaQ==","signatures":[{"sig":"MEUCICCtAdM6RN1Swbhoozz8wNHOnO6T/fVxibN+145FJZgGAiEAo5Pb8A1rSdJ6J2ntCKmCi7wTngSvhwWSqa4+E6OogPg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56932198},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214_1696865394226_0.5997410503796048","host":"s3://npm-registry-packages"}},"0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81":{"name":"@preply/video","version":"0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ca89fd352acbf4e619578da289c0e47e6d308f2f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81.tgz","fileCount":1742,"integrity":"sha512-Lxrs06ZBCROTdHAD0PNZvDn37+pbb7iXM9VkCiK31lb+s8VOvpyI7oCX1j6JIS+1rlCKmlIMuQ+sNLk4VJWL9A==","signatures":[{"sig":"MEUCICMaHPH+Fs2ErkwRjZ2h1EgLRUofNSdUI1wz3000hsExAiEAqTJZdc+iqqzpaVxW4DNADKzHsQ7Nmh+DzZ0PtU+2RoQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56908370},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81_1696866106975_0.2684466004978314","host":"s3://npm-registry-packages"}},"0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d":{"name":"@preply/video","version":"0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab706c0d3feee950da21fc35bbae3d1c3153e3f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d.tgz","fileCount":1740,"integrity":"sha512-xidKJLB0r9BHKAgmUF5/18RMT0dK/ku4a5nIAeMawz3dcF05FROlTT0uJrGxFKyVNzv6nb93WiA5aQKZslMC2A==","signatures":[{"sig":"MEUCIQDI9rHqf0ljEzZs0jj7cJqlHVdCBPZgqqnN5cYL0dUz4AIgHxpd0JUOqGDNI5cGR1XS5QJrl7kJ7eiDhw9hBc7fvpw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56919474},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d_1696867126552_0.6140811247250668","host":"s3://npm-registry-packages"}},"0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc":{"name":"@preply/video","version":"0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fde1ba1406bd1790cac2085cb34905ad43c5a90d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc.tgz","fileCount":1740,"integrity":"sha512-MLzq+mxnvVd4+1nXywWXVbh+s6TOgp6QgNkt+hQVEMHdGCwTtvP32ScAXv/7yryPbVKtQ349mD+YVlmOiROMmA==","signatures":[{"sig":"MEQCIEN6v780SbRIDeO8RD/xKaOCdeN7kj2u4QigZ8qlBK2gAiA1ee1DnlpCmbef1K52noiWnxQnvA0ukq88Ly8KqZ/Rsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895427},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc_1696878323148_0.21347913552367914","host":"s3://npm-registry-packages"}},"24.2.37":{"name":"@preply/video","version":"24.2.37","author":"","license":"ISC","_id":"@preply/video@24.2.37","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ac23618824bc8d279dbd5d751f4a21d95258c4f","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.37.tgz","fileCount":1740,"integrity":"sha512-ysVXS4Jct8jNNG12ufzukSVLzR7Zey8sCsbnmz0fbtExQRA0rEfyzRtPhoPmpzMChE3XyjpZ9MDzkCWaDqm0JA==","signatures":[{"sig":"MEYCIQCMlZ2TAQIBTlw04cAnL3p0Yl6vwWv3vpYtcPaVGNm3+AIhAJ25DotDd6aj5fG38o2gsCek3FIA9VuU9mEBzg8iDPAi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56891167},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.37_1696884075434_0.7739577340751138","host":"s3://npm-registry-packages"}},"24.2.38":{"name":"@preply/video","version":"24.2.38","author":"","license":"ISC","_id":"@preply/video@24.2.38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2985e6c324deeccf879a3ca18284021038f6950d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.2.38.tgz","fileCount":1740,"integrity":"sha512-rCFIFayEgLKP9456vYwg6DYNlbus28a2qmLHlKXr6/AxkbJxOi0q1cOKzhcZaRIGH82Kgdyg/fSk7Acs2ZQWtw==","signatures":[{"sig":"MEUCIQCwpN8WlTPEfsyeasICmEIL30Tkwtt+uUmf7HRZ7b77owIgDG5niD+UN8bSaxiGjmZx1+aVu4hjBqreK20w/DjG0EQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56891627},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.2.38_1696912616103_0.676165137866598","host":"s3://npm-registry-packages"}},"24.3.0":{"name":"@preply/video","version":"24.3.0","author":"","license":"ISC","_id":"@preply/video@24.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a654bba55f7b7f4bc12244019416471d2d92e9d0","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.0.tgz","fileCount":1744,"integrity":"sha512-6WvHZmMvtrIVmjbcrglpHYCVz4QTXOK4JhLgJea4D2VsIRQDUC7k4/E6Ylk0xYvWVU7HusW1/LTsyx1ATSa5Yg==","signatures":[{"sig":"MEUCIQDPmHXlIZ+X4Vym11Gv1OpxnVgTO3z8jl5z+L6qJK+dGwIgOO8Z6UVDN8vlw+S2Feb8Rgbdz5q8vyy2BFLCOr+XtvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56904287},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.0_1696928108952_0.15296474796965054","host":"s3://npm-registry-packages"}},"24.3.1":{"name":"@preply/video","version":"24.3.1","author":"","license":"ISC","_id":"@preply/video@24.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a494c7d62f3082c55b8192943b7e693079a58853","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.1.tgz","fileCount":1744,"integrity":"sha512-lVA23NESik+nmCiI7T5qS4x0kvSxzjV41MPvqhET2AMTik0lfQKrUEuN51IHTbkczo1J7iKRCFGUod3J187kXw==","signatures":[{"sig":"MEQCIEccK2rR+yiY0j+2G8ArId5AyPZTPxbOvtXbws/km+DOAiBxODOMTvJRLAvywJgkDY+u+YtRWSwU5aYWSPA/P8hAyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56890706},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.1_1696931428748_0.08317392982171734","host":"s3://npm-registry-packages"}},"0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af":{"name":"@preply/video","version":"0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09a55ad2d68b32567992953b337e46964ed15f69","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af.tgz","fileCount":1744,"integrity":"sha512-quFH2+8BmadV3b+Hhg9pjuOxcoq6iebPRqh8wmWyahBYAyisZgANDPjc7J1pCuaVMAjW7cu9SeoDpuc+4AGXHg==","signatures":[{"sig":"MEYCIQDpPjwdz1NIE98L5xrS/u4+X1EjVBI8TygeZXdJcWvW6wIhAKqlr/bYOUk/xmJPBC0nBZgqULWrJjxA7J1B1wLjZiG7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56888524},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af_1696934825176_0.12251178372975668","host":"s3://npm-registry-packages"}},"0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012":{"name":"@preply/video","version":"0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8756d80590185fa7927cfe3fcb7680f22a7435f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012.tgz","fileCount":1744,"integrity":"sha512-CfTIPexmqoA7kTWx9AfcHLAalAWzhPe4dLd34TqsPlowYVRaDOO5fj5tIQUis3xkm8abFx9ynVc8Txy8g+QWfg==","signatures":[{"sig":"MEQCIDfdBnBy2gkJ49L4QRIf/83Xkc6r0umLxCyh/r1Gvp5XAiAxtBelo9pil0h+wT0QdrUawdSuXUudwOqUabrHb6wzgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012_1696939673854_0.2432399390738742","host":"s3://npm-registry-packages"}},"0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d":{"name":"@preply/video","version":"0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33ab2e927807bdb3897ec9d76af3378cb285df2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d.tgz","fileCount":1744,"integrity":"sha512-RXZyCO0Snbq293UcyQwn5P5MH7ttTn3fmBphiNiGRX2JsVJoacV7VPGftGVQtkC0hIKw2DmB47T5SgnO98+R+w==","signatures":[{"sig":"MEUCIQC+/aU4R86rrGCED+T0GlnwixMehNX+8jVvHOhKz6NLVQIgGHOc8SqERgmmgJkruQxRAlrnSVBpPiUA7t8lwFwCj0o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d_1696948093990_0.058068908830749555","host":"s3://npm-registry-packages"}},"24.3.2":{"name":"@preply/video","version":"24.3.2","author":"","license":"ISC","_id":"@preply/video@24.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea391750cba9c1ff08ac97aa66c796c4218938f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.2.tgz","fileCount":1744,"integrity":"sha512-V17aJNMKrk0YOLsOoXpBhFopoQctdAVIhvWHyCKUEWykgmQje5RT9YsYKf5YoDm7Dq2BOiw4B1OaPQPAcgn2wA==","signatures":[{"sig":"MEQCIAw037jLatzsip5RsIn9EtTB9yqeaGNixgyut++t/JYcAiA26RuhI6CsjYyKzJ9+ZlmtnYN2nP5pCQCun5jbxY/+uw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56889856},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.2_1696953073699_0.317219473743827","host":"s3://npm-registry-packages"}},"0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce":{"name":"@preply/video","version":"0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"97913ac41c9fcaad1b1bb0a2098ea232c92e8c50","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce.tgz","fileCount":1744,"integrity":"sha512-u1/EsTQu06aN0XOhg2SLrBXNmhhlB5jMmjWuj8hgr7MyU7WFueRHecV3/lTisTe0h/i+kvNzJVumu3Rl6Mcj9w==","signatures":[{"sig":"MEYCIQCbcb3AObRmFTEdfbasAmCsLanv44c/K/liU2a4AUjQcwIhALL/oyV3y+lQW7OtTjj4u6pL6gi0vbheElq4nA651pds","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce_1697007950490_0.5366750949934163","host":"s3://npm-registry-packages"}},"0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c":{"name":"@preply/video","version":"0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1ff60d0d1b2bad3824ec82ec8693624c0e555f0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c.tgz","fileCount":1744,"integrity":"sha512-aCCJ/4zKIiagwEypgGwzuDeODHh0fSInUViVvWq9R1ajW/4OPy7HNNVEJNZ+4xQSEDRRUpjx1hV1cfl74UYGag==","signatures":[{"sig":"MEUCIFZ58Yi2/7MXnEi2zUsqlRZwW5+J1YaUJZDrGlELBD7bAiEAo810EdkkizZiakZOk8vae366LIa+kSo4lEimSgT453E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56914785},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c_1697014096641_0.630498357653571","host":"s3://npm-registry-packages"}},"24.3.3":{"name":"@preply/video","version":"24.3.3","author":"","license":"ISC","_id":"@preply/video@24.3.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f63e3be2fb54059af147ee84542f9bba800af403","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.3.tgz","fileCount":1744,"integrity":"sha512-x0xdbXI0WBKxxR9aIORm5I0UBQfUirXLxp97QarLV6EuA9ncuc34Lcqo5RgPqQXWp8nR93TR33y3T1U5nRE+hA==","signatures":[{"sig":"MEYCIQDbiAm81treltqMEyE5N4WxdgaalMInWdObvH38m29nKgIhAMMmsKIrzrvF1PwW6FTGWGjyERt6unztfrah79y6uT0i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56891191},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.3_1697018662490_0.5923093465645082","host":"s3://npm-registry-packages"}},"0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5":{"name":"@preply/video","version":"0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cda9113b2bfcf7844a104d1842a3facaf2bccb6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5.tgz","fileCount":1744,"integrity":"sha512-qsX07t8PH0B+dlCvYwdzduz0SdCwua4C0T+SoR1wgciXOckiWyuFgXpKm+clH9n+nidtRQynF74z0pQ7X56fEg==","signatures":[{"sig":"MEUCIQCKBLNN9dOw1oQSnzqEvQndkCrUdrMCv8h7TuwKiJRl4wIge4LBxBObfsx2DJOUjQeEyoOl1KdVmd+3D5IvUYDi//Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895256},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5_1697019407879_0.6706680062815595","host":"s3://npm-registry-packages"}},"0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32":{"name":"@preply/video","version":"0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d21390572d6fe022fe6cf1b5a2a6a2f85cacca3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32.tgz","fileCount":1744,"integrity":"sha512-qrz626R5Q479jVWGkKda3BzpjUn0eYuCdunhsuDMldhDHBlR+rC1Y2oGMfp82qOhm2rTjr8xFJUIqF7WaIHwaw==","signatures":[{"sig":"MEYCIQCx3XN7EFqr776MNw4vXhTk7rzNK/F1ySz5PbIyY3WSvQIhALmJvhE8b331wLe+QjdxF4PuGnjJXYvqWoZZne3d/7j/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32_1697022689848_0.6592603851070793","host":"s3://npm-registry-packages"}},"0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a":{"name":"@preply/video","version":"0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"64b0651f32f41e0b49530893a15c82ef0b506af6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a.tgz","fileCount":1744,"integrity":"sha512-DyZWqfQqiR/duX3WwyAeIJ5nzVCDcNVi0vd40GRN1gshMfyMSiSO5srqTmCdJ/wdSV/9BGLmLNh5AsptCj0ORA==","signatures":[{"sig":"MEUCICMdkXcKIol65kqwn7RO5KcI9rP0m0pk3dl/WrX+SBVSAiEA0iSp45cuKu+hdTa7BvOTmFFMZ4R7UGA7g9W3a6Uay4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56915125},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a_1697023803878_0.5966166723453794","host":"s3://npm-registry-packages"}},"24.3.4":{"name":"@preply/video","version":"24.3.4","author":"","license":"ISC","_id":"@preply/video@24.3.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c22159c3cd230399e3578ff1b1e580a064e9e3ff","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.4.tgz","fileCount":1744,"integrity":"sha512-905jBa1SSGX5pD2HQMMhssCa8Yk37Xr1Q7eL2oYstbbZxbuplAE3hPuwl0firVpnyM0OsabiHLD+tuRTMd9m/g==","signatures":[{"sig":"MEQCIHzLOhhzCdZbcDWpbMzGblLddWwHmaE5yFfrtSaqf1xRAiBM8HR5DTx0sp6Di+4GOz/VMbxwM199xwHgangvsvDAMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56923935},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.4_1697027373122_0.6524727397914141","host":"s3://npm-registry-packages"}},"0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14":{"name":"@preply/video","version":"0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1baee18f4418605a2efb0bf77cde8c33512ed499","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14.tgz","fileCount":1744,"integrity":"sha512-G3K3wHWJwU1QIUyBSIE93leO/E5tgDYYFsqgsa2gpUyYRl6BbMYv42QIMbgHVnSgj3qr7+Untm07fYB9Mx9chg==","signatures":[{"sig":"MEYCIQCV4RIajOgA6qrIfZsURXUUAGwDkVS0HMG2WSf9zY4vHgIhAPESKFfzXxMgmqU69spHu2u/JgDx+5p0CzguAZq/94UL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14_1697028529018_0.00425091954719492","host":"s3://npm-registry-packages"}},"0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840":{"name":"@preply/video","version":"0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c4a5d7dbe5316488f73d998382072a5c8b71cff2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840.tgz","fileCount":1744,"integrity":"sha512-PCBpkMxOKFHEEG5BXh3xB5OXG7rPsEv8nrRRBWaJWivFiy3dL2HatslPy3YL5+GxNNUWTc4amKubZMBxeYnXlw==","signatures":[{"sig":"MEYCIQDP641ZU2pfyLrtanxrxX/siv1ZuTOICU3ktmnTGrW/KwIhAL+GKunqMH5r2ypSecbSm0fLUwvE4F8CosIl5MIyJVR1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56909143},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840_1697029569723_0.6243546455533087","host":"s3://npm-registry-packages"}},"0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c":{"name":"@preply/video","version":"0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d9383fb5c10d602059ea68c0c2c59bc2a903ae32","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c.tgz","fileCount":1744,"integrity":"sha512-J9tJDk1oecJ1sJlNNjnpHnKP9Y57D3OmF45uYvJR/GRMxy+r0FOHfJPSvDbTofaUPQt3CLDuuBLFvpVPQk112A==","signatures":[{"sig":"MEQCID2C84KA6ESw+ojf60p8GtzhUm0ITHq966uHw9CJD7egAiB07BtZiJwhJ2Rxsp7lKSI9rkqDL5vn5e5AXV1wlKYX2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895256},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c_1697031186913_0.0900980893234864","host":"s3://npm-registry-packages"}},"0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4":{"name":"@preply/video","version":"0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"08007066c741f47a12376334b11509dea0bf5d0d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4.tgz","fileCount":1744,"integrity":"sha512-pQJKHCUTTDrd4yqVxkyXa+rSA1plf+rpYQncTiUYcm9VwNQ9/bTveKQwC42OLID8xyAA1VzCj3MhoG1l2lzN5g==","signatures":[{"sig":"MEUCICeu0+CcaesWkUeiK5rfcaghQOhjIXzLjSt99bmx5LnvAiEAjAxwtUitSJun/eawhaS6XD66bguZBM4cDaOXDrf6etg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4_1697037599696_0.4761454980531521","host":"s3://npm-registry-packages"}},"24.3.5":{"name":"@preply/video","version":"24.3.5","author":"","license":"ISC","_id":"@preply/video@24.3.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2fa3a4f49e7da9b49d2c9749408774659778bd48","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.3.5.tgz","fileCount":1744,"integrity":"sha512-xOVYnhrng68lo+eCN0mcbDHHwwN3JFdoFvni6jLSaYFkDujJp+4HICt6TQw6i7opGf8H+ks869psmqCWsTSqUQ==","signatures":[{"sig":"MEYCIQCeXhJWmGU17P432rZEGrLy9UZU4MSn9cv9PdBCoIkdOQIhAMhi1Y8MYidlcR6EJPUW4cx7o2yMk5yZjwyXZAn3FhQS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56924079},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.71.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.71.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.71.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.71.0","@preply/ds-web-core":"0.71.0","@preply/ds-web-root":"0.71.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.3.5_1697085143377_0.9465496751598608","host":"s3://npm-registry-packages"}},"24.4.0":{"name":"@preply/video","version":"24.4.0","author":"","license":"ISC","_id":"@preply/video@24.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7892df17932ea4c0655cdf1a78165c44bb35a6cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.0.tgz","fileCount":1742,"integrity":"sha512-QV/f1nxjoge8F8/oQTnwyZCqD+Vqrjk5GC97pBU87KtRkf8TG4I6PqS6YzT4HOfvB6fpZRPQqKkAp4/tHsacbg==","signatures":[{"sig":"MEUCIQCjuJfNSTHSqvI74ziufZUd+lOHIj/9NJr5+NUEC47rTAIgLRSfatBhNAnCyvn/8T/7X6Tg0ZcLDNPP5rFQIGdSQ7s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56892033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.0_1697108668482_0.29349641813162397","host":"s3://npm-registry-packages"}},"0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d":{"name":"@preply/video","version":"0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2697848ff705f57e65c4cda410456f0ee49a5133","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d.tgz","fileCount":1742,"integrity":"sha512-kaYo6c8q/uOH8bnYFX8nKNGdWfkAUPUXYi5xXIufpJ6yKRX8a3d34IZqs3Olg8g5bWF8v6NmrYes2jUonSsAHQ==","signatures":[{"sig":"MEUCIQC2pVqjfkcic+XOVdlE6lJOQYF3o/glt1ma1rkn1pkf8QIgKA1wkJRkX4TEtulFbqEjDSAirGZeALco1Vyo9wJjNc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56897811},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d_1697127083767_0.1931108420259673","host":"s3://npm-registry-packages"}},"24.4.1":{"name":"@preply/video","version":"24.4.1","author":"","license":"ISC","_id":"@preply/video@24.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6f9043c9e70398e424bdfd578212013792661bc1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.1.tgz","fileCount":1742,"integrity":"sha512-Lbv3srCaYxObRCAM9wyYOudUyEpIJRR6RrDJn/hofDMWxDUoOQG1WWW7AKKFJK+6VwRFvLuPuAf+1mPakk4nyA==","signatures":[{"sig":"MEUCIF/CC8N7iVGNfbzAJS5FD7XIGI5/lXHCxwmJgVl2sMxLAiEAuhH4rIwqfyzvWecluWlj5xutVOWwhfuHwSHC7Q+O1z4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56891459},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.1_1697171457439_0.5620585514006944","host":"s3://npm-registry-packages"}},"0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf":{"name":"@preply/video","version":"0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6ecb150f11bcde9b3e29da0c4b99c6470ee212fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf.tgz","fileCount":1742,"integrity":"sha512-m5kdvUReE63RlZEIgUTY6pT6Wk+Go4ojVxdVKkqJ1kA0/0l5uBv77YnyRpcVTwjqXlyQAjdgCK7Qeq5gf/+JWg==","signatures":[{"sig":"MEYCIQDyUUg1HjNVOPvrZ8Nb3sGrRgg2LlZH0gmTuGq0kC3mGwIhAOjjCbF+kZikKLu4SYXooTSAw4pLTPgeB2ex1Bqtu5sc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56897811},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf_1697182812724_0.5017896432058708","host":"s3://npm-registry-packages"}},"0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7":{"name":"@preply/video","version":"0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fc5fc7d697a187602033d409e3b700a2004be265","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7.tgz","fileCount":1742,"integrity":"sha512-GcrKnx/ZasD6uLz6YHaE8nRWav5oPgc4BN21pOvjXgfoBiUxfy+1U5eXGvuX93pRR/KOlPJUFFTy+pxXeR9Tiw==","signatures":[{"sig":"MEQCIDM43iTefjnuaTh7G5ZLtpxi3152yoYcEOR35sekVzqtAiBgMzkNw+KACaOoe/V31IBDRWPZha2eQCB4kvUOVaBs5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895941},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.74.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.74.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.74.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.74.0","@preply/ds-web-core":"0.74.0","@preply/ds-web-root":"0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7_1697185476257_0.4638619779825588","host":"s3://npm-registry-packages"}},"0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561":{"name":"@preply/video","version":"0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a9de3f547c214bbde473c0cf0fafc65c8cba745e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561.tgz","fileCount":1742,"integrity":"sha512-32rLPpxF5pHe7fMYgCzr8aF8ahheKG8PPMulBnU7zxnvv15kCcxDhUrztsVJ3tyvr4il7YSi1bs3hh+lWC4z/A==","signatures":[{"sig":"MEYCIQCCfqlCh3yKCNaoGd7UHUjY+sSezeakNrYg9apgExSkUAIhAIUQAKLl3eZLSxy9hqiIv0ndXtntt26DBeY7ghoFts5k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895941},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.0","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561_1697190395051_0.4200603730680399","host":"s3://npm-registry-packages"}},"0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9":{"name":"@preply/video","version":"0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"876ecc217b9978e44743e9dd5e39522717c010f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9.tgz","fileCount":1742,"integrity":"sha512-henm1z5aXyqOiq0vBxfLYHdPnXn49bW7DFwKNuQ90kHQ8PXc+jOJGy/XlgwNQ3rwMX9eap7Cw3uoBV3f+/F+Jg==","signatures":[{"sig":"MEUCIQCfA8ZyJU4oS7A/I3bTc8XRhAxxyUZpbRg7bH9IwiXDTQIgM1n5Tneaot7I6vgkfvX3dIgAWtIhgdL5LUwmNFB3DZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895941},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.0","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9_1697194730431_0.31556590904911364","host":"s3://npm-registry-packages"}},"24.4.2":{"name":"@preply/video","version":"24.4.2","author":"","license":"ISC","_id":"@preply/video@24.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"15ce9b3218f082c912fd06ace56a65ac8f1c1769","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.2.tgz","fileCount":1742,"integrity":"sha512-pn2VdeUFwu81ekPB+3nnvoBXpih5L6Q5cGYV/iMTmMGnUgE3+e2ivF4NMaMqwFCTfMtP/nwSLSIsHaukWxnAig==","signatures":[{"sig":"MEQCIGgKRkAUo7b1cBCk8Js5G61dB8rYfIlFQNEmnTXrKdTaAiAPyWd2SXvTEGNy+uBuNvl39+qwqCS1R7FOC8li8bp1sQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894332},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.0","@preply/ds-web-core":"0.75.0","@preply/ds-web-root":"0.75.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.2_1697200558793_0.9568497086565517","host":"s3://npm-registry-packages"}},"24.4.3":{"name":"@preply/video","version":"24.4.3","author":"","license":"ISC","_id":"@preply/video@24.4.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff724ef4703ebd1e3e2dfaf0838f680af513f123","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.3.tgz","fileCount":1742,"integrity":"sha512-mx4PrtPAJj1CHFJXfhc8E6i5jjWSEjSGpug+GmC3LvV4HOBMUpOOujsmr1p839tFyeDVVFdC1zJMqLEuwQDYJg==","signatures":[{"sig":"MEUCIBAFdJWQNHq1zjqh+fsjaD2YHwXC8hFco1HrwldnvALEAiEApm20VkZNyocv+h3ZireEqRJKeWVYRg4NMcGMdxTL6UY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56895063},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.3_1697454820231_0.14307305168936968","host":"s3://npm-registry-packages"}},"0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e":{"name":"@preply/video","version":"0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"41b2a37cd8501c19774fda8adef4082dad40b831","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e.tgz","fileCount":1742,"integrity":"sha512-WP6egw2Dl3NHVe3qqSQOfjoQUW0yM5IKch7sx/NqAif33fazOJc58KqgySCimSREIFwMeuRY9x6YszKAn21CcA==","signatures":[{"sig":"MEYCIQCBHPiWVtlygf0Oo5yGlzOoDuVae4ftWvhJXE36hVshOgIhAIrmeGf4GTFHsb91bQNPslhGXvD910/anFGQV7Bd120B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56900174},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e_1697468506676_0.9491107197557349","host":"s3://npm-registry-packages"}},"0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a":{"name":"@preply/video","version":"0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b513d5b82fad46f46626ba9dbf76368a176d4402","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a.tgz","fileCount":1742,"integrity":"sha512-t8jxnO+fmmHyhNxduKGTBRukXtFaBXQfioMJHL2Sw/mcr9F647hUsPNH5fqArh17i57P5+ipgeJsZSMOauLjRQ==","signatures":[{"sig":"MEUCIGS1Ey8A1Z/VQe3+2Sxz5/gNpEDkJB4biq0o+3Pd5K6NAiEAlxL8Py61PnmZhZHpm+exexn1Rfu+89k1NGVd9PBmnuk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56899630},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a_1697470012410_0.6177748581412854","host":"s3://npm-registry-packages"}},"24.4.4":{"name":"@preply/video","version":"24.4.4","author":"","license":"ISC","_id":"@preply/video@24.4.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6dcdfe349be125182d1f239ccd0cb41d5ddcba1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.4.tgz","fileCount":1742,"integrity":"sha512-UhS9t9GPrudWIxg+D3OI6M1eB1rzh9Ln3yqe9oGWlxft5Eolxlc1bHwUy9T5jeNCvgfvzNSFMPbaSPOZjYIZOg==","signatures":[{"sig":"MEQCIDkl//ROHMX9BJaeEwz3YjnwTDMFBwjFhlPBBAabAaXzAiAXb+ygo6gcup8KgM1HgSwz8p2vx6LzqKW0087KT4IvHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56896971},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.4_1697470800268_0.25783996490401906","host":"s3://npm-registry-packages"}},"0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4":{"name":"@preply/video","version":"0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"13c1ea35ea119d1e7675a8881a4d48f3d7918c35","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4.tgz","fileCount":1742,"integrity":"sha512-SAt+JftlnnYSLcdAh12HGT4IGBnkaYSBRhJFZ/sNSamhTWAMXDGlqsGuNBhpT2SP8Qy3H13+hnY7kQOYF2vpow==","signatures":[{"sig":"MEQCIF67oRVMGgWEGjtPjbvb0eSZVtJmOzKqlNJ7I2TJyyOZAiAYB3lLrYkiwzwdrPwPziF4sMoRD5vNYGOzFkOcVd2lxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56900021},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4_1697472935014_0.8955595745914442","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8":{"name":"@preply/video","version":"0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ccefe29a82b7cbb358b2d2e87efebee6746dced5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8.tgz","fileCount":1742,"integrity":"sha512-VIaYPzxaim6G7yAm/B2OE8McOcXq8YoiuO08m3M5vJdbeTLns6TOYfGtbkQ8cCImTx0SdDtTU6vqy2lKC9yHFg==","signatures":[{"sig":"MEYCIQCbxxeEEZmis7lwFvlJeZ16N65zBc5zG7Z/cV1He4Hx+gIhAM5V6bDQBcdphgF43k3v3l8cTEXZxWpNqGtJk6iJjbDw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56902643},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8_1697531895494_0.5558132120310453","host":"s3://npm-registry-packages"}},"0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc":{"name":"@preply/video","version":"0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6be4ede5d9568903eab0e44e973874bd7df39ca1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc.tgz","fileCount":1742,"integrity":"sha512-Zs8pi3VpR4V4f7ib+q2he6X1QxT6+yGY7jjZ3scP8vT5QdQBMlxwj8dy6NZfgMw6ThXqqsfGRj3BKfra6gI9zA==","signatures":[{"sig":"MEQCIF+nuIRqZvWZX6sfpuPYMvVKB0d7KPzGNrBwWcxcWzPUAiA9NtYeZAsHH7qfLiUdNPI50hUkWi0NF+ZKinZVa2MNQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56903000},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc_1697539509460_0.5032522107277941","host":"s3://npm-registry-packages"}},"0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6":{"name":"@preply/video","version":"0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a827300c4f8b7a5eb0790b2f23fb7d5d032a0b8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6.tgz","fileCount":1742,"integrity":"sha512-YNL89la36f2WJSJIwOX/VcWZOYQAzuc8/rfnf9IZQFnfGplHUS7bBtMmqirEs6cIMriSZNBCGPme8RU9qzJsUQ==","signatures":[{"sig":"MEYCIQDDgyh/55dKw1Dh5lLufm5KQ6MAwfk2peS5ere0KxoAjgIhAOwDHFMraUq1VYf3q5a2dHA6aRPJ837ZseQeTOreltXO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56902082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.76.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.76.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.76.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.76.0","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6_1697541415486_0.6539658115814824","host":"s3://npm-registry-packages"}},"0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1":{"name":"@preply/video","version":"0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3cbd12d4201b3d5bd24cbca53fbf5b27a0b08072","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1.tgz","fileCount":1742,"integrity":"sha512-gX+O1qkrWwJo81PVs45d9mRYzB95NSB9OnkYhkgCvDVwRf3YiXbVadxH+KkcqNGbYWx6f4NeiXMqJ4QsgZLfhg==","signatures":[{"sig":"MEQCIFp0ok5dv0QxItpFV5VRYm0M6fu4AOtd4+QXKxOtLa3yAiA8IuYjLiHTN0Yb8pZLXsmigZTXnGhoLJXsDk0iYeLn2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56902082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.76.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.76.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.76.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.76.0","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1_1697542176885_0.2709410509695285","host":"s3://npm-registry-packages"}},"24.4.5":{"name":"@preply/video","version":"24.4.5","author":"","license":"ISC","_id":"@preply/video@24.4.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ecfa10579fcf4e8c2217c3143370d2e267fce8a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.5.tgz","fileCount":1742,"integrity":"sha512-micWbG/BrIFa01zrPhhjY0St4FGgHkDdvSY6T5K3pSEZ/0NHsKy4Vf9mlChp8axIsDt+6jMezzjg5JDxdDag3g==","signatures":[{"sig":"MEUCIQDU6QVHR/DFNy7IwAaqlKt7uZdPeOzqh/9ARtfGQM+oywIgYm8pPDRjs30cSQKSmC21AaxH/wx6wiirxyXYYODEqGg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56898603},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.5_1697545930745_0.47419698602685467","host":"s3://npm-registry-packages"}},"0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f":{"name":"@preply/video","version":"0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cda87f3f05eb1e7c0832bd1cabcaed0bfd5101f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f.tgz","fileCount":1742,"integrity":"sha512-WF7e2+V9tx+HiukteqhAJt3samRVe8FXvGO7NBpYpaM238e7mkRJNaqzp/khp04tlYDCoRieRLsre81QzOjODA==","signatures":[{"sig":"MEQCIHm93yT4Lpw8OF4s5n4jsRHIo2vWUqTuSk4mCeF0PwA8AiAZHOjm6yrCXkw3+/Z5AK7/yQUnJdcSLOyjEDGpT9zPag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56903000},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.76.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.76.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.76.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.76.0","@preply/ds-web-core":"0.76.0","@preply/ds-web-root":"0.76.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f_1697547634055_0.11993606726457662","host":"s3://npm-registry-packages"}},"24.4.6":{"name":"@preply/video","version":"24.4.6","author":"","license":"ISC","_id":"@preply/video@24.4.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f12ff635cb864b8eb7e76c2ba99be615eefe3b97","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.6.tgz","fileCount":1742,"integrity":"sha512-Ey8pBZJ7R4lZbEjulSCu+V7pjeGdcXa3994nBKnNJN+lXUOTPRoKINRp/WJGFwcUmyBB+70mXMGk5H8JSSYRtg==","signatures":[{"sig":"MEQCICi0xfjuKv2jFREePGOu/0JupLbvpGMjE2OtVGXBpJ+BAiBtsqvhECYLSb0sOcmOinPUc/U2RIFzCVpd/9nqoG3fqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56898824},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.6_1697548381156_0.9293786135937738","host":"s3://npm-registry-packages"}},"24.4.7":{"name":"@preply/video","version":"24.4.7","author":"","license":"ISC","_id":"@preply/video@24.4.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9bb77994b7d72ec0bfd0aba0e1b8f57400af541e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.7.tgz","fileCount":1742,"integrity":"sha512-9fDHlg2uyAFWz6L1eWVJuYqby2NgWCsnPmhAppOBBv4r3XpTmbWhBXWM5OFl9USRM16tU0m43ktb57f8uYi1gQ==","signatures":[{"sig":"MEQCIBmEkX5tXKX9bzzhjGvzWxJqAotWEfcskx1VA7thkV5UAiAwDQFqrRtEqRhrjbz0Fs3pvkOxnHXzPIz+aX4jrRVjhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56889797},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.7_1697549130798_0.4864735171952259","host":"s3://npm-registry-packages"}},"24.4.8":{"name":"@preply/video","version":"24.4.8","author":"","license":"ISC","_id":"@preply/video@24.4.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fb9533e493bc831cc6005d7988f9e10357ccd02b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.8.tgz","fileCount":1742,"integrity":"sha512-yZWgd/NAirll9LWTJeVl4Y5EsrlxAmluH2mgguJpcoD4bPevu8BcDZWDs2TuLbgnpgUQJrul/FVY+nnwH4Arcg==","signatures":[{"sig":"MEUCICzCnw1NK9wxRh6jCmSRD7JPiUGZlfO+284MdlOnT3wQAiEAweVrfP9Hi+RByUKLBUpWSuDiFNCaR1pxrqXbWgdcF+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56892432},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.8_1697554300840_0.8386519446251339","host":"s3://npm-registry-packages"}},"0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85":{"name":"@preply/video","version":"0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d894bd02d99b3dfdf6baf364460fcf04a8d1c350","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85.tgz","fileCount":1742,"integrity":"sha512-rLCXE6FgwYpZWtOGbMYuk4RNvWtlD71uo3CiKKzese+GWyaez8huKWE+V0WP5N4fM3ZZ+9vmMsQPhsRifmmHUw==","signatures":[{"sig":"MEYCIQDH/tO8fehMSDQ1zjnU5vsCrcaxLg8HPmm4z6LaMDUfRwIhAKpdQ6QA1j7xM14Gz3fk8XhS2HZmEtAqpUVEShMFpmWg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56896792},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85_1697556369898_0.6968134551939391","host":"s3://npm-registry-packages"}},"0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f":{"name":"@preply/video","version":"0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"58d08494355197831305915bcdd158a461cd9158","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f.tgz","fileCount":1742,"integrity":"sha512-bbCLQV2A8EyMdAfglZvxzN5OICJRE7sSaIMrjMuHLAfLFRae2+uO3sUR+fNB22+qXJb0i3MohTRQcs79n7OjgA==","signatures":[{"sig":"MEYCIQCuTNO8l/6GwS4itW+moQ/BpkF5DZvSQ18eTKcykduZewIhAJQBuO+meiM3EsqWOEJXAcrEIQRvdNwnGWJxU+F1uBlw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56896792},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f_1697558718902_0.31075386185029785","host":"s3://npm-registry-packages"}},"0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e":{"name":"@preply/video","version":"0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0aef714e16484e722385feb71df6f3286b280ec5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e.tgz","fileCount":1742,"integrity":"sha512-pfJIudk6+djnnaFtimwE+D2rdRlIv3/Mv8voKQ2UPKfi8svBY2M553j2gvhlYCAhHQU8iFBgNZo9DJv5PtAxZw==","signatures":[{"sig":"MEYCIQDf9kI1GaJEFOtb9TCDjsT3IIMvtEDJhqdCDRxqr9haXgIhAIRiYQcQp7XsMo+C2D4z75135Dgetb42+Sbg6CjjJ1JY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56896978},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e_1697561923269_0.3044859886829163","host":"s3://npm-registry-packages"}},"24.4.9":{"name":"@preply/video","version":"24.4.9","author":"","license":"ISC","_id":"@preply/video@24.4.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a5b521dc94f4db52ae44d5ca201f0d6b03acfee","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.9.tgz","fileCount":1742,"integrity":"sha512-H03is06TlNHv8dXLn7Hexi9L8xd2XiqkFHypTiIT6vV5YY5Bu4a5YbXXIGtxGyI7Ddq5NDUuzeiPHmeShsAEHQ==","signatures":[{"sig":"MEUCIFRuV9sbyyyGQlzbdwq4VlgrZT+psAD8LY7y8CAzdOmUAiEArcCTCRqvwqoeIK1cWWNyco33G6/RVkF1Im+MufVC2RI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56911896},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.9_1697562639149_0.29828972388822383","host":"s3://npm-registry-packages"}},"24.4.10":{"name":"@preply/video","version":"24.4.10","author":"","license":"ISC","_id":"@preply/video@24.4.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ea0c1d3fd3c019df75d595e4bf3e74e8422d5d5","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.10.tgz","fileCount":1742,"integrity":"sha512-Ln2Tuq03znr9aSwaBOvc6pLt9Te72JrzzfCihvKi7kfkkEkYTkPg/vcfxhbKRIQBZqCsDNAxTqwBFxmWF8dobg==","signatures":[{"sig":"MEYCIQCOY/YcfEgXefSWkk1FxXqBhnQUa/DXMjEjhiQ3xcAb0AIhANGJpTSOfFL189UIGQ/GCYT2siWUXecHgQSS/CcbLYM/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56912395},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.10_1697603478195_0.5381683815185712","host":"s3://npm-registry-packages"}},"24.4.11":{"name":"@preply/video","version":"24.4.11","author":"","license":"ISC","_id":"@preply/video@24.4.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b682a1e2def6c1a72330756910e8ae44bd2c4b9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.11.tgz","fileCount":1742,"integrity":"sha512-vbcuBSzMTtw/rMHpr9K7EPD7wNWT66hHO6ezyHypn6lor+4Q8cmGYHLQmeAEaQueV6f6L/ufQ+hhv300OwQ67Q==","signatures":[{"sig":"MEUCIBeIxU+b7IKBs/zbh5VEH2mrXfTRkdP5s+LDN/uQ0ej7AiEA+cYN9ix9lEFsA+SEIiRj3WCCgLw3n4CDOG44FOIBtNQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56912358},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.11_1697614873452_0.008464941311427943","host":"s3://npm-registry-packages"}},"0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4":{"name":"@preply/video","version":"0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a47d23b01ec484e2c73a9e134c1d38099b7b4393","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4.tgz","fileCount":1742,"integrity":"sha512-1zOwuhqaaBcm4BxeBOb5BCwTkdjg8gPfudQ+UdQ1nFkZZT+wU7oNdqZbaH9eVoOZhpzFt/FaeXtRp+Ma4ON1pg==","signatures":[{"sig":"MEQCICNO5X3Z3ckf9nhd29/JfqqN8zNvry+dqT5XnOZiYqvWAiBTTih82TFEGV+cD6e2dDweUKp7weo60KjydcnGyQPe2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56896829},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4_1697616798762_0.17266390537394383","host":"s3://npm-registry-packages"}},"0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e":{"name":"@preply/video","version":"0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aa061485efc87a4c61dba0346424f7037373c0ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e.tgz","fileCount":1742,"integrity":"sha512-4D8BMAVSXQ59VshjfpE1vHz+dLqoeIkGNeOqyAjAklFQfDGocEeQ2hO+s7AjSDX8PgxQr95MFgH3FVUvc+MPOQ==","signatures":[{"sig":"MEUCIHddqGVgW88rms229u5u9CyLuQtjPYtrPEXBtfuTo1UqAiEAqo6n/7OPh97P1nBiAvJ3dJG7j9F9RkLenbzXy3WXCgg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56894194},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.75.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.75.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.75.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.75.1","@preply/ds-web-core":"0.75.1","@preply/ds-web-root":"0.75.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e_1697618238491_0.09546104293535262","host":"s3://npm-registry-packages"}},"0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63":{"name":"@preply/video","version":"0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7940b177becc9d6559bcdd2d7acbabc5bdda9006","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63.tgz","fileCount":1742,"integrity":"sha512-r/iOQpc+iAgD0W90kxuyUef41nmCYsu96Yu1nIesSCFBuplTmz1sOTbiw5Qu5PAXw4U4QbEXEEjHG8xBnMhjYg==","signatures":[{"sig":"MEUCICJ4ST82NhASg/lm+6dsIBLLHExtLBjzvZuJMsGzz/zmAiEAlwOiwbyvLPOLCIpp6sL+DUN4o97rMIqcQ7IVjOAILvo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56916618},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63_1697628680905_0.12997991398845565","host":"s3://npm-registry-packages"}},"0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358":{"name":"@preply/video","version":"0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6834caf4ac2be7c62623dbd3c047b263ecf62d07","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358.tgz","fileCount":1742,"integrity":"sha512-1nI8jR9D92A0+qg2tZVugv8hwi2g0jtDUv3bupsvaEHQ/ZjBA+ipF4+CD1mHYExSzoJ7O95HP5yBz2r7T28OFg==","signatures":[{"sig":"MEYCIQDOPSkqTv2cboegI30WibB2oKXJwMu5VvJ35zql+s/utAIhAJAzy5TBal4OH2NtCHkeseHLbwYBKt6Nme/9QydFER5L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56916618},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358_1697629379473_0.4841579946297141","host":"s3://npm-registry-packages"}},"0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649":{"name":"@preply/video","version":"0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d9dd8b7ec432e4bfda8d10f180ac643e65674e7f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649.tgz","fileCount":1742,"integrity":"sha512-qO4i75d/7uePq4mgxpj24T+AeR6L+C+hMSQzpHwCdr0IzAS8lblxhBQbtQsutpX6L/CJVqYNR4e4frB4tMjTHQ==","signatures":[{"sig":"MEUCIHNsh+vSX7f5k1uy7yqlXaNtDbMNJUFhphw5xS3qd5OyAiEA/jvtyWeKcUTGP6hd4iWJIr7G+vrtwoYHblk+e3Vudg4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56916618},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649_1697630162928_0.0008349944620602567","host":"s3://npm-registry-packages"}},"24.4.12":{"name":"@preply/video","version":"24.4.12","author":"","license":"ISC","_id":"@preply/video@24.4.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"18ab62a9075405d53030da5f73b4a828ed16ab55","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.12.tgz","fileCount":1742,"integrity":"sha512-KsCVlbArLxFIU4LsL8t1ed2qMS0e7cBC5wEl8RjexN91Tu5kfFJmm8RJV/GOGat13cOPA62z7ZeSG8BqdoJTiw==","signatures":[{"sig":"MEQCIAisPneUAioGS8GcxowAqbX2uZL+IbyRDGhuTd5q6TluAiApabk3StQxVTFKpPxdidWKXa9109apeZDu3CF/N7IXpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56912494},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.12_1697634019877_0.4696144097697532","host":"s3://npm-registry-packages"}},"0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1":{"name":"@preply/video","version":"0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2671ccff3a4e5f9714cc8d77a53469707a88af76","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1.tgz","fileCount":1742,"integrity":"sha512-f0yijKI5rZFKfIvyUEausBGXn9O7po+wG3XqSyZjgdzFspfQC0kobYKPsLoDSMpkptxXZapxOlNgvOpC6h3yvQ==","signatures":[{"sig":"MEYCIQCXaP0lyAl45XRfSP/ggBYHmz0cWTDduYqdThse168CwAIhAI9RLgLnxAZIlg4w5cBLnY5Jrg7Q1M0c5c1DkSYXcuyy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56920049},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1_1697634737585_0.7072554459710314","host":"s3://npm-registry-packages"}},"0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115":{"name":"@preply/video","version":"0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff90236527a31d4d44414aeb0cb1ad871e5d007a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115.tgz","fileCount":1742,"integrity":"sha512-ZMNV63HgmCRqzBnPTvcrXDS8SSLI+/iUTQ+AwU7Xp6cfCOYmN4UTfy+yYdxD43iqcAXXgHHUD6xeKdiutX1NLA==","signatures":[{"sig":"MEQCIHwoiseFcW06CPzCu+cUFaokj5V3hIr43XfuQy62wpdoAiA2VILlbU+jg2swuwhoU+3AP8adsAGhq2zwpcr45fd5FA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56920797},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115_1697641047592_0.5833638505921741","host":"s3://npm-registry-packages"}},"0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899":{"name":"@preply/video","version":"0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8e4309665c44d9c2ac35ba24d1fda11a1ebefe13","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899.tgz","fileCount":1744,"integrity":"sha512-u3yWw+T6SKEQ7wJaTxv6OwZhAngEZQLjl7HYoVccnwc5TITrhxdXPkBa801glcpXn4n6qaHenVhBTqAXDxzIwQ==","signatures":[{"sig":"MEUCIEWWBWD/VsmTwngx6VMTBZLV8czUEI931SzI4uKdqDprAiEA+NjypHmxO9Fq3qljYlsEjWyy6tBRdcIOvySdrqfeQmI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56961027},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899_1697644546564_0.46590995885691355","host":"s3://npm-registry-packages"}},"0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2":{"name":"@preply/video","version":"0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ee6ac08ab8583275bd04b136d2f8bc2f7f0293e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2.tgz","fileCount":1742,"integrity":"sha512-sFB4Hs1k+Smax6UQnKdPpAt+FVNtFjDZETA5hU7ZwRPkhTaMteijJX+sKch5jPLfq8EALVhNqsKSUnd7fZ+x5g==","signatures":[{"sig":"MEYCIQD781UT8ra+dQZrVi5xJ9fxiLMYdhfLVR5TQs9+v0Jp9gIhAOt7xYvCHBkfZy5Kp8JgO+bXWsW5oz0/SW0i3oj6covm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56920797},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2_1697645275230_0.01247820770240371","host":"s3://npm-registry-packages"}},"24.4.13":{"name":"@preply/video","version":"24.4.13","author":"","license":"ISC","_id":"@preply/video@24.4.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"371acddf78e0c9b2e7fc94ccc450edfa171d3091","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.13.tgz","fileCount":1742,"integrity":"sha512-AcwPZoYUI7ZvlOF+pjL04Ur9YHUY5x0vis6mXBLIIZS4wUTqtAE8zkMdwzD9HU8iWTQlfnNxiSSYA7fGX+krfQ==","signatures":[{"sig":"MEUCIFv5ZeL3lJtDytuj4TgS4bHEJWTnSk/dTdf/vfWrEKl9AiEAyL6dPy6msqCaDHXMGE6RYs+90S6lYtVLGk/7LdkRjfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57014872},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.13_1697650876695_0.4699482613605481","host":"s3://npm-registry-packages"}},"24.4.14":{"name":"@preply/video","version":"24.4.14","author":"","license":"ISC","_id":"@preply/video@24.4.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"69e158f0b1f133de27a9d7cb011a0c65d87ac9e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.14.tgz","fileCount":1742,"integrity":"sha512-iNneE3X9Nrk1onrNuuCovBJ0ESrggvzDqvcUdokxUQBsywvtGHGJcRBOi/y8YM7DLi9bskw4wVesRXG4JuB5zQ==","signatures":[{"sig":"MEUCICZ6z0bVXDxECC+ZGEFZ2sOnTxSlyiP9SR7G/FV4NhJYAiEA2ueDw/trjsbcuukfMMwR23IrRkvNFPv/j+WFTe7ndiI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57015694},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.14_1697689913954_0.35356523835950204","host":"s3://npm-registry-packages"}},"0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83":{"name":"@preply/video","version":"0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ddc9162efdebddfde1fb7357418c8053568fbe0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83.tgz","fileCount":1744,"integrity":"sha512-sYemYTMpdTqF4k0RKQSDAHmKLXOzsW5oQ3wv/zX4YC/fviuz9qzkTXrUwdkoJ1VvYjE9oRQOVBaQnhOSIcIS8A==","signatures":[{"sig":"MEYCIQCMjhlDneesG304HM8Ono5QNnxdX2QJLRyvZi/GIE2L4AIhAJ54GFTJcYKuWWytwD6uWINr4tKxg0Aipf7Pr3VuARTI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57064415},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83_1697702643709_0.8568700890795051","host":"s3://npm-registry-packages"}},"0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8":{"name":"@preply/video","version":"0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fed313f0288f942b550347aefdb9ac137a5bf36f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8.tgz","fileCount":1742,"integrity":"sha512-I7pMER5iiSCPJqypSdUQT4Kxp2kj8xpH1rKp/wOpseVR1V2Ked0GfIGGqnEM9babS38bYN8aVoE+HzNU5o2B6w==","signatures":[{"sig":"MEQCIHp/iS9Z/7q9bFKEmoAzS5/AVKmLIelqiprQEpzQZEfrAiAdPlhk25EO16JhF421m8cZsk2lwbpqC2U6KNgsDeZWNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57024133},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8_1697703322588_0.9834543389975485","host":"s3://npm-registry-packages"}},"24.4.15":{"name":"@preply/video","version":"24.4.15","author":"","license":"ISC","_id":"@preply/video@24.4.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"91f3e89e782417f2c9d47c60c46507986720c6eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.15.tgz","fileCount":1744,"integrity":"sha512-cGPtpYFvUQxjIOZYGhPPX0WczVgFK4GzqId33TzHx8EDzBGPQdIVa0PrWhzoDG8i4NyRXoM9aq09CFxYEH88xQ==","signatures":[{"sig":"MEQCIHyEOUOPBYnZsnL4adFPhWaYadKMCcvDGUG0ehj04U1RAiB6xO93O9Z5t7a9Yqg0/1OqKgJJeFezrBQrgwPrkDH1qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57062977},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.15_1697709242935_0.8006364122140968","host":"s3://npm-registry-packages"}},"24.4.16":{"name":"@preply/video","version":"24.4.16","author":"","license":"ISC","_id":"@preply/video@24.4.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35cd24334e6912e4601a3802bac25c393b3506b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.16.tgz","fileCount":1744,"integrity":"sha512-h9Az2cF1wuJ4FNsoViqRhjCOpYxU7luXhVrZxaF3IsIL28RhtqAHf79bcynhMHlLnZ5RPumhnmj571NORgzGnA==","signatures":[{"sig":"MEQCIDdNtzQ0+Qi2k2rxNotQopgamccP2PUjE7vtJ5HVg717AiBVYatX4EKtqZdqeAD+TYIUxOLiGksXJ4lq//ZKLKKXvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57067156},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.16_1697711852704_0.20690323635703733","host":"s3://npm-registry-packages"}},"24.4.17":{"name":"@preply/video","version":"24.4.17","author":"","license":"ISC","_id":"@preply/video@24.4.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"94f2dae3af0ea80743c11d6161f81ce10086d437","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.17.tgz","fileCount":1744,"integrity":"sha512-IBA7HPbTamsWb7CjyE/NdOErmseAXwzPZ00k4/Az9mvtcRbirInXq/q2+iU98GRINkFI/grcmWr/0GWxrC8vEg==","signatures":[{"sig":"MEUCIQDCG/hCUe3xmr4T6KwHMHfOOG07AUfQgF26BEsrFw/6kwIgMbJH6JpzOA4tUfuWvyWlSfKHNhRnHg279tCr5xQmNOU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57067910},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.17_1697720771551_0.17476149574039468","host":"s3://npm-registry-packages"}},"24.4.18":{"name":"@preply/video","version":"24.4.18","author":"","license":"ISC","_id":"@preply/video@24.4.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"31835c1e7139e53a245dfb4372d14477c61ac645","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.18.tgz","fileCount":1744,"integrity":"sha512-iZaAWaaq8KwTsbM2G7vMDXHJUa35C2Sbg8HiQ/FY8jusdf8egvlpb70ulCtr5hzwVISjgcxqagCZWAPKiav7Gw==","signatures":[{"sig":"MEQCIB8mRggIt2gKh7sWfI+9umrKcSdgS0w0/XWMVyz/6FOcAiBw+TlSOGXwbQxvuArE3aCmXuuYcTDCXF8YoOseVpo7Gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57068112},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.18_1697725585427_0.5864444544993057","host":"s3://npm-registry-packages"}},"24.4.19":{"name":"@preply/video","version":"24.4.19","author":"","license":"ISC","_id":"@preply/video@24.4.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71fccbb70ef6762e16ce810a12754047f18ec63c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.19.tgz","fileCount":1744,"integrity":"sha512-iDsNsdqTT+Si21uYpjeGs/L93QGnfxESLxSH/Kj5apICAqKoKatctszY1RckHL3jvoIb5HeLS6DBIk4xs4lj/w==","signatures":[{"sig":"MEQCICBMGLfMbA70B6V2Ozu/pakr65qlxKDc03Lb99HFPh5XAiA5Flewjf4+bwZKMhKPz3mqDA1DNaVSjd8Qlq4w+ZtG+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57076443},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.19_1697742800042_0.6492026524818033","host":"s3://npm-registry-packages"}},"24.4.20":{"name":"@preply/video","version":"24.4.20","author":"","license":"ISC","_id":"@preply/video@24.4.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e044918e4fc569793a1b79ccedfb9f04928afc5","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.20.tgz","fileCount":1744,"integrity":"sha512-GV8pzL8M9i2og8qFEwvaQ7wntjk87fzKUWB5l4gyxLmNO5a4uXWVbWysmqxYzoLjOSajr6e8ZBGiFi5qDfRvSQ==","signatures":[{"sig":"MEUCIQC9Swq2EgjRY1/RtU/xaL99scApjXnSk+LkVqG/H76BFgIgILdt91PTyccsA0z8OutYp5BC2lSuipyLgCq9G6j8n9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57076991},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.77.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.77.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.77.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.77.0","@preply/ds-web-core":"0.77.0","@preply/ds-web-root":"0.77.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.20_1697776513264_0.673789709011188","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d":{"name":"@preply/video","version":"0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92b21021396d95d54b6e1ebc0e59a52c1b528093","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d.tgz","fileCount":1744,"integrity":"sha512-1/JmJnI3/7NnLc6H93CCrt6Xw4COmfWH5WsySLtyVcWGnZMOHv2+FHXAyI6x34z89vUPoedTIQ+NOFuKt+0fjQ==","signatures":[{"sig":"MEUCIEwleMyMERh4a5hfBqwJufLd89DkL2sruYqAcQLuuB9qAiEArK9MuIwo12i1BHbqqh6pL+iBXm8tW52f/ofG0dvV7aI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57081251},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d_1697790063452_0.4036364426512322","host":"s3://npm-registry-packages"}},"0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e":{"name":"@preply/video","version":"0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b88dadab90cd112989a2eebca43880ce315d4c88","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e.tgz","fileCount":1744,"integrity":"sha512-jCUu0vFTcW3fF3Po83hiivEwxmc5ltud6h077Z/IfdRg5l5ZTsrso071hKw+DqQ8a34jRR6nXrFr7cKjcCuB8Q==","signatures":[{"sig":"MEYCIQDQ4JXhM/MCSjR6N5Ps67lkBH/egBPOjGQZ0U707P+hbgIhAMDHCRIo1ua51SQeWXrUHl4pLixtejvxilfjGjpK37+2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57081251},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e_1697793926644_0.4268143070872481","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367":{"name":"@preply/video","version":"0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"254f8a91a113ef6ec2726b8513c88b9b77d1720a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367.tgz","fileCount":1744,"integrity":"sha512-Uz0v9b7KRhACXPSg/5liA3pjIbGZ82QdN23Sjfxu0yyKEelE12XaXJyXOS2/+Kwee+deaMZsqSQfVQvpSka0fg==","signatures":[{"sig":"MEQCIBFRRSTqw6rcs4PYFYAaMwSakkAJO+hVC8UzTRqpbwDlAiAzS2GySoueAGyZnlnPo56vHUIqYMShaLOyrI/WX93oaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57081251},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367_1697798256064_0.5001588304109925","host":"s3://npm-registry-packages"}},"24.4.21":{"name":"@preply/video","version":"24.4.21","author":"","license":"ISC","_id":"@preply/video@24.4.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c2486e5831ff7dc4db8444d4eed8e3ac17dd5b39","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.21.tgz","fileCount":1744,"integrity":"sha512-hd1Asj1IP4QIGqNLmnDW4egT0ohcNE+46/QShpGvBggL5fxrasC8ID3ZFY39XHUrfoOy2JkDQVm0VKHljc/faA==","signatures":[{"sig":"MEYCIQCcFXIgToWgBE4t0MVIRWjME33Otd/ep7DEYeBaO6Ar+gIhAMTwRStf2OEwn9U3Wp3jgx4GOzyKq7OTbumFVsS6R4qI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57078300},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.21_1697810854480_0.5757265559862985","host":"s3://npm-registry-packages"}},"24.4.22":{"name":"@preply/video","version":"24.4.22","author":"","license":"ISC","_id":"@preply/video@24.4.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"128d13ac0b07682993a5537c8b67c29e5fc071ab","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.22.tgz","fileCount":1744,"integrity":"sha512-6SAHrlBaXdQPFQtWl2gikJY6JtOkHtQRgXIVbMWx8mW6hHHlneD/UE3hkrXhN6O6wDF7/2l/Vt4fl0p3BoHgRQ==","signatures":[{"sig":"MEUCICT5wIZIGYMwicnrRFdmB7o4+5eiCjn4eT1xXYC1H2s8AiEAh877eTpmrhfPUDJRFAvhZHM+Bcg+DJW/cQ/U+aHbPGQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57078262},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.22_1698035749309_0.8486682599727606","host":"s3://npm-registry-packages"}},"24.4.23":{"name":"@preply/video","version":"24.4.23","author":"","license":"ISC","_id":"@preply/video@24.4.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c059bec90d2eec890ada19b22c30596988d0e260","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.23.tgz","fileCount":1744,"integrity":"sha512-fF/fXC1qOC/BEetX+3yUocn1BmBtNyj77sjocqqJ6GHZKvLO3DDYHnIcWnq6STGSS73ltirXBjVnNog/hbAHbQ==","signatures":[{"sig":"MEUCIA7Pu8pGczIKZYQx9HQDppNfiuI/HzvVV8nZdVrMRgH+AiEAsRQdhDHMPnacbbS6XTFRONejyanrjNXDBJhg33LsOE0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57078007},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.23_1698072963516_0.24671056269443215","host":"s3://npm-registry-packages"}},"24.4.24":{"name":"@preply/video","version":"24.4.24","author":"","license":"ISC","_id":"@preply/video@24.4.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0e0c52002c31b8c31704266b7e07e3a523bf58bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.24.tgz","fileCount":1744,"integrity":"sha512-3EAxfLUcRH8WspR77kjFfsbxcGoUY8Qfh3MLFyTfT4dvfScfrPRUNJcNvCWxjcX/nS+88B/mcXWxeR2Z2FdQqA==","signatures":[{"sig":"MEYCIQCpz5LRmfoZBYAPZF0Ht56DqxH0NQDyT+IPZ7/IvcbaugIhAP2v0azv/KLBuKDzZv6l6PGB74xwAtDNPuaflJyh3zEa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57078027},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.24_1698121870668_0.8538698343449029","host":"s3://npm-registry-packages"}},"24.4.25":{"name":"@preply/video","version":"24.4.25","author":"","license":"ISC","_id":"@preply/video@24.4.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5accd072fb3a5aa5a628ed0fabbe4570439a7762","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.25.tgz","fileCount":1746,"integrity":"sha512-3eXRU74Jboqu4oNbPO5Yo1bI1CjkEEBcn5AavESDmsEyyR9l06zcLNKC8Ij7MSCURuTYHcC+4OzSWXxf3EMoow==","signatures":[{"sig":"MEUCIErCFwaYHrbPwc34V/vBeXe48c6ShY+KhWY2/ZdpDFjbAiEAnN08xRsKvGpYbG40BniTVQ1K6bxUfemQyE93J7fqEh0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57088081},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.25_1698332618308_0.7273398106185887","host":"s3://npm-registry-packages"}},"0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba":{"name":"@preply/video","version":"0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0048b2f458470107224570d27cf2c87acfd315e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba.tgz","fileCount":1068,"integrity":"sha512-fxf3T1OqhkvaGrcy/fy3YG2s7Uj/qysyRQCkimK3soVxP3Ipq6QPmzBaXJm4dGm3kYpwWjRqFuUaYQ0E51tyhg==","signatures":[{"sig":"MEYCIQDHYCEfCHtiwjK0A9rI71fpSQtHaaAfrLClmFo7h2vACgIhAK+nmn2QbC4g3jKJggBaHqZg6VGIPrlJrs+SINudXCR5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25318821},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba_1698845254458_0.4573025939387272","host":"s3://npm-registry-packages"}},"24.4.26":{"name":"@preply/video","version":"24.4.26","author":"","license":"ISC","_id":"@preply/video@24.4.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fd18cbb63ea747c996921750b60a911eaa2ca9c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.4.26.tgz","fileCount":1068,"integrity":"sha512-RYN6L7kSvBgfjNf/wiHWka9df5TjzvGVwy4ICXU+0BdTFGCRKuKP1hC6Padlqzd5spdtIw3p5EsbJBnpa9FuEA==","signatures":[{"sig":"MEUCIEWRw2NKf5W4zbZnYd49VdPAnU+UYyJp86BbSIUbaTheAiEApJ9JA3AyqRA8vPkkP0JW/UI8JdTi3AJ1pjQNNe8qaGA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25316066},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.4.26_1698918901643_0.8936050855991133","host":"s3://npm-registry-packages"}},"24.5.0":{"name":"@preply/video","version":"24.5.0","author":"","license":"ISC","_id":"@preply/video@24.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b2d90a18f8eaf74ceb0c0c6c5d6b8f2f6f708bb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.5.0.tgz","fileCount":1746,"integrity":"sha512-zywrv2omTw/UushxnHSUURUfkLK5d87GMn0GY4T8Z76YjcAgnTknVCirzUIYzMYgKytC2tJniMnkn5sETGmbhg==","signatures":[{"sig":"MEUCIQDdjjwn16R+zMPfcUAbwDPmRi0bvHL31fY4BMU3a8R2bAIgJ3i/UPGVZgMYPLGJoPRpwZTIXPnN4vfzxKT5irONpCo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57087915},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.5.0_1698931630519_0.1653073259362423","host":"s3://npm-registry-packages"}},"0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6":{"name":"@preply/video","version":"0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b69c6eb5d5cb1e21eb2f0e6e6a208332d4eb0f8d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6.tgz","fileCount":1087,"integrity":"sha512-Fycvd51KoDvdJw2Il7Qpa2hZdGD5Yu+nWJ/SEge+uGMIWPDOckbDVJHT/0nA+C5XSoF+NLAR8l04atxXRWb2hg==","signatures":[{"sig":"MEQCIFZNXdJey9BNb71JMYMlO9usyEkvGiDuJdAUbh2+viOfAiAEu+4R6JLnHimVRXHhlmJAYohStCCDqVgf2Xm0ZZLpPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39567490},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6_1698934626719_0.3788811230545843","host":"s3://npm-registry-packages"}},"24.5.1":{"name":"@preply/video","version":"24.5.1","author":"","license":"ISC","_id":"@preply/video@24.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e1669d077922c1fd761c53b225caa15651a04d16","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.5.1.tgz","fileCount":1087,"integrity":"sha512-HflJFFBRuPcJBvlrGVWftr8vG4FTkPEhvLn3TiDCOa+IItdtKW2dX5FbFvfmREDk/EIUtrQ25jDRB82yBm6ufQ==","signatures":[{"sig":"MEYCIQCT/+Xjpl9hDCckuMqR/8cDoPWKo4zhzZ7FBHGuMfdSbAIhAIrI8nQf8mXoIJBhbJK+YIU87v6OkM+MtMeFjejEIllK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39563093},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.5.1_1698935151754_0.4054048991188546","host":"s3://npm-registry-packages"}},"0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd":{"name":"@preply/video","version":"0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0868cd0f429297910b3667372b20bceeda6e0d22","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd.tgz","fileCount":1087,"integrity":"sha512-/eGjmnr/txn3C6OYcmQ3BlT/Ez4DkrNNyQvXbN/8Y4FytFOyVEgHmEA50GFyeBPTAEnOovg8x/khgG6VuUVUoA==","signatures":[{"sig":"MEQCIEB2+0WZQMeDSJtgWNIQP6Ro+P7ZlmDEdxkKBu1PZ/tgAiBA6cSny9ek7utfDYuQ8wVLdidDv6I/sVgNZSEmPys5og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39567490},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd_1698937492131_0.3972179690909239","host":"s3://npm-registry-packages"}},"24.5.2":{"name":"@preply/video","version":"24.5.2","author":"","license":"ISC","_id":"@preply/video@24.5.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"93994835ac64e7c7462358f7ffac0a6b20eda808","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.5.2.tgz","fileCount":1087,"integrity":"sha512-+Xrlb8lWAp7DC/fRTRg8gvlLWYYpmZoFX/UmIQeA02cW/MCjAyuId23cRR4ch4sNCo1ATdppajAOkIQTJ9H8RA==","signatures":[{"sig":"MEYCIQC9sFVXcuV5bbNY6QW/9dkbIgz8U/0VGf6rTARbvQ/8RAIhAK+xjYTfojhl5pJPFXQ8tYgtVAI6XVpXC2Biyh9liO/B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39303149},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.5.2_1698985691235_0.3654559421180097","host":"s3://npm-registry-packages"}},"24.5.3":{"name":"@preply/video","version":"24.5.3","author":"","license":"ISC","_id":"@preply/video@24.5.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3f2a612d106a119036fda2fc8dbe16a5d3bba56d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.5.3.tgz","fileCount":1087,"integrity":"sha512-LgoxUm7E58UMVyikjq7tM8sUX1aIENmOOHjmB98y+W113CKNQOD/akNdY/WEbpcHQB748EZwGOWJI4BLz8nqjQ==","signatures":[{"sig":"MEUCIDyA1Y8L7IeBMX6IvD/AYW+SBTmU2gI1gntvMQXTOwOfAiEA/T+MCZy0lxoqzh/Rf4Br+Vd1rT3yUUUETdgFkG68r9I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39297356},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.5.3_1699270944203_0.7120477113375134","host":"s3://npm-registry-packages"}},"0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f":{"name":"@preply/video","version":"0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e4b22368e5283c32e33a306cfcb0a978ec17e3b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f.tgz","fileCount":1085,"integrity":"sha512-eOp01cThlLdzJWc56MUqpXrad523xZm9KWGOMrr5kEw2vurU0+pfm5905nAsYQrbYcXY2D/F6SJqH4w5dGhxeA==","signatures":[{"sig":"MEUCIQCC4BWGZ3lnBq5KkhbdgF6T5/V9TeCW+4BAymRfclA0eQIgehxH5TVqVgqsj77rtX9o3kiWafYcvTmEjgf35utYGqo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39280733},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f_1699274765119_0.8617615150857663","host":"s3://npm-registry-packages"}},"0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5":{"name":"@preply/video","version":"0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aef8ca475cd18daf1fb4f463db925c2c3df7c746","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5.tgz","fileCount":1068,"integrity":"sha512-yLtbDg0csn8L7ggLwDHKUUa3IJS+/CtnV74PVaxfyO0m7DCn0oLQtng3iX9074xV72kH/zRu5Hx6CE0sZK+Jtw==","signatures":[{"sig":"MEYCIQCIfD9W//5PEra0lXF9IDKKeTPNU3OmUfLZyfSxnvIe5AIhAIlgChDTKmFjghCIunZVucj2kc4prBKF7Dg7QS4H3rNz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25186627},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5_1699279503317_0.009903222966902936","host":"s3://npm-registry-packages"}},"0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947":{"name":"@preply/video","version":"0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"840ff9f18dae2e6ba7c26a85cce8217eb7854ee1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947.tgz","fileCount":1068,"integrity":"sha512-wTfgWVnxSrJtTy8GbkSSpVPm8862g2j1Z10XtlE5zyCoF5UpgyAck8I0qT24bhXnAx+xb83QReM2kuM6LABMOg==","signatures":[{"sig":"MEYCIQCl3inYOTfa11SsjTUcpHvqOzTy/op0wja2wz9vyf/h1gIhAKIMvjNKjA01EzIFyK+ApxjEBCoO8MB9PgQgev+wuciq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25186627},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947_1699283923549_0.40329251131311095","host":"s3://npm-registry-packages"}},"24.5.4":{"name":"@preply/video","version":"24.5.4","author":"","license":"ISC","_id":"@preply/video@24.5.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a90f0d6205fe48d6ba5570c3672f1d94b16f5e41","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.5.4.tgz","fileCount":1087,"integrity":"sha512-hdpvo2wC21Hg0bjdxqkiOJor/OJhwSXNh0ydD/gphq6bn4SiThkLFs82m5QQvyGlJ9U13lpzgAXJ1wa6HKb/fA==","signatures":[{"sig":"MEUCIBTyDwmFId4wmuG/AZiCNs3/1xdL5poOJqxXtp4E57pJAiEA13A2i/M4d1nEi7ZSs6ZHVm7KlorZf85TszDhmo0MUnE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39297376},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.5.4_1699330741177_0.030737456383360673","host":"s3://npm-registry-packages"}},"24.6.0":{"name":"@preply/video","version":"24.6.0","author":"","license":"ISC","_id":"@preply/video@24.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"688da7cdddbaba977cc3d7ecf954e645cd1f924d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.6.0.tgz","fileCount":1085,"integrity":"sha512-/ysWEXp1qyKPox3f3ZDpyIJdVnT9QBAwcLMHz2IGRzTLxlnFfRcf/NP6ObwDnpTPsylnH4rOoShkF5tiLDRJDQ==","signatures":[{"sig":"MEUCIQDSWY87syPKXzqvu6Xq4ul0qYu9zKfujyPN6hoZxeOYCAIgEu6p28Xd2WjPnS12QtZ6j/xVHoJHmSndxYYYsZ2IliY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39276356},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.6.0_1699345735972_0.06802990505801398","host":"s3://npm-registry-packages"}},"24.7.0":{"name":"@preply/video","version":"24.7.0","author":"","license":"ISC","_id":"@preply/video@24.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0177e308ce2f0e1894df221d9aba412f748af0ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.7.0.tgz","fileCount":1066,"integrity":"sha512-2uCbxciYSubjkwKIxq/bvkONJrOdq+taB213f0gUcnrm0SK2rfK/GgfGQmsL1Tz6aMHGmDKjtwV8Dj7O87o2Lw==","signatures":[{"sig":"MEUCIAQeX0v/18Uv+DcbekBD+Kx6rF5JI1tUDxr0NE5PSRgGAiEAlrYXux6TWI41jjNZ2wozEH9Q3jToG2JIA4EPX+1G1eY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25173460},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.78.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.78.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.78.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.78.0","@preply/ds-web-core":"0.78.0","@preply/ds-web-root":"0.78.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.7.0_1699354062763_0.514308131041596","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7":{"name":"@preply/video","version":"0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92833a879883783195ad4abe4bc3afe70fa2ac9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7.tgz","fileCount":1066,"integrity":"sha512-qaMiifdv20NqKixdxm5pt/NiUtg3qIomTWQZXJIt539Y82sypDrGAEd0Sb611VXsuiiNTc8I6ICYXBP1Xjh8Dg==","signatures":[{"sig":"MEQCIAKwD77p02l6twFd6XLUffD64/8M7Tv8diZmNxh2kaSDAiAZ3VG5JRQXirCz01LAjZwojRtfDMcAHOMtSwJfxFnG3Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25175995},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.1","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.1","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.1","@preply/ds-web-root":"0.80.1","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.1","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.1","@preply/ds-web-core":"0.80.1","@preply/ds-web-root":"0.80.1"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7_1699367591478_0.012458499667037604","host":"s3://npm-registry-packages"}},"0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550":{"name":"@preply/video","version":"0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b0d9c79e945b7548190b70b8539bca9833ab6f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550.tgz","fileCount":1066,"integrity":"sha512-NaF2H2nZzz/9ODSlc7oxQYKywj0okNVkrRvOebanOPoniEa0/jx/P6KQrjGjAiYVA3f45ZbG+Dz8QPoB7f9LPQ==","signatures":[{"sig":"MEQCIF7SQ+VtsJ6XcfuxE7Ul1+hMmb3cop3LvW7lT8ridbDJAiAnQ44QEnmJzJoiKnigVzyd687lAVtLn539rSn1UZT1DA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25175415},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.2","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550_1699377281726_0.09021832112389583","host":"s3://npm-registry-packages"}},"24.7.1":{"name":"@preply/video","version":"24.7.1","author":"","license":"ISC","_id":"@preply/video@24.7.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eee27a36c1b97e253277320f170566daa3bb24df","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.7.1.tgz","fileCount":1066,"integrity":"sha512-j/8Dne88Gben2o91aOy+kcd53I77GIUcHtAiw3fiYdz9L6jV1fePp18rXmfMFM2IkmPybrY6D0QyV9RjtkRbjA==","signatures":[{"sig":"MEUCIQDKWLfe+ZSTQyzJGDvZprFav1nw/JmEqOro8vyzE3KFmgIgbeGi3soJfiXlaZHaZ2qka7LI8O7BRXh0jT+29Het1lA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25173194},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.2","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.7.1_1699379338721_0.060376101090650725","host":"s3://npm-registry-packages"}},"24.8.0":{"name":"@preply/video","version":"24.8.0","author":"","license":"ISC","_id":"@preply/video@24.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e767ff5ddcc94b3c9ffb8cebd3ace1ebbcc7fdc2","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.0.tgz","fileCount":1074,"integrity":"sha512-MIBgzjAUgy+zZ7akYWUrzgMYKyh0lceUVP1y2Vn7qPiXeFEMCtFlR8Wo4kVDU4jxPjNeTfb9iD7sP+dmQtBFPg==","signatures":[{"sig":"MEUCIQCaEPdG+tNECpSg6SI807xH/OOjJP7GqO64ulJ4a0/I8gIgCMCyqXZWYNl5YHeu2qeVs/hNp0emAxlNeFsoiEEB1AA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25366174},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.2","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.0_1699970078733_0.43463619304740586","host":"s3://npm-registry-packages"}},"0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f":{"name":"@preply/video","version":"0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"79b9ec366a92f7184479ad19f7fa2fe7f6d2b96a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f.tgz","fileCount":1066,"integrity":"sha512-stoKbuVW6UgN43h2cBwKpE2ZF1EaH39pdRdZIKcbNOnLTwh80FD66tySJFxJgkRYsjcQhph9M1aVVcoo1HVFjQ==","signatures":[{"sig":"MEYCIQCdi5NRBHeUomk2JP+pyv+8rbXXJw34jlaJe40jzGwYGAIhALODE1rYTbmhYFOtKoMuPQm/BqhJ703wE1hPpFE3y/Mq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25179272},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f_1699974077362_0.5626747400120506","host":"s3://npm-registry-packages"}},"24.8.1":{"name":"@preply/video","version":"24.8.1","author":"","license":"ISC","_id":"@preply/video@24.8.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ef945ea151762f7b0cfce1385ccacc7277f2bcff","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.1.tgz","fileCount":1074,"integrity":"sha512-QaMTvi3bV9ubgrKo+MEF4i4AyMnrKG1SAU8+i4AcM5pIJgECiStjc9++6poY0+hUXYnkraR554vV959KYGdYNA==","signatures":[{"sig":"MEYCIQCMeB0s33ySd0DHBWJNKUqNNTZerVQfD7nYJelE6NbHsQIhAMoThF0NzY4E/xHR6DzOJbgzgMXU5ievq93t1LFxbE6m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25376051},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.2","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.2","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.2","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.2","@preply/ds-web-core":"0.80.2","@preply/ds-web-root":"0.80.2"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.1_1700021930633_0.5617617676225324","host":"s3://npm-registry-packages"}},"0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb":{"name":"@preply/video","version":"0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9a3036ff60e47a868823b435db03cafbe37e7835","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb.tgz","fileCount":1074,"integrity":"sha512-ElvQJ7NWKCdowBq9TRLFtCpW5DQuKjf2YXYyYARvqrZ20o4ENoDoBTXLf14lr2QQbV2LvFUgBps04UptCPfGGw==","signatures":[{"sig":"MEUCIAUiKUi4XlXa1oPtl3IQCKx9uXYXdGztGKf8DuOFA/ykAiEA6aDGCUoNYn+ZRHq4FtGs1TK5S97WEK0YjcsLofZxr3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25378272},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb_1700034828574_0.07593915248868832","host":"s3://npm-registry-packages"}},"24.8.2":{"name":"@preply/video","version":"24.8.2","author":"","license":"ISC","_id":"@preply/video@24.8.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1ab53a15456c415ceaa0aa1eeeb35f596af5b20a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.2.tgz","fileCount":1074,"integrity":"sha512-dxtfqUN5L8Xd/n0hkGF3Z0fZRZBrt+S/z1v7wZ5Y8DXOys//zYuvdRPX3nmSZuC9qlrvT84lmo/J5J1oOslr+A==","signatures":[{"sig":"MEUCIQClNDneaCBBrhWXmN2uWelKpkTRy8RhYKm3Ridti3JkJgIgWXu3j4/e3HcHKqGOo1ofMTsF0kBqwyijNjcd93fk+v8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25388892},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.2_1700060648811_0.7634564705375746","host":"s3://npm-registry-packages"}},"24.8.3":{"name":"@preply/video","version":"24.8.3","author":"","license":"ISC","_id":"@preply/video@24.8.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fd982039bf615ddf79e6c2aba7a2e618232dbcd8","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.3.tgz","fileCount":1074,"integrity":"sha512-OcMjsKca5LwbgLRv4oO0thYHYD8lFabJnfpeiH7VxZUC/oekLRa+vQ1VfO0AK0bZfGeVi27HRa+sAnlzZSD+vQ==","signatures":[{"sig":"MEUCIDnweT1osPfoW2Ixp3LQz0StsgQQvyeMaBBp0NShk1/KAiEAta7rDmPXC56MLMcTnngtOO0/ZsO1F4t/ZZ3mGe6yoH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25389214},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.3_1700134222496_0.7122341507653795","host":"s3://npm-registry-packages"}},"0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d":{"name":"@preply/video","version":"0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b50a65cb3aef1920dd2d19c952b900e57fdb90e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d.tgz","fileCount":1074,"integrity":"sha512-EF3lAu5kgsMhcYDi2RnBqp3EhFLUre0VPjxNTgWTMWzsJX0OmfYhyzMkmsw8A7NKWMN/bjAbloEPlwq9HU2RVw==","signatures":[{"sig":"MEYCIQCbLp4jLHxrL1W7ss7I5lAhkjJsww5vN4/kTkUhTrbS9AIhALpck96iTDURFgjKc5HZnEhI/YLoImXDmLHAdICmpd20","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25397375},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d_1700154455641_0.8674931847473293","host":"s3://npm-registry-packages"}},"24.8.4":{"name":"@preply/video","version":"24.8.4","author":"","license":"ISC","_id":"@preply/video@24.8.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8358c2ea241f455aaf6201e6cce6586b1a79f6b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.4.tgz","fileCount":1074,"integrity":"sha512-Hpq1+OvKG3b3B2zjb0jOhJY1fmpMmcEFDZuKEbB0Ys1CUCyJ/J/flg8aRmHvLaD2wxEY7Lqk6c4V1ZSRTFLSQQ==","signatures":[{"sig":"MEQCIBbB3SkVfaPkSvmlCG2LQd56YX3n9h2T3F3P3BjIf57CAiBpc23Yhhh/8vf33Ay1TtIaMx1uyxQcFxOqB9uaKCM5cQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25395154},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.4_1700472434275_0.4874727468156963","host":"s3://npm-registry-packages"}},"24.8.5":{"name":"@preply/video","version":"24.8.5","author":"","license":"ISC","_id":"@preply/video@24.8.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1b864c8d7e3fcbef99fe69288724e1d6a2a16b07","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.5.tgz","fileCount":1074,"integrity":"sha512-Lv0OqwYbtNYO74AAYsW47uJTTBwYYVcI0aNEwnZg78LwvM3gFXwEHJA4R7xg49cSoXkCKL58yAwIJKdB3VLbGw==","signatures":[{"sig":"MEYCIQCJ59p7vT1/krTS24ab2J81B4C+6xgeVG48AiUqG4AktwIhANYf+Qqnm/hz4/FTCmICYhhNMoxZ6Af7FHM5lLx+Zr1C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25432885},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.5_1700568384976_0.48862632835327524","host":"s3://npm-registry-packages"}},"0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd":{"name":"@preply/video","version":"0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8484b510c09acd813dba7f9891e76ef6fafd8922","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd.tgz","fileCount":1078,"integrity":"sha512-J8Yxlr4ULO2Rq5BJjuNi/DlXj837DL06jPFufC/uuZ6PelMR83ixtCQET+/onXxqP0wNg/H9QuC2m2/nmC5V6w==","signatures":[{"sig":"MEYCIQCYb6JrccguQUYV1Siok62Cp52Fi8Lwl4f9pH3wdY1/jwIhAKRl3t8Im+LDi/Pd+/cIO0h0PNInI9SgmSik1Wwgyms5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25499082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd_1701087010236_0.7665151408573248","host":"s3://npm-registry-packages"}},"0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25":{"name":"@preply/video","version":"0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c99e14d047b62ffb41a37c2f0ad44e677a537b8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25.tgz","fileCount":1098,"integrity":"sha512-CTasDKgIsbrgmLYMqnesCTX6rGi1Lpcwo+NbKqEl92BNLbCYnabcrLO7C5CFD84oweFjI901ENkFTQFtmzavtg==","signatures":[{"sig":"MEUCIQDkRlrO1iBHF5rCtkzWqU/O3w1158ToHjCZuW6mkZNEIwIgdMQLIk4Ja8UEeqLwj/17xwjoNMC1itD23vF3hfNd73I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657461},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25_1701104227109_0.9103098703866717","host":"s3://npm-registry-packages"}},"0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66":{"name":"@preply/video","version":"0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5cd1a8ebdea27e0222ac53068e8d2ac4541d1675","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66.tgz","fileCount":1074,"integrity":"sha512-ZX5AXEbgqGURViTD7rSWMtEimARv8GA8Rn3ABZjE/KsJLATQahUUMBEZ4KTnfikkovPva8E80TNCr68iE3ry5g==","signatures":[{"sig":"MEUCIQDEXEoeuTzaziGsyd/ndkmj6zH0wz57Qk8krzEz07FlAgIgCopiBSyzQiRJO1LxAGkhrIY8bK6svnEmRejungghA58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25436941},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66_1701164687539_0.1472701897082589","host":"s3://npm-registry-packages"}},"0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464":{"name":"@preply/video","version":"0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1bb9950d7adf01dc6359b410b9d45f28ab498799","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464.tgz","fileCount":1098,"integrity":"sha512-CkPS1j8cycjVTzOjaMrm69blG6T0X01hXi2zI/hMipI4M6Bl5VSBEEP6dkX8lCVk/lnyV94gwEXZhuALTiC/Og==","signatures":[{"sig":"MEUCIQCOnXMBixBNNCg042OcGHSh2lzZGvH9CIqUH0ux3uYUhwIgW87e7/ifOResqcHOdVMHoluC+hKfm9x3bAIR0/Ycj68=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657461},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464_1701165806777_0.41780309210318967","host":"s3://npm-registry-packages"}},"24.8.6":{"name":"@preply/video","version":"24.8.6","author":"","license":"ISC","_id":"@preply/video@24.8.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"13d5afc27e6ae2a12089181f5849e79c822e9482","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.6.tgz","fileCount":1098,"integrity":"sha512-tkfeTMlKldJv+ybmEbo+wTl0N0GQmTV1m5xrYvgFX/kbFkmK8LaIcqNWh5Nrb1qN+yqAceLQQuyn44tR1z18Vg==","signatures":[{"sig":"MEYCIQDch/U0FWELRf4kPB26fquhqPnHPEkH7aO0yWM+OZkmbgIhAMwTvDUW1mYFdAwOXnhAbrOfg1p2iYQXL7g5vJ+WboyF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25655694},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.6_1701172168280_0.24611896784197063","host":"s3://npm-registry-packages"}},"0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce":{"name":"@preply/video","version":"0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"518ecbc304fe831028b22cacaac64a1bf86c2cfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce.tgz","fileCount":1098,"integrity":"sha512-rtI/FqawM5fBL+NlcjMwXaNggPVSNxzOU8Yu3JTe/ZIYJFSVLeXj2WFo6MYNYo9zeo1vHWASgUREEh8mtCA12Q==","signatures":[{"sig":"MEQCIBAEOttWfnNKIB7SoV+A0T42Veay/fiNnBQL/A+0cdxdAiBF430njxbxlrNnsxYAx0R6VSvjwEdrBkepvvU/glqAQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25657915},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce_1701178904958_0.22116035169148485","host":"s3://npm-registry-packages"}},"24.8.7":{"name":"@preply/video","version":"24.8.7","author":"","license":"ISC","_id":"@preply/video@24.8.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"14ee15df6e0a0662b2dea002329611e0b0abcb13","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.7.tgz","fileCount":1102,"integrity":"sha512-O9gVoeXS/NzMCRN4IzLhkhH3tuYIYLcYunD/UwfcQq3n+qB2O+zCFeYw/t4sz+jaNl6NR53bsuTJwXPZ4ns8jA==","signatures":[{"sig":"MEUCIQCygEX5HFDWLMKTrZKIn9bvBEzfJ6npBzkteSjufGnSXwIga+wS6X2g6HyJf5KBaUjWejAy2aNWVFoA1e9XuQu+oVA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25715540},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.7_1701179433442_0.06839513984663026","host":"s3://npm-registry-packages"}},"0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387":{"name":"@preply/video","version":"0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fec7c706e876c40cafa386db53e443348c300ea7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387.tgz","fileCount":1092,"integrity":"sha512-vTjnEcd0wf3mzxbwH4V7mJgvOFtbxFFjzf7TM51YVJqUikDJ1ZrRD9Rlb36lsJmt7ko6ygMn4kFmldUIH/vLJA==","signatures":[{"sig":"MEUCIFi2276x4LGxen2fOpu4RfpcNA6af5GB3E/qa6PevbOWAiEAoFnnThwOpwSHniGsge13Qp4YBtRlihzqqH7a9ld3Qs4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25596350},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387_1701184294961_0.15065449623090665","host":"s3://npm-registry-packages"}},"0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a":{"name":"@preply/video","version":"0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3129df111304a981b3e2b9e518bb9442088819b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a.tgz","fileCount":1094,"integrity":"sha512-4WF99mXAEfSyU4t61eqjLRiwUkRJpTtPHZowFhqy+gWqwujdqsLi4Fw5fDARNkn8N75+pFqLwHjfJQCZn2EEzQ==","signatures":[{"sig":"MEUCIBJ4PzMKFJ2ykXXLFON4/0joYsTA3Eu7HwEQiBehUfuQAiEA3bTWknMbndLP8PyEkaTx8NKkl0Zb+A7/D1Gwf/X2yVs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25679771},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a_1701186203032_0.5156946960558428","host":"s3://npm-registry-packages"}},"24.8.8":{"name":"@preply/video","version":"24.8.8","author":"","license":"ISC","_id":"@preply/video@24.8.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f08fdf3ffa0ba9c4037404f5507d44172d86d0b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.8.tgz","fileCount":1096,"integrity":"sha512-VkQN6WG9rqOQb7uzhdRgv/WhZd35FL8JdK5UBzEw+o0+OsZDG4H/QyWr7bixbH/iulG+Q81gc6IHdA9teJM93w==","signatures":[{"sig":"MEYCIQDz8Tkqoz0UCKYEo40vW3P0x+sttd6vmWFO3bJSIYil4gIhAP5b4mcnXJg5epVRqwgxcCwBGp8b5SFUuX4sQIeXiWyY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25653975},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.8_1701188999125_0.6694011817327266","host":"s3://npm-registry-packages"}},"0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168":{"name":"@preply/video","version":"0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"194adab9e4d86a9f1218c8e541eb2a3c7f02018f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168.tgz","fileCount":1098,"integrity":"sha512-gUDAoGsnL/wedMaEzdL8wKan2xD9RkjTmo2sulDI3I5f7HMIsCixNw9r4uCcyNXfygU3JFIClnaTi586N+pIvg==","signatures":[{"sig":"MEQCICnVuqoMkrpoeo6dm3EQnozFTBCu0zDh2+hhLwMNdVwwAiBTTUAnd2Le5u7RlYY2eTvi+4FrGwFE39+/JO96sJhuzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25738349},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168_1701254249306_0.3009724124546018","host":"s3://npm-registry-packages"}},"24.8.10":{"name":"@preply/video","version":"24.8.10","author":"","license":"ISC","_id":"@preply/video@24.8.10","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71de14d8ed77d89a308305d701344917d5b0af8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.10.tgz","fileCount":1098,"integrity":"sha512-gQDNT2RbACPQ8RyQJWtxHfUDIj8H96nK//wMtsdL41H1LHXxAg07N0vDl0G5KEInoxmG0ruN3Y5dqGTlhDJbgA==","signatures":[{"sig":"MEUCIAJvbRaJTFoJHlYqTf5znNL4SPkJBjEiKqvO92NHZ4MVAiEAjv56Jx+WWCk9iaEhsFkuYus6u/tUaXKVumhAnTiTalA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25737750},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.10_1701265736275_0.46906237003219164","host":"s3://npm-registry-packages"}},"0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b":{"name":"@preply/video","version":"0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5087a9fac86427f3e4908b95589d3b6c41ac5102","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b.tgz","fileCount":1098,"integrity":"sha512-l1yPp95sZoMPTVZYdTp5zCe+E1Mj8Aa/e50BDlACWryBUGDIeWrgJp27/HXEjuZB9L3BRMBSsLuq7xIjgGQgaw==","signatures":[{"sig":"MEUCIQDm0eHGv9VZrKClpk7MhS9aFyBeWSybHeIhUe5OmyI5PAIgevneW6opCX63XtM9pBCEaa3qXxcxd0Hpza/ez3qRnZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25744066},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b_1701345433709_0.03259955598664743","host":"s3://npm-registry-packages"}},"0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887":{"name":"@preply/video","version":"0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d34e9aa1d2879c354bc70474c064025d01e7f4f9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887.tgz","fileCount":1098,"integrity":"sha512-BY3XiZIJsIXqxgErHeDkOtfJFH/jArDbpm55ZIpZIBlrg5efffb8DAERGurSkfZKlogHazsBb2+r10I7Sqbjag==","signatures":[{"sig":"MEUCIQCeyzlNQ0E0Dsz1etR58bKv6UZHTqf1Y2gAz/qHCpIbjwIgf3HeVLT0b3G/e5uFbTfU1hOE78uWMx1rZosC+KawHi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25743068},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887_1701354207611_0.5764035649687083","host":"s3://npm-registry-packages"}},"0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c":{"name":"@preply/video","version":"0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ca9e57fbd133dba8d2d69def8168059b670f2819","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c.tgz","fileCount":1098,"integrity":"sha512-kAkpyj5JXGBDpN7yoWv7nciRtM5SmpTZwNVS1EwqtTpGkpufZJQvKSGNA171nD02FsK4XQCLjXXZTMn39NRm9Q==","signatures":[{"sig":"MEMCIE8JTQsEZdyPgWQIqIb9fJdjqPhSU4r+/Ap4htcOsmnQAh9Cp2a0qlkIhXrDJlxalGsJ9We7D9bQi+yeycyoQXbO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25743034},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.80.3","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.80.3","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.80.3","styled-components":"^4.1.3","@preply/ds-web-lib":"0.80.3","@preply/ds-web-core":"0.80.3","@preply/ds-web-root":"0.80.3"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c_1701355532196_0.4236092254460251","host":"s3://npm-registry-packages"}},"0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e":{"name":"@preply/video","version":"0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82895afa2735c2b061151a871444b5673da2f95d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e.tgz","fileCount":1098,"integrity":"sha512-rnXvLLtaaWODhxuvqVNXrjAV3H+8u9Z7oh593EZsArgYAH54dtpDwFBCAvL8gjN4hSzosEZVUggE404rtm/LEQ==","signatures":[{"sig":"MEQCIGHyGIO0QHrZcm3ZMQKSHwWgSDXhdneUpa5Bfbbp1nIdAiAUSvDF0Cbekugp+iu4nn6AOvRWRXjBofyFyG6Fhaa0Lw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25743034},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e_1701358903565_0.13275602812280374","host":"s3://npm-registry-packages"}},"0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58":{"name":"@preply/video","version":"0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7ce7f0e77b2f93f5032afdee69602ab240fafdd7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58.tgz","fileCount":1098,"integrity":"sha512-4ZbqMVNZafFgjkCghITbZw0deIBB+q5gF7oxvvgYugUfKiiKmVgiDnBjJJ/U1JZ/vmqpNSpTnneRS4rh3pL4gw==","signatures":[{"sig":"MEUCIQCwGGwg+fU9sK6H60dJcn/QY9JaRDFHOdGUfxH8Ej+NzgIgBUgZF8g/ggbF12j4vCyvFhXCvTN0cRCDbAKqoogtQQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25743034},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58_1701364779433_0.2372297034441655","host":"s3://npm-registry-packages"}},"0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e":{"name":"@preply/video","version":"0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ac70a0c5fa69f4902ccd6e899250506915309c4e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e.tgz","fileCount":1098,"integrity":"sha512-7UlchzSph7NkVb0HJcvZ1TI8Jnx3ZroVf82ZxzH3I2LyM1l1XaALQOwusdY1GyAPEtvTylhpKWRhFrMUQwui6A==","signatures":[{"sig":"MEUCIQCBn5CL5klZJMkvuHwZonQbCnamD5ObMF9eiR/9zHk6vwIgPVRb0r73w4wr539C53AiLOSJLKrqueaATxzW7+8/Rok=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25744287},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e_1701426050766_0.0985143256009684","host":"s3://npm-registry-packages"}},"24.8.11":{"name":"@preply/video","version":"24.8.11","author":"","license":"ISC","_id":"@preply/video@24.8.11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"956ef8aa4ba647a128ada1e50386847f41b9dc69","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.11.tgz","fileCount":1098,"integrity":"sha512-N4VbvTYibXH8tX3RvQ1ipEYx1tn4PhxAMUzghvdC2bCdTm/8un6IIxZhBoDrKVSAsLlUuRWKoD+qvwyLfaaeMw==","signatures":[{"sig":"MEUCIGB6BoP1vS7nMSu/NSILlpuGhvoNeQjyF892Qwevm/aMAiEAw0WgtwK4ZOfuKLgacFxaQX8ec3dqYr57zNT7iCAutTM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25736131},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.11_1701427605195_0.7139112231980018","host":"s3://npm-registry-packages"}},"0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951":{"name":"@preply/video","version":"0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdf83f16b956b60fb142a7c1223c140e6dedda15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951.tgz","fileCount":1098,"integrity":"sha512-klk/M5yp5KN0OWURRWz53fyrbcmP6TraixuQoBXBxkAdoj5jr9KgHJHaWUvwERRnNJOMMu2kp2eJ2vqIbOdVyw==","signatures":[{"sig":"MEUCIQC68zyqHxZcfLrONVvXgzutu4wQiPklKdPtRyCFD+FvEwIgN317rSyNQ4pboq6ePSvbGOebzDNi9WpE+aqnJUU9GZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25744287},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951_1701428155741_0.04171539675273461","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac":{"name":"@preply/video","version":"0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8bba8a3ccc5030730ea387bdfc249aff38a0e407","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac.tgz","fileCount":1098,"integrity":"sha512-mzzMXBIylmAyiFlwDtKg6yjkg8MW8kiUprObHLrTVzPehUYjVkHFku00u91wwmw8nXSTShObEF/dkY9PLsmQBg==","signatures":[{"sig":"MEQCIGz3oNGwLO6//FDLqXDCtjNaNmo/+alJhJSzk9GjMVnhAiBwOWMLpDXEJPnYkuFbe93SplaEFYRz5Hn9vrLq9JaHmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25738742},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac_1701429323646_0.9614897297988565","host":"s3://npm-registry-packages"}},"0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261":{"name":"@preply/video","version":"0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c0cc3d0569d6ecb04338f85fa25c9d02836cec82","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261.tgz","fileCount":1098,"integrity":"sha512-DGF0Buda0pQstsbA061/QQnzxq7wJqag9FPfkzktXW9QA0jE5iH9RiffHWvx0F2fGs77hbMLvnOsa2NVrJW+gg==","signatures":[{"sig":"MEQCIAEfupDtc79CQUpcoR71RuHLN+PvR0iNbl2pkciC7Dt3AiBKu7/7VtU2jIiTz0mY2jE8hV50YMde03HJ7q+Vkq/WFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25744287},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261_1701431112197_0.8913757850156323","host":"s3://npm-registry-packages"}},"24.8.12":{"name":"@preply/video","version":"24.8.12","author":"","license":"ISC","_id":"@preply/video@24.8.12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0b8e8a4042b720fc1cb28400fb73d1ffe1b96c5a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.12.tgz","fileCount":1098,"integrity":"sha512-66QbJ7ooCcscoSUnyZFu3cRgaXStebtkQc3bH5+miXPFOpPatQOO3lSpCNlP5PhZviVbFU0PFNvIGblgOn2j0w==","signatures":[{"sig":"MEUCIDEs4AB0bWjtoSAwKE4Tkhrbs2hNsvoAlL5sUtuMJHBzAiEAtCN9pJ9oPgOgVYdVqiP72okeAoRDc6VBsNHBi6FhmKM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25736590},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.12_1701431801369_0.3286771848909231","host":"s3://npm-registry-packages"}},"0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0":{"name":"@preply/video","version":"0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c826b0f253811de913cbd8b8e258450ace7983b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0.tgz","fileCount":1100,"integrity":"sha512-vVFux+T4616feYTN6GK7BUSHE42+ucfa5pVLphN6OKPiMNzDi88apLBp/sdgLyeDIFdA5u8mYdyXfLADuucnBg==","signatures":[{"sig":"MEQCIEf/ezVTYO+8v84KPcu7SBf7prQkmfl6HbkTTdReL9h9AiBjX9OY5OgEA98GAY1HcTKif4HQfyYumEcmvVIOl1gKyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25789625},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0_1701444120020_0.3084944795541946","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13":{"name":"@preply/video","version":"0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"709c472b846cff0362c75e35f3722b18160bc091","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13.tgz","fileCount":1100,"integrity":"sha512-ZZeJWy8cd+gMtGHUMo/l0jVQS5MQtwAs8ZWqw54qgX7H8vDUaITsRNUMmOr2BSSk/9SIQ4UI1+kCDwO5SD7w3Q==","signatures":[{"sig":"MEUCIBLMDAJ538VOJpGDIs7ElbmjJ/1fEh0bbgE5vXBuLKipAiEA6HP87VjTknFn2tyIbzHWlmBqrwhF3QqbtkvCYACkqYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25791597},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13_1701451243838_0.6933902511956582","host":"s3://npm-registry-packages"}},"0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a":{"name":"@preply/video","version":"0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8969a90b81c832dd5e786e2f021cd3f26da33f56","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a.tgz","fileCount":1100,"integrity":"sha512-/bgWav1vQbkhdDi+ieksWUh7nc8+2XkBfmpBPeqKCI0x0nWEnOws5wXGnDAcYi6Vvyn4R3o5JxJY6eakJf9yZg==","signatures":[{"sig":"MEQCIElokeoZ0JifUW4qoG3GtQ3D1KDBRsxdXPm4UgYSa3iGAiAwuvGLDIqJGokJ5UCd9EYkU1EsCO/F0ODeYiZ1ETf/XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25789625},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a_1701455562109_0.3709212940018143","host":"s3://npm-registry-packages"}},"24.8.13":{"name":"@preply/video","version":"24.8.13","author":"","license":"ISC","_id":"@preply/video@24.8.13","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f88c371317986e0a573a950011b25b7fec29303d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.13.tgz","fileCount":1100,"integrity":"sha512-C/0AabDZm8gA/DdeJQTW1Z7hx/uviieS5KT9heZMCNq7IP5wAb6Wk3BNSBzrUyBujXKS3aMJrv6IPwu5DQ5zIA==","signatures":[{"sig":"MEQCIFviRHl3SwEPWlHThCm19Fitsla+GEFBppXLu0tVffgTAiA50JAUQz6a7WjWgOOEaREZnwF0NuV5emfp8yM0Glisow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25787473},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.13_1701682630076_0.24625141440434306","host":"s3://npm-registry-packages"}},"0.0.0-beta-2650166b12b75665031aebb9558f46150344275a":{"name":"@preply/video","version":"0.0.0-beta-2650166b12b75665031aebb9558f46150344275a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2650166b12b75665031aebb9558f46150344275a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9bbc778a8b026416cb3e73d6d6553197e814eb6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2650166b12b75665031aebb9558f46150344275a.tgz","fileCount":1100,"integrity":"sha512-msuNAZE3RzrGgcHKHZ9T/WS3cU1P0wtDVrFBBF3ud9Vtya4nUc3WHuhKjeJr3aBF1XjUcE9SyX+UAHZzMHcSLQ==","signatures":[{"sig":"MEUCIQD4s6WS00EGjF4ILP7kuEkj7xQxZW4fbQWCS33CQJWl0QIgC4uwOfxesifO6WOvx6tUAogyJFCz1lst1ZogPgKmDO0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25783372},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2650166b12b75665031aebb9558f46150344275a_1701698368953_0.26470984189282665","host":"s3://npm-registry-packages"}},"0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f":{"name":"@preply/video","version":"0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"205a35f867b6edb0c3629a47e6b4049f12d61cae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f.tgz","fileCount":1100,"integrity":"sha512-mVuShBqGMTZxyqxC533Frr2zlipUguKmDUvbMHxwwvdYRjNsx25FendbtgrsXmR/Qa9coz9X9OXpcbCtOBUdIg==","signatures":[{"sig":"MEUCICN/VrVxXRLpw+QJgEKIfC7Sdi3OEuXJij3cHDaVH7kRAiEAgZrKp/7Q9qRp3jnci8MJmwns/4DWyAonakEJo7DNNNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25783372},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f_1701705937956_0.6005456259303683","host":"s3://npm-registry-packages"}},"24.8.14":{"name":"@preply/video","version":"24.8.14","author":"","license":"ISC","_id":"@preply/video@24.8.14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cab52b17128b6e7bc8c94290ae5d5208e812b1b2","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.14.tgz","fileCount":1100,"integrity":"sha512-lJBaiX6ZJeUU82Ab5gY/sywaMbZyrZpc1vAeR02sfSeeV3z39B/1ERhwU379DekGv9N0Udsqy1BT2y9BIhvPCw==","signatures":[{"sig":"MEUCIFZoniRDPopjzBTK+SJ/7a4146mGhP5NbbhLIhaGUy3uAiEAiov25WQvMlZFhkcov3POf9Uz+TMa1D4okK3pi1jfqSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25781366},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.14_1701750385493_0.9103568093717835","host":"s3://npm-registry-packages"}},"0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4":{"name":"@preply/video","version":"0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"20077e2f4aa67ff5f9d4e345ce01e595b58d65aa","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4.tgz","fileCount":1100,"integrity":"sha512-TONMU9Fxcci+huXk+T1akd5LssONktkPSgX4tsgHQ8wuywXHK2z1geCzJ4casGX4icDtIYYCyKjtwtrwcce5Ew==","signatures":[{"sig":"MEQCIAwvnA5U0r3F7C2X2gOzWbPcDHErC5xn8pAUZnan6NhqAiB9xxENjre0jwh2zpGAPK6OESMqi/GXTpznHgIrH1ydSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25783840},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4_1701793371311_0.791918514473726","host":"s3://npm-registry-packages"}},"24.8.15":{"name":"@preply/video","version":"24.8.15","author":"","license":"ISC","_id":"@preply/video@24.8.15","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"56f3d8458823bb7eac947282c2081a607049804b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.15.tgz","fileCount":1100,"integrity":"sha512-E/dg5KUi4xAvHaKoqDaLM0NYq0gQ54OH6uYX0bMzQ1jZtQWvSveYv3hnvCrKOWom0GZ7bXmVNbnBJVvZvaXisQ==","signatures":[{"sig":"MEUCIBSjy4btmOnWUNupb7HWS0lNm+G/OzkNa/jM1EfbO8DGAiEA7w9STg8qDP7KzGQfbX6+N4lgRPJgBbfo3S7iKWUlhks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25781688},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.15_1701796677727_0.7938720882158707","host":"s3://npm-registry-packages"}},"0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e":{"name":"@preply/video","version":"0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d630d3bb5560155895492c5fabd81dbbac528e8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e.tgz","fileCount":1100,"integrity":"sha512-jmoi/gYJXQYMlRz7vwjzmkYITBTs8Ply/x5fTvHqp6mCnbbOUyCuV86zCk+Qw/iilfdTLNmnXhkyp9HUj7j0jQ==","signatures":[{"sig":"MEUCIA7rBQqNwqMETfibvWrgyfPkmcgqSb+4n2Aug9vbv09xAiEAqW8X34uL+fztQbHJg8vgboufiVGJMHqX/DU58j5AhnA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25791337},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e_1701805272048_0.4264052838252481","host":"s3://npm-registry-packages"}},"24.8.16":{"name":"@preply/video","version":"24.8.16","author":"","license":"ISC","_id":"@preply/video@24.8.16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"490fd324e7e0762e3701fc1a1cf65b3b6f66858c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.16.tgz","fileCount":1100,"integrity":"sha512-wIfkYZXLJcGjYiFLM3+oprw8QsOoIS7mR+uda0Kwqef3lfT5G//cHXMYmcUuLNT0FhsrnIlHmUI8REAyCKgx6Q==","signatures":[{"sig":"MEQCICJ1DOjyHmqpb+IoNbdBN3SZGm1cKULAIGUZ4aYXDMEmAiA7YB7nAQoW7iWVSHgsvFhx+D75+P/DsnmO/e+B/KmzBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25781739},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.16_1701836565472_0.5247817652949369","host":"s3://npm-registry-packages"}},"0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e":{"name":"@preply/video","version":"0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"454be76443dafe689df97a57781ae60713ac4490","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e.tgz","fileCount":1100,"integrity":"sha512-2EZdmRAU8laz/3vqzccC8lUiDltkqwchP15ZD+xylYwn0VLaPCP6O1dPfeZWAzOkgDOV47k8kAEN3/7g4OQfYQ==","signatures":[{"sig":"MEUCIFjoF2JC5U06DzKcJZj2Gn7atLjbs/elotweHUPQUQv+AiEAm/Dk2hXjOgK39R/Y/zwYIoUoq+nt03xkgyeyvS9LUDo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25784209},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e_1701882396629_0.9495719754988332","host":"s3://npm-registry-packages"}},"0.0.0-beta-0367715e80658da79db36359246b426872b47ebf":{"name":"@preply/video","version":"0.0.0-beta-0367715e80658da79db36359246b426872b47ebf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0367715e80658da79db36359246b426872b47ebf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a36e59ae540608b3a85298a76b024aef1e632b33","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0367715e80658da79db36359246b426872b47ebf.tgz","fileCount":1100,"integrity":"sha512-l5+70UcJ67gCPQaGzkZSa5ykm/CotKjy94frQT4X6YtffwTNOIdzopSJsPBUZGiO9YnswafUlMPJIL+/Z+vLaQ==","signatures":[{"sig":"MEYCIQCl6LMfleD/3nHN7gKZNioSFl2Ja+9T3YC+UujqgKc6MQIhAM8T7D06Y85GzyECwghLFs6oxe5on/tiUwWjPrbiqIGN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25786249},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0367715e80658da79db36359246b426872b47ebf_1701965630458_0.7285753304922777","host":"s3://npm-registry-packages"}},"24.8.17":{"name":"@preply/video","version":"24.8.17","author":"","license":"ISC","_id":"@preply/video@24.8.17","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7dfe22e18ec427b66c0030f53df7473efadc5d3c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.17.tgz","fileCount":1100,"integrity":"sha512-T6Wm9JkwbshaxUF5K+/tkJHml4WemjufhjybTPJkoKbSG0JAM1ZA0cnaCxcTwa5bcYwRmBYM5Wn+Ar2DHvP5zA==","signatures":[{"sig":"MEUCICriH/y5y0VFpIpQi4+NZr5bsUKG1OMF4zpZcyRCI02KAiEAi/S0oVHAo1LG2ulPsbxztrMSDoD+RBXy5KW+EQ3hQvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25780803},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.17_1702023687304_0.9327843801566644","host":"s3://npm-registry-packages"}},"24.8.18":{"name":"@preply/video","version":"24.8.18","author":"","license":"ISC","_id":"@preply/video@24.8.18","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0a6ef931b5407da0304fb609be6091c289c3a8ca","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.18.tgz","fileCount":1100,"integrity":"sha512-QXRLArhxA4LnPvN6qZSudHzdBpcZPdvlnsNDPHRVLcHo6188ys+q0P27S0/AMnLCX11IWu9T3ztGihRVwAS2OA==","signatures":[{"sig":"MEUCIQDOi1XYoksRM5BJzqKaQwcA7aWD9i3LcsroQHT0SitFcQIgLhdHRfpzOqgKHSkFW+PY3O0lQDkPRR3gWc2l6gYCQZs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25781121},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.18_1702051541254_0.5814675370799576","host":"s3://npm-registry-packages"}},"24.8.19":{"name":"@preply/video","version":"24.8.19","author":"","license":"ISC","_id":"@preply/video@24.8.19","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3d1b6ebb4d4e481adf7a4a5890758b752dfb6f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.19.tgz","fileCount":1100,"integrity":"sha512-SoZLwAdavSZK4s9DqjnKhuD+bpVGh051mzoFr3ML38i9KFvNn5yFkoIHLPapbpVQw245TSxORzDTvI0xu6QbaA==","signatures":[{"sig":"MEYCIQCZBDD3gX0LlFdXfvVbNrtMpW+R/8M3dm+lrBisQ0VcjgIhANS+iKWkctM4/kLn3E4q3clJvXoUxf8vbbpt2jr8aMjM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25786117},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.19_1702467703942_0.5620141687302214","host":"s3://npm-registry-packages"}},"0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9":{"name":"@preply/video","version":"0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"828620fcfec63ae864e0b5d9035842e0f8a5d13b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9.tgz","fileCount":1100,"integrity":"sha512-2lXEiNl91b4QpSsZRfKe2OqYK7axY2VFJ49+ecLYarqiisF2nIySy4QSHf1YWt2tgIYY0G/U+rqYNCBGxF21kw==","signatures":[{"sig":"MEYCIQCNo3No4mIDpBuj7JKdU9qHORpzrzFNUlcnEjt6VPeP2QIhAOLuxJ09KO3xvuirlMbOOFQrnp+gHnQfFkwnYAi+FDCw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25787467},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9_1702477598732_0.21711323955580641","host":"s3://npm-registry-packages"}},"0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800":{"name":"@preply/video","version":"0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dcd07bd5bb0aded9da7158fabed16ed72c397acb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800.tgz","fileCount":1100,"integrity":"sha512-w0ccIlEb5jhrZaKQ5HSRlsLPAKMS9CnBrm6eoL/0L/McRGokeQOkATWpCe8clZD6tZtzd8B9GiJWSVIYELWzxw==","signatures":[{"sig":"MEQCIBqS/F9aEaQ9VS6U6SG3A/DQGvb4XvMahSP4XUy8CEQ4AiAQBQVjlFSbhX32I7p850if/zu/bRd6S5Vo2aZsdrvl3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25787467},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800_1702479929022_0.9191227417212746","host":"s3://npm-registry-packages"}},"24.8.20":{"name":"@preply/video","version":"24.8.20","author":"","license":"ISC","_id":"@preply/video@24.8.20","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8a91763b980461024e107a28a1fae84623d4723d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.20.tgz","fileCount":1100,"integrity":"sha512-O+qzb98GHf+SiOV87wN9R5Kn+useNy8/3i2TsPHUCtOjwqMvc7klJ1tNAyI4eTm/6fjwvWMSLexI/4JqwQKaJQ==","signatures":[{"sig":"MEYCIQC9UvsR/8w/GJQ/o2JfUf3YfLQ6RL5B+7r5jGNU5O/VMQIhAN6OECBiBTqhHdyY9fZywpF51FEa891lRB5pAB1peteM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25785796},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.20_1702543540636_0.6611161460051593","host":"s3://npm-registry-packages"}},"0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081":{"name":"@preply/video","version":"0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3ac138d2a2a985db8a0b6efd377162fffa2b2fb5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081.tgz","fileCount":1106,"integrity":"sha512-59HmYzich3u2fLxbgeNKLPdj7uF+0ktO247bjmG9Ee6+G1fUmy2yasQt5H8ETnHeQfhl1e9KZDW5xnnd+ANoUA==","signatures":[{"sig":"MEYCIQCm59cZ7Drv8VVpEUusrlP0om4Po9o9UjTQiEL8gPC2PQIhANp9F7DC1aes0OJE+rrwZ84tv+1MFtqAYr6puhK9tFH1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25864756},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081_1702553676534_0.9555970966888698","host":"s3://npm-registry-packages"}},"0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36":{"name":"@preply/video","version":"0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ab3317c305ac2b2cb8570e42355539ad6a7443cc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36.tgz","fileCount":1106,"integrity":"sha512-keuah4IVIM5Ida95UfThFSx8L03hzpMCnfkwd3U7FC8kHKJ0SdWHXMyIFPYnFh4lTyK5MXPSu04ILWfadS104w==","signatures":[{"sig":"MEYCIQCjUX7ZRTLYhG4++73vPCFsc/nPZ7Of1ROXX0750hmClAIhAL3UCGV3hcfHSEiv15RFlRDmbtcY4uZLS2Do4Mu5Le9k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25866082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36_1702555870190_0.36313515982506983","host":"s3://npm-registry-packages"}},"0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b":{"name":"@preply/video","version":"0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5c024ad46ca3d2e9231a3877488bdf34a20b6d9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b.tgz","fileCount":1106,"integrity":"sha512-xMwLOlT8gQIC624y0oMLZtlu/+mRuBYQI63pUdRiaa4qIY2O9N1QFaUOslhLcMu6IuwbjtnzGMtAvcHtwJ1Y5Q==","signatures":[{"sig":"MEQCIAPIBj3eikZhZYWTuc1zIEBtL/PEc5VwmZeeWBbFa/RkAiB7Hf2oL+qZuxrhm06fn227WS9YiFL08pnzEaer90ZNTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25867272},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b_1702559375089_0.9313372529343609","host":"s3://npm-registry-packages"}},"0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada":{"name":"@preply/video","version":"0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b995a9719132e3c99601589a54a28b58e4e968a2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada.tgz","fileCount":1106,"integrity":"sha512-uJiv5oVFLMU5Y9uN3bW4cAHNdq0qMEgUeV6Yro+qBQ1NpB9XhqcHfnPbwbvb95rwM1Q4p6J5l0AKTIOvRr8vDw==","signatures":[{"sig":"MEUCIBKWMEXKGzUMcJAh43FOrKuRd7zo2M4VYUtrsfv4lXS+AiEAspyhIiQsqfgHx46oT7n/gTzRdkPZu19umDNvlCPSgDc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25867340},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada_1702561741097_0.28663574520865076","host":"s3://npm-registry-packages"}},"0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84":{"name":"@preply/video","version":"0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fc59763b988bfef0df784894c7eace14e851fd80","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84.tgz","fileCount":1106,"integrity":"sha512-sijXWk0xMpxAn9ktgtmSTEiTWLWvItSFesAdzkPtf5fiR792sk91352J6LR3n1H4WiORS/2bttDZ4lPuc/fMsg==","signatures":[{"sig":"MEUCIQDLs6HrW2ZbmA4Ql5mcVpITYjq1t9bMeeTbaHwwra6uhQIgfAlIvLjuY+G4KTVXOqu5oTp0DwGgC8Fg/7JfH2Y5xks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25862665},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84_1702567019855_0.6896191972334829","host":"s3://npm-registry-packages"}},"24.8.21":{"name":"@preply/video","version":"24.8.21","author":"","license":"ISC","_id":"@preply/video@24.8.21","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dd6fc76e0e98ee0f81fb0753afcf73c2e562bc12","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.21.tgz","fileCount":1106,"integrity":"sha512-fRLJrNVykmi7wFxE7zAVLl2H7RPAtBIXuVNwpWT1eIEP9w2ae2OqVI0fc7VMSbMumyji/joD54Vc5YV7rCZ4gg==","signatures":[{"sig":"MEUCIFTrUAOgYGyEraA0eGujqe/mwfG836qRb7mFWVWS+gD3AiEA1mRnOnglqITZRqqvFZ9eXSeBo27+Gp5E5g5A97ihWtk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25863114},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.21_1702614401079_0.13349511470222986","host":"s3://npm-registry-packages"}},"0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f":{"name":"@preply/video","version":"0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"14590607e89a0f1226a7cd559659882adcfd3331","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f.tgz","fileCount":1106,"integrity":"sha512-YhyMq23sI5o4KwW7H2xq6v3lBQg0BjCMtCijw6waOcQIg0nsZ30T3t7n+DR0XBG0QYBXfdH7bUYlapILky11Rw==","signatures":[{"sig":"MEUCIQDONoMfUFNdmBYqqK50Ol1cJfsnGBds51qHL7yuHWVwoQIgaGR5nS4XB2SAF7YzYYx3qnWu/UszUmfcTlqgSD9w6oE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25869012},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f_1702650767079_0.16328411131769505","host":"s3://npm-registry-packages"}},"24.8.22":{"name":"@preply/video","version":"24.8.22","author":"","license":"ISC","_id":"@preply/video@24.8.22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0837cc253005eac477101673f6707e2e0dad91a1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.22.tgz","fileCount":1106,"integrity":"sha512-34VXXSYirCAwalTgaHZrb3Wdk7f2oWn0rc7WwHcgt396wJell0on38LBPbLeGNbl6DgmZj+HCMd5FFecIHtouw==","signatures":[{"sig":"MEUCIQC+sbtBH25tf4K4BG8hiD13y+xqKVQLDOhmp40YKn/SWwIgfvHiS8a+GhbCUYTHZwsDG0MfWcUdlUjZyodrnbE96TU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25866945},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.22_1702651286772_0.10174171570931057","host":"s3://npm-registry-packages"}},"24.8.23":{"name":"@preply/video","version":"24.8.23","author":"","license":"ISC","_id":"@preply/video@24.8.23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1156ef75f9943a25367ce9652651541a563f2816","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.23.tgz","fileCount":1106,"integrity":"sha512-ecJUzZqntvP6wamDI3TGXPCqcZxd/ei8xLIgP+Wsdypgm1dfatOHsBKrW1D/g66wCoF2Mxm+dad8kqXljmOfRQ==","signatures":[{"sig":"MEYCIQCvA+Pjgz6wLthFH4BDdSRxYoVvUf19Cc0UrrtlHcpw+gIhAMWIjUfwZAgrbZraSVl1Dqsp2j1NF+S2M5j4aLH4AjS6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25868842},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.23_1702653425260_0.5502505596376583","host":"s3://npm-registry-packages"}},"24.8.24":{"name":"@preply/video","version":"24.8.24","author":"","license":"ISC","_id":"@preply/video@24.8.24","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"443b1dd0c53d0ffba9b40cfbc010c779cbab14e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.24.tgz","fileCount":1106,"integrity":"sha512-2m019b6YQ7a6CZrG2YseK7KOxv7dFAZ5P86gHhiuqzFv7giSq1xhpaujlbtK1tFbVXsSW+zlS8JPa8TjIAIFxg==","signatures":[{"sig":"MEUCIAUlx19CjTJtImfQhcb2+AjTAsDLAGRbQxVKhQw+GmBgAiEAiQm4nI2wVIAfd/3AsXyg98jEtDaqwkR8x8PKaQq1VIY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25869292},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.24_1702873576181_0.5916799748067103","host":"s3://npm-registry-packages"}},"24.8.25":{"name":"@preply/video","version":"24.8.25","author":"","license":"ISC","_id":"@preply/video@24.8.25","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9ed2fca41fdedc09546a7a14431159f4ead61723","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.25.tgz","fileCount":1106,"integrity":"sha512-QZS4f+3yGOCiIsOG1veX6hWFd8FUyaLwdYR9bIe/PWZTNFoXpqg1LV/H8DXAK0Ds5oBihEeoq7HGoZsDqdCURg==","signatures":[{"sig":"MEUCIQDHtGUm8bzRwX26pettx6tSwm3Tyi0O9qlitHNtNnTwYQIgQ+8h31YdqKLScXAoGhuCWsHXIkLcA4GP7OqBq+Lpucw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25870639},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.25_1702901646624_0.21721998424752265","host":"s3://npm-registry-packages"}},"0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0":{"name":"@preply/video","version":"0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bc875df8bdb1b2365d1684e9f7a9f0ecca514875","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0.tgz","fileCount":1106,"integrity":"sha512-BGCo4XPCoTlpx6jlbJVOtkR9gwxPQNBLaGu6hNmyBm9WKkb6IXkmUuqIjhQRoBUmno4CzSr18AWgrsqAY5I5dA==","signatures":[{"sig":"MEQCICNuq6hKCV5MYJMe+dxzYS6Q6zPjL04E/9UnqQun/c9tAiBJBUEdEubFvX3p7cSGLtOurnzXyMxEjMauake6ejewtQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25895754},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0_1702908924599_0.693114624831261","host":"s3://npm-registry-packages"}},"0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e":{"name":"@preply/video","version":"0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"44b6dc381e39b49595fb39eb58528aed1103763d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e.tgz","fileCount":1106,"integrity":"sha512-X1J5O10Lq8e3tcnH/5tTEd5MvZ9HGnQozUn/vYaLbX/zgUxTaRGn9ePRVbdOUB8ST+F+rX6OvMYVxPLeUp46tw==","signatures":[{"sig":"MEUCIQCuFWxmUgacl0Dyvy/8y4Covs2Wmp0Q8ViigExvPI2eggIgJl4X3yDZalYtkSyK3UrDMMvbEHAzTvnmkQHufVP/n3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25872791},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e_1702913851808_0.7026860357960358","host":"s3://npm-registry-packages"}},"24.8.26":{"name":"@preply/video","version":"24.8.26","author":"","license":"ISC","_id":"@preply/video@24.8.26","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7e4a67b3b10688b34cf0a41f0004ee758329f3ac","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.26.tgz","fileCount":1106,"integrity":"sha512-nOKkCES8TDSVW0l4HBgSHVedPzvrnnva6PgpOxkPjIuWwafSxhfurCWZytmDxccyMqUrYnDt8fIKcFSPGguGUg==","signatures":[{"sig":"MEYCIQCASGE1Ev5QXFU5iXa4Gm88sD3/w92GvXX5+fA5SYFMcwIhAIfNe8To5ok/eN/w5pZuV1jH/ewY0acnx+QlV5hvjlkl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25870796},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.26_1702959529369_0.4130838475537095","host":"s3://npm-registry-packages"}},"24.8.27":{"name":"@preply/video","version":"24.8.27","author":"","license":"ISC","_id":"@preply/video@24.8.27","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f21a1e5fa5246f89866d7513f27ee2069998f0b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.27.tgz","fileCount":1106,"integrity":"sha512-g7ePEJ5nBH3MTlwTIPbqpnS/ZTymBGVGYxu5vpALMAKcypXiJ1VWpxNyQ3AHtL/lGXCKosVPwnum0Tcd0NuW8g==","signatures":[{"sig":"MEYCIQCq9M5HSuT1iKR54v7RscYyCUmjaVj92iVS4Mrt+5ripAIhAI2QHQAGNqiofv20nikTGlH0NdWVsALXjjMxAoP15crJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25894473},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.27_1702976894157_0.719449176014783","host":"s3://npm-registry-packages"}},"0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76":{"name":"@preply/video","version":"0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bd035deb0d633cf810f79e941011941b9c496d00","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76.tgz","fileCount":1106,"integrity":"sha512-lP5TNZshNoirVfMNaswHExVWzNQhfEEK3U3oO2irWZdTldRvsoQnB3JH/H9hjPMlKEy9fjlruYmDxbzCkebAsw==","signatures":[{"sig":"MEYCIQCzuBSidVR556wpuipjMsnrG0vAtI6AOn6tV9dCNfgJFQIhAPTJ64LQFELSiUOQVIPQfPPL8U5xLQ39ItQIVw127Ea2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25896838},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76_1702985403619_0.6042981431200403","host":"s3://npm-registry-packages"}},"0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5":{"name":"@preply/video","version":"0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf702147ebd1f9fe4bfb6e46f241ea1bf75d848e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5.tgz","fileCount":1106,"integrity":"sha512-CFPyaC93aOJA+WYhU5+BdsW3HGg/IhtBPw5lENycVYuOW/XanlPkf8JHkG2H9WkPKkJheNLVwBppPgs5UahmUg==","signatures":[{"sig":"MEUCIQCjdSpbrwiCGAOzbbW0loQ/wA070nGzry/vJtxbKs/8xwIgEcvOnYSFU+qFfvj5Zj+5qDIUWGlNRCFkCJGtEecKYJY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25897325},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5_1703001529389_0.5689712110459129","host":"s3://npm-registry-packages"}},"24.8.28":{"name":"@preply/video","version":"24.8.28","author":"","license":"ISC","_id":"@preply/video@24.8.28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0acc931fcafbf6867ecc537e0b4f581e4a0d8f16","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.28.tgz","fileCount":1106,"integrity":"sha512-JCUl1X4Rv2PWf4EgFpm+i6myspf0hqiX5yfqQBtGWbJUyQGpPGzEiouh8s5nxRYadacE9q590Xzmsjte2MY02g==","signatures":[{"sig":"MEUCIDuy3qgQ4ZzxRx9Hj3BP5rwU/w4A1Ef8blkabaV9/kwFAiEA0lZa7MkK5Z8jttAMmvYieCglWgvbZfg6u/agB66vyf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25885161},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.28_1703002227344_0.6612412943461428","host":"s3://npm-registry-packages"}},"0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b":{"name":"@preply/video","version":"0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"334ddd0611d057eaace0475bd0716b9db56aacec","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b.tgz","fileCount":1106,"integrity":"sha512-LToT7m1Y+AAQnJyXoGmEu4v+jZDp6/JgEN6sMvzklVmL0wdrh131DuJLZci/p1zOh+TjyscWQ3ROcp7ROzkisQ==","signatures":[{"sig":"MEUCIQCxkj4/G5wumkBGOLrbguwea5GOpnFdifbfCGvJRYAJOgIgBO6rTKAGTjqMx69ptJc44CqmikPB4H3YOOfbAjxK0gE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25887007},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b_1703058117213_0.1760990830465159","host":"s3://npm-registry-packages"}},"24.8.29":{"name":"@preply/video","version":"24.8.29","author":"","license":"ISC","_id":"@preply/video@24.8.29","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"55363077de5eb55f78d9d94d0b74e12f5a96b2a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.29.tgz","fileCount":1106,"integrity":"sha512-TqO4m8pYIQuC9Qq1f2381jlhzdCFI13NwTozwSx7XC9R3XTiuO66FlJYJ8uTsbSimsOw6JeQHdfI2C4GufbUsA==","signatures":[{"sig":"MEUCIQCNOqr/J5K5bbJHCKq1Sn/1ABVVa/3LPRI8p41pWEOLagIgXcgmKg2AR7fTm5C5r/YTXijz/K5133+VOxPyHonFT9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25888429},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.29_1703060365320_0.31627407914105277","host":"s3://npm-registry-packages"}},"24.8.30":{"name":"@preply/video","version":"24.8.30","author":"","license":"ISC","_id":"@preply/video@24.8.30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3291df121b5d3dc05beb7dde3f44deb78f7221fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.30.tgz","fileCount":1106,"integrity":"sha512-z6ow0r3LKeGJkV6b5XB2Hf4CqE6DpTzfuksZDtRxfA+XLMvNAd9S5MFwE6D7SfQIAw7ghYuPbGECRCa8gH30Qg==","signatures":[{"sig":"MEYCIQDuiQh1IDdlcdGcdiaDLjAVsZ+lv7igz7sPUYfUDQE65QIhANispgkw/An2LNGv+74ieISuaJBxIC7zXJKSX684k6Js","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25889872},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.30_1703066612615_0.69074158510847","host":"s3://npm-registry-packages"}},"0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690":{"name":"@preply/video","version":"0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0fe3927cef9a4953fc1ab87d5179a821e8503f22","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690.tgz","fileCount":1106,"integrity":"sha512-XuSORoKAQXM/WAqOg4d47pfa437lYi39kBrO60gUuP1BfVzuR9yIVLkwEYs0K77li7tN1aWRLnkJAjIl9A5uSQ==","signatures":[{"sig":"MEQCIFPG8mexUTnGjkjQc6cexmZja6pSXd4KR5BmMEB2RrErAiAsEj+eflEKtXPyYOJyKBWMHAYgaF9XqmqZ5rQbK4Ohag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893333},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690_1703069123981_0.6513530045634324","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba":{"name":"@preply/video","version":"0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9878d608b871825f9591515d024f8251a8a562cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba.tgz","fileCount":1106,"integrity":"sha512-ElnFhDdYlOw06I7vlXqb6O2yBFPm8tyoEaUaPoNb3Bzt7gekrkdd6bWiFJnO4zF8558NPC4Pk3X84DElNIJ71Q==","signatures":[{"sig":"MEYCIQCCn87bL9DTB/LfmB58cekIbGfjruTJ9RIKPUONbTxAZQIhAPMsDdMArQxAr9whRCyiJiA05NxDVXWUi/EMCFaftTAC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893367},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba_1703075814075_0.6420096208082948","host":"s3://npm-registry-packages"}},"24.8.31":{"name":"@preply/video","version":"24.8.31","author":"","license":"ISC","_id":"@preply/video@24.8.31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea0e161bac8cf8cb433e1e92f0ad8df33c8ab1cb","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.31.tgz","fileCount":1106,"integrity":"sha512-FTAR138OYXVkq6jyLJdZrlJP+LAYZAqWNh+NyqD+iG0fe3XLfxO3x0tguTuEU9so22HjwWdx0BROfvW97zK3sg==","signatures":[{"sig":"MEUCIBdnUZx+tCrnkWsoK3ImxsfhH6a85QWcMp0KC5SofAb6AiEAzMVBPdbGaB5CA1/+IVaQtg9T1ZFzVArqUvrKpBWC6Lg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25891283},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.31_1703087975838_0.9869047544120639","host":"s3://npm-registry-packages"}},"0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a":{"name":"@preply/video","version":"0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0cafc2d77d15d0f66514f221355b25c3e6e69a89","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a.tgz","fileCount":1106,"integrity":"sha512-FawKO/IyR5IaTnw6/5/JgPZoEoTrOHnDc0BLYxRjAlA2luZ9iy6d1QPh57xhEhP8GM9QLRpRvyHNxKB0t94J2A==","signatures":[{"sig":"MEYCIQCUxxJWgvpgxOrZIavy2WXjuoHLOVNdesq/lEUwl6x9FQIhAOSAVR7WJCfbFCOE9ngbT1FDM8nqvz2yrEyxT9PdJ3uh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25872791},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a_1703091845580_0.3461174446664901","host":"s3://npm-registry-packages"}},"0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e":{"name":"@preply/video","version":"0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4dd37a00a71eefa1a07ccafc2b02bed2fd9ad692","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e.tgz","fileCount":1106,"integrity":"sha512-o6fj5iOSIBLLzOluZ4R/rr/dzdTj/N//yAzilu7WFVcW7zf8YC3MTVAKgHjJ4uOQs1JEa5LPV2gzogDS3HbXDw==","signatures":[{"sig":"MEYCIQCCNPAgNPZdnDPR8CUwxiVX5I+yUlhY7hOeMptd1u5DWQIhAOBlH4kzY6LZbcMsS0qHRjJJPrjqD3UVNMUTQv5XqHlr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25872791},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e_1703092363445_0.04481668636313496","host":"s3://npm-registry-packages"}},"0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494":{"name":"@preply/video","version":"0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"371bc1147b52a1fa5a0912394d8864111c4f0313","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494.tgz","fileCount":1106,"integrity":"sha512-AX2j20UE/8FaZvr8c+mzC65mF2vAdyfndrI4ieS+gjMEZUtU+hmFXMeRxi6QUY2QBYYCMsxUuFrthKs3I/YoHQ==","signatures":[{"sig":"MEUCIFFdagNIR/4bjIruZ95riIAsMgElClEfguG1HqTET8w1AiEArJt9MPmu0Dh2rxzzKfZc5NZO8/Tp3sUxRvsr4vaEUXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25872791},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494_1703092826743_0.8398140813368635","host":"s3://npm-registry-packages"}},"0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41":{"name":"@preply/video","version":"0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"82291dccfa93af592b04429e670c9274aaa913f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41.tgz","fileCount":1106,"integrity":"sha512-Rv9vvHcEf9TMpSBzyFc6cIqKQR7HPjwp0bXepoBKCdGEh5v+/FQoGT4eFKdmBcXLzmgxd5G1Ukloq8HTgSiswQ==","signatures":[{"sig":"MEUCIGdyzckpoRWG2TrRaOuW2XUwOQoDPCNTHHo/SkrAYx76AiEAvrdNrN26LBauFpXP76COAYiojLIodZ2y5IYboEIZ/24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25894149},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41_1703153525790_0.5058933976847062","host":"s3://npm-registry-packages"}},"24.8.32":{"name":"@preply/video","version":"24.8.32","author":"","license":"ISC","_id":"@preply/video@24.8.32","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe9ab842069824e656b8e5600a5bc63967b33973","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.32.tgz","fileCount":1106,"integrity":"sha512-lvINbHt2IZylKgAZLJinIQMfGi7wCYPk5l5Xxctbt7h2voQRJMgcJuysb6/koQ3MBgIQL3qE7G/DE50F7C9XQg==","signatures":[{"sig":"MEQCIBmEDqTl3Pt2+9wEZX3FAs68ewfYfmus6YDWLn55OZKHAiAinY1XV8Y9iaHLjN1Hf1KMYCrBRYPc/aqnIOcNMa8KCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25891997},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.32_1703154666272_0.8908790346115043","host":"s3://npm-registry-packages"}},"0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa":{"name":"@preply/video","version":"0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d2a40c46bd7c914d2b3c2c4ea1091c3c189bf7ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa.tgz","fileCount":1106,"integrity":"sha512-/OrtDUd0cay0fsxTaLHKR742wXoJ4UwB39np3TYonXhHA3VgryuyUXJ0Izf/j2n5dj/W4BNwBCHj8EgxuELgQg==","signatures":[{"sig":"MEUCIQCkG3GHAwDEt3iuWjS+EfZl4MI2RD5FouP5F9szCEhGRQIgWuvuZeElEp5R/lpidLzLMQRR729Y5ybRl4ncw/s2cDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25877949},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa_1703234695600_0.05618850059784153","host":"s3://npm-registry-packages"}},"0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc":{"name":"@preply/video","version":"0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3edb15983cd8bb10320039f3135fbd2886bddb60","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc.tgz","fileCount":1106,"integrity":"sha512-HDKlw6PopqHH/xsGGi+kEK39LNRFVvYQQdBMWPkpvp8Bl0QV3y47f6To0Tdu0w34wKMnHG+e770Nbe+03NVlOg==","signatures":[{"sig":"MEQCIFgThbHEQTshCJCMpjb5CrzX8XHLPc1eEp/meSUNEydGAiBlt6uozSx9863zniAeEt+EAOOGxOqHD3KrG+2r7PC4Ng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25877949},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc_1703235470625_0.567321086684857","host":"s3://npm-registry-packages"}},"0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325":{"name":"@preply/video","version":"0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f772be6b196d4e336759d3e0db8afbde6c956b7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325.tgz","fileCount":1106,"integrity":"sha512-YfCD6vBZ3meTYtueha8Fa3fRgehWEDGG5SQamFZWsL9QWhrte+7NVuu6VNeiIUUvPq+7a2ED7hClWIDK923avw==","signatures":[{"sig":"MEUCIQDGtCqS80GRfDcyXW2ntgiHc5dAP0hAOBvN4fzMWVPskwIgQxjfYuP5wf7/oztWXUT7FrXujMK05FknKxekNQ5fWbM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25877949},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325_1703236016042_0.8663487492622184","host":"s3://npm-registry-packages"}},"0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d":{"name":"@preply/video","version":"0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8285be2aca2e41d889a3f334921f86bdaef18f46","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d.tgz","fileCount":1106,"integrity":"sha512-VgAASGkoMpQCrBwPgpaNk8bjZB04NmQf+x5kzgYHdcwC/9s/WwrmjuQfRJZ19fsyM2ROR98UziYbdqkGwX9uZQ==","signatures":[{"sig":"MEUCIQCgRfigZiSnvIOCeIygvuVEtaYHt20dMTyfMWYn9xAAOgIgHGL8cPYE7A2rPqc9bUceJBGXQv5FpzUUd2fWGafjjB0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25877949},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d_1703239938108_0.7298783491859338","host":"s3://npm-registry-packages"}},"0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601":{"name":"@preply/video","version":"0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8603c494727b166fee75c41604eddabcf72b1807","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601.tgz","fileCount":1108,"integrity":"sha512-b4RUsrR7cQFJ/7T+5pbZkNh18cfe8CC08pZHRyaZRALFz1gCl+79c0k0ZGgPS1+PTAFgV6xVEaz7pZS/19DX0A==","signatures":[{"sig":"MEYCIQDXyYX8oraWlECW+O31xr74Zk5i54Dv/TfZOSYKbO0aogIhANrVUlzSD2Av2c08jnhieB7IsDxEknseH2Gezj27J3rW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25884732},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601_1703249251330_0.7026330248390182","host":"s3://npm-registry-packages"}},"0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903":{"name":"@preply/video","version":"0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"afbb3421cb6f1d3d6b333ec1443fc0c73449c613","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903.tgz","fileCount":1108,"integrity":"sha512-QeK78HDtgdTlzZnRqiAGCyL/jnPpfIgq2BgiQyfXIhoa2Ex5ZfhfU+bwSytD+fSWX0/MBXlGlBl2jUlxuyUyxQ==","signatures":[{"sig":"MEUCIGwI/eMYUTDa5d6n0YUY2A7KqKIm3dxPjWnUnJzbjtdmAiEAsDqTxsZOCYM8Dt+lgYvGV5EYpYpE7EhYJbeM0+hKbus=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25887968},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903_1703252053107_0.1933494338574222","host":"s3://npm-registry-packages"}},"0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f":{"name":"@preply/video","version":"0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f42a517aff5da77b9d8e5ecd0fafcbc5be2f414","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f.tgz","fileCount":1108,"integrity":"sha512-Li2UKp4+ZuhxuQl10AUpI2hR5z4SJ39ziLjvHBUT2CmZZSBRpxaDG3aV7/QLPEO8MNH56QZuJLpYFHPnj2+rMA==","signatures":[{"sig":"MEUCICxr7ZCeZcM7qlGzwMshWBFaHzCVe0j+38N6ScDVPMEmAiEAiDcPfBPQVNHm+0HkPsM5qZhXFqegmqpFJ5RQGYaDkmY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25888733},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f_1703253115828_0.8865778962963564","host":"s3://npm-registry-packages"}},"0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac":{"name":"@preply/video","version":"0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dea437fd40d0540a38d87c01ba525c837cebb2e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac.tgz","fileCount":1108,"integrity":"sha512-Y5MwfY7D4af+wjk5hTfRckQLdymoBQttSy0eadSPiq2obgUzFe/wlrxqW0cFCJFrp9QWpq65G8o60dhiqJtdiw==","signatures":[{"sig":"MEYCIQCM9zF+7WBL3V2RggNIYgUWqRLiGttna4LM6crOwaLB8QIhAIuXqOCgBG027X5VL97iuawXBulGi9XCsdhd0OWgXZ9t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25888818},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac_1703257228193_0.5984488210560388","host":"s3://npm-registry-packages"}},"24.8.33":{"name":"@preply/video","version":"24.8.33","author":"","license":"ISC","_id":"@preply/video@24.8.33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5fad7249f377ec142169967cfb3f61f9d349fc7a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.33.tgz","fileCount":1106,"integrity":"sha512-8K/xUBght/3mUyfsVcLtahJvcnVMPK0ehvpRXLjuI0YutA94t8MB6T+WMinHh4vqp+/qu2DEUqYxhFRxElq2MA==","signatures":[{"sig":"MEQCIHhCjL1IzOf1r/BTD98s2sxh9IAN11CJUqzrkUWSakIbAiAZiuMTsExh9iHwR0CfSipN1mqwOumyCoLVgu9Dt/Xkng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25875692},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","multistreamsmixer":"^1.2.2","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.33_1703258187409_0.3659864216866553","host":"s3://npm-registry-packages"}},"24.8.34":{"name":"@preply/video","version":"24.8.34","author":"","license":"ISC","_id":"@preply/video@24.8.34","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8763ed6aa47f102674a9cab4fa35d7b0a61a89bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.34.tgz","fileCount":1108,"integrity":"sha512-kmuIjSX9eRKsngVUVdJvuQIvR6J/gLTkllE3OqyP7+2gWA8JgxpJvXwP9a/oz4ot0WG+UYd6UUQIcToe5GvSEg==","signatures":[{"sig":"MEUCIQDl0v1/DHd3U1QWDg/TcyI7w09vUhyJCbsJNL6nKGVmeQIgPCLggnI2QWpLkIjVrcefaQghjt1BrH1NGuETMLAZcT4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25886538},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.34_1703262650699_0.8274112284838515","host":"s3://npm-registry-packages"}},"24.8.35":{"name":"@preply/video","version":"24.8.35","author":"","license":"ISC","_id":"@preply/video@24.8.35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"72c54c01dc73fa1ef9ba6050ce73aefb4dc1a92e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.35.tgz","fileCount":1106,"integrity":"sha512-sn5jzHxb/df7uZBfR8cRRzQyYSSADx2V24PehjPFh/v5OllSQ7yoEBD6XowNNc5fofVaNpZA5QMpTdQcNRQ7BQ==","signatures":[{"sig":"MEUCIE1OilGnYOMEO2L330V8l3mfCYz87OOa1DuKA54HhojFAiEA9Keh73ug4+xMkGaaqeDbmjsLcNQgM6xntO8X9diVeO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25886042},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.35_1703263297396_0.41987430037107476","host":"s3://npm-registry-packages"}},"0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246":{"name":"@preply/video","version":"0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"20ec31a8752b5328aa711da5b08839da816766c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246.tgz","fileCount":1106,"integrity":"sha512-5ucE/zGGjxSL5OoVLjNZxWiNSsXz7NNgvwhXyjC4l8VbMGwirDobX+kgRwePVOUnIKRei5pR5gujuEPlT/KIBQ==","signatures":[{"sig":"MEQCIHeutyWXY8bRDQonaZA4+edegVFQl8qFSBgJTzurHn8IAiAUf6tZu9qXYuitbOhMQYxYw86rQxutQCYWcrgBlcf2Og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893726},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246_1704364179790_0.3649081654673276","host":"s3://npm-registry-packages"}},"0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d":{"name":"@preply/video","version":"0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"602a933fccc552e2b184def1e9606167817a6997","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d.tgz","fileCount":1106,"integrity":"sha512-BEjYu7ltUcHO0Tevx1ETTEomQpXwQNN/6jmX6LA3Y/cLTKdBuPp637yaBrPi2McyK8J/KcyEL2vcdxvATQqZ3A==","signatures":[{"sig":"MEUCIGfl3c45TxzGBUtazRUCOtQVH1KhiVa0SWs2qc0N+yxvAiEAjTosAmeWKduQYkTG6+NzM+jWRMPQsrcKokyHgprtkeA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893522},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d_1704365663896_0.012119860700849694","host":"s3://npm-registry-packages"}},"24.8.36":{"name":"@preply/video","version":"24.8.36","author":"","license":"ISC","_id":"@preply/video@24.8.36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09177852da0d0ca1dc04668f0ae56091cfec9077","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.36.tgz","fileCount":1106,"integrity":"sha512-4J66oy+hTyiGUXt16YO1F9vPOMGJJq0/ouDu+5x7GuNbMmAM492i2nciy9uCOOK8uX8iJIuCypT8GQWUi/eBlw==","signatures":[{"sig":"MEQCIFmblr/iQGn2sO98WdWUZFt91Vw43RZulwzGzNVUrk5BAiBtF0iW3lTUFlCXPqIqC5I0ZVYic7oizBDWSwkhlgqN2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25891574},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.36_1704367791718_0.1990153691233656","host":"s3://npm-registry-packages"}},"24.8.37":{"name":"@preply/video","version":"24.8.37","author":"","license":"ISC","_id":"@preply/video@24.8.37","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2059679feb493a1e24ce2092a79bd6aa4d7e9fa4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.37.tgz","fileCount":1106,"integrity":"sha512-MZl6Wdw1kvfdARnO+Fj0bMSAgwa82k9XtYYRiI0jeF1D9blqCQOyXtduDfxtWOKBVCncc1KmPHBIjZ78yFUfSw==","signatures":[{"sig":"MEMCHzjAJDpHKSZPDsWZJfFigddvOObhMhiHmxUUKn81M5YCIF/qtdd2ticurPlVmRQE6lFIptuBBFmAuUPTLYYNftls","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25892458},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.37_1704368334611_0.9604167962731085","host":"s3://npm-registry-packages"}},"24.8.38":{"name":"@preply/video","version":"24.8.38","author":"","license":"ISC","_id":"@preply/video@24.8.38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"77c03507ff789e58b685d50e7afdc43c00393d1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.38.tgz","fileCount":1106,"integrity":"sha512-yauBDLjodWQ1/ycvc7rJcdcPrA453EydkFE3QGfy6tzj2wKwNRQ7GvNNK0Jg4rHPHi2NhW5MjTPmK6KJufn0Mw==","signatures":[{"sig":"MEQCIBMCNLdxlTCePJV0WZNym/wvzPY4OP/MxkYM/HV+azw6AiBdkEdVbBx1w7R4HQTMY/HrV0HYXBkfq8USjLLwAzCRlA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893665},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.38_1704384110714_0.8972556538723453","host":"s3://npm-registry-packages"}},"0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb":{"name":"@preply/video","version":"0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"906b2ac6ace09eaae5fa3b2878a110d44923f165","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb.tgz","fileCount":1106,"integrity":"sha512-MccB/UZR88T4cwyWe/DCu9iiDEqlbg7GcDRFJgPBDYc2HU/mPVrn6vWk8tyqtPUrnid0954tMjfSEKq9yxmokw==","signatures":[{"sig":"MEUCICzfe0mfg7jAl76UYqr+n+83bFeyuICnSTpgrGxOFKa4AiEAxbKepQxRFUTdtMGrJ4pZK6FMFq7UMBNij7fqJMpj854=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25892605},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb_1704795088219_0.7886588115475779","host":"s3://npm-registry-packages"}},"24.8.39":{"name":"@preply/video","version":"24.8.39","author":"","license":"ISC","_id":"@preply/video@24.8.39","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7131aec202839732fc8d61a83306b7d444124cd7","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.39.tgz","fileCount":1106,"integrity":"sha512-fDob9B1lNDQdUCRvLB1CdE2vHJrF9pw8cXL7MrN+iuHXwqbtteXvRWqhwyJb6oRfdtU+VKoEIOj7vOBrZiH2Xw==","signatures":[{"sig":"MEUCIQDR5RvTD+5ZRLnEQuYiBbkgdrSDU9BIlW9dc0mOtpS2zgIgRzhenTu78DcT9yX3rH89Db1Wmxgi4rrW4o2ESKgXobs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25890453},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.39_1704801349929_0.6319135155710691","host":"s3://npm-registry-packages"}},"0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416":{"name":"@preply/video","version":"0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"42fd95d2fd9bcbcec8c06f1e8e9488a57f0e6a23","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416.tgz","fileCount":1100,"integrity":"sha512-gPA04KtiI5CKFnd/P9Ao8dN/61KTo8S9WWWXGmhpOq7V/njuj5+1v00MomSnWIKyKicckJJAhd9GGq/wzSZexA==","signatures":[{"sig":"MEQCIBJ2+Shdgab3B9qzJbQwBZDUR9kqI2ej/plxHSuNC/vXAiBHLtKwEBEfhS2KuUpbnWVCtsorgqNDAZ2ilx7tGJLWLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25817354},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416_1704819209003_0.28053827911836704","host":"s3://npm-registry-packages"}},"24.8.40":{"name":"@preply/video","version":"24.8.40","author":"","license":"ISC","_id":"@preply/video@24.8.40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9910b7bd058071552cd370f38ed50e308244f3d6","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.40.tgz","fileCount":1106,"integrity":"sha512-hEQl/m9VxWrOMtv8/C4PGlGZ3VhQaMfP4cvpXfx5cPkVM0bS1poiY/HdEGaW9hzlZ29srT7C/U781keGqs0TKw==","signatures":[{"sig":"MEUCIEKGa+Z2VVCUjqla63XsgKoNv9NK5+UkjYZv6QdAcP3kAiEAvAZ1BaMAPLRMf/CTrwDLg7NvnReUNJlnGwE0mrOBaag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25890283},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.40_1704860417031_0.8223893657471231","host":"s3://npm-registry-packages"}},"0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05":{"name":"@preply/video","version":"0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7ed183f6e04fe1c97b3895511fbcc42d24fde1c9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05.tgz","fileCount":1100,"integrity":"sha512-CCdZrfdkPFJe6/z4qaRCoER4qBt42wRD812Dt2r2n2eHMzuECM7p3hpxh9H2Agd2XLTyoSBz2fxXnQ2VumZ4Jg==","signatures":[{"sig":"MEYCIQDtsQH4uC+6Cv48boV6oeIhSIW0zJ8fq3M9eUB6XaegAgIhAJLQ5lKYdAHeD0oEsmre3jWBDpRShYRhwfdV3GiXtRZD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25817184},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05_1704881055385_0.978610068651647","host":"s3://npm-registry-packages"}},"0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb":{"name":"@preply/video","version":"0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ad82ad4cda9bfd4c39cdb8b3ab46cb919839bb7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb.tgz","fileCount":1100,"integrity":"sha512-sH3p+D4SkPZyqYwKY21SerK4a6y7+YvduR3nSt0GturUq5BAth+x+EjjOVZhiHhxFtx7//eKqHbQr6vA98beww==","signatures":[{"sig":"MEUCICnYJExk4takF2YJlOVF0m4q/ujpzoyj9EZwz9u53y5yAiEAlsluhDJLM6EGx3fT7mAZRrlYn7pBhN0x3U0Z5NhBZGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25817677},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb_1704885423414_0.45637856545788336","host":"s3://npm-registry-packages"}},"24.8.41":{"name":"@preply/video","version":"24.8.41","author":"","license":"ISC","_id":"@preply/video@24.8.41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"197a58c19fee3c8b93fb70fa97972e14b9c75967","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.41.tgz","fileCount":1100,"integrity":"sha512-ND2zC3lFN3FdBniCEA6idKg/nhryFdFCuvsqLveRdPrj7VpT09y3sIIYmbchOd2zSR149CxqCjewj5KCQp99BA==","signatures":[{"sig":"MEYCIQDcxEOnRmsI2mvaIsqo6TPwgfVhVWMjdpkF+7AWFR5LVwIhAPzyrSQDTW7Dzm4Ef9JUEIuBkxGqEwrpWystxAQmdoBy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25815525},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.41_1704889858301_0.3309457406393037","host":"s3://npm-registry-packages"}},"0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099":{"name":"@preply/video","version":"0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8cbccff8d88c3b51704177bfc4a037c41a3f071c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099.tgz","fileCount":1106,"integrity":"sha512-b9DBsbrMSUfYcAUtu7vldf5ZTm4AYs0uD9m3v0X7DHRjQSMewSOcr19bP5BrSJUDh1hHvDPY469+MDb4gv1HDA==","signatures":[{"sig":"MEUCIQCSq3CWCdC0SPS/kp4DmGIdUBDDvy9DWN2fIyyXPxITKgIgJzTegNoZKwm011t16CYgBD/RBXCVr3jh7eK5Jax9+SM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25893744},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099_1704897188575_0.8339389208187171","host":"s3://npm-registry-packages"}},"24.8.42":{"name":"@preply/video","version":"24.8.42","author":"","license":"ISC","_id":"@preply/video@24.8.42","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9d86f803ad532f3ea26a234d6ae9efca4148e455","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.42.tgz","fileCount":1100,"integrity":"sha512-9vzlj/eYNNt8wKnBgXGQni5zFEhAbvCneHtdbIlmiOzzQfTT5ujFhdHxuI/64UsbTZVnUKgtW9DzA1WYipHB5g==","signatures":[{"sig":"MEUCIFNnGRMN6jvPUKbM0YTTBIa7hjKPy39lgz3d3l9qB41SAiEAkRo271i7tRuHZBN2q9mcbHoIpBLxOe2mPXyOedE6Y6k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25812561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.42_1704946962231_0.9559692969759797","host":"s3://npm-registry-packages"}},"0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94":{"name":"@preply/video","version":"0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"90d3d24740fd71ab7b7290579b975cc6df468fa5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94.tgz","fileCount":1100,"integrity":"sha512-+8GiV7dKIho4sLDavHJ/TeEUEWwHenP/NV651IAnDos9uGg5BXfchsMIDlTvnkci6JAi4ifNIbcfJsWOjN+wUQ==","signatures":[{"sig":"MEQCID4admBUH0ZRDfIk3YxmhSeYIBBtLONB9YG+mR1SX9PXAiAejsGOgqnaUHAWLUBCFCBbOXiFOBAeR7Z7HcNwpE0T6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25816778},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94_1705318587093_0.5017936107280001","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82":{"name":"@preply/video","version":"0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"32ed3d7a4e9ed69c4672499fb1dc023fe4c58b65","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82.tgz","fileCount":1100,"integrity":"sha512-uLYH3h1gNWUlntdyH38CzCjr2lAc4QCup7jCK5z114TuUlIXy37zUa8SoE99gN+36BKuIgLQml4V1Nit5dRISQ==","signatures":[{"sig":"MEUCIQCTdbL6fOEiJe0qqba/9LX2rrUGVkvjpGcUUEcxgC+BMgIgOhl/Bu6mv4KkoA5ML9qcPz+06GGYrd2TzcjgzIcH/eM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25811046},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82_1705321630830_0.9170167943032761","host":"s3://npm-registry-packages"}},"24.8.44":{"name":"@preply/video","version":"24.8.44","author":"","license":"ISC","_id":"@preply/video@24.8.44","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dd91c8f2601ab5110f7955087eca258701fac4b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.44.tgz","fileCount":1100,"integrity":"sha512-r2XFUnscMCBiBq8vzGgQde8mDHWkAwYhaeSC/vX9EAwNuC+8uaYMPW2Gk4VWMkgSTQMF9/gtZIROIsrFQYWmyQ==","signatures":[{"sig":"MEUCIGrsSU2aXbmFAL2AEOu4ulpWbk0C4gAZNgFudbweKgwlAiEA+vYJAtUF9DJNMuKVJbMSSBGuzVvu436HjC+ggMaopac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25815128},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.44_1705378829519_0.10038563781787402","host":"s3://npm-registry-packages"}},"0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b":{"name":"@preply/video","version":"0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d086dc68bbc2e99cf25d781a578fca7405d219fe","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b.tgz","fileCount":1100,"integrity":"sha512-4Bwz/zBEuJnXLsc5B1g8aRTgNoLoAPqVEx8ZTw5v9C8wqwk2NP9pbCpYbgGtM1fXNeRnXxTYQrHP4yNkDvjcyw==","signatures":[{"sig":"MEQCIElUNKhL5AUdH45LhK1PaIImndUIwuhC2bxQmjwCZBTUAiBsaD+ym37VUJ4Cy6w4qrTgqXK0/8hy0rgBL4SI5K3EPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25812458},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b_1705395224604_0.5809135824827021","host":"s3://npm-registry-packages"}},"0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2":{"name":"@preply/video","version":"0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cf42e1fc6ed8141dd9fe0e0734ddcbfb61df1bf0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2.tgz","fileCount":1100,"integrity":"sha512-nVVXBCy6VUkM5Sb/bgvDk0+pXTvXA8Isou2GYStKqJayJtgawfFeAo9aqr4q/aJLuotjddnuDlwHg5mn2+rPnQ==","signatures":[{"sig":"MEUCIHOqt7jkrbI00jtHpkUgZ2vkfMSucIwsyjx/w6c58XMZAiEAnBdi3FxB5grleLdRJtgmQ81Wdc2gDxD2GwSae0RdqiU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25814233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2_1705397844167_0.76320594877509","host":"s3://npm-registry-packages"}},"0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2":{"name":"@preply/video","version":"0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75cf55a80053c1995630587571d324d9ad21e715","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2.tgz","fileCount":1100,"integrity":"sha512-CaBv/+qOSi2rQOMijH02HAEOT+i00Vs814mblsbfMuM4A/w58A8DK3OwPuPdPDKlIW3Yhkr/HgKHCHFpi/ANYw==","signatures":[{"sig":"MEYCIQCwbLiYRXNlbbpGGCrdbceE54tQZfe7fCD7RQpf2YefowIhAINXVfuqkWnafEyif/NDDvZyILiwg1a4zT4DZ4gbx1Z4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25814233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2_1705400125376_0.8094593164433295","host":"s3://npm-registry-packages"}},"0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939":{"name":"@preply/video","version":"0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ac788c5e0a68df0117ac5fa50290a92c2e3909d9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939.tgz","fileCount":1100,"integrity":"sha512-3e3RCme5Y0BA//XT0XNd+tbVCuht1Do/gV/QD9yuCDJu34I2vB4+WFrllebW0et5Z9/24KeRDs5g/a8/M77xhQ==","signatures":[{"sig":"MEQCIF7J28tPt0SOZ27HTdHt9YQPXN6v5vq001nQjKIjVatxAiBiacizHn3sTJf7rMtldnLMRcwTaiTWk+zH2dzaTCWkSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25814233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939_1705413265334_0.3843462289452071","host":"s3://npm-registry-packages"}},"0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41":{"name":"@preply/video","version":"0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2cd7e3bdfabd2404f649d34ef11052e3917eab2e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41.tgz","fileCount":1100,"integrity":"sha512-Tq1kAwFJdllfQmoTEkVuM+H+YSlsJTTya2Bg8ccRLjEln8Pnu03KxOGMrFwpPvOeajt0eT4nLv9EF+0TktEFLQ==","signatures":[{"sig":"MEYCIQCcD/RjfJOP92JbGdSMF5IjYfd0gXlxZTJn5smP35TuXwIhANA0lG+QHIdnZrd0ZnLx69uH1qNZDsKa1NF0YX2LKb5J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25814233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41_1705418000264_0.4683804514911676","host":"s3://npm-registry-packages"}},"0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6":{"name":"@preply/video","version":"0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cec8cb3f8d998749383f5d2e01fe02365c5e903a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6.tgz","fileCount":1100,"integrity":"sha512-LXy1UxT9yEItPG8g47kQ3uffdpa2Y9RcRqPwdaTVe0mKrd2aqHqlb90BrU0C2NkIhYaUWSxkxbm8g8AqWX2law==","signatures":[{"sig":"MEUCIQDeXwQw9Pl6h/88Vdac8WnFVaIpq/NYfRvCBEPME1/l/AIgAJfABzF3tqMAHYB2pIySprzuQqXTdIsI9/+/73eHcBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25814063},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6_1705420330884_0.8152087325320014","host":"s3://npm-registry-packages"}},"24.8.45":{"name":"@preply/video","version":"24.8.45","author":"","license":"ISC","_id":"@preply/video@24.8.45","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2811d5457f0e0564f99275bcf6ae59200ddf257d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.45.tgz","fileCount":1100,"integrity":"sha512-EkCX2Ai7uaYAXGmo6/LjhJg/Gkt7W2xeVNvkSOxlfw7WMo412EyImKAxWBXqwtUVJ5Kb0GrK+ouWccJ6S7xGyQ==","signatures":[{"sig":"MEUCIETWTFkX4jaQxrK44yijwL+p4S4I4qj6/74JZx2WjP7LAiEAnG7s8glcxnhOcIGFXj6sLg5SX5uK14Z0cEg5EtLGB/Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25811911},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.45_1705424017376_0.43276879833969417","host":"s3://npm-registry-packages"}},"24.8.46":{"name":"@preply/video","version":"24.8.46","author":"","license":"ISC","_id":"@preply/video@24.8.46","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"df6c18c82158fede137ba9b57a11d6dddf302d4b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.46.tgz","fileCount":1100,"integrity":"sha512-mgTn6KcBFSccCEoZff0YtBY1BnWgQOdY0trHQwnRWIiGQ/aJnAqw3W1oGEBpoQ9k6muNv6weq9R+vK/GlkDleA==","signatures":[{"sig":"MEQCIBfaKjw0ozIU/xlxkQuhKqpet+LXrLwSJW38M8XhFCTJAiBiMXcyaZ7mV+8pKbZlxmWvkFltIsb81s6S4M3uo+L4ow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25811917},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.46_1705465593463_0.3033427718553372","host":"s3://npm-registry-packages"}},"24.8.47":{"name":"@preply/video","version":"24.8.47","author":"","license":"ISC","_id":"@preply/video@24.8.47","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea070739f3fecbd0000f41bb51fa62804b3bee4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.47.tgz","fileCount":1100,"integrity":"sha512-sr/1AKI/YIOco29DFr9OzvA93neIHltXdCMPKZJRuVwpCGZc0LVz8JYwJqs2cNlOAdVuf8Osyjwl94H06XoHRg==","signatures":[{"sig":"MEUCIGSS4NiDMGwkumVLkhvuBwK9bBDwOJOrY/ICJgKTwinHAiEAtCgZapMuxFyuiYDoYruWI/5s0zSiaIcKOSuxt6FGqw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25815004},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.47_1705638059336_0.07436793282134646","host":"s3://npm-registry-packages"}},"24.8.48":{"name":"@preply/video","version":"24.8.48","author":"","license":"ISC","_id":"@preply/video@24.8.48","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8b5cee848fc17d56af3ec62e67442c7b71c3a867","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.8.48.tgz","fileCount":1100,"integrity":"sha512-ES1F0gv0Hla8dVWVkODXALo/frAYgtpQx724tD+cOIF99CX8myvThLUCeWWef5OGek3ItaWg21U58UJI8glcUA==","signatures":[{"sig":"MEUCIQCWeZK6mlh2lWKqfyXJx+S3rKPzKkDIkqq9DtMFPOTI/wIgaaWQbjF41N8e+CEvh0Sz5XcWnFvRTKzeEJWZhpag79U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25816768},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.8.48_1705658168850_0.305360924120323","host":"s3://npm-registry-packages"}},"24.9.0":{"name":"@preply/video","version":"24.9.0","author":"","license":"ISC","_id":"@preply/video@24.9.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e5eb712dc7b3bcda9092fb7e5b49b9881911c592","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.9.0.tgz","fileCount":1100,"integrity":"sha512-Kre+7KRgw/hxzfOQNJWrto8NMPrlHkNIHuH9TkxevJwzXms3EYEzOYPON6B5htCAV52png/PvwcEMtXTIlA26A==","signatures":[{"sig":"MEYCIQCbb2PPt85vSLxg62jODiAwtN/mCyOnmd+hYo31TtKvOAIhAIbHU9hpMMFCABpS7l0FTzeK4/ibC1PSkMMOna+8Q08w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25820744},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.9.0_1706006548931_0.9726810472780361","host":"s3://npm-registry-packages"}},"24.9.1":{"name":"@preply/video","version":"24.9.1","author":"","license":"ISC","_id":"@preply/video@24.9.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c2670d2bf5e48adddc596cd9faf63de106939b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.9.1.tgz","fileCount":1100,"integrity":"sha512-gAEtXpQfjJcJ1m/T6C17EYDZ2BxIS32rY/SSdUFrCPcpNMAB/Q3qLiNEOLDL4Hh96LJWMn6FLxo7TWT/nOBAqg==","signatures":[{"sig":"MEQCICqv/pS+P7B1sp0j4fYxhkBJMhB41/MKygt44SRCB6OfAiAC8jBTO36aNzCvcQknfWSexXwf5sgIEO0N+6twW3NGWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25822408},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.9.1_1706007867012_0.035006490729183604","host":"s3://npm-registry-packages"}},"24.9.2":{"name":"@preply/video","version":"24.9.2","author":"","license":"ISC","_id":"@preply/video@24.9.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ec6aaaec84e334ebd7d15440c76274b53ecab0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.9.2.tgz","fileCount":1100,"integrity":"sha512-nEYtamB4deZf1LV7kNdaQJ88Y6MhRw9Hw2b9BTzXGpxBzDTqI4CQMTVTLv2pEzEQ50lbrEXUHE3ZMS7a8vYJMw==","signatures":[{"sig":"MEYCIQCYRYsZCpGPd2jOK0w+/KL5IVYvwNhQRyUKgqZbEbua3AIhAImqDVVttW/b4MCsirJFajswcCD6rO/XRSKC/qW6SUq7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25821099},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.9.2_1706026390748_0.4616472823767943","host":"s3://npm-registry-packages"}},"24.10.0":{"name":"@preply/video","version":"24.10.0","author":"","license":"ISC","_id":"@preply/video@24.10.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c6c04ae1d14b17132ceb28b098d95ead3b4799b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.0.tgz","fileCount":1100,"integrity":"sha512-I9chhipT5qnZsOhXIn9rlPvBrus4a1xO+Sjh8b38/DLj37pjebKHYthQ19s2kUbHw0mQF7zJqBErwf8RuBlYKg==","signatures":[{"sig":"MEUCIQCCBGRxRR/ImFYfScoTG2mi33QGJbzzfjNokuxrfH1m9QIgIdgpuT3R7aanpbFISJyoi86n1vH2IWiFlhbqJqca+dI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25821168},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.0_1706094920509_0.6519968689928195","host":"s3://npm-registry-packages"}},"24.10.1":{"name":"@preply/video","version":"24.10.1","author":"","license":"ISC","_id":"@preply/video@24.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c33cae9826ceeafb0b5852bf7a192984c168e4fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.1.tgz","fileCount":1100,"integrity":"sha512-cvt5Jr5q0zxlSvptqDmUBPfg7AOKszPqVhtAKRmd++82ekZ95NYPFHXhsvFB7WMXwKbFdAmKYicOhwNNyvZngQ==","signatures":[{"sig":"MEYCIQDwYQvBXYwB1yRz+C829mxLHz4musGp9dVim270JB6RfAIhANY3aSkBJqrGkW+GlF+aMVRUwmUYUp6DvK6PAmHFKXdV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25821168},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.1_1706113349253_0.743118362039942","host":"s3://npm-registry-packages"}},"24.10.2":{"name":"@preply/video","version":"24.10.2","author":"","license":"ISC","_id":"@preply/video@24.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe6ab9c955fbc1eb0bac597449d782f209a85fcd","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.2.tgz","fileCount":1100,"integrity":"sha512-UIv2osUm4HjfMantDENVoTDDr1HBdbdGA7KhzGk2ejw+gjepQpQtDHGPO+vLgEzQ/MERtqC0XPVCAvRybMOEWg==","signatures":[{"sig":"MEQCIECgiwEuUbTTqrpVsJWEsy7rUqueKNfJ5h9rYYhOkhSfAiBTGYm4qbSVd8j0YD2L7qXU9uFKdXT9fKykqOVeK76YbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25823902},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.2_1706198650991_0.6386384187323364","host":"s3://npm-registry-packages"}},"24.10.3":{"name":"@preply/video","version":"24.10.3","author":"","license":"ISC","_id":"@preply/video@24.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea677c2b475839fda6d504dfe0d012e51a8d2cd3","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.3.tgz","fileCount":1100,"integrity":"sha512-OFZuY85+AhuAy4/JJCMWCjSznn4RYY1zLZalTYERmPHpQ6m2xh+YlGXxONLMx5qV/ikXVjs1G0o/Xoe2aT5wAA==","signatures":[{"sig":"MEUCIEai3pMfhF3iRdZYMCvQB/FIM/jlcjF/MXVlj5mymCXPAiEAn8scXSTZr4xnlrnZJYI3lGKlSDo8N/kiTx+gxqrSAYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25823895},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.3_1706242882217_0.5683738071224238","host":"s3://npm-registry-packages"}},"24.10.4":{"name":"@preply/video","version":"24.10.4","author":"","license":"ISC","_id":"@preply/video@24.10.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e66d28676a4df22eb6b95b0f552346d2f5257d1","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.4.tgz","fileCount":1100,"integrity":"sha512-NofvzlKi3fVEjzkkxbp1q/A5FXed40Dlbxwv/qpq15ALIqzGEfZlBtv5JcV75ELC0bA3lJdqcBSuOxH4cJb0lQ==","signatures":[{"sig":"MEYCIQCDjPZGE00q7h4VMNa67YPDGCEXcfivuwR7RhxRRWxq9QIhAIsSGIrnukOOVk29tC6rfsV75TZFBVOnctGX1ZVk+LZK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25824141},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.4_1706263860177_0.931253275518648","host":"s3://npm-registry-packages"}},"24.10.5":{"name":"@preply/video","version":"24.10.5","author":"","license":"ISC","_id":"@preply/video@24.10.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"acf1b3c32e48af8b643f1a87bc5461e80d664f6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.10.5.tgz","fileCount":1100,"integrity":"sha512-RZQQVjfxc8ldDO4SJy2ugkkXK0IABRFWxqZFAZt/DAHSmnTzSs0AdeNaNGDZV44AoJW3RqWKV311KJkWgIeLpA==","signatures":[{"sig":"MEUCIBo3YrMishJ2OOEkjHuW5RpQxBDun3LWjOfTUqu/SvwwAiEA7Qse48GkZ9y7l+2EiStCrUNbsX+HR2MMwpiaOTWv2Po=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25824260},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.10.5_1706502440950_0.7267318894060728","host":"s3://npm-registry-packages"}},"24.11.0":{"name":"@preply/video","version":"24.11.0","author":"","license":"ISC","_id":"@preply/video@24.11.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9a524766ac978b0232c0ace23d1bd0b7b2152efd","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.11.0.tgz","fileCount":1100,"integrity":"sha512-zxQyZ3XMxt3Lw5IRF0RvXpw6oWjRFXSH7GXUJiIGzNZt3DNfNY4S2TY+pH+pcEb3fLlKePyDLiP8V5TesILeSw==","signatures":[{"sig":"MEUCIQD5Dx4RENms3iHwHh3Arj8xx2sTZ69eJ0yW9sLvYz3zbAIgXWPYE7lXdjJaU4UJQZ877TJIAH2YO0jJi5tT1VRUeqo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25825059},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.11.0_1706533039023_0.440442694505349","host":"s3://npm-registry-packages"}},"24.11.1":{"name":"@preply/video","version":"24.11.1","author":"","license":"ISC","_id":"@preply/video@24.11.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f9ee14e333e3c63e08cc7c8078f8f07d1b964b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.11.1.tgz","fileCount":1100,"integrity":"sha512-2kc8gZhg/gQleYItDRUrVsO7EjzfLw+z4GlLrCgQVjbQoLAi+eM5l8+OGKis6g0mJ6V/OTpaLwKuKwh4h/gS1Q==","signatures":[{"sig":"MEYCIQDOjAWEkwGqNQvhY5+JGfeW7uz5mzxgUDzrdkP+HFi7qAIhANYCOc2MH4C9vuvp8uCfV0nocthhMZKJRBAuTWMoidRG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25832923},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.11.1_1706588451469_0.19857395167158254","host":"s3://npm-registry-packages"}},"0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902":{"name":"@preply/video","version":"0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75e1e85c8620a8658b545b927af2e8df48f82db8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902.tgz","fileCount":1100,"integrity":"sha512-3ml5eTLL4Ee9NAg+562Dda333f/VJr1+BRcr/2wvz6LDDa9G3xw2ik/afbthBL2FyJMjXi5/Miae1FRl/VqtXQ==","signatures":[{"sig":"MEUCIHdyJEQBoUcug0c4wSAch1rSisXBh2Q+huNbk8DJoyDBAiEAlF+T2SZqjLIequLP/xtXKhjI6hgLqnyoftgzhEN0xRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25832802},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902_1706635069805_0.5172651212749355","host":"s3://npm-registry-packages"}},"0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e":{"name":"@preply/video","version":"0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e5ea9c145b0cdbad7207aaa40649e9b09fbd26c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e.tgz","fileCount":1100,"integrity":"sha512-GywHbUOFMFN263LNxXMrWRI0VEpHE2Q/E7gUm0S+7nlXlCus4bUjkL7G9Dv7vsiIXUV68MPSozMWDeoaLnaDZQ==","signatures":[{"sig":"MEYCIQDvwyOws3qvmJ+GCTkux48MP5dNs7hQLfdABlQM4Jtk2wIhAI190BKuabRYmM8qQS2LzcgF8gsoF873UyGfIGwD9WdS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25832802},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e_1706686219933_0.6762109620919889","host":"s3://npm-registry-packages"}},"0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7":{"name":"@preply/video","version":"0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c469961e24c712355e607af9cf3e1f88a40fca9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7.tgz","fileCount":1100,"integrity":"sha512-NbL1hfCCzCeiUjOkjCq8aC7x1HKy5pjemc+/+rBPtmNf5HmqjHkQykFdK9y8tNmbMznXSiL0JQxjsOBUq2GWWA==","signatures":[{"sig":"MEUCIQCeZE8Y20UWGuunAwuPTx3ui2cCPPqgFC3bOrARJxGejwIgC9KW1xv6NKYEN8xTAloP2+0/EigVE0ISBtKDdsjYCVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25832802},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7_1706687987308_0.8316284525672712","host":"s3://npm-registry-packages"}},"0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af":{"name":"@preply/video","version":"0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a41cbe33206a3d7412277e19e224c312778fc1f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af.tgz","fileCount":1100,"integrity":"sha512-TU3Dqb0MHQLHPMNTrAa09mOCjkatI0I7jfyEF6yHkjyXnpALQLC2h4shl6ZlcT6pF6vNqdA6d2D2YsoOV4JNWw==","signatures":[{"sig":"MEYCIQCcIRKPvjLmgFqotX7ICtIC3krkA8dGFwYz0kiRjJvxtgIhAOCOShUMEafbaFMke5i+zb8kJ2QbaSoRqITfN/aGEeMD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25832802},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af_1706694549129_0.28867336454263404","host":"s3://npm-registry-packages"}},"0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a":{"name":"@preply/video","version":"0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1e3932d7661484a94adc7e587eccfad89739a3b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a.tgz","fileCount":1100,"integrity":"sha512-nyQlMcfq0r3F/t5BUdnEnkxqM/Z6R++lyOoe+u6BAxWacaBDh9aFo/1Esb4AUkFqJEuFq4T5KZ+PAWqoSu42YA==","signatures":[{"sig":"MEYCIQC96SCeBXsTRlXICGdzFJ3JCHfOsCBldKgtlSi8hf9hygIhAMrPazf0ow7IXh5WM9okbxZ9rR6Ws5tC3clspAkAQ5af","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25865340},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a_1706697810029_0.3189402397832406","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83":{"name":"@preply/video","version":"0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c68835e9acc01078d4a48701b9d2360874fe76ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83.tgz","fileCount":1100,"integrity":"sha512-sw8P31z92NCEEtKOZdxHZ6jEBoiJsmAQLIrxRaI3m4DY4Dr2DqUNpptObnXYJ8uU5mjq39u/RbIp7A9xrLPU9A==","signatures":[{"sig":"MEYCIQDW9ShMwY8/NKpTSA0n+4gtNcBWX5YQjE+HQ8ff+P9y5wIhAKIzZXSoqbkLX9NpCHV0epTOEuTp4vDBLYpLDpOm0vee","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25863819},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.81.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.81.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.81.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.81.0","@preply/ds-web-core":"0.81.0","@preply/ds-web-root":"0.81.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83_1706699466658_0.4885972824355793","host":"s3://npm-registry-packages"}},"24.12.0":{"name":"@preply/video","version":"24.12.0","author":"","license":"ISC","_id":"@preply/video@24.12.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dbfd19e41b7e992c736460e1fe9a514cf0727f3d","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.12.0.tgz","fileCount":1100,"integrity":"sha512-ZSZE8HTkoSpjj5ZD50k8xHokEZX7GawunsVEiayHBFwFD1AXXbzf2U+2t74hoEH+TMDXj8YBvg1z6okABkozag==","signatures":[{"sig":"MEYCIQCp5TMZZhEuLl/Zlj0b9aZz+GYLsFNGeBmHFMxKNfdg6QIhALnDE64kf+rZXxHSMy5kp1AilHAwhhpC/ynea27WxU4k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25830650},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.12.0_1706701170256_0.21924531168265848","host":"s3://npm-registry-packages"}},"0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff":{"name":"@preply/video","version":"0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bbb4a05870a06cb119dd11eff37a27eba52c2912","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff.tgz","fileCount":1100,"integrity":"sha512-LmIWqNyUGb+1oxPkj4KfxctcCOa97nfcFp/OoQWJtakKsPbfQeDnRX06loLA/RGvsTxy5j3Dr/bbJnhBdDjH3Q==","signatures":[{"sig":"MEUCIB5X8LmLAWtpsp5/PffYF0muOsd2JV2rFR1vbQDeLI85AiEAibiYY+JwB9dBA267PHgd7RGoIDFCFANJQTm/A3PivRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25864789},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff_1706808748873_0.8565348970847488","host":"s3://npm-registry-packages"}},"0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76":{"name":"@preply/video","version":"0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"da900b3b21ba96dc31d16dcf9d4154c089a8a3a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76.tgz","fileCount":1100,"integrity":"sha512-+elDaoQ/g0FTm/cuWiCvfCZcv1pxod1WNFCNVjDyXa/ViXzKK9mOfMTLweieLuHNo5xzSYY933+1ZuAd91ygpQ==","signatures":[{"sig":"MEYCIQC/TfWdsks6sFPs7fiw0HsneRuxAEDSGlyJ6ejER9J8LwIhAJeFqap0ujzmsqscF+FVcCTYTrdavFXmi6GhANn4Yjn8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25864948},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76_1706810751091_0.5054207658347629","host":"s3://npm-registry-packages"}},"24.12.1":{"name":"@preply/video","version":"24.12.1","author":"","license":"ISC","_id":"@preply/video@24.12.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2497c6049e2d05441cc6c0272680bac0d7638d8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.12.1.tgz","fileCount":1100,"integrity":"sha512-kx3KTqUB/8qJl1RgDW55uL5tbc583rTOIrTXDn/+UHSotgTc3n4IeUrod1K8G3VgcMY7C6aUCsj9Rwrue+dXFQ==","signatures":[{"sig":"MEUCIQCrEtOy1EcZRQHYzTFHKViRrBOGmLYfD88QRLAA24yvkQIgKmt/Ml7D8sjdejqv7agVzIIs0L+qyJgePRCOW/2XQ9E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25862796},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.12.1_1706869283279_0.30445608825408366","host":"s3://npm-registry-packages"}},"0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d":{"name":"@preply/video","version":"0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9d0b1cbafe0e2205e35b8f4ce49a5db07b1a542a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d.tgz","fileCount":1066,"integrity":"sha512-UEqxjgvYI+qAxwBGb00Z2oP28dH3FglBPiIxCAKr8EcpsLgqX8t8KJjAyRTewI7wG/c8bzED0grWhx/S7CaXHQ==","signatures":[{"sig":"MEQCIECOzi/soDdPyClD04udx3lo+gj90nQ7B+HOdCo/fjDXAiAEiKVH7c3/LTfBrfs3UFfIlde2NPuxtRaDuhNBWdNfZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25432659},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d_1706872267928_0.8911715482725733","host":"s3://npm-registry-packages"}},"0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0":{"name":"@preply/video","version":"0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bde1130803f6e32a554945b284175a7e1da44b07","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0.tgz","fileCount":1054,"integrity":"sha512-YbkGOMmQq0lA8gdG2CmvI4PHHPiUl3142dnRHhMoXxUqwkP+b3++alIIP+E+ZMHwVTBDLKWBBNvrwIhy1AQsmA==","signatures":[{"sig":"MEQCIDpjjR5v9WWIW+wbCksnH9trcLIlFS4Fc2K+vXKl1DLgAiAhukeKcpkMovEKOjEEVKCIQ4Fq8SWvhZ72WQBgh6Jo0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25255607},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0_1707218819977_0.6903698365243842","host":"s3://npm-registry-packages"}},"24.13.0":{"name":"@preply/video","version":"24.13.0","author":"","license":"ISC","_id":"@preply/video@24.13.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5deb4626a2b3be0609dede6eb005da66a0be6e5e","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.13.0.tgz","fileCount":1054,"integrity":"sha512-kJuZfshgkAp9OJBtkeKiJTNszZawlPA9UX5EbUlvi5xC6mDByZ+ndmFSkPsQ5m2QwWNe+8BU1IO0TlLa9Si9aw==","signatures":[{"sig":"MEQCIEtaUPKNwPkWkNHKnosNP15NAvRA21P5ttt8AK5PeIOSAiA5iGLjxJThyHd4AzKIU5YDbuBHCpcM27E5Te/5dusjzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25256599},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.13.0_1707400437571_0.43427347612551315","host":"s3://npm-registry-packages"}},"0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33":{"name":"@preply/video","version":"0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba3f90f62109b6524fcc73804359e012a9d0fe60","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33.tgz","fileCount":1054,"integrity":"sha512-fGm2udEXsmrySEZiwaCw4PZV75guWyg7UOTS21zXzgna+jwnqo9WrwpaflcwmGg+HDDfvSYsVLIEHxzR1TAzAw==","signatures":[{"sig":"MEYCIQC6H47JMhPFnbwOVFgU3Cp348o94HCeFD7zbhmJCOrhtwIhALjIjiS22xs1lJwDdIP90PpijaInyEg/wgQot82mSTsH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25268033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33_1707405516297_0.5572519736430768","host":"s3://npm-registry-packages"}},"24.13.1":{"name":"@preply/video","version":"24.13.1","author":"","license":"ISC","_id":"@preply/video@24.13.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"28f14d9cf6f5bb345f7c0f1dfef7cd259e2f5dce","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.13.1.tgz","fileCount":1054,"integrity":"sha512-ftbknhBAkxULaK3hjfq6C0+ZnVpBMEGaRwt0svAVxRF8CTK14/nNntszdPVh8TgLq8avQ9t9bOp2M4IhGGbNsg==","signatures":[{"sig":"MEUCIQDFIpWRYLsOnEEpMUWMcbiFzbHXmNc76zNcpDR7f7KrQQIgWk/DT4t75gh/SvL6jbIS42N6iB6flH8QqIs2M1sO4ic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25218514},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.13.1_1707452984719_0.27767115462697745","host":"s3://npm-registry-packages"}},"0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a":{"name":"@preply/video","version":"0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6d664179a3524b460ddd90fc6ae614e3ef326c0e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a.tgz","fileCount":1056,"integrity":"sha512-wJsxgFKNIjJy4LS2ATVU7VADQ/YwYK3ygovfvn7m1qHgL+65SbT1lkqfbCwMRWpY+NO3OWMMfmAjincUC6hZzg==","signatures":[{"sig":"MEYCIQDPJydryWpVbQ723W08v99F/81H/OMvpPxz8hmshPAWtgIhAMTVfjzzn935GzjdJq9jVz/jDVwv/NPbLgoQPaKLhG6W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25228969},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a_1707836776988_0.41037720763505026","host":"s3://npm-registry-packages"}},"0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc":{"name":"@preply/video","version":"0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"63bcfe4c5a418a783d78954bfbabc9a62ced5be7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc.tgz","fileCount":1056,"integrity":"sha512-4dtleR1ohrbxrAvS82clQRLDaUMxRl2VjLKuZ+WC/fODSg7Rb6fX4bXlTh6UrLNzkmUh11Bl/L282874pg7HNA==","signatures":[{"sig":"MEYCIQCiDTKQWCUz2MYsU9fV5VoKbXpVJWCeXiTosAF/nORwJQIhAKyb1edGm7OCJRm3C1qch7z2NoIYZNIyRHdhVC9rmkCw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25229842},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc_1707840625316_0.6010059693687391","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb":{"name":"@preply/video","version":"0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f9e71ce98e8dc478d4a5b88c684a5384bfa61f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb.tgz","fileCount":1054,"integrity":"sha512-22AKIgyFYs8kPjAkHV4x5oKbHWu7F3jDv3TeHHIZ+YGPX03AHQHdwa8/2gzNfuB7/MkzZz5ds2qr+uzAxOwbSw==","signatures":[{"sig":"MEYCIQCwskRrkStrqqzyDr1rHkr4hnC+vdlRPTUcCdbcata5DQIhANVioXcx4CNMILFexk1NUplNe/PEKMs6bDzPKi35dCmH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25223419},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb_1707844788003_0.16670497472049184","host":"s3://npm-registry-packages"}},"24.13.2":{"name":"@preply/video","version":"24.13.2","author":"","license":"ISC","_id":"@preply/video@24.13.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"587fb47950bed13f43cb2d12c64e27aeed5976ab","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.13.2.tgz","fileCount":1054,"integrity":"sha512-v4YtZm+ybjYIf0wEvggWrW/3B6BtcX8VCb/4Dtr0kji+EmlK7V/lp83Sy2n1NLeAYFE95TVgQ3L8ebCSXeOQLA==","signatures":[{"sig":"MEUCIQC8WBScRXe7CabjWonKoUPFtT6oBm5KdcH0NNB1pNswbAIgH54r9HJHq/VKZbkFgdutDTWgOTRJO7lfrP+kK6NKlVQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25221267},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.13.2_1707911279237_0.9260561770215996","host":"s3://npm-registry-packages"}},"0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b":{"name":"@preply/video","version":"0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba18c37332e854e3fd1a94d2d0e69f570daa8a6b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b.tgz","fileCount":1056,"integrity":"sha512-NoIocnZTm4egqv6pvNg7lP4kKlujLLq3+n9jnjSyUGBRM14hWRbpIOqH5qS9YR+IhmksfXctvPLATYZQVHplqQ==","signatures":[{"sig":"MEUCIQDDn323NWOuglN64fVSJd3YxI8A44fxWWfdRXaUg6iTrgIgdBvRv45zTsBHJi4fAqeF5lnPWxYFzdQo9YumdxnT2rA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25229545},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b_1707911830527_0.0016916493462211246","host":"s3://npm-registry-packages"}},"24.14.0":{"name":"@preply/video","version":"24.14.0","author":"","license":"ISC","_id":"@preply/video@24.14.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0b5afb92da706cb0b39d0737d0c030bfd56e602b","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.14.0.tgz","fileCount":1056,"integrity":"sha512-/us6SfvcX1VNTpoHHrx+oo+kuy3qTqftSZB0xRKes7B6p5UYw0SlLKFrnXE2AmXmAv5DlvUP8TDRk1jsiRPUtA==","signatures":[{"sig":"MEQCIFNOmOi1W2WjODpyy3A7LJiw/BElVCzGuw09LEMQ47gYAiBJuT+TExhCFGvTlSyaVNeLWeYfXLL56PzseHxknm+RRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25227393},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.14.0_1707918299213_0.7458381870392181","host":"s3://npm-registry-packages"}},"24.14.1":{"name":"@preply/video","version":"24.14.1","author":"","license":"ISC","_id":"@preply/video@24.14.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b270ae022e35f79af2d8c17ce9f0b563d00142e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-24.14.1.tgz","fileCount":1056,"integrity":"sha512-vW13k1HwqEsRNCQDZ1iLNV7Fw/FjbGAujzlNjz9XD6banl9jRBgbBWDbxgu/NMxEEQC58CR7Z71Z0afXumZPFA==","signatures":[{"sig":"MEUCIQCm0/rVtvLOzi6tJc3Pl7++2JFwGXBxKejHBDe63cFHvAIgLsiYKrOzdzFhutBtP3Ovyu02hEwt0MtJR9/z5fE+zis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25227274},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"3.11.0","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"4.4.4","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"16.8.3","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"16.8.3","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^16.4.18","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.15","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_24.14.1_1707925598868_0.693777173701702","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777":{"name":"@preply/video","version":"0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eeb53754ad23996057272103e48b917052447fce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777.tgz","fileCount":1056,"integrity":"sha512-C8K06M44wJK/dABtMhC8C73iB5Myf1m4o360OZL2hr2Gn3Src52uQ4qYX57mEN4+cunywp2ortUoXWbaX9oUVg==","signatures":[{"sig":"MEQCID9qcohbk1k/EmnZmk2Acnnwo76lXH5q2DlS208HT73CAiAJjPxSkxwVz/UMmxJdQOXOgSOxsj4kSCoTdAwkaYgEqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25239943},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777_1708340541425_0.3108088484481075","host":"s3://npm-registry-packages"}},"25.0.0":{"name":"@preply/video","version":"25.0.0","author":"","license":"ISC","_id":"@preply/video@25.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9c62bcb8825d37664ee6a844fb18d44969e79164","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.0.0.tgz","fileCount":1056,"integrity":"sha512-c3Np25tXpNQLDcy7YUdU1QQ9wrgwjJzQb2u8Vz6gVsXbs4BNEog9ViFx1xZu3zYeLsDKcaO1eOM6zz2QqkxlmA==","signatures":[{"sig":"MEQCIAcps485xIcCvJFROpvKneU3dy+iNh9KMeU1EGvdoMw+AiA8FmkDxHeDYAifWV8YWNaxktd8IRg5JUwPBINgcq4Tjg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25237722},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.0.0_1708351222052_0.12032094283767192","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0":{"name":"@preply/video","version":"0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ccfd892502b86cf7b8e7b70e26245a77659c9362","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0.tgz","fileCount":1056,"integrity":"sha512-/Cv/45xCGqq2RjM8kHmCCsBJyoHemaLO7mOygqTZP5K+3NxVDWC6H/Yej1BcMwE24JZ5qnzxD3wjwz1snuCstg==","signatures":[{"sig":"MEQCIDsdkNH8ObN7vgCcTYvfTgwSPcRJridqNeVdb9ph5GVrAiAuAc/TFtw2dA3BXgL2EVxfisl2OwrcE7ac6k8wFxwEQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25246233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0_1708414631835_0.37173030386552797","host":"s3://npm-registry-packages"}},"25.0.1":{"name":"@preply/video","version":"25.0.1","author":"","license":"ISC","_id":"@preply/video@25.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0d017d5631f2d193c00f2ec3a8a08671f70424ee","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.0.1.tgz","fileCount":1056,"integrity":"sha512-Mi9uHKO+/4xbmX2QvPq9AokImKF8/x5wwOQK+ZY6pMnY43h0svtRRyGLI7gqYGiRnocrJVL82yevC0KSUWx20Q==","signatures":[{"sig":"MEUCIAE0PLO4Q7vS+wpmxU/Ivv2soAniHWaCgHXKPlpdueyHAiEAz0ShxhvYt8RuSAMW/rNUdj8Yk2FeVoDV4raAY/fggf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25242652},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.0.1_1708433628111_0.6907697373846755","host":"s3://npm-registry-packages"}},"0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010":{"name":"@preply/video","version":"0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb46efb46090735b4721b520ce99894f3263a083","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010.tgz","fileCount":1056,"integrity":"sha512-f2+w6efy3WCjyHvMgbAIfS5GoESHxq3485jIDKX2qUPDB3ARVAcYotKynaL4J9nbxgQE0h9QCQHdqc6VCcZicA==","signatures":[{"sig":"MEUCIQD/uCojzHteAUgnriZwNc15k7hJ17faW6cGX2U6SRJ5fwIgcCCzAbpqtAC7SMiZhLdp4OqGxHIiYjfrE05/FxUBbDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25250714},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010_1708531345201_0.7909980284031906","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af":{"name":"@preply/video","version":"0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a56f0ec93b0ea369ce6098807c106e43bacb482b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af.tgz","fileCount":1056,"integrity":"sha512-ALMJFzZHc2+ZyjbIYCQyuVMl3o7Rg9ZBP5AYPeeQ8rkiObfEcWLjNIFXPdFbydgywxdT96o4TFRafCp/uc6thw==","signatures":[{"sig":"MEQCICIBdBUVpRiebu6QaPJ+OQeAzFP56i3IWKbBrbjHJ43YAiA3s0Tbso6bL202N8X45ZS25Gwl/N3NCIvSlS1eUCK4Zw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25250714},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af_1708595528318_0.5940338397505389","host":"s3://npm-registry-packages"}},"0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219":{"name":"@preply/video","version":"0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"172902c5a745a3b8bba0ac004e585ed3c18370dc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219.tgz","fileCount":1056,"integrity":"sha512-GFmbFdiNPljNx9cbWIqLoKw1WVRfzOxHagkfU+T6Y10RIcnxHjPDxYsXOYO0qDA9P90k3RTf4a4noPeJcYPctg==","signatures":[{"sig":"MEQCIDDXX50DAa9ZKTXaUTIkQbamsV0z1i5ztMR8C8Iabb48AiA/t/+RA9kbUCWLxOzJ54bfyNdlHY+1qj3/AiuNQP9bJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25283338},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219_1708600526106_0.15972494388442304","host":"s3://npm-registry-packages"}},"25.1.0":{"name":"@preply/video","version":"25.1.0","author":"","license":"ISC","_id":"@preply/video@25.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"12363bb6783bd64c9eed82a057790c3b017f1d85","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.1.0.tgz","fileCount":1056,"integrity":"sha512-lH5ZQoaC7UwsVeGTFBLzpUwmwwrgiezPZ+BmDN86tVWuATxeN8alrbfxZjwPM86UYuzblKMvskK4zTEApHUJLg==","signatures":[{"sig":"MEQCIDJIa9fo7r9f4EmUmfHRQB/s4xvdF7f+Q+pOPlvYxniZAiAwmiV5bQ6isXCCZXJL3Q+v8JWQlUjDP6zuk5ZvrcNzdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25260090},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.1.0_1708601153612_0.3154518548889924","host":"s3://npm-registry-packages"}},"0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d":{"name":"@preply/video","version":"0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"205bd6c8c52737dfc55ebd26c6e5995d74acf250","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d.tgz","fileCount":1056,"integrity":"sha512-Uy9csh/AswFf4ZjDPzP1gXUBPMZh24EmVM9qB5YMLG3w5yuVVchYzu7WU5d4vGCq4cDsTUDEC75WTqBVIp/mkQ==","signatures":[{"sig":"MEUCIQDD2Mk7C8TTdGNVfZlJhBGfpzjUjrv7hCHYZnYhHk3JtQIgSCu6yuYCd/g+O5USUBtJZmQPsXtyiELoEsFVYG4P/UQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25274390},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d_1708606175302_0.17234478723184732","host":"s3://npm-registry-packages"}},"0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392":{"name":"@preply/video","version":"0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"786eb5a3653393648e4fd325d63b2f15ae2e1127","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392.tgz","fileCount":1056,"integrity":"sha512-BspTci7nvYy1lq3hIbdMkiv5qf1EV+pCKm/xvQkaTAqVflLPmnWXB4u8pKEUA8MqgS6sIwj7jeKNCNV831C7Vg==","signatures":[{"sig":"MEQCIBUFssxa/H9WSOTI9wdxunlXZ6XTR+TdKHPX+Nw4JQnhAiBHw09v2mNuL6P3/YpAbCKfGyanMe5ssDUJClix0KehHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25293054},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392_1708610573986_0.808802803358317","host":"s3://npm-registry-packages"}},"0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b":{"name":"@preply/video","version":"0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"658ed0511350db3db60525d2d0b30156ae96b264","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b.tgz","fileCount":1056,"integrity":"sha512-T53oMvsBuMgaGkzDTK9Fl3BfnyYOhSBuEy3p4bfonaCbdyoxtJg/yi2pgVpuQzdqQXoT0+cQEkm6VKz4jzs/rQ==","signatures":[{"sig":"MEYCIQCwWJb4hjxpQ8EqEM1QnHX2l/VltEgFfH93FEjVtiVCAQIhAPKTI+FQBbWTsSBcEE0t/VBj+39KcpsWfmFRgKK3fbuJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25292952},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b_1708613867059_0.5856428867659107","host":"s3://npm-registry-packages"}},"0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299":{"name":"@preply/video","version":"0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ba237bfb8f60e62a8028464381af33b6a48c0058","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299.tgz","fileCount":1056,"integrity":"sha512-ENU3YTZEdcKnp0p58+o8Yw6VTJZjthK0pk1qa60nXNk+ufEJhEfphD1+awGZDobtrG4/RFboZmLQofP65JqWWg==","signatures":[{"sig":"MEYCIQCYuA/zhvFyh+00lbcNEhNYxE5bOoV5dS6QwOvPDgblAAIhAI5hTBs/jpkw5iq7M4kxzXlsXXz+n1O5geIudt0uDCMj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25291927},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299_1708616632537_0.9375126484997209","host":"s3://npm-registry-packages"}},"0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90":{"name":"@preply/video","version":"0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d69878c08144a52dc7eec1bb7018bbcde4b33005","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90.tgz","fileCount":1056,"integrity":"sha512-1YvQ1lknQjIDdYtoKDe2oqz7nbaZLkegGjN/5WJ9DSTowvWaQLlI4ETucEuCX+77TF1UCIGQOtqKlmaoVp+NKQ==","signatures":[{"sig":"MEQCIGcNCTUshwmv85eOIKqwOTCp6l/2oTYUL/QDRBZXUsFuAiBuFo9eBqTjD6/TLX4mKdB+ykAcCXVXrUZv6xnqvmhOGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25245694},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90_1708617989819_0.1784891944579754","host":"s3://npm-registry-packages"}},"25.1.1":{"name":"@preply/video","version":"25.1.1","author":"","license":"ISC","_id":"@preply/video@25.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"514f122ead1a887191bb93c72a9cc8260f6f67f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.1.1.tgz","fileCount":1056,"integrity":"sha512-Ef1DNSkhxyadTyfNaAcPe1VnlMibPqRPKc24+rfWjSEbsvv72SHp2AUkCXE9EcvLCcw/NNXoUxS847JR7EnEAQ==","signatures":[{"sig":"MEUCICu15hk4OfzOpP68EyLYXdsnaZAWk5xG0Lei5nZUvGQQAiEApbUMM1x56eurOx4KtZ3bqwGWZWsjDJKVMdpbKNNSvXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25309161},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.1.1_1708683999042_0.29394006102856785","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75":{"name":"@preply/video","version":"0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0bc99f46b99463778c9d2d0b5fd149ddaee9b1ef","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75.tgz","fileCount":1056,"integrity":"sha512-g1AoLsxQ5chjZ20PkMUiXXHq4OnRp++bI1cyrWKbweRV0HRyscTsF65eo68Wv8iwWXdOe5qJ9G43axS0kCduUQ==","signatures":[{"sig":"MEQCIGwDTqXDDOkvv2xKAy9U/BGlZOXF4gsQhZeUqqap4VyrAiAo31FBxN9v2yzGDmd1oFGmWHzPU4Ir50oe9xxrdDbTEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25326615},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75_1708685513536_0.821942621149987","host":"s3://npm-registry-packages"}},"0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809":{"name":"@preply/video","version":"0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e01eac722263d586c919311fd5ce5c3bbda62041","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809.tgz","fileCount":1056,"integrity":"sha512-IJirXEfz6dA9ZSzc3QbISHJgb3SvtwS7jMhaVeRb7+iGC9qe/XFZ2VnQ6ba8W7Upu55M9ctaKXei+OQojXxEEw==","signatures":[{"sig":"MEUCIF9/LBQ+I9MrmUznU+rvmJTm+iuoGno7L2XW+10aO/UxAiEArUeuxbATlVOpdO6wib1ULY1wscbBv2XqIZV2ii1867o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25326615},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809_1708687348871_0.6179652487448515","host":"s3://npm-registry-packages"}},"25.1.2":{"name":"@preply/video","version":"25.1.2","author":"","license":"ISC","_id":"@preply/video@25.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3dfa83093b558b89e3ab1fbcabbc237c7846b30e","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.1.2.tgz","fileCount":1056,"integrity":"sha512-nC7ReMHeXYMvZJxp8fE/GGL9lfHsqnieEw485qs+o97l5J/PrXsBvSSVYQM21KWDI6vyLdK/ipUk1R1TwHnTxw==","signatures":[{"sig":"MEQCIHnLaWigGcyOuFUPuUYijw7VECI6f8UnWQOqrvPU8kFFAiBBeIxjD+JYDb7IvHNKQMVnMUd29FTPd53vJRpA/HqeiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25309875},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.1.2_1708688980847_0.43104636067226565","host":"s3://npm-registry-packages"}},"0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec":{"name":"@preply/video","version":"0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d0863ce7ac5f1eadd7425a49d9fde245ca655e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec.tgz","fileCount":1056,"integrity":"sha512-mrGxTYkD+1XlbeJubojLa189OBVeqPHMZ01q4uXNRPpW1fbEbLzxBWyII1vYYMohGj6Qhz7adusvXV9Nq69P4g==","signatures":[{"sig":"MEUCIH2YcunRW0HWlEdYvyBMRJoNyosICN30AjNprqQuiX0eAiEAyOm2veFdfL02MkcNJWfIGf/dX6zxjkoWiI+oQU8rdqo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25326615},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec_1708689520191_0.9150853471717928","host":"s3://npm-registry-packages"}},"25.2.0":{"name":"@preply/video","version":"25.2.0","author":"","license":"ISC","_id":"@preply/video@25.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"08b62bbbbf5ecf880ac99e16294af5b6c0141c7a","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.2.0.tgz","fileCount":1056,"integrity":"sha512-l9dwPBrpBMDoZ/r8qv6FTCnTlWGeL7PvMfk1hNdJ1Aw0IUc2QBRsBT4yueTNVVrV39AaUq7dYS3VoLwOXo7RGA==","signatures":[{"sig":"MEUCIA5H6XLSTdiBkgzLQOkV2ADglp8mYAqU6J3TZxDb51nZAiEAq0a4AxCd1zf60wnf5LR9pXx3qErpsCWQMuQzlMalf54=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25278875},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.2.0_1708690175882_0.9834677096036601","host":"s3://npm-registry-packages"}},"0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e":{"name":"@preply/video","version":"0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"995fa1b1074f3a85aecb4c5f3eb7f6d16f4fee37","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e.tgz","fileCount":1056,"integrity":"sha512-WQpfYtwZRWHgIv7Hs7yojxjYecNmDUuitONlPunp6M3heEEwoMyozZP5mxsXLEulIG1eNKUlCoVaqDlT0MVgkw==","signatures":[{"sig":"MEYCIQDMRelReNUk4sB4u91ilI8AKwjCgn/i5uIRx9+McG8eQgIhALK5+CiynjPnmNdOHsSFU3YtIB5rQn/asBsGiIZkchGf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25198310},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e_1708697642305_0.6057381300173932","host":"s3://npm-registry-packages"}},"25.2.1":{"name":"@preply/video","version":"25.2.1","author":"","license":"ISC","_id":"@preply/video@25.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee00531e8f9bea1feaa0611d4408471f08e9f2db","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.2.1.tgz","fileCount":1056,"integrity":"sha512-yYfynRsNSyLRCG4RpXFNR9FPxvJ6q0VsrKuPpDvlLKPOXVZfSPO0YC3X6kTiCF116ASKt6aVj6FtHpVZelXmSg==","signatures":[{"sig":"MEUCIAob8IwZGYgppphz2uUbMb9pZIMzndhr8gLUpypTsUyLAiEA78KlGmfnqlVXq92fd4ysHB+4+iBERiCMeY9IXaqU7vc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25199011},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.2.1_1708703641755_0.9637246350671551","host":"s3://npm-registry-packages"}},"25.2.2":{"name":"@preply/video","version":"25.2.2","author":"","license":"ISC","_id":"@preply/video@25.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4d1b806d25e90efd48f4309fd799dee3004f7521","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.2.2.tgz","fileCount":1056,"integrity":"sha512-yLWwywP8dPlTGGJxHvsjdUfffjrm4r3jTHFlvRhKM8CFnugn9Tphegy9YifDdELUOax+3qRR5h2sg+bZel3m3Q==","signatures":[{"sig":"MEUCIQDhS8DYX72WKtQiz4M/5SCB09lL6+7Q3i0G4C/dVuYAoQIgJ7Og9e1ZxkBZTWaaBUAp5S5cqy/OFYyzsb+tZalg2Vw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25315502},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.2.2_1708921272041_0.35413778726820055","host":"s3://npm-registry-packages"}},"25.3.0":{"name":"@preply/video","version":"25.3.0","author":"","license":"ISC","_id":"@preply/video@25.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff367c79cb68290298574c1e9f9ab74ae0f13bb0","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.0.tgz","fileCount":1056,"integrity":"sha512-+QUPLeWRDcfoNl5zI/AwyW2gSWLsOSNhZpluVYsSDuU6MT2ck8liiNRXXaftmQgyODcyI/CAzsEBhJtO2eiH9Q==","signatures":[{"sig":"MEUCIQCajhVP5WQMXvHu+YlYw0wZVXqhBXWpwb36VvLuPYJfbgIgW/H+ORvY7vtONfzvZUuGs2Idkx1jO16cV4Uh70bo0WM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25318006},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.0_1708936432681_0.16037979070040143","host":"s3://npm-registry-packages"}},"25.3.1":{"name":"@preply/video","version":"25.3.1","author":"","license":"ISC","_id":"@preply/video@25.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2d4f219981d0b78692639d251dae99daefa3a856","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.1.tgz","fileCount":1056,"integrity":"sha512-OnKQ4pjCfSWmHaFMdA06gdeCnl/6fkvc+u/lq34Iz77oPQ2R2A4oOu5zHFKTEPJZxS+9wpxHoh1SdXQqCGZVdg==","signatures":[{"sig":"MEQCIFIwCqW5W/ABvQHIPUeGMQa+7V0YJWYcO8kfsBxmjPSGAiAfXuNbv4GnDTiOU7LJnqTsTwH2OQR0j8Yq7ATFBx1dkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323147},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.1_1709007846468_0.564391270348531","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4":{"name":"@preply/video","version":"0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"31a4def9ad5f0e170009033dc15f7107ddb7d947","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4.tgz","fileCount":1056,"integrity":"sha512-OCjsKk4faVLa6QIeNuI4KpBVuMPoms0yRdykifAU3u1dP5VFCh4OGUc60lVz4ozN5KZLatBcQRUtFprHpqsE4g==","signatures":[{"sig":"MEQCICFsI1IWRDA3zX9F1rHAY9LVdnDauKy0fIOxyZ5oTZhvAiAkM82mQYmyyNNeTXOps4X64VzcP4KW8FRx9RGgTvWqsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25324703},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4_1709040168015_0.9874702116700269","host":"s3://npm-registry-packages"}},"0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b":{"name":"@preply/video","version":"0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0cc8920521e0cc5ad5343e9b1f24aa05b80cc00e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b.tgz","fileCount":1056,"integrity":"sha512-dUQHaLCJYeq283TZZDw5YYLkr23UWw1uSvBvi84RYLI9ty/sW49rTo9h+MLDp7RWko6/RBeLbz4tk8BXlgASzA==","signatures":[{"sig":"MEYCIQCrAMXjdf/905jdOJ5c031FRr5MyNwMYWgJBgPfTK83+AIhAMnIGZjHbL1wpGeQrI9Pl7pre1YD1opP6bkhuBX758Uo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25325196},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b_1709043833225_0.32783958042921","host":"s3://npm-registry-packages"}},"25.3.2":{"name":"@preply/video","version":"25.3.2","author":"","license":"ISC","_id":"@preply/video@25.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6919844c7433e8ac5bf5c8a13d566751f777f1a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.2.tgz","fileCount":1056,"integrity":"sha512-595AapZhVU4aaO38ABMCnXM3eqyvugCdWRe4250ryRfKSnrLl4Qngzegki0dMSu5ZQwX+krTmLQ0q50AZcXtYw==","signatures":[{"sig":"MEUCIQDfQBWV6AHLfZMqTxKGs2ggpPoMAQWeDQ8Drly9PB47YwIgPA0D8NEyenhn9DJ0T4nTXKqtZRyodWDCE34t4Px6BRI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323057},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.2_1709047313436_0.35390664946488015","host":"s3://npm-registry-packages"}},"25.3.3":{"name":"@preply/video","version":"25.3.3","author":"","license":"ISC","_id":"@preply/video@25.3.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71b7fd1e89c0c9d87e8cb9c63b8e06403da60bb1","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.3.tgz","fileCount":1056,"integrity":"sha512-BA084Mt21q8rQLMSQVQjHzB5d6cemAEaLTsMRK3RqwSiBvZgKFSF7RKitP7XlzXPBbp/hfiD+t8gHXQ37jM5Jg==","signatures":[{"sig":"MEQCIFvxSwIUZFUcQ27brKCDwHfukvnKUy7V85E5EwGTEBoGAiBhBNz0F/BknNrVExvodAcV3NNvYOV5u8G79S8LvbORgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323940},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.3_1709052088337_0.7083649184435981","host":"s3://npm-registry-packages"}},"25.3.4":{"name":"@preply/video","version":"25.3.4","author":"","license":"ISC","_id":"@preply/video@25.3.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f38666991200aaf9a5928850abb168f1eb7a979e","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.4.tgz","fileCount":1056,"integrity":"sha512-aCLQACatLTW/fG+hMXEEaWs6At44xlOeptdOIX7tcx6vAohz/GgMt6shWf5IGWXQciAejRnFoXxRSUUxS58OuA==","signatures":[{"sig":"MEYCIQCXZ95JRlk5OYWd78QNj6az4J3qKxlognxle8kR+H9VqwIhAM6FnCbVxpnmocq5wGUqV1SiOw7wZ4uZNEOwdMw9OnUA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25323947},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.4_1709093488190_0.49853988072580235","host":"s3://npm-registry-packages"}},"25.3.5":{"name":"@preply/video","version":"25.3.5","author":"","license":"ISC","_id":"@preply/video@25.3.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d7e544f2362d1a211a0406a9135ae02b4ca4f600","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.5.tgz","fileCount":1056,"integrity":"sha512-vG9cgw5fDJvg4uRdi4Czl9FTqHL5ekcT4RHOtG12uAkSQDe56yqW8ilwb96e+OW1F4HnFpue1eDedv2i9/y64Q==","signatures":[{"sig":"MEYCIQCk0QVMXw1oY7fSA7BfXLsSIPqjVWvusLte4aXrhvVmcAIhAJsNnK4WKvRF8BXV2qn/oANpTZEcY3RLeVOISxPaDfcA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25334162},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"^3.9.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.5_1709118312836_0.17482060832758384","host":"s3://npm-registry-packages"}},"0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39":{"name":"@preply/video","version":"0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"010c482e970171c2330d0f15cac6e492e4f4c02f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39.tgz","fileCount":1056,"integrity":"sha512-Nm4eyl27JIrh5XfUM5mRpAwUcIMq6SWAMkDlvMaMn1gAEzGjVp+Wtf+t+HUXihL94vqoQ0mN8gCh4Tx79nij4w==","signatures":[{"sig":"MEUCIG3PGy77D8EFxxvclpYd4lUDpzgZzH2ek4yGJOowzL5fAiEAkRk4tPJdm8MWqM93InI97zvLVlqU+0EzdskHA08ab8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25336481},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39_1709128726966_0.6240995611495048","host":"s3://npm-registry-packages"}},"25.3.6":{"name":"@preply/video","version":"25.3.6","author":"","license":"ISC","_id":"@preply/video@25.3.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3caa69286bf286be69727dcc6c8364d333513e1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.6.tgz","fileCount":1056,"integrity":"sha512-5ZA6tW3k+dQTX2TzDnpxTWdkCZ0LZ0Kli6W8djGRtgPxTGQDIntaf4WpK90rWwMZ/IY1OGO3SGaZQlzH1gt2UA==","signatures":[{"sig":"MEUCIQCvtMbMDBSm9HoWfIGm6szh+GDuJ2Uwh/+R3y+PzoDfkwIgUsDqra3ew7tStAEsUy6IB07N+cFwASPvNFEiEQUozJQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25334260},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.6_1709133466222_0.9757887266062841","host":"s3://npm-registry-packages"}},"0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d":{"name":"@preply/video","version":"0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fcedaecf0e78990dadf10275c6b5faa0c81c5a71","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d.tgz","fileCount":1056,"integrity":"sha512-71PCyJRK92xjDzvYOd4KEJZyEXCtXx8Z1FY6SWisQVaTLunNEFCg8r/BZEUyYJAo38eJ3ntJpV5YeuLdL8q/ZQ==","signatures":[{"sig":"MEQCIBRuvg8Aab/xRX0v2DxwU0yoYoSJlsSxGVdCncGQ954KAiA6i6RMZzxl7T0zuyoe5fldbo7osOD5fUwf5FarSRMEoA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25335761},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d_1709139420198_0.8216688464949553","host":"s3://npm-registry-packages"}},"25.3.7":{"name":"@preply/video","version":"25.3.7","author":"","license":"ISC","_id":"@preply/video@25.3.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1f3b3d967d6e2cee844690abef4dc3f9115eee8","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.7.tgz","fileCount":1056,"integrity":"sha512-URPZsorXWKa1DoT/TaTkR0DO08YawmzbHw4NcMwb/TlLRE+gP9rQVD8b+3hbfxWh6v8BxEJZIq7dK1nX0LmbsQ==","signatures":[{"sig":"MEQCIBkoqmcsNOizz8XXCvX6dlwrXNI3VeLMomhvsm2bFsNVAiA0sXs51mCbNR0vExiSRiI7Fb1YsiqVmK0uGCRCI0fFrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25334316},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.1.3","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.7_1709180673581_0.08033318477687623","host":"s3://npm-registry-packages"}},"0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177":{"name":"@preply/video","version":"0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"852ed2a47858b87a2a6262fab686e07b0272d112","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177.tgz","fileCount":1056,"integrity":"sha512-+5JlpINLudpQSYaKeZn5MKHpxxW4b0wN1sl9vpYxjwgmJrfIov3JHqtq456G7iqpTpyOZlswBlwvMObzSqqwDg==","signatures":[{"sig":"MEUCIQDI4cNqdtpDdog7GYDXBdbEJGVf65xvqQwWm4ZolgZhnQIgOOXfn6bgYe/sJYcAJAt/uw3WzCmUNxA23LaTGPQSJEc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25335761},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177_1709199168332_0.5712512827876106","host":"s3://npm-registry-packages"}},"0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8":{"name":"@preply/video","version":"0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"93ba9fa2862fe6bd08e585a5c7d9d19d0f430a6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8.tgz","fileCount":1056,"integrity":"sha512-2ORj5iP9vSO8VrAfO6DYsGMQ+Qgqzhqshfk1bprgoRM4LMpYAXFgR/qdZ3GzwqhQnGAkRfFXgPDd1tpw9ryDRQ==","signatures":[{"sig":"MEYCIQCwtq7qs6HmMzzgm/xJCbsduCDgAdk8VQ/1dIFir6+qawIhANAM9bYfw6hZTrZalRlknQzjs5APLbwWFqLbPkDrI1/n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25339190},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8_1709203350348_0.284916828542088","host":"s3://npm-registry-packages"}},"0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699":{"name":"@preply/video","version":"0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e5f98b0a893abdde67d8dd93f9d30e5c2ff3b1f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699.tgz","fileCount":1056,"integrity":"sha512-cVNu860Ii+oK1CTYzmz2q1gGsUSqmvz5ASiq7jkLWwbvdsC6Dmp9eH3kXCX6myGW/hkwXealcgm9Tlnq7ThTIw==","signatures":[{"sig":"MEUCIEeXCcPEnAfoAsSF1erR7cuR6z6XIUFc86gIfeP/MZRPAiEA9Jb2vdAbyNrVzbLrzOmIZcYfARZedVl8bUl0SZXOPWU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25335816},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699_1709218194097_0.4934967269147401","host":"s3://npm-registry-packages"}},"25.3.8":{"name":"@preply/video","version":"25.3.8","author":"","license":"ISC","_id":"@preply/video@25.3.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"31cefb9ab2363f982378bf5dad60e7426eb547a9","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.3.8.tgz","fileCount":1056,"integrity":"sha512-lF/UQNsSMeeGjrWfoFa0UW9D9eHkXVattySuUBuVRs0+PCYi8CPlGSj9m+vIfrmvnL/kDP5SuJwogD0Xrxfrdw==","signatures":[{"sig":"MEYCIQCh3HSmfourn6r4soasEqPbx3QbkHatbivMkl22kufaiwIhAIA1U/C+IyxxQQX0uvoEAHIRIfA9JKf4+dykqbeGpfLh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25334601},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.3.8_1709526062138_0.5778590403926767","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8":{"name":"@preply/video","version":"0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fe24c0c53ffea90103646a02db5e7d5e798443a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8.tgz","fileCount":1058,"integrity":"sha512-mQsbRnvgyDVXB4Qjct2/wzETtorcoEqXTtxq0Ph8RbhbXM9KaAoDRmzm2WstvWr3wMNpZnpf7nisicBKg0oCVw==","signatures":[{"sig":"MEQCIE8JMOTsMOhPKDiBO3PdZzC21wmWO/qdfRMijRnrDb0hAiAFYmDiRanKj8KUz5q6KhKgSimIaIfnw8akN55l+MpuTw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25365171},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8_1709557279155_0.21703547036301618","host":"s3://npm-registry-packages"}},"0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f":{"name":"@preply/video","version":"0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eeb8542bb81c6962ec2a781402729874e55e359e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f.tgz","fileCount":1060,"integrity":"sha512-tW206l2dqjKJjd9EIvAeFlZVM2/hbiFZ7hyzZkbPdftutGw/H7jgagbnT77xW2FYqGFsoXnab6FylavNGiDYuA==","signatures":[{"sig":"MEUCIQDsK17G1hdCyB/ZhE10GK1AquNXTWJeE+cjoF35v69rsgIgbhx1sqUEEuy981fLRN6hnpYBVOwtWbGo5k37JaVuOQs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25362679},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f_1709657167004_0.8954030887843702","host":"s3://npm-registry-packages"}},"0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6":{"name":"@preply/video","version":"0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92f58e4c5e776a55828bd208c94053fa4bb4a38b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6.tgz","fileCount":1060,"integrity":"sha512-QLvhVgxMZIJHFHY9ZWv4Vm0iGAWU9lggvjGp16DHxX7oW8pzmVOuA8PRLuwdcwsHo5mZ9Wlj+gOObegQZv0WIQ==","signatures":[{"sig":"MEUCIQDAC2CiiVLA5cWF1P5W2KjIp9haSrrti+TOw1hYZ5PSrAIgbGxH8vTSt63Vuukc6dS+J3OQaBQKjni3pCV0/2A1CA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25362475},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6_1709711737326_0.36845947107262833","host":"s3://npm-registry-packages"}},"25.4.0":{"name":"@preply/video","version":"25.4.0","author":"","license":"ISC","_id":"@preply/video@25.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c1bef6f81792469ae2c292163aa48f5278bc103","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.4.0.tgz","fileCount":1060,"integrity":"sha512-t7c3KK22Bo3j7FaCwtIZNbuKtMWT3ONLpmMNY+EJxGFkN+un0cLkmNf3otbm0bloEG/2JANII0YQ1GTM0ua5JA==","signatures":[{"sig":"MEQCIE/9Q1A0cXT4o1YjEJZYobE10H8VvPKQejNyYMpPGo+mAiB+4LA0dP6m93GjGkb5vb1T58XUDbw/cXZRF2qlmCOu0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25397689},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.4.0_1709806909799_0.8273891192071003","host":"s3://npm-registry-packages"}},"25.4.1":{"name":"@preply/video","version":"25.4.1","author":"","license":"ISC","_id":"@preply/video@25.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f65b4f44e067c99e9c5df8d983082429c83b6153","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.4.1.tgz","fileCount":1060,"integrity":"sha512-TY+9YPHuzQYiFj/AIG+Fu0ln57EV7+Nyh/cfnbLyohfwS8q/UmnuUBokumpQjZbk8qIqzxElYbobZGeWjtn+vA==","signatures":[{"sig":"MEUCIFvX30Poz0HracsNtUZN0aWTmj11DzlkT2yS/yqHs3aEAiEAnHsjI+jBg2LU+YMgS0ZQ7vuuSJ/UQyyFAhuUcj7NQtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25432037},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.4.1_1709871602063_0.9900025380756723","host":"s3://npm-registry-packages"}},"25.4.2":{"name":"@preply/video","version":"25.4.2","author":"","license":"ISC","_id":"@preply/video@25.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"127db99f74707ea398ac85d857a7fdd99e01ca9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-25.4.2.tgz","fileCount":1060,"integrity":"sha512-gHEyrDlT+Kx9pHMiuFqcZaCSOwcph9k1RFWjqCi7YeuCdyamjDeoQ9GvF3dLrMUhX30soTwIQ+2qWQOMUlgjhw==","signatures":[{"sig":"MEYCIQDiWTImEnziUZeEsIxQnL5iVXB1q1vJhlEO81fQ02IvqwIhAMwKxZYTYc12xvErAKMpaGw2622NR/gDkW9ejFUaT7Tt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25432036},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16","react-dom":"^15 || ^16","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_25.4.2_1710130745065_0.1978733113787472","host":"s3://npm-registry-packages"}},"0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16":{"name":"@preply/video","version":"0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"693bf9ea2982480c85db67db2f04182760574cdb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16.tgz","fileCount":1060,"integrity":"sha512-70E5aDbaTbpYqhpxw8wJOgrNDyvZZIlhasCEUs0xz+o67HzUcRDEPWDFUUV6c9Dy8dCojJeMi2EL3Udx6yBl8g==","signatures":[{"sig":"MEUCIQCsDrWSsBUYPKTZfSpW2RBAQU/Eyck4WQP03aXZZ/BxhAIgHQVMFYgi7NPANyLTRC75EBtqSH/7Tjt1X/LfdBOdTfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25456117},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16_1710335021182_0.11566142381755373","host":"s3://npm-registry-packages"}},"26.0.0":{"name":"@preply/video","version":"26.0.0","author":"","license":"ISC","_id":"@preply/video@26.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c7a378022b5ce1aae2446153b9e46b6b555077cf","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.0.0.tgz","fileCount":1060,"integrity":"sha512-tB26ECqBLXV8EF/A92OdpE+cj+t9+ZPZ7MeGfNfD1UMY0xE4sNaoru3q2C9RiYFFYFJt2kbR1NRCIpuavy2TIg==","signatures":[{"sig":"MEUCIQD9EDbQUXRDScVR3djf/8c/GGKmMC9WdtGn+VU4/6tR7wIgGtC0NVdfSz6s1lLpyuOFojiqVpa050Hqc+MNxIP/t+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25453623},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.0.0_1710339287635_0.8884265250834944","host":"s3://npm-registry-packages"}},"0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3":{"name":"@preply/video","version":"0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"73845b0dc6eec4334ad881134f8f3770b22535dd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3.tgz","fileCount":1060,"integrity":"sha512-+n3+ZnVEmv7iXDHoxokm2MLYEPPQUN4UBk1DodBbeP68pZdv3v3Ax+vi7+FlwbeHlR3CYaGAOqG85GtwBPeS7Q==","signatures":[{"sig":"MEQCIAJIn8PZclQxYhJ/higmcLV28rOIlLEIhD+GCaFzd4FDAiBgSbBsu1DG5fjir3K+/qcpXnffWfQLygdF90cTLLpxwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25467295},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3_1710410977773_0.28052757515552784","host":"s3://npm-registry-packages"}},"0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b":{"name":"@preply/video","version":"0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"94b1ecd25061ff20ecf3c33cc441bb29d6fee0b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b.tgz","fileCount":1058,"integrity":"sha512-Z7WESjXYBNDpO9VTIeOPth/QxYXKfQZsrJFcJJ3uMtv8tWS/hs+Ek4as1DfrONv694lE5ckdbbnZH3hmZwO4og==","signatures":[{"sig":"MEQCIGD17UL1cfS35Uycaztnk7NPIpMMesz/Hy8qW1ZA6Oy5AiBF20dS/bcB/n9PqFWnSt6HKtcFhsqHPpKm6+eDcrTraw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25430108},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b_1710415113534_0.4151682337856757","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489":{"name":"@preply/video","version":"0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9abde2628806dfcce38ff0add89e4746b276271b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489.tgz","fileCount":1058,"integrity":"sha512-YbOJ+cAh48kuRZjqrdH8h3dPaxKG7TfSl+dTlU9d2fIZ/KtzPILNmDcFSLh8hUmKSMAaOVpAn2mqBd6yfoEuMQ==","signatures":[{"sig":"MEQCIExt3TqQNZiRPZ/zzXr3LDdq6jUTuyktjsCRHg826VyWAiBGXbGtxcqrcRguBYylmMTLEXMJaTbrXLlupeLyPLsLrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25430108},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489_1710417997350_0.7996721934016031","host":"s3://npm-registry-packages"}},"0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a":{"name":"@preply/video","version":"0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"468085c7e2cac4c7e62c62f60ce0b348557bcdf9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a.tgz","fileCount":1060,"integrity":"sha512-vFo5l3CcACZXOcAl0XKQ3VF8ftyIk8rnj0Wx8y6JvQywugYjbXx01Fb2apvVKfR2yJLTZjFDH6tZiKJIC72NIg==","signatures":[{"sig":"MEQCIGxrbRjt7bpYX47nahUavxbkzhyfkSjgoq1FkJoh4cSTAiABQTDSHCK0M9rkDQEPJdW2c2eBq5lYzdV/iLN5Mj+K5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471134},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a_1710426182914_0.7194373096858668","host":"s3://npm-registry-packages"}},"0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1":{"name":"@preply/video","version":"0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bf1d94cb0da49874e80171e2e944c9f406f20dba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1.tgz","fileCount":1058,"integrity":"sha512-6jUXDscq1+nNDOWzP7Rm1xNgdJN3HBBraHbEw41k3jiyv9NgQllTYhI43kAzfk5krc3eKM5NtorcdK2tP+9uAw==","signatures":[{"sig":"MEUCIQDd7dzN2YxWimswfVvgukSKKuaXPQIv/jx5Q3YbpJcUKgIgAo9ndmly3HRkEFXI0El73fOvO2/pdv1J94PjbqIqspI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25430669},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1_1710427413362_0.24586646622883968","host":"s3://npm-registry-packages"}},"0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298":{"name":"@preply/video","version":"0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"81269ef4b78e8f4dbcb6218e66a5614a3d5d90de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298.tgz","fileCount":1060,"integrity":"sha512-7Hpa92QGeT4khtavM0F83BYTOYoeJ7Og3VDrIyztBFwdjIROJp6fO0ZaZhqS9QzxfJBO2SsdKGL3oRhov+6uVw==","signatures":[{"sig":"MEUCIBqWMY/eDc2wG2rgwBOzrLZpPD/MpBd/YSptcpZS+p30AiEAzBbcUuQJ3/TgHsD/D3R4fQo8PXrpkCf9VjG8RvIYrrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471134},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298_1710427942912_0.5814696776430746","host":"s3://npm-registry-packages"}},"0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c":{"name":"@preply/video","version":"0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c0e6eca91bfcd4f2b5dfca21b6ddf5296f784fd8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c.tgz","fileCount":1060,"integrity":"sha512-PkOa/ljhDSJqgYt3CqpavXVpAxQgDJAxjkhrKGAeqsmMPnV/e+POCW4opWksIhkprxvggVFZ00MewK5BxCdYGA==","signatures":[{"sig":"MEUCIAjY2C2TBIrAjjNFpAkZki7ENiZw1v6BgiyFUNXJ1dXoAiEAg8GUzs1hjDuuNDyUuMezk8ZRsIfb00qvTC+d9NtjpEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471367},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c_1710429398007_0.4623619312656473","host":"s3://npm-registry-packages"}},"0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f":{"name":"@preply/video","version":"0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eaede095331f664daf030f9beb3f5d109ff292da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f.tgz","fileCount":1060,"integrity":"sha512-C68ad900c+i010Hew9nztj9/xprK2Ul07fs3WBE+ZaPOW6aiyUpe6nwKjoK/EsRX8tOIVH3ApFisXJhR2BhsAg==","signatures":[{"sig":"MEQCIH8Dn4qWyvL8dBnzhoBLFDeMIbDTRM4A4y3IOhyhPzO/AiAVzqzMiJ2KqptSnfD1wEkCpMuWTTtD5lc+rTZObHGlIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25465615},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.83.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.83.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.83.0","@preply/ds-web-root":"0.83.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.83.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.83.0","@preply/ds-web-core":"0.83.0","@preply/ds-web-root":"0.83.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f_1710430544573_0.20406321714342934","host":"s3://npm-registry-packages"}},"0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb":{"name":"@preply/video","version":"0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f10bdada6af87ca3f63d2495a06175644fbcdb92","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb.tgz","fileCount":1060,"integrity":"sha512-FDhuBrKuahJAYM+R/q8tiRAAG46APTi3iZrqqs/PDbyJdGzV/XIySjEW0Bd6BdcdcdnYEIZNQlzBJ2yahgNrHg==","signatures":[{"sig":"MEQCIH8TR569F3BUg0pqESNUZBoWaJ4Q9YAjzsM7QWeBWXATAiA7RZ4VfSIo4Ti8as5vlq1j407NiEPuT+1sHNYqCoC0GQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471367},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb_1710431263831_0.7128112158335869","host":"s3://npm-registry-packages"}},"0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3":{"name":"@preply/video","version":"0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8bd6bd9eecc953e2e91a207f38089a2a9749f531","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3.tgz","fileCount":1058,"integrity":"sha512-gNRNF4EK+pcf0O/NCGKxVkhOv6Qkk+hpm3pF+1/nEpjqgPDJpZ83elUrRZSiut36ToKabuW4xpdc6EFL1AIAJg==","signatures":[{"sig":"MEQCIEMrGbVRbcC4LGPe94BMOyExDBKnki0Daa2L6xtG9kQ6AiBw7/WrmLme3fKrg5eXRIuzIRw2tRwxp2soPALbuUq0ag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25433360},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3_1710431811828_0.5801446898583398","host":"s3://npm-registry-packages"}},"0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd":{"name":"@preply/video","version":"0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b229f292a68bc78c0a481c6c195c1fad58bb064","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd.tgz","fileCount":1060,"integrity":"sha512-jgrpuXHwAOqwtL23Zj7FKGygf6vXYESY71hUl7HkCBAllqyH+we6+/luc2CygcWezz4ZXjMt78suoQ4FgnLZwg==","signatures":[{"sig":"MEUCIQD9qS8Suv/dh6XKkgWZXQFx0PFEHB9mHgAnfnvd5zY8+wIgaEU4hm1yCfrcFdPJ+BOHff9/dxGEBoh8D2mK+12pkx0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25471366},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd_1710505675042_0.5791972101512264","host":"s3://npm-registry-packages"}},"26.0.1":{"name":"@preply/video","version":"26.0.1","author":"","license":"ISC","_id":"@preply/video@26.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"07316bcb1e58757e4f18c27bbda6af77fc044620","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.0.1.tgz","fileCount":1060,"integrity":"sha512-X0zbyWCz17Dh7iAYcCUdBT94r3kQ2Lfv3qt2J8wuo+aeu+VMep/eNF1hRAGJp9t/5AqssY0KvlncnnJYuPLhpA==","signatures":[{"sig":"MEUCIQDpInpRMmhyDoyHQVG89MDFLbzUbzlsvE6Qdt0soH8GiwIgcPysir4UyMyH/KdddR6XjYAeXMz5sZp0ThJlBv+Bfuc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25476142},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.17.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.0.1_1710513719128_0.6097212493634765","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e":{"name":"@preply/video","version":"0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e12e4d760cfd7b07086a31eab57e7ce2b77ac9c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e.tgz","fileCount":1058,"integrity":"sha512-lruCBd7xBjLUkgycf/468JEFlvgJT/n2jJflKDoDa6eUWcxxiVUew0Qf9RaDXfNuaochgafGvmYm5fTkoWk0GA==","signatures":[{"sig":"MEUCIQD4RLaRy7q3pxHyeIfZp2ByPGlSu2MYNErOSsjn80Da1gIga/82/ibqwdxjTM1U/niK1rR2SqgOUTJrw8fTz1pj02Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25450488},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e_1710519654878_0.1405169903567014","host":"s3://npm-registry-packages"}},"26.1.0":{"name":"@preply/video","version":"26.1.0","author":"","license":"ISC","_id":"@preply/video@26.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a750d16cc4e09d68c1b68a940ab95b479df0f04c","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.1.0.tgz","fileCount":1058,"integrity":"sha512-2KO2181nX52IDXbWoze0Yv1vsSgOlmIe8U6mD0XT8g3wON3NI6nr6OxZrEHokt0u0cP+Pkt0Pfn2zw6WO/nCYg==","signatures":[{"sig":"MEYCIQD0x81UKmGLkWQ0YStC9w2/eWdDWdRGxx+P1I6/VoBXiQIhAPHo0O/8hh9HrUVQ//3VoPO8zF5W2s/oj/1muASnTqFb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25448524},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.1.0_1710527419662_0.8415041105071657","host":"s3://npm-registry-packages"}},"0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6":{"name":"@preply/video","version":"0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"001ca1cb96a5cdea17c0ccacc45d18feb8625b6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6.tgz","fileCount":1058,"integrity":"sha512-/JvBZY2m1U8pfyrimgknSetnnS8PX4pB7dLrXb92gXU9K7c9QCzqePn/kOyyEd3fUHb1YbZosB6kfUu0iPk5RQ==","signatures":[{"sig":"MEQCIBYL3tVI9ZpCmSXIa/fX2n02h8vBebd9NbcLXcbAi530AiBLWXohT9voyIVt2ZT4NFw5Ei6L/S0wxlEnx24eMI11iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25452164},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6_1710859273836_0.7498275882829817","host":"s3://npm-registry-packages"}},"0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe":{"name":"@preply/video","version":"0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cd2244831fc817a2653c45624c4451091d3361cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe.tgz","fileCount":1058,"integrity":"sha512-3kkSXDTGFczgchIVamyzrTVYiGYQX0nNpgnt7TVDgARXht9fs8uytSTH+C7fx2crrvfznNGKxuTf15Ed0ili6A==","signatures":[{"sig":"MEUCIQCpB2lFax+ASfJUlP3T3cEevZTyxKb7hzbpDjFbMbfwowIgZU3dILpAgPZiTrLNBZzTd6jbCvmmi85JyO03b/hN87E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25461145},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe_1710951030042_0.7652483643633141","host":"s3://npm-registry-packages"}},"0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4":{"name":"@preply/video","version":"0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c8b65bd32b395ced1ea5e7ca9378987fdeb1693","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4.tgz","fileCount":1058,"integrity":"sha512-zAhTSKinMAUGykDYKmz58/n3xokhSqD7lYZUFtE6xuwA41X6DeD8leCd0eS9dXezKIRaXbwkc+NznE6sz4f6gA==","signatures":[{"sig":"MEUCIQCEslBUTU63TUqteTg8+cITpgAFS7q6ZHiRNi0haOsDgQIgXU17nHO3lxUEVDRkyAvo/xRq85eSht9Sar5DDUQujZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25465464},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4_1711020435251_0.24327896710716668","host":"s3://npm-registry-packages"}},"26.1.1":{"name":"@preply/video","version":"26.1.1","author":"","license":"ISC","_id":"@preply/video@26.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c523d44b59b7f1adf5341a05f2ef9596f3ba63f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.1.1.tgz","fileCount":1058,"integrity":"sha512-wDYOEJxNqLg393Z3HkhMSQuoGv4SZFa7cTSEFjeSzhYD2XtIhm1HWPornDCpcQrQ3U5ufZiBFFp6E8w19qDGgA==","signatures":[{"sig":"MEQCIBrfuhL9e2tIkGTcFLC+etToFrzbbjUuaFYTebQ24VtpAiA3v6DF+9Bta+/n/KlLCP3CIXQ2ZSNehJUk/wxRZVqYGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25463805},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.1.1_1711029070580_0.12517679186215336","host":"s3://npm-registry-packages"}},"0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a":{"name":"@preply/video","version":"0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5622969c1e1e150a697957e230f45033cbd494f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a.tgz","fileCount":1058,"integrity":"sha512-Qvg/BTG77x/WtM7+z0Ue+afSxOO48KC1CdpDYogzjI2irZyb9bpA4EDu9iHpOhBLSSyPGatEQALlVBa/5EI27Q==","signatures":[{"sig":"MEQCIAFP2SEjNlcNqO8AWIzXJL8yKeEnICnLj/vlDlVmZNh6AiBV4Qf6G+gH0j349ExE0vRB7ghTli69cLLIwNSsA4TlNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25461351},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a_1711096307519_0.9124090108968146","host":"s3://npm-registry-packages"}},"0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65":{"name":"@preply/video","version":"0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1cfa5ce5eeeea8972e77fcbdf6903eeba05ee838","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65.tgz","fileCount":1058,"integrity":"sha512-aa+AdCymyOS29xAsb4OW7Yc99a2TtNsJBonHDLPpVVuEN6igS2q1nEtmIG+bdPBc70q/SLdyQR2pxnxOJ/o+ww==","signatures":[{"sig":"MEUCIQD3RujbkaJuXxscsIjGjsNqcc4o0F5jgONJiaWbZjgfhgIgafA6an64BNnt0Z18UROHOZRZ9FcabBbOpFjjRp/JXis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25450114},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65_1711097027591_0.12115497080436088","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f":{"name":"@preply/video","version":"0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bd7a855febb68727ad15cb20febd70d959d91d76","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f.tgz","fileCount":1058,"integrity":"sha512-8Lv9BKUPDuPilN5W9rwhUYp0IeIp4l5+OzdRmiKhRRENyKJz+9yPoryuBd3lQdDdLaVsIUJFiBYEO1YBX3T0YA==","signatures":[{"sig":"MEQCIGyCFkNikV9J65eWQq3w4Uevx56yLq1wR2bohkJBVoOEAiAt6RJU2AG50pzue9aaJ33ReMXQp2YwPuWZrfoT7bUO/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25462352},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f_1711098524842_0.780601169323965","host":"s3://npm-registry-packages"}},"26.2.0":{"name":"@preply/video","version":"26.2.0","author":"","license":"ISC","_id":"@preply/video@26.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"474a75c0990e8f5926828916dbc9b5854f61d165","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.2.0.tgz","fileCount":1058,"integrity":"sha512-xAlRm5EC220okhPYIusKgU60fmBiSNO77wpAeAMihMr4EvE2NO5j04XcnupKQln4iIhVGF6pu5ubQZNcTey7WQ==","signatures":[{"sig":"MEYCIQCcHeRaWuYjGWA3r0Dj1MQQ8VZp41mSt384zxRtF3g5EQIhALi6ITxYb+zkPgzn9QJkyDW06jTCVGPbpTYjApbSUAJh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25459660},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.2.0_1711103236834_0.5272396677707245","host":"s3://npm-registry-packages"}},"0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285":{"name":"@preply/video","version":"0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7602080c5c01b10924b8749995e9ca1cb8f7d170","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285.tgz","fileCount":1058,"integrity":"sha512-Cn4thXzZ1IC0D3DV5M4NQXokiYQn5C22jBR780rTI+eyl3j6Z4D6JZouTKyXgx7P+D98HEJtkZCY/A1DcO+ekQ==","signatures":[{"sig":"MEUCIQCKz8V+yeNHS98YIII1MI0ALgz8ESQ/PZmlIfXX0srOCAIgHtZzy9q6mXuO5sodJbldPexq7enQChdu+tzGW1UbRX4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285_1711117567685_0.005317629086682318","host":"s3://npm-registry-packages"}},"0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5":{"name":"@preply/video","version":"0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"88b06045d159cf3fa7e9b3679b4f5da81e1d189a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5.tgz","fileCount":1058,"integrity":"sha512-QFOb/7G+8J3nxuFhjLV/etmdAFi6JqZqDWEYTkDcP4DtncPoBR/oG0WFvUfoKocoj8XgnHT+6wW+m5yHcncRlQ==","signatures":[{"sig":"MEUCIHsdtJ7RMn5UKcm4aG9UvVLjkmY1FSeolW5+rPYEwu/TAiEAk1MAgA3VVqSMiiWG7RaQPyC/+5SJuSy1TFeOOmu69Go=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25465126},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5_1711120622258_0.738148840702868","host":"s3://npm-registry-packages"}},"26.3.0":{"name":"@preply/video","version":"26.3.0","author":"","license":"ISC","_id":"@preply/video@26.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7bc076f2dff3506c5a77ce34f6bb0118c4098822","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.3.0.tgz","fileCount":1058,"integrity":"sha512-INfZUovOKrwAgIlpaOGsKq3mORCUjPjP/U2yvFRf3oH+jcE/4dN4fMgtMOZQz19v9Cl71MOqPY01woijCLnGhg==","signatures":[{"sig":"MEYCIQDZ6nKioIYhTH6HrMOzuOpxA+I9FAm2TDiR90jEud1zawIhAMFcBdR7BEieitCPUKfaAUp7GkpttkrCfJuoBCGddhEu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25446812},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.3.0_1711122759619_0.6087429783425229","host":"s3://npm-registry-packages"}},"0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427":{"name":"@preply/video","version":"0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a694b707f576a06975017376abd22e1022075ce5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427.tgz","fileCount":1058,"integrity":"sha512-HPfpN28oDDcFsKoh3zfd/1KrcGGGBMbNeLeVJLwK5BAVa+OwM7mfBkHiXsLgWtSVc+Ts8jH/nqTLsozhekNr4Q==","signatures":[{"sig":"MEQCIHRZMI0C70+0EXD4iy6q9sXbS2FGBAk1sGd0jgueMrncAiBSKZt81+uZ1JH73xjQW2rBFN8BhYVBJ+2w/N1gk7UL2Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427_1711127288344_0.4036567089640688","host":"s3://npm-registry-packages"}},"0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f":{"name":"@preply/video","version":"0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"432b62161e38dd47d9891d0ac39bdc31c8e2d184","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f.tgz","fileCount":1058,"integrity":"sha512-N57OEwRSDkjPko8khnFvFlcfae4DkH1l4EfrdgJQ3W5tcDDhi/LV2rNmGvz0Uh4/5iKWQ7QXLp/gdonQ+Urkxw==","signatures":[{"sig":"MEUCIQCadZOfwLvsPPxgXd53iyDMjT5k+kIlUqpC30LS27F8YAIgaFl6RLu/9kqKAV1mQOO2ONcAJ9qjcWJtWSQg8fWafrc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f_1711347454893_0.7378675090559594","host":"s3://npm-registry-packages"}},"0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a":{"name":"@preply/video","version":"0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2f258f274676db7753b939d659a53b8ace425d2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a.tgz","fileCount":1058,"integrity":"sha512-rsw293XExCvkkOwutwN7hg+5YHZJwyd6LlWHE2kBXug2eycycRV3J8166HFo8LQ+PpyC/1b3a5OjYnPlu2SOWQ==","signatures":[{"sig":"MEUCIQC0856PGxryKOh9yn1csxoMFETErJsqtPiu1ZzEEsv3eAIgDA90cdk3zs3Z1j2Xl5eMXLZrrfvhc3sR3meP1jjDLPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a_1711349056599_0.5414284964571026","host":"s3://npm-registry-packages"}},"0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141":{"name":"@preply/video","version":"0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a8c56297c14f6a7f8ab319fe9a57ad85be3b4e5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141.tgz","fileCount":1058,"integrity":"sha512-3lR/6SgE57KnOnBN9hZs5cDV0ObA7V0FnYRVO9UdsIn6ufprGAPzyBcg+45/ZK6E5Xsv//1okUI4r0VMg8L2Dw==","signatures":[{"sig":"MEYCIQDxklMpp5ykXpyCP9mwjk0CDPqHXFcmRPrO+vGpVmjk+QIhAMWEXZ7vJae2DDbeOwY/KKEFOdJq1Axsmj3gkvn98U0r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449033},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141_1711350457672_0.5914250836539356","host":"s3://npm-registry-packages"}},"0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc":{"name":"@preply/video","version":"0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d166074197acf67f37bafaa545c926c1f35fd6a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc.tgz","fileCount":1058,"integrity":"sha512-HMxM1DlYcVI8Bg/UgcxGcQEr2pmGSWP56rs6vusx88+nWejyKHph78Wg4p5aie9vjBlQme0ggtLfIGSk6P+Hsg==","signatures":[{"sig":"MEUCIBkeE3KZsi27aEUC0dkDGHpI0PHUUWyROJukCAWqm7lMAiEAz5mo/9eebMj0NKm8aIUBVrU+pycvh4IHA/BKF8Czroc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449214},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc_1711352142773_0.4243800750687545","host":"s3://npm-registry-packages"}},"26.3.1":{"name":"@preply/video","version":"26.3.1","author":"","license":"ISC","_id":"@preply/video@26.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a9a9920c47306d845a8bb3f7b5f96678c55a9c0d","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.3.1.tgz","fileCount":1058,"integrity":"sha512-lSSVGH7NA95mGg5jC5OAeK1bwzRtMInZBIDOglsr5xnH7emjjVbqi8mA22y5/yJbe3+rg+G5fBLtzp4Y8p1JrQ==","signatures":[{"sig":"MEUCIQCgm3zqvSMbMLgvWWYHoJ8e6eGnDBswjs6hCtiKZ7VlSwIgWXolD/u0F6AIBIkLonuB03fj06YCOkI42c1nRdjgHfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25446993},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.82.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.82.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.82.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.82.0","@preply/ds-web-core":"0.82.0","@preply/ds-web-root":"0.82.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.3.1_1711353718901_0.554150761347697","host":"s3://npm-registry-packages"}},"0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98":{"name":"@preply/video","version":"0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b3db933a865ea8c8f245bb3213145875728d9864","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98.tgz","fileCount":1058,"integrity":"sha512-ibhl0hqXB5fRPp65CsghsBM8QtNrqhq4ih6Jb66OdwpGlkTbPVligYSp1PcdTaafdDH/T1ia1prKw8PyReOAgw==","signatures":[{"sig":"MEQCIByb0qhU6WJbDTbelFYjgpBYT+0OTV1pYeHoO1wO08+1AiB41soKnZeuGwPlbIqJ9agBXJhr9tXTXS1Pp6Ipp3hYpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449290},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98_1711355896423_0.33033947448391787","host":"s3://npm-registry-packages"}},"0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a":{"name":"@preply/video","version":"0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bf65f84163634beb4999c383607a3ed28f008581","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a.tgz","fileCount":1058,"integrity":"sha512-brMzUg/QW3/4hl2ta6bDJQu1qWhWHMTOPFLVkiGP2hkZ8NCoJFTAJtO6GIst+0+xeG7uIODwLQLVrcCxJr8kCg==","signatures":[{"sig":"MEYCIQDQx+cnD3E9oIUA6WSX/sT6IkwlQRcaUQDLf8NsnKwqPwIhALcCY0RAbpr73HW3Zvl5yxAvOaR+0h6KZ22/h8lp/qFl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449290},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a_1711357577716_0.028462253470580068","host":"s3://npm-registry-packages"}},"0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0":{"name":"@preply/video","version":"0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c19c536e20c5236bdbb9d037b810be8d2013c25","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0.tgz","fileCount":1058,"integrity":"sha512-UDDQzYVqi/hldHvP+IVJAuDQzNUz3AR2bstcmdONs8TUW9nAmdxpTEy93qNZl3i22MUhm9CP+aDZNWzic9ZJhg==","signatures":[{"sig":"MEUCIE9FgcyeyD+V3kyU1nCmtGXYaNtXH7djL3KuaKfp/x4OAiEAtUulP803ZdZqZvoLROlUOXqwskBhmIcrUAVcT5N8nSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449290},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0_1711358717667_0.14594508041231746","host":"s3://npm-registry-packages"}},"0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81":{"name":"@preply/video","version":"0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"196c875354f107b34d4466649be2be2780eefc2c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81.tgz","fileCount":1058,"integrity":"sha512-slyXXCcvW0LNsbQFf5gVshPs8BsHMCDiPSdTwHuXzHI7V+XfiLI3f8RLYAUuXQMncFrWL94/sG6KbDfa4y1l+A==","signatures":[{"sig":"MEUCIQCkAPKCpvtJeequKfUgLL1ZKcohPXXKIJCog3WFvYmyPAIgQ4cx0Lcd/ZyNwvPegBZzo1nabIDlZdsqGZHfgh6LiBI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25449290},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81_1711360641066_0.375713320708982","host":"s3://npm-registry-packages"}},"0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a":{"name":"@preply/video","version":"0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b4ab655b347f87bcd32a3a1fba2a84fa9f4c8eeb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a.tgz","fileCount":1058,"integrity":"sha512-nRsHsEwdIiqPiYHSfoE+cBeRURJYv1N/fr0bTq6ihkLdKUw03A5w2zIfJ9clzAOAicslRkxstAJgU2BbqSb8GQ==","signatures":[{"sig":"MEUCIQCLEtS2RAsF344n07iLqYfvoB2+EDlL6KOWTI1wU8xI6gIgTbCrkKS7ASq3jY0qDhip/4FEDYVvX+Haov+bctkwF4A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25456435},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a_1711469498751_0.04821780574856582","host":"s3://npm-registry-packages"}},"0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a":{"name":"@preply/video","version":"0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d6c3b600858f47e0b71bc22daa97f2ce42c1e13f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a.tgz","fileCount":1058,"integrity":"sha512-a6BFhYcWb+UcuNdgnK+vOm47wS9c8Mq4VQ677RfnR5D6AC0+nOp/CtVt3LcWp9NLC4J8FOf0bdQmim1AdOBBRA==","signatures":[{"sig":"MEQCIA429tsN591FwSXt2rHpsjH92dpinSFD3Z6h+97BN2HUAiBYicFjGWhNcqlDP2kllmLeS1gQHiTS8YfnSQ0hxNf9aA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25456435},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a_1711477321275_0.9110311778579792","host":"s3://npm-registry-packages"}},"26.3.2":{"name":"@preply/video","version":"26.3.2","author":"","license":"ISC","_id":"@preply/video@26.3.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ed63298cbbfe6922815dea7f2fc3213ebb4fe2b","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.3.2.tgz","fileCount":1058,"integrity":"sha512-xkgmFrPdmdqyq1+EkiTmCa8YbF0KhwTJ57p8WuL1wFn/DH1pbNf/Yn1Tus8Aig1aPe0ASrxaf2NvGrV+7zrBFA==","signatures":[{"sig":"MEUCIQCLGWXJ9RTt63DCqXYUsgnWq6I5s/HFOyn7hXXAzWzu4QIgPk2Kkp83g5h5WV9R8IBkMDMKz/X/xUY6oDv11Zd3Dm8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25454214},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.3.2_1711528636067_0.13393282739155477","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d":{"name":"@preply/video","version":"0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c239dcc1224a530be7c27d6abf5233dad73cbeaf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d.tgz","fileCount":1066,"integrity":"sha512-8WADGr4CSXGXCEvQYb4gh1N58XERdFF70Xswl8Ke2+f4Fj/9hcvQ6B95u5XNpxLt0alF35jTeTzAHiMwOJW4jQ==","signatures":[{"sig":"MEUCIFizox+vdTBIE3dRYQ6yyuSOvqBrtRbPVlC5ESgcpsHxAiEAumc4dR9c2o7euuvmo90zgHCk7RiAQcAqaV9T6ExK2Bs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25626948},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d_1711531455929_0.9343448194645676","host":"s3://npm-registry-packages"}},"0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373":{"name":"@preply/video","version":"0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"85a8eb92c76d5e2d8a37d55c061b2a03b3820ad9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373.tgz","fileCount":1066,"integrity":"sha512-hhlua+fINl1cnIt7VGxUsPIYKsohxKW+OkhAklyudFffCcJiFoOZdjh3Zd5sWfCWUBMorcPIj7mtCXe0w6YmGA==","signatures":[{"sig":"MEYCIQDIZ0yTK5ANWK08YDDk9vQ6Tklms9I5+GKFUAhjDHFVPQIhAL9voSkq5PW6gTUokuiIyFU4+cFaVW2lXw83vQpLpmst","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25626948},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373_1711532437199_0.0012888716845418369","host":"s3://npm-registry-packages"}},"26.4.0":{"name":"@preply/video","version":"26.4.0","author":"","license":"ISC","_id":"@preply/video@26.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"290059615416f93bcef12679770cbb69acb998c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.4.0.tgz","fileCount":1066,"integrity":"sha512-HFRkWDwcJIQ4+L1+p6Xd4YNzE+24tCXYpm9srfyZR7wyfFK5mPkBnLhnl6+Nq5qYLr/GU7zoAV1LvVvGKK88Sg==","signatures":[{"sig":"MEYCIQD5YoU43Ld52U8WuVX4O4cUgZvB6YGcDbeQ6ExKbBstvQIhANv3930pcq/eklgV4CucGmSsUP0Y7jG5mL7+fql6b1lg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25626177},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.4.0_1711546710354_0.07769188462572663","host":"s3://npm-registry-packages"}},"0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f":{"name":"@preply/video","version":"0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dad539d6490ec7c376057356db91e01602ab92e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f.tgz","fileCount":1058,"integrity":"sha512-4cGamHSN9U7lERT+y5d7R0sg751oU66Ic7igvU/v5VT/LpNLecTRb8m6rkHEbpzEESsDKm7h+0jG1TOvPyuqsA==","signatures":[{"sig":"MEQCIF4joclnco4GMg3XVESOCGVHpoL9JcMo++pcOlvUNFOvAiAQO0prrQQMJo7XdEMnTxwHudyXPc0MTWwsXze9nls0zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25455118},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f_1711550066963_0.021047459673101176","host":"s3://npm-registry-packages"}},"0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51":{"name":"@preply/video","version":"0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"47fb776cf46e5004975bd702418a3a0553a01189","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51.tgz","fileCount":1066,"integrity":"sha512-Stl9C5e4b5XA4nSFt32SiTUA3DmL2OmvzWrVAydVLdNOt35KknWeAGTW16WLAOYCPstXdXseT7Lltpydq62+qA==","signatures":[{"sig":"MEUCIBznMH3hd1T4Q6WUf24ObD9EPRM0+lJFzwggk2cM8dLoAiEA+k2HpEih+vY1MWCLsreytwLfUK+9xTHp0vh1vcf04Jc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25628398},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51_1711551012797_0.05045981654223963","host":"s3://npm-registry-packages"}},"0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287":{"name":"@preply/video","version":"0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1d3e5a37a12a4126a919f42e028bef743f9ae38a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287.tgz","fileCount":1054,"integrity":"sha512-liToFaY5/w7b12y4ctq1BQtV3dLQwlusJE8gPRLeYXPenwRaSP8FZJVfx+jl7D6H1w2AB7Q0w+KfIG/GSo1owA==","signatures":[{"sig":"MEQCICvMSNak3UgqaWyzS3xwqZI3C7aRzjpNOZ/9lNtlELgWAiBha31JNCXzA4CD3l5tNSXMtyAw1DLMgHXsyY3okVBj+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25454003},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287_1711552328334_0.11100769169309643","host":"s3://npm-registry-packages"}},"26.4.1":{"name":"@preply/video","version":"26.4.1","author":"","license":"ISC","_id":"@preply/video@26.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0ed14dc572ca5bcda34ac155f0188dc6bc1fc430","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.4.1.tgz","fileCount":1058,"integrity":"sha512-DXsz6GpZaEg5ixtenuSNCivxYMfXX0Y4Ae22qEcxiJ8s4ameNkKmHCpyg2Mm4xd1+drU0X46i0cO4eejosca/w==","signatures":[{"sig":"MEQCIFUBXV3duF+AKX+RgVPiLNuLOafhU+1kiuF6EAdivyftAiAjSYWRxd0soregi7aByutMKEAQWOauPDo90hjOV8FZxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25455664},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.4.1_1711555864319_0.09932158373199362","host":"s3://npm-registry-packages"}},"0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7":{"name":"@preply/video","version":"0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"514d59cfee6e2aec7764e762d7f5bbe70c22310c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7.tgz","fileCount":1066,"integrity":"sha512-C5cbHcfkkfZYneuW2bf5cUUy31LNMQhKsBHwIcBz4Pvgr8HcvdTbqv8GcvhlzsQdViVF1KzdFxqKmKKnXaGvxQ==","signatures":[{"sig":"MEYCIQDd6Lm9sCI2CQEjEPQC9CF0zahcCkUpp0+Gag0KCNj25wIhAIj4dyhgrBLk6oJ/DJqRqQHFjjAR4dKYZHUiqCxSkCk6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25629095},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7_1711558142243_0.6764791772459418","host":"s3://npm-registry-packages"}},"26.4.2":{"name":"@preply/video","version":"26.4.2","author":"","license":"ISC","_id":"@preply/video@26.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e33fc9b2eb9d76523d57f9a7e5dbd9bb961ffa3f","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.4.2.tgz","fileCount":1066,"integrity":"sha512-7tZGkg+m6tpTRKgAUrKFoii72NADtv6FgxcWqiO34vQzCvZeBMBjzO7ka5O23Y369VrWg4+U56rrGo3umAL22A==","signatures":[{"sig":"MEUCIHmGA+QMd0hPXZQpU+PuW/qFtDa8ZrEa8yMDSAMimIvKAiEAlnEjqvu6bAmpLE+r//aXwsYBRMMBcmfeyarvz/ntqEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25626874},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.4.2_1711619256018_0.2838836521031791","host":"s3://npm-registry-packages"}},"0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc":{"name":"@preply/video","version":"0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6dabf19e613ec2d9b42bf446343f2264c18d942f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc.tgz","fileCount":1066,"integrity":"sha512-fJciwdmbY81xNUrvWQUx4QYUi3HbOP9rjaGedBb3bZ4lYitAfLdrR96Ay3VyUxig20Cf1h38/3J+IdMI6gcNxQ==","signatures":[{"sig":"MEUCIQCT9Sjr3qKukra4BowGar1DwPSXP0Cty83JmaalmRbp1wIgLmQlZUiDXcQ3UMBHGgZx6qesce8ScpnKtLWSacqrKs8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25629095},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc_1711620108252_0.42833942755439325","host":"s3://npm-registry-packages"}},"0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7":{"name":"@preply/video","version":"0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c81f3d544d6b95c0698cd279b83c251cf8267a15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7.tgz","fileCount":1066,"integrity":"sha512-AQbYiIR89ULRYXR1BmdtR4ZKNk/hTIDxJ4HVgSz69+N7H2OH0H2o1A1pV8G81ASMCcfsoDlLfacD/A7UzZYSQw==","signatures":[{"sig":"MEQCIE8IMcZRT/st6Sa8hHs4AF19+L8YqbqqwQsM+rOVu8SLAiAR8SK5DPwTxFpdCmEKySM+aWjSvCeSs9NNOnWSZ4S1zQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25629095},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7_1711621680706_0.6217336434234457","host":"s3://npm-registry-packages"}},"26.5.0":{"name":"@preply/video","version":"26.5.0","author":"","license":"ISC","_id":"@preply/video@26.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"54028009de94d294e6ba46f7f95cd0f8f5904037","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.5.0.tgz","fileCount":1062,"integrity":"sha512-ho5YxOAc6UTio5+XR9a9O8cnbX3a/LRdYv38ae6cHZ3sYxJjajg6Btsb0VW7UzfCQgA5YpK+G8Ql/iNxtxuFGw==","signatures":[{"sig":"MEYCIQC644hYen+uK+PkY7zrOvmsdZEY2F+AlFdMZiGlqUopLQIhAICtJ4fZH0oJ0yJCkvJvj9ZQD4slNTfSQYJapEdXzqxd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25624442},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.5.0_1711629908391_0.11472974498846145","host":"s3://npm-registry-packages"}},"26.5.1":{"name":"@preply/video","version":"26.5.1","author":"","license":"ISC","_id":"@preply/video@26.5.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"918d8774905af666e3590c4d0f08f9a4e62d6fa5","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.5.1.tgz","fileCount":1062,"integrity":"sha512-DhX0ynujnkO6kkGhYCHmRIjZ0a661be741rgZBxbnMpdmOOlwPtzdm8Ls4SKz2347XcB2Hn5Cgg9ISMzToOQMw==","signatures":[{"sig":"MEYCIQCaXds8/xO8es35i9+Anp9lZykdD/7MDFitehUrLRdrhgIhAKileA6N+L926qFjOaPOFH/JBwreu98e3THbjZMmZXx+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25634929},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.5.1_1711686581580_0.830938423859737","host":"s3://npm-registry-packages"}},"26.5.2":{"name":"@preply/video","version":"26.5.2","author":"","license":"ISC","_id":"@preply/video@26.5.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"81e7011a9f70d344607d00ad5ef4b4b160c647ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.5.2.tgz","fileCount":1062,"integrity":"sha512-B99QkyX1joAPau2i+xWjwD9ihXYul8tj6A1ZtrEylY1TlLwQnKI/3bvlAGiv//RLkzWnAmBHZPSrDPswocKqSQ==","signatures":[{"sig":"MEQCICuE5GbzILtD1UPAKhUEIjeCGhsRGGp3aQom7BPX9ElKAiAh/NotruQMyQ7+TWGndiTkpqVoyogRFTz16IgpoeuE5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25641172},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.5.2_1711945578149_0.7041101169962618","host":"s3://npm-registry-packages"}},"26.5.3":{"name":"@preply/video","version":"26.5.3","author":"","license":"ISC","_id":"@preply/video@26.5.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"94fb3006b1f49c81edf2fdbaba78d6d0d754d8e3","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.5.3.tgz","fileCount":1062,"integrity":"sha512-kxnrHNyTD6onrsE5i487E7zqjH1HhgSSLO5GSitCXHwoF4IpXZmv7+FoQAPz7cedIgkrYqC3xWZlencEpdCmyw==","signatures":[{"sig":"MEUCIQCw0BHzY9YqrEZ2IhRRaH6pFC/cUt9q5p2TjyVt9CvtdgIgYjrmsyv99VSsacRQBJ/HXMk65Wqg04VEhFVVXHZYhsc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25641759},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.10.2","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.1-1","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.5.3_1712031510740_0.2986026561184374","host":"s3://npm-registry-packages"}},"26.6.0":{"name":"@preply/video","version":"26.6.0","author":"","license":"ISC","_id":"@preply/video@26.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f77496559d5a417e86a0462bd347332d7977e442","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.6.0.tgz","fileCount":1062,"integrity":"sha512-QpesZ0EJpxuITNzQyTaOvP+U10xIllpcyLZgbypXfQHAyAddoYq3P4XN6lYxUHaeXmjam4O/RG2QbMhHE6ZKFQ==","signatures":[{"sig":"MEQCIDBkMeisjaWUqXOZ22wMrTfafLV2edp3MSda0b4nxrNzAiBiP2wEBiLHqQXYz7mF33qOBn/1KIK3XlJeuSX7MYhIUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25638085},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.6.0_1712041265077_0.004553446751354606","host":"s3://npm-registry-packages"}},"0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e":{"name":"@preply/video","version":"0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"afb34129bb418f501c76e5e99a07af910ba34507","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e.tgz","fileCount":1062,"integrity":"sha512-lKtheEyeEULBMUJBUAdQIz73tcVOvLn+RT3RSzKeq/X39ISMuAMpZVfMPWwrHvQLN1VzDqs/ps17jzU436dahg==","signatures":[{"sig":"MEUCIHIo699qs0shCNl0OCd1VrT2V5hjN9auX8PshPFZ1LtrAiEAguOgCKD/1HQ316PuO1wwZcJOhDuPkPh40tzVn6ebS+8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25640306},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.13","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e_1712044697574_0.35082101398030097","host":"s3://npm-registry-packages"}},"26.6.1":{"name":"@preply/video","version":"26.6.1","author":"","license":"ISC","_id":"@preply/video@26.6.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e9706c1744d60b03d7138c13ce5654b78a325984","tarball":"https://registry.npmjs.org/@preply/video/-/video-26.6.1.tgz","fileCount":1062,"integrity":"sha512-GTaFKuRioMtW+ovGzMZRk3n1cRa1GPUGbPs34UXKTKS6DN/jMjPI/HzuVZfaZmSyRmouhqi1aU7mYBnz4hA7aw==","signatures":[{"sig":"MEUCICAcszg+OHakLjlHl4wSXybx3MiqEbEWYHyjzEslGOpnAiEA5wggJhf+eMcUSfwT+/m7Pw6QkIuBCELBmTwnNaGcc6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25637252},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_26.6.1_1712045894474_0.3815415920473033","host":"s3://npm-registry-packages"}},"0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d":{"name":"@preply/video","version":"0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"29bbaa50e37fcab01e5ae8a81ad8ecca71b1b989","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d.tgz","fileCount":1062,"integrity":"sha512-HRBpW9lrXopZ5qJh3uGYawFUnB9NkMhdvD4IzW0fAK9ruX8xD0me+PNuJ76EkfnQEsSo18nWDHbKTMt8Vdnu0g==","signatures":[{"sig":"MEUCIQDH3zplm64fn2yuCc+nYTH+m7vrEacOYz5PITUCmZLgSAIgV9MXShVjHS3ArWmuuGtwgtOBOmEAx0HXI1vyr+JUM38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25639473},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.13","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d_1712047742309_0.16299836298270165","host":"s3://npm-registry-packages"}},"0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b":{"name":"@preply/video","version":"0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"439b8743e92da04c6c29339aa7e8acee7248828b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b.tgz","fileCount":1062,"integrity":"sha512-CC9LktpOVCxw5IWlI2uRHw9D2l7Pv1v2B1Jx4W5UwCcVLOp2MeBm+hmyPtHDW/zkQIXwCYsKE+aXO+O4nFQO1Q==","signatures":[{"sig":"MEUCIFgklRTKmGI+xN3CtaAOIWmhuGGPbEGZqx8ZTgDmPv+XAiEApqwxzp7xW2/YkWxxndKB7Bk9SydTXELHnHZx8Yiz2Mk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25639473},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.13.6","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"13.8.0","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b_1712054693609_0.6342382324046141","host":"s3://npm-registry-packages"}},"0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9":{"name":"@preply/video","version":"0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1e59c5a342cc11c859039a7ad46a6990d789b85d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9.tgz","fileCount":1062,"integrity":"sha512-y4fk+qSy+mbwt2J6c41bmncfhZH7KLiMO8XMZYczDx2PQZPHi32wbYhvpkdcfi+YQ3f9Suh9OYU//xKj0q4h6w==","signatures":[{"sig":"MEUCICac7Qr+CB4DD4IkSdvENeZCcZK9SRhfHnhImUqv2wdCAiEAxDiGUKI6ylOu4QFknA7uw5tLInxwq6I7vxUCwxiCYao=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25639473},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9_1712057865993_0.018633420364483122","host":"s3://npm-registry-packages"}},"27.0.0":{"name":"@preply/video","version":"27.0.0","author":"","license":"ISC","_id":"@preply/video@27.0.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"534e6cc9d14240f580e1465194feb4bc976ab871","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.0.0.tgz","fileCount":1062,"integrity":"sha512-Tb2aOuby2WXactGc4gkTgi0yJWqu4E4XtBVFOHTpbafLgrhMJtlm4HWZ1c3r9+f7B/WYVCxKQF7bScZxlUJABA==","signatures":[{"sig":"MEYCIQCY0nnf+wJKvob54G3cP40yV3kJGOjDUqvRu0MhFJgmSAIhAIWptipCEuGf/JYyKpKIwKfel+us0TmWNDtINI93GmMe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25637252},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.0.0_1712062111078_0.5287485337163587","host":"s3://npm-registry-packages"}},"27.0.1":{"name":"@preply/video","version":"27.0.1","author":"","license":"ISC","_id":"@preply/video@27.0.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6fb24091a309dd2ef11a4d00e90c302ba13e3489","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.0.1.tgz","fileCount":1062,"integrity":"sha512-fIBd8j84toVmLU7j11HsvNHokqL5PwQb1sJVHfd3sVFxS5N55mZhgrdj8c4A6N5JTGbtVaWc/Ur5P7IDnLVUng==","signatures":[{"sig":"MEYCIQCezqEBdsw/PXnirOG3NcBnsqQ7mOFr+IMWgHpV2h5rPgIhAMz7A12RwFEFPqSWFkZK0XLu5NfI8e31qtOSI3OaKvvt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25637545},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.0.1_1712118185877_0.8969992756830789","host":"s3://npm-registry-packages"}},"27.0.2":{"name":"@preply/video","version":"27.0.2","author":"","license":"ISC","_id":"@preply/video@27.0.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"330872df4028837a365080782608015a8b0740ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.0.2.tgz","fileCount":1062,"integrity":"sha512-bns2NkwiEksJQuV7eForDPvDZkGCQMdP3MpMjdzTTzL5O/wIk8alMG8te8ZI3892S7G3Wye2yDeqbee1XtrNpw==","signatures":[{"sig":"MEYCIQCUtlb/SrI7tVesBYqNA9U1xXqrL95ETF3vDxE0Ce+y5gIhANlrpLA6WOdj5h8o744echwdlmOwTtSHpP6ZxF0Wj88z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25637934},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","js-cookie":"^2.2.0","rc-slider":"^9.7.2","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","query-string":"6.13.7","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.43.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.0","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.11","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.22.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.0","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^4.6.0","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","base64-inline-loader":"^1.1.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.8.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.0","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.0.1","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.0.2_1712146325381_0.9440890427217181","host":"s3://npm-registry-packages"}},"0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133":{"name":"@preply/video","version":"0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f9120a60ee0737c0f9dde5939f8c94c355da619a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133.tgz","fileCount":1062,"integrity":"sha512-fUQiFSmXj4A5CLF56xkl26gxTvtYdj2h5y77tdNJpqAXhnW6VGoES+zR/HNUww7ZQDBQNPV4rjHr8zq3depGGg==","signatures":[{"sig":"MEYCIQCtnhWMaI2uNOoDRTGEMHiqpPq0o0ziMyQ5EfwZR5c/PAIhAIpASiwq31DsNWRGw8g4UmPSsHqU4cDJJKg9WL+JPNQ3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25610256},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133_1712150588784_0.4297105324217958","host":"s3://npm-registry-packages"}},"0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6":{"name":"@preply/video","version":"0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e92db350a71244894f2cefb67c1351de03195d09","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6.tgz","fileCount":1064,"integrity":"sha512-sC3ORnLZxIs/DoXUKdwplHkXAgvLcb++kFp0Skxbiev690L8/5i1yerjdhqcxcm87+aBQQF0CwHARMl14KjpQQ==","signatures":[{"sig":"MEUCIGI1Y8EdTEF7oBRsVIgy+U1Dfw95zy6yBTwNsYA1j1QTAiEA56wtJ72NGYAHyWaCg5luJA3f04ukDz6wOqjFxcMBrUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25625920},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6_1712158763406_0.6997102168706262","host":"s3://npm-registry-packages"}},"27.0.3":{"name":"@preply/video","version":"27.0.3","author":"","license":"ISC","_id":"@preply/video@27.0.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9e081f0d4618df3caba6741436c2a6bc6f3bb165","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.0.3.tgz","fileCount":1062,"integrity":"sha512-1//cN79aoFki9MW0h8ssp0xzoufMZWNfy4dY3Ae+6NY/y8UyR1/OmutiB6koZQscSJD7twkWPuEK8JYlEB4wZw==","signatures":[{"sig":"MEQCIC0C9C3LXTlhji6GmMjmGzVBWiDutRvlFwIdb6OMdExFAiARnubKu6AhmxRO7gRfKPZs0rqVWrw2kmpSnzjg5tk9aQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25608372},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"14.0.2","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"1.6.1","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"1.6.1","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^1.13.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"1.6.1","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"1.6.1","@graphql-codegen/typescript-compatibility":"1.6.1"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.0.3_1712204486420_0.18511009660778366","host":"s3://npm-registry-packages"}},"0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63":{"name":"@preply/video","version":"0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a72c2ea24947ca333a0ab8283ad82b12c42b6e19","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63.tgz","fileCount":1064,"integrity":"sha512-xER2mFi5sAAqPg/ciVggymQXTQK0fSJfbQHGFijdNnWTaRINERhV5kGBpB+9GORDMqbg20aclLkXUeSvHCM/6A==","signatures":[{"sig":"MEQCIEQlHxOMof02eC6nG0f9iOF/z08I1L+NIYoM/LCUWS8eAiB/7g+34fM5yw2UBtRQSkWDP5zuDr6AO4/rx/eaRjpWLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25627386},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63_1712222468181_0.549037008991798","host":"s3://npm-registry-packages"}},"27.0.4":{"name":"@preply/video","version":"27.0.4","author":"","license":"ISC","_id":"@preply/video@27.0.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"77abec9aec8f145059694a7b7d8ebee86bcb6c89","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.0.4.tgz","fileCount":1064,"integrity":"sha512-CfxxAMdrHdDZ40Yfl3Rs/wdfwUW0RWFdflGS6okl8Z3P/XYOj6EGsoV2uwJoiMjU2YT9tHVhF4vqM7F6OI+xiA==","signatures":[{"sig":"MEYCIQDrPurip6/9g0xZeE+aEe4yNGZd2IRnEbhj3BPnGR41XwIhANxPZWPtWPaqqw1Di8BcXAuDKuZk3my3xrh9mmAMAZWp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25625165},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.0.4_1712225998221_0.009922151900898957","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f38d083568996e1c7f88b320730066900656760":{"name":"@preply/video","version":"0.0.0-beta-5f38d083568996e1c7f88b320730066900656760","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f38d083568996e1c7f88b320730066900656760","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09c31cab9078d62d41fec704c4ea7d12220942c4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f38d083568996e1c7f88b320730066900656760.tgz","fileCount":1064,"integrity":"sha512-UgFtYuZOQZX41NQwVlvdEHll5/epcE/nvZKwJSCbG20faHDg7FIxev84mTqmnFdvH3WmdqDZ336Wji4CUKyCqQ==","signatures":[{"sig":"MEQCIHhUiigRJ2g2z7vaCuf3POb3gfpQZ59yBxxhHB/tsW2pAiABpxnkdz+oCiu3hFIKZ2JlshuQR1qraEGqsA763YQ11w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25611848},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f38d083568996e1c7f88b320730066900656760_1712228334502_0.8731078838189619","host":"s3://npm-registry-packages"}},"0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3":{"name":"@preply/video","version":"0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f29d2dc1f582356ce5e27930726aa42dee7dd5f5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3.tgz","fileCount":1064,"integrity":"sha512-YlQhSQbA4MzLdVWRNVdwTBzcMDzn0DwBCgPQThW14+0QF7mlHqHogSqsnVWNy3U92Mt3OZMDizwoskf0rt1HTw==","signatures":[{"sig":"MEQCIH2eYIDQry6nL2sqBXhsQHkRi9AHyugkI4bj0kx6LenQAiB001/6LYnfXmq3QsqzwaXkJ8Q3gB6FpGReUqrr3iYMyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25625958},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3_1712228896694_0.358205382497885","host":"s3://npm-registry-packages"}},"0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad":{"name":"@preply/video","version":"0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"139a15970f21512e593d57bffc06dbfbbc4d34a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad.tgz","fileCount":1064,"integrity":"sha512-5X+eaXB2+AOl1vuz7mCobVM4tr2PaVx/TB8ZdiyICouikAHHoj1Sk2LnGb676AaoS6bVjCoBOL7DZuHzq63gUw==","signatures":[{"sig":"MEUCIEoIncSGB3kkvhYqr60M0edzIv9ah3HfTtSE5s4mWoaVAiEAplINv4wCgwjVhMC8tkHvASbfJJnXV79eMCJT0VdUiuw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25549355},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad_1712231724450_0.21502584788266677","host":"s3://npm-registry-packages"}},"27.1.0":{"name":"@preply/video","version":"27.1.0","author":"","license":"ISC","_id":"@preply/video@27.1.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92869cb698eaf2591a56d5a2a360a579ddce3a1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.1.0.tgz","fileCount":1064,"integrity":"sha512-qTMfFc4tfv4tWDnV1umKCxg76VUiJ41WppJb37yurZk2vzCDsfOg3GHNcBzsaEGRJpXU+bsqIuxGjcCDPLrAyw==","signatures":[{"sig":"MEQCIC+r4i2hnMBvSrwoDnSF3RSASJ5IxTMPumBqCML9nAU6AiAdYfqiwBAVoBka3Q1aAiQaZeOSynBtU/t1Tz6UsiFRuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25625165},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^3.8.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^1.0.1","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^0.23.1","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^3.2.0","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.1.0_1712233748618_0.13720999844968818","host":"s3://npm-registry-packages"}},"27.1.1":{"name":"@preply/video","version":"27.1.1","author":"","license":"ISC","_id":"@preply/video@27.1.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3e83a0a9c54583a1a47bfa73f807ec32df8d332","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.1.1.tgz","fileCount":1064,"integrity":"sha512-HYlW85fPEEggxQTa8XIYtqvfrIKGGgathY1jvtjwtobcgfIcsAEok2Tg8/JRPd7zklizawbmPoY89Zhk9mbaig==","signatures":[{"sig":"MEYCIQCjkFu3+9lIB98f9HK/XSJfhxXPwJB7+n3louAd2uMl2QIhAN66haDqZI5hHVUz6f8H5EW+7n8JBqDC6yqdMeis9O/N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25544499},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.1.1_1712234553770_0.002696813769756723","host":"s3://npm-registry-packages"}},"0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0":{"name":"@preply/video","version":"0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f5e762686cc5d032d4b3cc3b53a4b2be52d0db1f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0.tgz","fileCount":1064,"integrity":"sha512-/3wfOZg/WwwiHgjfBdP3lA06PKjNAo1SinzdBsXlOWbYJ4ypA2m7DJ+2tLQ2CtNkmqIKIDxdk1lhFD97iZrQnQ==","signatures":[{"sig":"MEUCIBiknvhvrQIoqKpqS49uJnC12MrTiyQHEYww0rEi9PfeAiEA4p8lJxKYzqLvSZkoFQ8W7vRyagNoeFn7pt+/GDC6VF8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25546720},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0_1712237232234_0.7080845609856103","host":"s3://npm-registry-packages"}},"27.1.2":{"name":"@preply/video","version":"27.1.2","author":"","license":"ISC","_id":"@preply/video@27.1.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7e432170535bb8596d4950e5a7e22f4f29d76fc4","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.1.2.tgz","fileCount":1064,"integrity":"sha512-eIgjkboluWGCUpPEVMSKkXqEdrOSpkQBDs/eF88kK8XuHT66PqMP6wLBPXXGYPxMuKFphHF36j4msdo0F/2hwA==","signatures":[{"sig":"MEUCIH/fdxibPDuv79t4Sslg8x9vBRIUnholkEAidyWNOpjQAiEAsemdFjPxooJNahZ+hoGiMZq0brAPxenLcSMUCBlCrNY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25544499},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.1.2_1712240186625_0.1681378761951382","host":"s3://npm-registry-packages"}},"0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43":{"name":"@preply/video","version":"0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b91696070b3c274c737b1fae661659811d4eaee5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43.tgz","fileCount":1064,"integrity":"sha512-M1X/fBO+Ah5sy6/rzga5+ULPedzoTR2qWxPAfmsVyQ9ClikQRf++ah2oQq/taB4m5q+SBM8kA1J3wVk0Tr12PQ==","signatures":[{"sig":"MEUCIQD2dUmIdg0I5ulJrZ2/E9UwrprRPWozvfr59WtpVP6UMgIgeH7e30R2K3T2bhWaqHfA+pB3RRQ5DKtH4ie4JMIJF8Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25548675},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43_1712240798963_0.6043090844073646","host":"s3://npm-registry-packages"}},"0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87":{"name":"@preply/video","version":"0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e013014f9c94904f5f786701b895bd1e6be00edf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87.tgz","fileCount":1064,"integrity":"sha512-xKhmIfVKKL/ga90SS5Xh9SDAH5OFO5Ztw2818QKa2JW3SMO0C/dpBL18hf+h8YK1c+uikKm1krQI//aTumuqDA==","signatures":[{"sig":"MEUCIHI19xGpMBwCrTd9erq3vUygZwgDS8S3WzbuwIkrZtNTAiEAyxH1M/M/PeTtU5ljGr6pvldGb0Fd3UwUAb96m9xyuZU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204439},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87_1712243408740_0.9622793223637593","host":"s3://npm-registry-packages"}},"0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308":{"name":"@preply/video","version":"0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"488e2742e367323e9e5bafd5fa79455638d38d92","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308.tgz","fileCount":1064,"integrity":"sha512-mFWTIGfMut1eWzCKV/RgfVsfjXYLDtZpfrbeW27C87BT45neIO0yYIRbFWl99ZU5rwvhTAYuNA1X+96MzIEW9w==","signatures":[{"sig":"MEQCIH9XyWYBsng5tHbsMfw6JKCsOVm3hwQwJ5GToG9jessXAiBgoiLJeTrESbCPoeyyXFwLHOcC3Rn3CyM0FnNswu3H6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25546766},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","svg-react-loader":"^0.4.6","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308_1712246742424_0.22186944601215663","host":"s3://npm-registry-packages"}},"27.2.0":{"name":"@preply/video","version":"27.2.0","author":"","license":"ISC","_id":"@preply/video@27.2.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"286fddc9154c843edf5d8c2f97b86093076c134f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.2.0.tgz","fileCount":1064,"integrity":"sha512-6FiigGRpir63aLoZndFAYLOjI6GJWrnJXvqzdh67OFXjvuU4aPKNkJp3BNHLvFBt4BfRnyBXm13CeqJAwWIVbg==","signatures":[{"sig":"MEUCIC2h14UHcQHcrmKaGc0dPrYwKCLdAIlcvG8v90707Gx0AiEAk+qzFsqtgusORwZ4SRA+7HnUl79FaaUx57VBuL2PCHk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25202218},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.2.0_1712247374644_0.3554091876475578","host":"s3://npm-registry-packages"}},"0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca":{"name":"@preply/video","version":"0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3b04e3c2295077c308ee860f22270739b75d4d3d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca.tgz","fileCount":1064,"integrity":"sha512-01NjCEhmfSRMhCp0RKRJuumqoYSUCnPvBdOPgYn75mjhlGtXY9PZmhY1FmBjYWIZWYHwz7x+4bBysgoLumZ0Xw==","signatures":[{"sig":"MEUCIQCrSSyfUJlvFAQDMLTznAkhmClzAnVxPk4Bo/D9HxRtXgIgJTOUbJ/Dj15XB5NSLfQZe390gT4JlgGW3pHHw8Zre3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204485},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca_1712250869066_0.474936692572723","host":"s3://npm-registry-packages"}},"0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a":{"name":"@preply/video","version":"0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fad576fd8ac6bfbd662f4bfcc385da7b4b3e25fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a.tgz","fileCount":1064,"integrity":"sha512-1nmvCi/TfPwyelFzFVMhDLhr4PyNRM3J0Y8DvCjT4lDBuaYXbci3V3pW2/amko5T/Cx6ZJbIjI2w8AT8Nz+VKw==","signatures":[{"sig":"MEYCIQC8z1QYKhl7TgCHKlf794hjHcplwLcdfOLRybEOnXe4yQIhAIwugcd/B8PIfZcJAXCSm7ZEncAb4E2nnkJTrdCUAi/R","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204605},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a_1712304143338_0.8421420318164154","host":"s3://npm-registry-packages"}},"0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3":{"name":"@preply/video","version":"0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"727ffae064ab0f15f2f19d4b90bc24a3acb2490b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3.tgz","fileCount":1064,"integrity":"sha512-FH7fxbqs20aQ8COZJS+jUfpUhM6Pwhse3yLE0JFfzQ9Q8fxLtD2WvgvokNE1Jw4+fmYKggvfLT0xtyrke7jhqg==","signatures":[{"sig":"MEUCIAhWdkuZWI9ApuTFy1G0GmoegVCXdDWiMn7kaeXUGDoQAiEArIKqE0DdxkS2Ln9Wun8OV+BLgUvKkwzN16rzCRsdHts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206514},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.6.2","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3_1712308200935_0.9113591540772312","host":"s3://npm-registry-packages"}},"27.2.1":{"name":"@preply/video","version":"27.2.1","author":"","license":"ISC","_id":"@preply/video@27.2.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b9070ae32d6b4d0c95b48b734bd0111a5180e11c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.2.1.tgz","fileCount":1064,"integrity":"sha512-LnODeRjXvBx1nfJq7yLCs9Sj+MR1Uo2qTy193omf0u4A0sb3daw/07+FSeaRuqB0G3pSKhd3GFSOUr+QQ4hk9Q==","signatures":[{"sig":"MEYCIQCfsnGQVCyrmACRs+aW1E3HIWJNw51RR346MjhJmQ6r8QIhANVbeYLxzTTw0/bFxIXPVURcng4aGMGxHGLLlwWLkc6O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204293},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.2.1_1712324710223_0.3869608786414973","host":"s3://npm-registry-packages"}},"0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9":{"name":"@preply/video","version":"0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bef3ad7501266a521c7ee600cca5b9f071e2da15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9.tgz","fileCount":1064,"integrity":"sha512-/F/WkxCWogeFqL6hwuKju89eSZjJg4JauszW7hozPR9gOAuzxg1EHKshauJqZhDAxsQCgA9QpnmpHNKUrEaFpA==","signatures":[{"sig":"MEYCIQDgODQhF7kkzMORai2ehDhcDLKfg2ZhO8ZymbvFsqwM4AIhAJ2q4mShQyfNJiwfNyEMmwLjGnhdTDjaRhyxsOOZzJIr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206514},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9_1712330769690_0.7680419975443256","host":"s3://npm-registry-packages"}},"0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc":{"name":"@preply/video","version":"0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aeea62e04b78c8036e18fe4ecfde4ebf4139e790","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc.tgz","fileCount":1064,"integrity":"sha512-Hwz9UQ6b5mLAMuJeN/2sxT7HHanPNzYV4nvFDj2UOtfNE26DibDs5xbzwjBUwx9LuRWaLtR2tu0doDXn+Hj+nQ==","signatures":[{"sig":"MEQCICF691SrIaACo4nwsxarmDbxF2wfcG3qZ8UubgA3JG21AiBjMArUkRSPktKeLiIn3hmjmE6lw4p8c5ipHT6q4UbgGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206560},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc_1712557301786_0.10672815378113887","host":"s3://npm-registry-packages"}},"27.2.2":{"name":"@preply/video","version":"27.2.2","author":"","license":"ISC","_id":"@preply/video@27.2.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3569b959c7d42d0d6892300cc52a0427a2f1a6bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.2.2.tgz","fileCount":1064,"integrity":"sha512-BGdVTfSM5Qi64pxeS2O+0iq8Ql1Mwkrli+KdxQj8c0OUI7pZVUkrSI0jc/su/YJ/g46b/QQUAnB8lSSBPQeBFQ==","signatures":[{"sig":"MEQCIGAcjTV0VLYPY6ynbTSvEgRzZSwJukJpy7NK7Eb8NRNCAiAMaISNLL1kLkpoMXDGgn5ngD+0SgoyfHE4J/2foC+tSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204294},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.2.2_1712564690127_0.341642570817847","host":"s3://npm-registry-packages"}},"0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83":{"name":"@preply/video","version":"0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adb73676d6f724a37062ac735d934b19642a96de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83.tgz","fileCount":1064,"integrity":"sha512-hwporGSOhNMZ4VscIQnbPsJ0ZUWqyBDaMFrjeMEluHb360pNR75oxRhlcGxffazOwsvka3rOKqvrBh722SXUTA==","signatures":[{"sig":"MEYCIQCbOrJ+4fVwuGPlM6oHibiCmJzBRbO/RpgbicRECfJ0KQIhAMdhw6i1AqKyMbxVIplpIpsACbqn4A3ELgdAqOJpuED6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206515},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83_1712565307492_0.6780074852480624","host":"s3://npm-registry-packages"}},"0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241":{"name":"@preply/video","version":"0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f88871707b44fe8dd8aaca233fca2d830233617","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241.tgz","fileCount":1064,"integrity":"sha512-iw5qWXC/T5EED9pE8S5JOKcQGcvfRZK3JoNJ/r3Qxn7qD1AMOfC/nsdXj4TzG9o7HjUODDOxXswnesoLIhYz5Q==","signatures":[{"sig":"MEQCIEeMhJeokwv1c3Q4S/yYYTHSTLhrSwwaHZF4aRpsTtiWAiALSzOTJKX1aLna84C+rsvdiblr3VZt3qps8vpKix7Bng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206560},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241_1712570655617_0.012861047881537413","host":"s3://npm-registry-packages"}},"0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf":{"name":"@preply/video","version":"0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c917c52fbc131ba8fd2da0ffb24afd306ce3ccdb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf.tgz","fileCount":1064,"integrity":"sha512-lg1camHRBrLwLkPvzdm50i8WTpCdHeE/ahIYcs0HE4Y7zHEegB2jS2RQU7D3mjTNy1TV0Ou/U3pJXyKXgg1zyg==","signatures":[{"sig":"MEQCIAMCgKd+P4Hm76Zvu9rbLDTR5gGGG5/dh7R/r2sdfvSrAiBNeeTAeYc/uh3g0hYVlYqORCsVCji4DojNDdlndGeFrw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206560},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^3.9.0","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf_1712571284076_0.9613847103279101","host":"s3://npm-registry-packages"}},"0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd":{"name":"@preply/video","version":"0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a3c25544820b9afd102ca196848b5d15faf66f50","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd.tgz","fileCount":1064,"integrity":"sha512-9Afpm7C22uS0qWTgQaUX6n/c7MnDjvte3PRX3NEuCgHki/Nw/JdT3/IrqxMez9NstRQwsrQD8rsWJ6xMBNxk1A==","signatures":[{"sig":"MEUCIQCSHM5PCuk/IdKWYYeFXkr81uRWqMvWEfbJiU4Fo+vWxAIgM8e/unNpxmdqCZoiHcmdtDWOPanGtHNjcYsUFu/ioC4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd_1712572895995_0.16139450526319088","host":"s3://npm-registry-packages"}},"0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3":{"name":"@preply/video","version":"0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"42c1d3c5199347ee22c6b985805a569fafb5a53e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3.tgz","fileCount":1064,"integrity":"sha512-QZiUnkpjktGWXmztQUxOtYtIiWfnfIFDj4iglHFAhbYu0lJENiiCxqUaRoUtN0tJGFPU1Qjq8aVYbfE6zqyOPg==","signatures":[{"sig":"MEUCIQCWuetZ1XM9m/NCVU5xehepWjhezucibBU+IUvXRhZw3AIgVxd141MkamUcqX1lufY7XYHQMz4NBtwmMDN3wo2rJ5w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206515},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3_1712578233579_0.5681083505523123","host":"s3://npm-registry-packages"}},"0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4":{"name":"@preply/video","version":"0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"549be32a14c9a4b8a2b43698970533a1a53ccf3a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4.tgz","fileCount":1064,"integrity":"sha512-nAs/x1xdIcQb72NbcSGK/0MGJa77L4R4wPSbxFrjB80k1znnBEjZSsTb0r0LkC5Pjlnx5CmNm1COgilxoYlBTQ==","signatures":[{"sig":"MEQCIDGolfC6VfY4nlHQKjpPI6AyiPAaKHFgqvLwV9F/XuURAiBIot/DOUKlGCaNJ2VxKoAE2BnvlJ2fY49B62BAEi+6dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206515},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4_1712579805082_0.6837982680103456","host":"s3://npm-registry-packages"}},"0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9":{"name":"@preply/video","version":"0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e3407fc9de2a7592029614195db3e85c285ba3f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9.tgz","fileCount":1064,"integrity":"sha512-tYMVQSbXuDOEzs6SV5hBZZc9k2jqP0YH2c0ZcivAg29Xdal5WQsyoKTFM83QQVK8dmaNRZEYxd/ax1sD38Yjfw==","signatures":[{"sig":"MEYCIQCnfVhNcXB4+Ix4EkwtYda+OjLYyEsO0mA9TDUWPJDvTgIhALeCDg4f/s2ekjmflucueubWZWr3sinddm7r3ImEL7hj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9_1712580513907_0.2036095033804166","host":"s3://npm-registry-packages"}},"0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033":{"name":"@preply/video","version":"0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d6202a72fbda402ca460ef35736e1793c79d5e1d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033.tgz","fileCount":1064,"integrity":"sha512-gO1YbkCn6XcbBzNOSkoDsXEmq+QNR0VCvUcHAnuScTdR41/xYO7aF6pR3FqveMk3pIjHfGDqtyfrZUBlXqi9dw==","signatures":[{"sig":"MEYCIQDovdjELLWvPJsdpQSmXU1jlMO07QPY+yJgRVnBa1xHrQIhAMjBT36/bGvpSnRKG7vzLmjW3DS32PZQL92FgueWN6GY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033_1712581232214_0.5887037324665336","host":"s3://npm-registry-packages"}},"0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a":{"name":"@preply/video","version":"0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ad226bed929a4ca8dfb76296fc8389d1bed4a004","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a.tgz","fileCount":1064,"integrity":"sha512-HXhWp8Bzzj+BegoRLEcqjgugZpDzYJ//E1GiKuP9B5CaA6iVRQGco/k2/Fc3ps07AK4n34mj98WixGUv0uqdFQ==","signatures":[{"sig":"MEUCIQDQoesk+rn7FrIvQEbSwh6SA6hl1zSN6kVfkrZhhw0GAAIgIB3PC6j4ttzsxYnMMPGtey4uFMcf44BmQk0q4Ij1DIM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env.hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=stage --env.standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=prod --env.standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env.hostEndpoint=local --env.standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env.hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^3.3.12","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^3.11.3","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a_1712581946872_0.09352563442252104","host":"s3://npm-registry-packages"}},"27.3.0":{"name":"@preply/video","version":"27.3.0","author":"","license":"ISC","_id":"@preply/video@27.3.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"da8eddf0e539db4d50dd0c56fa95d3f2c448f07a","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.3.0.tgz","fileCount":1064,"integrity":"sha512-y/Qt0cUqLl4kMI8HeSIEsNaNU+bTWB/mkEq1atEoKhHSn+etxCTYnKOA/xaU0DYm7dHr2YtGyKb5UOwRQy+AiA==","signatures":[{"sig":"MEUCIQDg414An/bbY8CBIV0WPMi5nNsaazz2+xHa9QvwJ2B6MgIgdclJ5K5G9aPv7db2FzaSdlMVPXtfTKAZt0NPovgcUQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204294},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.3.0_1712583164229_0.5432367196778307","host":"s3://npm-registry-packages"}},"0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a":{"name":"@preply/video","version":"0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f3728b5f3b16f66c11a062d82737b265ea5ad9a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a.tgz","fileCount":1064,"integrity":"sha512-vkyVuuO6zQJx/gOKvrq63c/ZV1UjysPR7FylxaKz4kt7xNpZ8DMDg/ygoSKY/1Oi965p2HWzGH3o1zz4QfBzdQ==","signatures":[{"sig":"MEUCIAp/wiILk8mBIw2m/xb50Fn8/GiDLHW+lejYT209JlZoAiEA8zkyWvnMEsObtEB/nT3Yja3L3lWj6KOvbt2cRgmoxZs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a_1712585030529_0.09586507679480016","host":"s3://npm-registry-packages"}},"0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2":{"name":"@preply/video","version":"0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"61f9793f2bf4a162a56876819c208dbece9309e6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2.tgz","fileCount":1064,"integrity":"sha512-hPZOgiGjBws1NOaDqhA3BuaY1vhxvSMehatMsicml4BC5qWLlHnSoGR76WMVJ1djWxY5VvkvsIE8vLMRznIcYA==","signatures":[{"sig":"MEYCIQDdyE9c7U8QvP5st1lYKghlxJZbFqkFAUjgWozqkJfnvwIhAPJm6O8M1ukVyPKiejr9As99y8f8T4XIy36hQcVPHe18","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2_1712585671611_0.39041614237795774","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f":{"name":"@preply/video","version":"0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8097f02add0cc89c9041afa88654db7163f60a5a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f.tgz","fileCount":1064,"integrity":"sha512-XhmM1qLOzpccSlkHnJOLamcp3MLVPV3MLQ3LBJo8Ls1bKLPLOuBnvJ0EDeU+MXGW6Hhj/m//3jrHfA9CWKZUSg==","signatures":[{"sig":"MEQCIAKY5AZpL1XLLmuUkoSqPBL1UT3odEcXuAmm9IFkVaDgAiA7sVpbrjaKLP2RdMX2SQocVkt5IlCl7Tb5TtZu5YqqEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f_1712586325195_0.7106970157075523","host":"s3://npm-registry-packages"}},"0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01":{"name":"@preply/video","version":"0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d221f8cb3c95520fb9ee8e8ad8a7ad7f33cdc845","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01.tgz","fileCount":1164,"integrity":"sha512-RPgNKmo0DGDozK5dvx4ba5OLE6dulDidlTrkoGm1Z1QYZNJzZiCmT7QLmG/RgqVRlAIPAwMHoPkCrekIorauqg==","signatures":[{"sig":"MEUCIBOAtK43AXhNsJgLVU7uIFK7Yt3UBM9V3B0Wwmwc1tV3AiEA5Pr2Egbw6aK7m4/YnXoEvJtaI4WkjXrhgpgw2YPrgCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32129973},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01_1712587264217_0.3793655375461429","host":"s3://npm-registry-packages"}},"27.3.1":{"name":"@preply/video","version":"27.3.1","author":"","license":"ISC","_id":"@preply/video@27.3.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"997dda34bcd74fd6f724a8ec707bd3f26519694c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.3.1.tgz","fileCount":1064,"integrity":"sha512-ygOT6KzHPYr1VlRqywdnbUCQXoVNoyAYlIoz75aDbmEKibGooSP23D+9EpNGeLf4H0R5EK8Pv4lbAenlvmSe+Q==","signatures":[{"sig":"MEUCIQDUfab3hfIv0He6+OSjKfwBpwnEbknJJLHRLMFnmjAMuwIgLUsp/M/5Q8MoFvin9cxZQyAqGpj9mBnRda86wqHxPuk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25204294},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.3.1_1712588139302_0.08911969274302223","host":"s3://npm-registry-packages"}},"0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676":{"name":"@preply/video","version":"0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b5cd72f8fabe370cfef3dab290d5225011b7997a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676.tgz","fileCount":1064,"integrity":"sha512-667phy/nA+SUBxriRpfpanwtxAPTYh/RlHucYxZRXp8rJ9091FO8q+up/YLdJvk293uVY2//bGyTD1e+xidaGA==","signatures":[{"sig":"MEYCIQDNSG6GVFu6PJP8iMWuPLRJU/07OTU0b/U2M95sB5peBAIhALJEzlGqCZzrNoXTXupnVA6UCc2Bd0blZZaYN7CblAOR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676_1712588820204_0.11406269033454497","host":"s3://npm-registry-packages"}},"0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134":{"name":"@preply/video","version":"0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d398a834902f665bd2eae210661f94df65faae30","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134.tgz","fileCount":1064,"integrity":"sha512-TW6kij7r4yLjnFc4wM1L28BTket++IjOB1k/tPQipaNXDO8oajOTFRjJYg4kI4WToccyo9kg/1yhWNrhtkIpig==","signatures":[{"sig":"MEQCIGoyf0UpYt/IRd40JQUNlrqkOzjqUlZznjgWer5R3LezAiBOX3Zzy50DyiqQpaQchE34I/jcbD7mwH2oVivAByFcQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134_1712589819400_0.4862377535884139","host":"s3://npm-registry-packages"}},"0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c":{"name":"@preply/video","version":"0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"45846c25e75fec21a5934ce44e4959849544f854","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c.tgz","fileCount":1164,"integrity":"sha512-9H4fogavjX3AlretGS3kAj9pOutIfYYycKDrXVcg5Sa0PVUB3Xnmkqs3HCBshXL5M+Ktvnzg83xgdsZIHONXNw==","signatures":[{"sig":"MEUCIQD50rmkLM8dlrefABsW/vFynzyKmeXhOXGa+CvoYRNq/AIgfBlQOeWZE1rB07tdDlTtkOB/22ulKFtkSVauYis/sas=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32129973},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c_1712591947191_0.3431721176812559","host":"s3://npm-registry-packages"}},"0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d":{"name":"@preply/video","version":"0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a9334f149ad4dffc2d45b4d9c91582b392bff29","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d.tgz","fileCount":1064,"integrity":"sha512-KAl4t0v1sTtiAWYocBEzsyo6+J/a4diyv8gb6pUSYPyMS6Hh0Mb7r0TFJpJ7v75bRBPDweSNqu+trNR6+z17og==","signatures":[{"sig":"MEQCIGZac0XOGrQ0mAyCy+ERoUd+3HgsVrCxQePOw+XkUAVKAiBkmMSVI+nxf2WHbi+1NGro4CYhqx8GDDEqtcK1fv/EiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d_1712642253918_0.20844464624389292","host":"s3://npm-registry-packages"}},"0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e":{"name":"@preply/video","version":"0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0644826a2e8a65acf62d3999a4aad509caf0e10c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e.tgz","fileCount":1064,"integrity":"sha512-OsRp/775adIJVCQ+9Excu1OIDRn4N75FW8+tdHbbsPFF6gDDUffRBeX45lvFvRVI3m8pQ/I9BOz6FvKOTAdQWA==","signatures":[{"sig":"MEUCIDdc6l8/RpgSE2iU+ZWkvxcieOPvtpq3xCu4DC0DEfTpAiEAvpzWCUP7vzos1qDsLMmlK9FUcG+xs14Dn0qwuHRGMfc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e_1712643408467_0.7260329566943962","host":"s3://npm-registry-packages"}},"27.4.0":{"name":"@preply/video","version":"27.4.0","author":"","license":"ISC","_id":"@preply/video@27.4.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04980f6e0a0dd2a770c31fdb272150165b2c3a08","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.4.0.tgz","fileCount":1164,"integrity":"sha512-rpRgs69pyfroYKK17LZF6MGspSjQh8a5+GYzSqxRtgW250YUEx87C20ObqWp6dgaGkD8mlWogKJhLapzKFnfvQ==","signatures":[{"sig":"MEQCICyTB8hB0zSHO+s1AhkktxkwVDhaTnZdNcdC1vP8cvb2AiB73w+zlg3G9DAYw/hwTHYXC5KDBKhgOPBoLAGzLQtlsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32127112},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.4.0_1712647981702_0.6646184265372252","host":"s3://npm-registry-packages"}},"0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929":{"name":"@preply/video","version":"0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2c1d5968560546c8887f5b89611ef1ee577b0406","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929.tgz","fileCount":1064,"integrity":"sha512-5RehOt5Fo0efoxV5G6kjuOJfT0lpx6fQY2BOE5RLAdtsG3ZgoJF724Qa03VC5FSHbgy7jlCiXKOWu/uiFl2fCQ==","signatures":[{"sig":"MEQCIDQJ7N8wutDV4aXjd0nh0UaZ7PAJzOtU4fDvcywernKgAiBX0bQuwVmoFA+pN+aq0E2R8x8nLQ9qfZC6HYPyIhGsVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929_1712651623968_0.257106499093567","host":"s3://npm-registry-packages"}},"0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c":{"name":"@preply/video","version":"0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"77ddbbf745fb216a09e38d3854c32406813735ce","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c.tgz","fileCount":1064,"integrity":"sha512-VcrvPGFMgld/YszzW4wYsmXMUTILoPDZZ6dlwfkJt35BKoXJD6/LvbTwbBezbfvfVBZwNs2+ajLkNNiez6FdZA==","signatures":[{"sig":"MEQCIF7Q5fp5ZqHWiODekkafa3P0hdRCa9Orj4DuGOSFjbAuAiBMubb4udR+6i03Y2KDTZMl3L1YJTA0bZd2Fpgz0BHQHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c_1712652244484_0.2722944815713306","host":"s3://npm-registry-packages"}},"0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c":{"name":"@preply/video","version":"0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e113aa2626e9de3853ca05db4bf83dac83ddebd5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c.tgz","fileCount":1164,"integrity":"sha512-QlO5smNczazW6zCXeUuu4BBOFSm008pQUNtwZ47XPEw6ROJaD/4nr4wJt5Z0bDlALPx55hDMW9ItdXuVBTWcVA==","signatures":[{"sig":"MEUCIEsNQjgp6vyhzrMxIHcG+CdUVjpr/mfb3HLuF1SgO99UAiEA9LodHgdcQRfCtN9UMA3vlkpXtq+csRzomJhfk4vdViM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29914920},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c_1712652981998_0.8963582329121695","host":"s3://npm-registry-packages"}},"0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416":{"name":"@preply/video","version":"0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c2120b2b0314ab7ce5731fb402085573228e8aca","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416.tgz","fileCount":1064,"integrity":"sha512-Mv2iteaZk9uQRS2lJtg6QKFMjQPMIuEDxrB6U59g4tqxP0URhgtCKTJDJe9XXIt4ioPD+oBlITuArilU/S2ByA==","signatures":[{"sig":"MEYCIQCSRsFN6xlXZUegzLLyTyarw3NOxQA6mtgqAJrC5MwdHAIhALBP8L2XNIBrZzdajLY8s+nzetGWyv/XVBxsdxTwKr/N","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25206561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416_1712653573411_0.3325752758992626","host":"s3://npm-registry-packages"}},"0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f":{"name":"@preply/video","version":"0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"459cc9c0c8b090a9edc45d02ae539963ba2b3d45","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f.tgz","fileCount":1164,"integrity":"sha512-W07ixUMBZECFQhB1Jf5oBWzt3gNdyjaCro8OSvMIJ3OSy5umhW8TmT4Qb9lTOZiBcao05z7XN11Axz1Mgtcy4A==","signatures":[{"sig":"MEUCIQCZMZa2nT0maow3EZLpMBkH5rklMD3GdWLGGx1q8lbTtAIgGUL/2+cyZlbu9jSbxul/BvVlxOp4NRBvCxfoiCeJOLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32130019},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f_1712656534289_0.05797504846091672","host":"s3://npm-registry-packages"}},"27.4.1":{"name":"@preply/video","version":"27.4.1","author":"","license":"ISC","_id":"@preply/video@27.4.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"79b503bda59c7c6d07b06bc420daee56ce74e4fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.4.1.tgz","fileCount":1164,"integrity":"sha512-Z+F1BDZVeEHrFEv7SIWUr82pNRPYVbCY+9X8nE8w4MIbrS6dfM5/0mdcaYD8Y9Mf/plajComxq5K9X7gISNZsg==","signatures":[{"sig":"MEQCIFzv5KtRv0Vcfld5xN8WJ9t/QHMOBMUk4me9XF25ro5FAiAdhbeJtRrz4s9VUr1x3hxFgbAoXJsRnPUDZZ9f3FAlRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29912059},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.4.1_1712657328260_0.37346374025681794","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3":{"name":"@preply/video","version":"0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb360776aa73eea5130fb1a361c0346d43cf31ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3.tgz","fileCount":1164,"integrity":"sha512-2qG6UA94pbrycJfXWm+il3kgrWeEFPT7UK6ivS/yh+uwmrWpsHZEHWIg1cECwyISQtPhMHmpPmyY5W2vwh9qTg==","signatures":[{"sig":"MEUCIQDN4Ub41cJIYOH+uUrRqZv2985xgRuw1ZwBZpQjL3I/7gIgJKJTu5vtfYtqHwyyoD+/lk9BRhNgcfJOblQw1DVPoH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32130019},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3_1712668275623_0.2808860381514713","host":"s3://npm-registry-packages"}},"0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d":{"name":"@preply/video","version":"0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c3048068084bd91d42aeece757ead2e53ce82812","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d.tgz","fileCount":1164,"integrity":"sha512-rTkw8nXFrXsY1X912N8sDFQ70GjHeMtyP4muiS6Ew3D+VkAvcfX4D135yK8xI0PbhRCh6nocUwv8QtJvDsIMCQ==","signatures":[{"sig":"MEUCIQD0//r+Z9K064px+gK7OYQLs6ozQGitbVGqHgCeNd5JzAIgSGwFDlLFDnDwsaN+bBQOVsT+kQD/AI+ikjabVBLwu2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32130019},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d_1712669093012_0.8132641151679489","host":"s3://npm-registry-packages"}},"0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e":{"name":"@preply/video","version":"0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e52d24ef8605b57d1e92ff48fcd996fe097b7fb0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e.tgz","fileCount":1164,"integrity":"sha512-iaxKvZoZnxU2hsaDHOATJOhSNqsUfVCTHD+IW660eYL50An2S4aimnn/Cbne8cf9w4ruqv7JLsply9b9GMpIGg==","signatures":[{"sig":"MEYCIQDLA6hyWWgG8m9Y+l0lmCcZKs/wOdLPhHDr5RXmzmVeXAIhAIrVuGogFr5KjzjVV1Pd3PXlddDbr9TOn+oOfzZKN463","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32130019},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.0.5","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.3","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-eslint":"^10.0.1","babel-loader":"^8.1.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.10.2","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","graphql-toolkit":"^0.7.5","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","redux-mock-store":"^1.5.3","@babel/preset-env":"^7.10.2","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.30","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.10.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.33","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^2.4.0","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.10.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.10.1","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.10.1","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e_1712669914275_0.6106835999671347","host":"s3://npm-registry-packages"}},"0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc":{"name":"@preply/video","version":"0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a393e0b0aa21237e70e984492886bb67fcee156f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc.tgz","fileCount":1164,"integrity":"sha512-4W5qJ7qzmP5mZE/RzYwEcrttIAK/BggioF3aITU6Bu89oLorIRLuycA644xlzE5h6BVm9QPAQvMHjEFxkWRkQw==","signatures":[{"sig":"MEUCIHjO9giAPr3NbgxVNI0mmynJCsB8GXh+0S3B+lhjRrFzAiEA7A7qiq4zzrqp6Z0QiXNGmu4WS+5WdDIu0yBbpXoy5YY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29914966},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc_1712670840017_0.8966148379719676","host":"s3://npm-registry-packages"}},"0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31":{"name":"@preply/video","version":"0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5169f6d5bc0a571464b42ac4b23785862bf910b7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31.tgz","fileCount":1164,"integrity":"sha512-/lf27zCtjux0+neyKt66aawWjvpHkYjooeny5KC4VQW/OjjcZ8KwYTIg7bJtnTD7F9P7WRlzUcB9DgpkFYknfQ==","signatures":[{"sig":"MEUCIF70ZkvPHvV48UnJCAdg4MCbyPP6fsJIzPDoblbMJEQaAiEA6m//qgcWvnCI56ZtG7iYgwwLeqhJ8pHRwnDRlJrWcik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29914966},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31_1712671686645_0.4520269233868357","host":"s3://npm-registry-packages"}},"27.4.2":{"name":"@preply/video","version":"27.4.2","author":"","license":"ISC","_id":"@preply/video@27.4.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3d56d7c7a7a7d042a7a9d35d83e1bf623a0e60c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.4.2.tgz","fileCount":1164,"integrity":"sha512-GhhKGdTWCWG6L9zbKpVKcYMy8kK6w56NkWBPFUMupvofysRqUWMSVRB/qeHfOM2JyMAakKbGs2eDEk/kWeK+OQ==","signatures":[{"sig":"MEQCIH4s9usdf2A2bjWg+Cg1bjd8v9Yu3ueV1KVJVVBDuH9uAiAS4/PYrLM1RgVWFZpsvaZI78rM/VQIWGRgTd4NKa32wA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29912103},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.4.2_1712673219191_0.022057363712614908","host":"s3://npm-registry-packages"}},"0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd":{"name":"@preply/video","version":"0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ce53c3c1543b2f321af1aaa6ef56998d80cfdf0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd.tgz","fileCount":1164,"integrity":"sha512-D19yJJuJycaeCyfQ9ErWy1QG+KH5MfigrbNEJryT2gY8t2ZHJj+WkyArOt+ozr6ZZvWmpQqazT6YHCnW9NuDVw==","signatures":[{"sig":"MEQCIGStU09agJjeFoRGG3bDxfhCztGx2hrUZRm0KjWGrTP1AiBdgC1ZJLrTcghSLabGeSl8T/YgQmBREHStl9CSnb6tng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29914966},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd_1712729114135_0.8109658275255835","host":"s3://npm-registry-packages"}},"0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b":{"name":"@preply/video","version":"0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3c0bec1d17fe7acb08b72a631750fa05493ee0d3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b.tgz","fileCount":1164,"integrity":"sha512-YrbQuotgr3ZAIOBzESCbeSd8L46xMhMS5cWAZnApk8BvhKwkvn7vWD9x5Nrc3MzzcsnoVaBeTDfv4YXu+D0uPA==","signatures":[{"sig":"MEUCIQCLUcNXOFSAH1lSikvtMQWwkAuuVMkWNjnKu5KRNgSBoAIgbJNvC7elUXF+WZq6BipipMPtmyrJrsRE7v/TJKG06XA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29914966},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b_1712729863846_0.3564973221211458","host":"s3://npm-registry-packages"}},"0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a":{"name":"@preply/video","version":"0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aeb764889a04e783a5267093b610c822245140e1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a.tgz","fileCount":1164,"integrity":"sha512-wZHwL4y5eFHnG4TjVOKD6kKW7hF0za0AvFvyl6k3hn4GLcp1sOt8GBSEK9tnIavP/hGo9+xS8ZqDJLk8f0vgXw==","signatures":[{"sig":"MEUCIEl7I01Dw2b7U+hAuzbSwtKs0p2YzMRO+HYh0NJ0dbuHAiEAx75amyBooSLq1hTrEvaA1TRliCJ5phIxdExEOAPcUd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a_1712731386707_0.22949664645839585","host":"s3://npm-registry-packages"}},"0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2":{"name":"@preply/video","version":"0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bba5b581aa8d98448c233be1756c81a46647b15b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2.tgz","fileCount":1164,"integrity":"sha512-U9mTiWEID+EJM/8yCuXAqc5yw4aKVvEuHx1PvUDDTNmRBIIJakzQ/x0szjK0Abegwji41/widoghrTcjt6bPjw==","signatures":[{"sig":"MEUCIQDoInPXFYc0WVT77gVE638yJ70Yg/TPw3aYINWtA370VwIgXm6QrzX2c8eV+Mmqo1dIbbwBo4WANIJutyCxiXcAZmc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2_1712733489382_0.0049114804417325075","host":"s3://npm-registry-packages"}},"0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9":{"name":"@preply/video","version":"0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b940bc4972c0d5f460e5f42cd6a1d8da1072b771","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9.tgz","fileCount":1164,"integrity":"sha512-pQGuBwQhIMaKFArLTO+ARNxWbRJTvKjhDdmknkw2J8YANK3YHel6JA3yPZm9ZU/9Yv2/6KVThpW9yGOCwlczoA==","signatures":[{"sig":"MEUCIHMtAuvCUq4rIs7z6nslxVSFBGyp40JkgHe6OsjNOsUgAiEA4TCqidY64/7JJwII3dMbHeFbV862jZh2vyCQf4bkkks=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9_1712734404342_0.8376909240052159","host":"s3://npm-registry-packages"}},"0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951":{"name":"@preply/video","version":"0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"086fad2a31fc47b87575ba2e823d97ddb7b82202","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951.tgz","fileCount":1164,"integrity":"sha512-jKc4TIjHz7tZxKETr0kDC0dF+cR8CDz3TIk0wEMHusMgrC0CoEBOnXzUbvkEoG5Davf7y3C1/J8hZwg3G288DA==","signatures":[{"sig":"MEUCIHRw36Q+ALVpKthG0mm6PJkrd4mJRFSlwXw0v3RPvEzJAiEAp0VWryOptfus5hLwh202PsQq2IV18hzoqmSyUJUj4vo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951_1712739430176_0.5913434966178082","host":"s3://npm-registry-packages"}},"27.4.3":{"name":"@preply/video","version":"27.4.3","author":"","license":"ISC","_id":"@preply/video@27.4.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0889ee420e34b960b9c6517bd3fca11e5ca28134","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.4.3.tgz","fileCount":1164,"integrity":"sha512-xPvXfM1Ek0bhwBzEjX0FjLfw+DSA9fvvSk4Q88htsaK9Uj9a1XSKPj23gddbGfgD61XmEeD44h+PgirgmWjmDQ==","signatures":[{"sig":"MEQCIHwzVIludufegXOx/1EvwSN4kDryuZXQk2qnVz7GUUTJAiBpInlCLkSKcuWFPQwNF7UWnpTNouGvAG0MQiGZ+lqKxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29912653},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.4.3_1712742473568_0.848955623831124","host":"s3://npm-registry-packages"}},"0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd":{"name":"@preply/video","version":"0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3646c2cb849df5459fd270417a7b608de3c446e2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd.tgz","fileCount":1164,"integrity":"sha512-06V4r3AMAcbRAvp7RjyW4BMZkEFDfK9OErZ1pbUJbaqidWagMJp9mEJ6+jCNdVWqZvr6nZWPB8ciNv5pfqsJPg==","signatures":[{"sig":"MEUCIDN5bSMZENZ47RAMW4JWS+5DP94YzoUFSnMPyeeEWaVJAiEAoFPIqsfYYcfkIKcXCBxnItvvhL+jxkEKC7HTk54+o3A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915514},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd_1712746041012_0.07235917197604724","host":"s3://npm-registry-packages"}},"0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef":{"name":"@preply/video","version":"0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4347b2cde45cb901537935d5b872318e80f05822","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef.tgz","fileCount":1164,"integrity":"sha512-PzkO5ASa2WBf/PTStnfRl+ruTWyhRcV5ivOGQz163veB/aoVdgJEkIdkRS5RHa1GZGrApCRVYooK/Z8j5fjLyw==","signatures":[{"sig":"MEUCIQDFbW6GRRLuVJkVj4wvW+9txvbaCzJ7cKqLOEhqd3kiLgIgR1Aa9MockhK0d7s4ZP3h/KN8JnhfQYFGbwUmV9XKuvc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef_1712747439217_0.6505004821522127","host":"s3://npm-registry-packages"}},"27.5.0":{"name":"@preply/video","version":"27.5.0","author":"","license":"ISC","_id":"@preply/video@27.5.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e32a4a93f25c655c94a68dfca3a01564f4b4298","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.5.0.tgz","fileCount":1164,"integrity":"sha512-CDsfcT0o7q2eq1RQVD6cQY624OOkeZqHhGuK+eEvNUfoAmSACVybKm97RN1IB3YIUBr5ipx1FTC7AYyk2MPXdQ==","signatures":[{"sig":"MEUCIHaAZX1lsGsTTP3wruLZXAilc5s4PTkeMfqV/XxYU+fFAiEAstOutjBbzhUGQSBI5DjVocIcKF11ULMCfO7+f7uuDtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29912653},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.5.0_1712751240167_0.06163856680875579","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72":{"name":"@preply/video","version":"0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6e5266912637567f9342a73924161f0ce26332b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72.tgz","fileCount":1164,"integrity":"sha512-NXocqi0P8nsE2k6NLQ0SreWY0cx7Q4I0kUlG02XVAP6Ykx+DtLFGS0rcCkpEq5MvGTkN64oByYVmubHMTK7rdg==","signatures":[{"sig":"MEUCIQDMrPtybuawlpxHlJzcJukyhyZ/R0OQefLe3zcBaMPXnAIgZHUDR96VBO/TITIO3OiQzJjI6529ne47nxri2IwgsTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915560},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72_1712760165789_0.31361905770294873","host":"s3://npm-registry-packages"}},"27.6.0":{"name":"@preply/video","version":"27.6.0","author":"","license":"ISC","_id":"@preply/video@27.6.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e3c6034772ab3793faff557eaa854031a2beaf6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.6.0.tgz","fileCount":1120,"integrity":"sha512-limLPFzwx/YDhc7+sF+ZpbaMeZlFoxf51wOPy9EbL0f5qeiV5zcjzdkw4l7LzY13BQeu7+CQuFbs/y49QZ0TQA==","signatures":[{"sig":"MEYCIQD3EJ5aEeQssYrzM6TFunKdaa1ka7R8pj+ugvPZqa6ptQIhAJdQ8hIYZulV4Tmbr8qSGCih6+/jHkZ+1FZwIaDDRduT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29064905},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.6.0_1712760891338_0.9490989545164001","host":"s3://npm-registry-packages"}},"0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d":{"name":"@preply/video","version":"0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a85a73c4fabeb6435a5d4f7a77ee6b9a24c7a7a5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d.tgz","fileCount":1166,"integrity":"sha512-Adr2ezmywjcP+MXczSKdY+lV8TVQrIETiEt3Jw9xVbT2JOnLJ/QMRhM5HHEriMiF6sn5aeK15J/V6wKEwm2Vew==","signatures":[{"sig":"MEQCIC54PqvWa9WFYokNj8H7NQvJFpOt7UpL4HwVD8757PDCAiB3LLttjwBE9b6dWZXezWAz9rNT9tC5HlLlNptHZMbSNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29921026},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d_1712761969550_0.13444687871539296","host":"s3://npm-registry-packages"}},"0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0":{"name":"@preply/video","version":"0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"27d972dba708ffffa54f0959bd1b459407a8591f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0.tgz","fileCount":1122,"integrity":"sha512-ubKU/QtGxj6d+LUDnlBQRZZr3SfUq1Vl1aF+7QxuD9BLWxWEhOQ7czcQTciljfgedf0o4+TNlPub0hi36QLYnA==","signatures":[{"sig":"MEQCIG+EZpL8v4N93YYGabycS081SOGrokmI3m0+lvFCGTp+AiAHa33PVLVCBWTfINlFBrYVAleyR5Y1G7hptq9bijdJmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29073826},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0_1712763801898_0.38333650068286196","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d":{"name":"@preply/video","version":"0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c908a140f74f28468d276215f56861d68cfc5bf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d.tgz","fileCount":1116,"integrity":"sha512-KtgzWJptgrsIn2AVYSVq7ZoyB+m5IOsXMxnO3076I8qa2Dfj8Mmg8C3jEf3/vbiCTOWCCE/auLJ68md+kJ3hDg==","signatures":[{"sig":"MEUCIHtnWYOCTzOmOT6h4emv+SjePrqw8P6qvRiSGJuPHiQ8AiEA8M1S9QUlb1AZFS6gjKlkiNISeJofTbRNSaVZHgWh6gk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29066465},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d_1712819950406_0.9077684386112992","host":"s3://npm-registry-packages"}},"0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719":{"name":"@preply/video","version":"0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c52e29bdcda30e66d8f18de35e5321ee5d42b23","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719.tgz","fileCount":1164,"integrity":"sha512-ZxoX2sQ87rbVcVqnCbnlBaa9iInYVMlWa2BI23sm1p6LnJDFzOD0qHMfmJYSDqOGaQvUgYstAwClxu6TcWP4+g==","signatures":[{"sig":"MEUCIGSblYjlohrPfSIpwNSUVMH3ANIGdyxMz8hpEKouiDCfAiEAyyQXKLclPHruw6bjtPsYTD6MjO1v979rAXNOmIyYqkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29915010},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.3.2","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^5.13.1","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^0.4.10","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719_1712822071811_0.41028147624602296","host":"s3://npm-registry-packages"}},"0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911":{"name":"@preply/video","version":"0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"637642a6e6e82c13bbcb4cd5fd8648ecf9f4896a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911.tgz","fileCount":1116,"integrity":"sha512-K6BzmiezGNy1wucHlYLbwykIhxImV8DyLCtNVjk/p0bybh0izDb7FyT4KO6Gafw2Gt1vgG2OcUsHpsKxOJdBGw==","signatures":[{"sig":"MEUCIQDzu5DCVK/oCaGlIbvE8u6v8XK2vWvesNpB4i75ZdvVKgIgVozBF/QC2Ho25hNq/C6x7ab1aejjsVERapb74nN0NxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29066465},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911_1712822786524_0.5275717203394603","host":"s3://npm-registry-packages"}},"27.7.0":{"name":"@preply/video","version":"27.7.0","author":"","license":"ISC","_id":"@preply/video@27.7.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"10f1e00e2994baccde7ba76b58e6765c498e9f92","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.7.0.tgz","fileCount":1116,"integrity":"sha512-gcIPbKLToM4A1Fy7ww1SKNJJVyLrUDWDW7SHwuNsDJOXmy+GFP/gjriS7HAYxUaumul6xTfuoyLaqf07dwV63w==","signatures":[{"sig":"MEUCIQCbkUeQTJ53pm0z1EBIaQ0JfKheBRZw8cAtr2BEem8g7wIgSv+j7czqhHeB+Tlb3i9HJce3k1KIo4ReoD5/viVkCRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29063604},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.7.0_1712823425267_0.3412688996955169","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd":{"name":"@preply/video","version":"0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a9f880e1d8e513050213ff20b87e02b8f0889af9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd.tgz","fileCount":1120,"integrity":"sha512-CJHNrhgUQEindBGnPDmIcAWcHWs5mnn/n6zkJcKlQsi/qVZcairi56sWgE5chFLARyQ6yk1nJPphpAM189WZyQ==","signatures":[{"sig":"MEUCIQCAPL4XzLXWP2Uebkt+DcGmmjcS7hYOJUATs8HAk5O6SgIgdW8ugQ0C1FASELO60WQft9emR30vjdFouDybc/f1C34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29067812},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd_1712826288585_0.1781352265882581","host":"s3://npm-registry-packages"}},"0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0":{"name":"@preply/video","version":"0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89dbc5c1e21ad4ac5e277bb6951fe8b4b3b9accf","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0.tgz","fileCount":1120,"integrity":"sha512-XTpnLcamEZnWZvdOk+qcmyEuoLGcHVCq2VLWrKWHYT60+mj3iBqzfe8iKEAmJ4HktZmwuyitPH9CzY4+3dWhMA==","signatures":[{"sig":"MEUCIQDkOC6QVhPLmQ2rF/EIHpfe6TBWSsAF17+3NX8IOMfY5wIgOTzMBg05gK33JJeVXCUQlfpaT5hZEvAy1LdC53V7Vzg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29067812},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","recompose":"^0.30.0","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0_1712827229343_0.3585794853436548","host":"s3://npm-registry-packages"}},"0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0":{"name":"@preply/video","version":"0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6469034eed9a1fd7fc7e88c8fb58cbac5b1d62b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0.tgz","fileCount":1116,"integrity":"sha512-Yn/gbRBM86lxGcZwPOMeg0s7gdtLRUHkp34wgQHVBQirAvzgIBHSQYFoVvpIo/Fkh12KcI2mzaxBP1380cw7Xw==","signatures":[{"sig":"MEYCIQDDH7NlEj04WNy6lZvyxJnQaxmphucmdrQZCzqtDJwAgAIhAPyx0iG+uMoCHSCn57fut7MmS5WkLAdMPGxdD0resmbj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29066465},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0_1712831222154_0.6419467184976269","host":"s3://npm-registry-packages"}},"0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e":{"name":"@preply/video","version":"0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"62c049501371cbb7e338347253d8bd3ddcd21b42","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e.tgz","fileCount":1116,"integrity":"sha512-Fk8Wz67eNMf+NXr2fADxtdrJPztrzqSInbf3sFt3dbwzR1XTihBsjNvf8o/rNNx34JLIbh5N8DRrIxyAz7aGRA==","signatures":[{"sig":"MEQCIBLLcZE5+/EelfPFceTNLC11bGMaaS2kNO2vL3rvKBbgAiA0Gwjs/55yniSoFl6xIDltVLUAVihSyp6GkotRyD7tfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29068082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e_1712840354128_0.040409500938670906","host":"s3://npm-registry-packages"}},"0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff":{"name":"@preply/video","version":"0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04f755827828a5e0f1bf22fbb822475e7f79593f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff.tgz","fileCount":1116,"integrity":"sha512-zYSp9Eue/bD7wq5iK3YZmsEUwJTGQuMTlCgUF83wBQfbT5ePrrrcXx9NxU3/eFPQjMbvmq/T71KE/MxIu0Y0gQ==","signatures":[{"sig":"MEUCIDHzssThxay639fPrJPLwDh1wmHuAAiks+GW7jQUCHfpAiEA4xfPBskqBVfTxi1SUaV+klKkC7+h0/pZQ7lyASX69wk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29068630},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff_1712843446175_0.46028628916745085","host":"s3://npm-registry-packages"}},"0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097":{"name":"@preply/video","version":"0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9ae9a1f19137ba95a9b30005f70a0226896f36bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097.tgz","fileCount":1116,"integrity":"sha512-4g0fQOpkrrdbrYzaE751M/8XBw6jCF6mDYecTH0VrD3fJVJA39mxaEUHXQDFo9A11dYhu94E4o4bB7LhZLZXpw==","signatures":[{"sig":"MEUCIQDTwdX9l2oYm7+eX6M82wXGvEV/pRtLmd53RJ1Bx4TA9AIgDN2cRXcICiWktAGDemXyTln860S6kpR0wkowLReZJXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29068082},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097_1712847230096_0.6052681431824762","host":"s3://npm-registry-packages"}},"0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9":{"name":"@preply/video","version":"0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1e3706fa704e2580695c97078867cefb7829ad0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9.tgz","fileCount":1130,"integrity":"sha512-GlUU4puwaSNLY+qWAQrS/QwXqwcpvL5A8kpEVzJLL+GDWHVMctTePK+D40sexWXFvPIIybiadRPiycF7syRMYA==","signatures":[{"sig":"MEYCIQCrAidwDLbuHp+FGDG6PCLf1GaP7Y+CplbP/VIkR4YeAAIhAOvbJarxQBoG/zdyXW5f29AKRmq3V/Tt3XZiBbFXNTtc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29144519},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9_1712848150670_0.19320668631889282","host":"s3://npm-registry-packages"}},"0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780":{"name":"@preply/video","version":"0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e9396842d362be708a2a185051520b5ef6b3e665","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780.tgz","fileCount":1130,"integrity":"sha512-Gjxx6Zd4CufbJiCm47q3kIG8eunoYYX5HuMhaXy0Qsq14xDBF8seybEh/DcaXcsQAgL6tOQpGSi4v+4BcJionQ==","signatures":[{"sig":"MEUCICR6BIVWevrzumFMqBJ8wY5ZrXTa89SB6MIfrMec3gRiAiEArX0ewhktOObrRZjwlNd9Z9c+9obua7jumBT1sr0spnM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29142608},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780_1712908599715_0.18363922790403686","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9":{"name":"@preply/video","version":"0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fdc404b1dc7bf09a5a9cb58d2e015cc49fcbb923","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9.tgz","fileCount":1124,"integrity":"sha512-bZ3CHWxSev77KgY7clddVwzCHgNKX27FvV+9E0PrgtpwEH6BZ3ykaKe647x4C6e/xKzMrNlh5MgWzM66s8ozoA==","signatures":[{"sig":"MEUCIQCIq5GKa6M25Rl6jiWRsDla+kaOo9zdP2UT+LyHgAwEFgIgeaipVLvccSIj9fs8L88evRd29/eBu1klvqMWTEy49lg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29116774},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9_1712916857932_0.7924275485971135","host":"s3://npm-registry-packages"}},"0.0.0-beta-250992075225052b9613046972ffce8475df2d55":{"name":"@preply/video","version":"0.0.0-beta-250992075225052b9613046972ffce8475df2d55","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-250992075225052b9613046972ffce8475df2d55","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5a3fad2095f1544005d5fa417d8e15b413be62f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-250992075225052b9613046972ffce8475df2d55.tgz","fileCount":1116,"integrity":"sha512-4Slg6L5kENvrUXlB5Br6m/6nr3kbaHNxAW6Sf0RfQY2HDsK2GI3BhYjqIVZknyX1+TPN/xtbpIVIp/mU6C7zIQ==","signatures":[{"sig":"MEQCIFwNrfqvrIaADkrq+7qvW16oRqzdQkLLm3MYO1swtj5lAiAW29utM3As8KkQ+Y08PLJEjgMTVUo7Ncegt+GuwFYkyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29087822},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-250992075225052b9613046972ffce8475df2d55_1712919627010_0.9305431684505325","host":"s3://npm-registry-packages"}},"0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996":{"name":"@preply/video","version":"0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5b1fba55d255ea8fc86ec7183d4a07302c1b635a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996.tgz","fileCount":1124,"integrity":"sha512-4QPKjO2JWqYXehrZYk/rY1AAtRMRPR2wQruQGQMS8kVSHUvWuwLCdcnQF4nMBedGvNQ7qJTn2bUdQgey6D2QDg==","signatures":[{"sig":"MEUCIBD+pVvClzioONq/B2E9jdm5tlOscz1JQ+jaGKwYfPDuAiEA4KQZ3XjCE9UNU7ofBTmSi8A54n9fasosUOthTlXLw48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29095761},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996_1712920357083_0.023957317015181667","host":"s3://npm-registry-packages"}},"27.8.0":{"name":"@preply/video","version":"27.8.0","author":"","license":"ISC","_id":"@preply/video@27.8.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"abe361a0aac6954a6a2d464f4c486c5122adc320","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.0.tgz","fileCount":1124,"integrity":"sha512-3G2yGmJztJ2o33MjbhjL15PUcKsDEsRuVDYDzQPq1gP9V3iAjvkvxabIJdMs9TlT3Z1k712pjNKdGoWWpoRu7Q==","signatures":[{"sig":"MEQCIBUz5x7KGGTj+uMv5SORcFRsW6Ac7sdKQ4Dp/riMfDLmAiBDr66J0Zd6xfwVfBrFog666vQMMC4IV1TSjdLCY+BMhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29092900},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.0_1712922837527_0.06210338152635564","host":"s3://npm-registry-packages"}},"0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083":{"name":"@preply/video","version":"0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"09df0449d45ae753072c76a3ffb4a766c4876d0c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083.tgz","fileCount":1124,"integrity":"sha512-HKVThqfzuLURdElGIll+38ajkyt6LFLo+Vy5mgVJWGmJ/9fVaT0KS4/mSUOFwYU9nygYDT4CneivPtjt8WM2qA==","signatures":[{"sig":"MEUCIEdiyIzZnzPG5ahQTvbZCgZt88+k1j+M5oTPjhz9rKNoAiEA8k0VdAYfKWWuuSEopq3QiN4GDy4CJhLX+27DYrHk9Zo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29114786},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083_1712928699984_0.32054276596049447","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d":{"name":"@preply/video","version":"0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0868966b6e0000941dd07528d3316d1769fba41b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d.tgz","fileCount":1124,"integrity":"sha512-EsTAihcMuPfGRvnVTws8rdu4ox92nVzV5wfGcQV6joEEx2d5sTGgGhp+MczW1eWCIK/RZ8NHH1kyP0GIVxUj9g==","signatures":[{"sig":"MEYCIQDaSVEJjZPJvjo1NFwV/cUWwxoZBymRhCnxw4kVzKAunAIhAP7gJkEv0ysRvwRjrtRUdnbDsPB0ZwLiPXGEb7R7E1xD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29089508},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"6.0.8","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"6.0.8","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d_1712933817319_0.1142694849636352","host":"s3://npm-registry-packages"}},"27.8.1":{"name":"@preply/video","version":"27.8.1","author":"","license":"ISC","_id":"@preply/video@27.8.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3dbae7b7f41c2e0753b150aaf45e25f7a7c2186c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.1.tgz","fileCount":1126,"integrity":"sha512-kVLuhEOUNlWEPrSeBF7jAdWkY/c8rJZQHHZaMTe+splATzFQQcpqCrdeDyGzi/5Amqh8umvlL2PrSXK+haHjYQ==","signatures":[{"sig":"MEQCIEVpJI0p1fVDK6KlVI7CkqeY2yA81G90RoWBr+4cUov0AiAFcnNuR31TM7lWakoYDWzWLeND+BoVj4UshCOUkw8zdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29134486},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.1_1713186383610_0.07881815929565494","host":"s3://npm-registry-packages"}},"27.8.2":{"name":"@preply/video","version":"27.8.2","author":"","license":"ISC","_id":"@preply/video@27.8.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ccf1c915eda84598bb437201f24fc95d5eecbbcc","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.2.tgz","fileCount":1126,"integrity":"sha512-5/JECCVUoIUZ744tcETNnrYf8retbFaRvePU9yg7XgGbSzDBYQud4mPEqkmwtjGId70J6xalbzEZ/XA/QbgUng==","signatures":[{"sig":"MEYCIQDZPcj04DpuBmEUBJY+lYh0GjRucR3kLMaGb4sScZjdKAIhAKH3UHXiaB2tTpbrpyQw/TBTnPie6ZZrBO9cqu68IRFp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29128185},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.2_1713193768815_0.5616551997227548","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c":{"name":"@preply/video","version":"0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4e50917b25b21dc10c4e19f50955c0570d7b1e6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c.tgz","fileCount":1126,"integrity":"sha512-msXigNbKOqGqqG26XhL+46La7p+mYUZ2xJpK5LQirA/JXLzz9KjgDLNs1rlALdHiupJ7JSPAFfmGhia+JU0HIA==","signatures":[{"sig":"MEUCICe5RywvMgxU/yahllWWSmll8GMk2dmzJd3ONW6QTtejAiEAzxf4Rq9gMsLiovJ3meJS1e+HCvlsjKYsF3wLjGsYDnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29134000},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c_1713264894607_0.89657683373325","host":"s3://npm-registry-packages"}},"0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c":{"name":"@preply/video","version":"0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e8c898f30a1095ce0e6f44da58ab78403e73d212","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c.tgz","fileCount":1126,"integrity":"sha512-i1nmYiiM7HggWQ5VrXXU0c53N4oTaFYGKk3tSgvzRETbEAFGMQPftlBZDrOiEPgGfgJG3Ne0AZ4ZZDJ3N97u0A==","signatures":[{"sig":"MEQCIHCdhVptYA6pw0jP/0qynLqfZwfh+UYWmVfmuqRJWNiYAiA8eT+JQYNtzW2mfR1PK5dG35GXhEMJtpxzxR0eIzrB7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29131586},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c_1713266446042_0.4992056250954031","host":"s3://npm-registry-packages"}},"0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6":{"name":"@preply/video","version":"0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0e913384908a9d5be8cb152902c0933bd2b298b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6.tgz","fileCount":1126,"integrity":"sha512-UyPlZZkJDqGFvWBO9T9mP7qtxI4LqJF3YDYYgnH84UbkrkIAVVJsLCdd9BUMT0jZXRIPK750xCZ1ZaNG3b1+kQ==","signatures":[{"sig":"MEUCIA1hXrzzoG8bY0MgVqPh6zg41QofDCFU+XBnEqONWCA9AiEAsnZuU+oQl4YdM93tFPVy32MNneqrX2pbgL23vVNxwiU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29131586},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6_1713267108818_0.14949757190682877","host":"s3://npm-registry-packages"}},"0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb":{"name":"@preply/video","version":"0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a90008f940eeae0d4d5614540f7d93ad5b3e2c0d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb.tgz","fileCount":1126,"integrity":"sha512-nrPCxric3gfQzXQk/OePdUbrFV3yiDmx3U97Hys8KMstHjcryiV5TRXutreqIGSwQPBVEln2kyNQNqyKKXGYGQ==","signatures":[{"sig":"MEQCIFBa5QjdenMiN8+ML3ytuCxWvBMBvf9Z1CEqr5SSsBXPAiB5a/crEn3FNJsPf/bf2hzeLsrt++qsiYJ233exzOzETg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29134000},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb_1713270482894_0.7419183100386684","host":"s3://npm-registry-packages"}},"27.8.3":{"name":"@preply/video","version":"27.8.3","author":"","license":"ISC","_id":"@preply/video@27.8.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"369e20e503c065725e4e1347a20d134b3d5357fa","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.3.tgz","fileCount":1126,"integrity":"sha512-/nV+Ei1TxC0iUAdGTEdZEWS5SjgC6CBLRVnM15MUH5wAC/eOZpi0kpFSLHK0w+78E6q5W5d9MSqrjAVo2T8kLw==","signatures":[{"sig":"MEUCID7PxgiLCgUWTyUBon7X6+p7vjo98UBbCjsJqzeQk+RmAiEA/EFPsFVRKeDb8hhF7ZOenurxCaGNIpJls0TvHnWshJs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29132920},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.3_1713271221315_0.3127335323735956","host":"s3://npm-registry-packages"}},"27.8.4":{"name":"@preply/video","version":"27.8.4","author":"","license":"ISC","_id":"@preply/video@27.8.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f2e817289117cebfa0a300e9af7150ddbbcfc011","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.4.tgz","fileCount":1126,"integrity":"sha512-W2l/s2V2U3kP3b4AwXlLGccBBoM76dXc3CFvIbmDEShTS4gYxTKcOHZ43GDpA0v41PpRXlnDZUq+5MtfH7q5rg==","signatures":[{"sig":"MEQCICwuFfUW0khnZO3yMnC6zvRDTIDvv/AprAWBqqPD6b7tAiBHuwyOwv2giF8KtbPG7k8yL7W9EARVDTcqPMMFDPsB8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29135334},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.4_1713273737272_0.38774523814051154","host":"s3://npm-registry-packages"}},"27.8.5":{"name":"@preply/video","version":"27.8.5","author":"","license":"ISC","_id":"@preply/video@27.8.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"64d57546a0761801c873e0d35b07c35b0ba87f3f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.5.tgz","fileCount":1126,"integrity":"sha512-ntpSyRILvK+C8c1wLr7ZZ1r+QJxTgJX9Re/TFDb02boqtKKWqG0b0uaiVFHUy6uTvuPQH8OsC4LJd1G7LTunZw==","signatures":[{"sig":"MEUCIQDDnWmxSinCjNGZwDi0OfW8ab+3S4VNYUXfXeyEZ5fiugIgaWjms8GeliXD9IIdvibznDWK+o/Cw0xRdPt/VQIncQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29132920},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.5_1713274927934_0.2378672322809119","host":"s3://npm-registry-packages"}},"0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62":{"name":"@preply/video","version":"0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c583c0a2c5627572cf2ea4da4b2307786f84f005","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62.tgz","fileCount":1126,"integrity":"sha512-8uIVBPN25IigYh4HfwvjlnFdtyn8DgmkkPYj4E/5PKgvc4pv7mi6AvgZCLrBopSm+MkqdwfTCbtphJzEEqv3Vw==","signatures":[{"sig":"MEUCIGYJl0VkJvyoXomrGChTXuKgFqAV9KAHskXSXOVqv9LQAiEAzycY0rm7eSgwEzmQB5erW1KG6HeR5uzOUDrY0RsNxTY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29139364},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62_1713279269626_0.3830809168236655","host":"s3://npm-registry-packages"}},"0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f":{"name":"@preply/video","version":"0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dba4928c7c0c939581c11b0a18c000a7591035ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f.tgz","fileCount":1126,"integrity":"sha512-1OKnOwG0pVjjPFSot/yzmavzTX4ThhCNBX6YTWHS7AIayobUVU/rupofDeiAkBHWORjVCcBcjApHm5ahgP0G7Q==","signatures":[{"sig":"MEYCIQCMKY4E+8uEHmIM4lJjeN8Lsl5H2BUJhrhTh78r6N5gEwIhAMDysxJDwmks8R8l19PcxDrQygPPWFv4JoCG8qUWEDKl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29135997},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f_1713280828362_0.6701852184430381","host":"s3://npm-registry-packages"}},"0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d":{"name":"@preply/video","version":"0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"60151f1052f3d217e69fce52a522eab5a636e4e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d.tgz","fileCount":1126,"integrity":"sha512-SqdWiYUWgqHRsSU3ERQVU/F19t2LYVnw/UqcU7pgKFvH1V8MOAOiCsWLPoQNVpFwDKZhLPTOzd6xzxA8ksHGig==","signatures":[{"sig":"MEUCIEB8NcsBcwPLlZNAre9/y9Br4xa1kB+rwR8F/QojFH3cAiEAmK/4zmWYMDSJHfcBv0DaK6hmG2r1SQ/bkcmzgSLh2qQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29139568},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d_1713281945572_0.4682997854790043","host":"s3://npm-registry-packages"}},"0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522":{"name":"@preply/video","version":"0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0cd1185e4961e86b45fb1eb4841dcb895856bc8c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522.tgz","fileCount":1126,"integrity":"sha512-Q6xxm73gGsIlXYIVnZQIAYS1q3uX67ZmMip/LDesNq9uV5OrpTlS2D/45itKBumIjPno73CDppv+LoJOkZtzlg==","signatures":[{"sig":"MEUCIQDD83jXXxPRPLTEmTPjWLsOmG7vlTAElcAta9az1cv3fAIgCVoQr+w44WNavo7/gyCtTZSM/mHSeHzVVzhNCV7sVWA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29136096},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522_1713288312080_0.4114146944354964","host":"s3://npm-registry-packages"}},"27.8.6":{"name":"@preply/video","version":"27.8.6","author":"","license":"ISC","_id":"@preply/video@27.8.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8bf1c870994289941df4d16943353cb0439bdbfc","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.6.tgz","fileCount":1126,"integrity":"sha512-Ly4I49yJeOdN/DTSYxHM1exRyXcrXzEIkUEI9gLBcXUzZRmXCJsfQIDAVwsca0bpQhf+9kqRbVYgZB+wLW6+iQ==","signatures":[{"sig":"MEQCICQz7QKe2EsABWWXz8zV1kCPBYlT7DhTKow4IHW8vygWAiA5swK0MLBi7/5E/2NoCb1kLlpEW76ln+ugUbYKVAG/CQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29133372},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.6_1713327709315_0.3321413493795462","host":"s3://npm-registry-packages"}},"0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1":{"name":"@preply/video","version":"0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dcf3c6fcf3ef9b88be7a21e9ea49dfa13084da01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1.tgz","fileCount":1126,"integrity":"sha512-swVO0i/X01yqtQWZ6yrG2VUswHH4HIrzdg0SlUyEUsCtqUbdIdheca5zGXKpd4PPYLtfA1r4eDjL0bYDOHTAGA==","signatures":[{"sig":"MEQCIGUB/uSuinrI/iQppW60pxxRiWGqxlRFd9VHgLlZqqjPAiAkG+X7ZsZn7RSTHRaQ1ZRp8Rnuhxji/94jl1AKvg0HSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29136344},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1_1713338438168_0.20383358249064631","host":"s3://npm-registry-packages"}},"0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1":{"name":"@preply/video","version":"0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9fcf70ae15ba35175168d6645794afddb468b04f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1.tgz","fileCount":1126,"integrity":"sha512-iNlaPzwmyYnvKsocpJgaw84d67J6cF+0aOIdsIFP8xmkjWvV9yGLKF6t945uZDd/Ra1anuV8ibCxBGbEf6vjyA==","signatures":[{"sig":"MEUCIQC8MbPcAyPvwvo+qcSxJZbMpXe7aIYT0WuYUYRjkJhQOAIgVZbchrn+E7+V/2lDDi4Ejl33xD7rNZNfhOr1vn8m0r4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29138647},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1_1713339172109_0.48789683586040256","host":"s3://npm-registry-packages"}},"0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf":{"name":"@preply/video","version":"0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0265a2d2e6f983416af6b3c60afd20dbbdbee078","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf.tgz","fileCount":1126,"integrity":"sha512-Oc2aPl1MsrCB8hWKYRPA48AXKtgCEYCDGg2cqEU8xgOJpFWapKJEv4SrCZlkd3TsKxeg5opuTRn/h9g6p3Jfow==","signatures":[{"sig":"MEUCIQDOVz1iX2Lh3+xGjUThUjrI8EAFfwQoeOwZhQ+xR5uGXgIgbW5r5KSyh2Wl3DnV1uZOLEYXdMkJW9VfN0frpI/4aqY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29138647},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf_1713340975776_0.7160937150701532","host":"s3://npm-registry-packages"}},"0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2":{"name":"@preply/video","version":"0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"67c779fefbd98748a3822696f1a062f9e1243ae7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2.tgz","fileCount":730,"integrity":"sha512-Ys41MvZtw7BREZv4jfnBg+V28hozBz7akt9q68kU4eTQfTQ9UEnhUeYaho98oERvw9PPXw9uDi0VtIY2wMTPLg==","signatures":[{"sig":"MEQCIDq4f9ZKvR/uXNIw3ynrg47eGdWp/eVDyiJuIuvrWzViAiAOWMWQ3svotzURctUmCy0JDXZfs+Nu56guVWeW8sicYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1667677},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2_1713342745596_0.6169286944813337","host":"s3://npm-registry-packages"}},"0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8":{"name":"@preply/video","version":"0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b04011a093a94679abcf0351ef38fc9800913f84","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8.tgz","fileCount":1126,"integrity":"sha512-2+GLOZJw1KdqHKf3As969Ne4BhLcwtzkxY03qqQ5N2mpVQZsyiVhLjtZc7XuEv73W8SPZVgJB8qPqIdoh2P4wg==","signatures":[{"sig":"MEUCIBv0jTixVqS2JPBXAkJULW6s8ei6CmRrsRTVp9PjuwyCAiEAk71H25KnnNor+DGx3qzxjdzX/d/NqAh41bC5+Xsa9Cc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29139816},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8_1713343371795_0.30464928620236753","host":"s3://npm-registry-packages"}},"27.8.7":{"name":"@preply/video","version":"27.8.7","author":"","license":"ISC","_id":"@preply/video@27.8.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f415a57bedc643ddbe388b67ed709dc17ef3eff","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.7.tgz","fileCount":1126,"integrity":"sha512-VwH/bhUK4L2hOaENkxxNheHiSs0JxgfYgyGFZ2NOnNUQzxZ+6eOf9pdDGjLiRvO3yiTl31GIJiSo98IjueTfnA==","signatures":[{"sig":"MEUCIE2LMYaYQNob2FyCNijuNrUExcCgkJG4i8faSBO9SFg0AiEArtS0kH8g2V3jIF/M2XSP/b0rWvhPLMiTQL63E7LvmPM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29135786},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.7_1713345022349_0.8859066974435683","host":"s3://npm-registry-packages"}},"0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c":{"name":"@preply/video","version":"0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1e7c7f88f21407f0ca4ba6a4a2eb958f37a942c3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c.tgz","fileCount":1126,"integrity":"sha512-9Q37LjEcgjAn3VdSSSV4LxA3RC4xqNr2+KkeAXEW2Qoals/1sVWe6C7Hbn3auaRnV9U56LXQQAXa4/g4XmQipw==","signatures":[{"sig":"MEQCIE5ftKxDvqjzqOGImR3WVvxzqjGzhfacQPskqVzWYRRdAiBlLzPwNoVTppFU8uTKHTaqWUrqmFX5t8O48SBxZNyq3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29142230},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c_1713346195733_0.6324237080218786","host":"s3://npm-registry-packages"}},"0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac":{"name":"@preply/video","version":"0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bfc450e4437a601f4679bba10ceb8cfd487cfeff","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac.tgz","fileCount":1126,"integrity":"sha512-e1IjnWWggCcJ+wSoDgW0I1aOGOKEhl9eA+zM4iuWuaix0tmz1Uuo5d/8bdvfyIBufIljnz9mk2/K5TPG5tGtjg==","signatures":[{"sig":"MEQCIHlPeF2fQKqFAFzTVd1tDqGTEk+U+2R7ifsZWzY9dvzKAiARolLIgF13aXEJU3HRvGZIOKamTHXX3NRYUj8umA/wLg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29138730},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac_1713348820854_0.16443158950627423","host":"s3://npm-registry-packages"}},"0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7":{"name":"@preply/video","version":"0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0ce76b51df2a5c3baabe9c7bf8b0d76cbb9fe50d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7.tgz","fileCount":1126,"integrity":"sha512-vpEL562e9C+vAoixUqywjnA5TE2o6qF2T0axNdUm1s0c0tLYaJno4V/YxlFd3Dwc48/3crDszShiLVSARNzwEg==","signatures":[{"sig":"MEUCIQCjXt9kmOlZCkEH+yTNv73t46bwFf2RhbGDcWevBSwdNAIgD5/RZV+OxFQMJo+oALOUIBmP8P5+zFRuHpyfOuojn3c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29142202},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7_1713349575220_0.22403619643455097","host":"s3://npm-registry-packages"}},"0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2":{"name":"@preply/video","version":"0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6339a4f3d6c7a7d77d26334933bcc471e369fb98","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2.tgz","fileCount":1126,"integrity":"sha512-96fC6eKnhPa4IDd1Dic3dkGLZVc0aoN2YEBNEQlpv3XMRaezlAxkgBK8wLjnbTmLjXYBM58Ze+6yt6ZolzJvJA==","signatures":[{"sig":"MEUCIQDeZA3j5HZN0BIiHjSGsFKINVbDsUWSvF1EJBjld1ZqKwIgRj3G0zIVbnGpKLw9F+NoH4HBNDvEaHoNX+UaNhmwSjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29142202},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2_1713357124919_0.8856485235213918","host":"s3://npm-registry-packages"}},"27.8.8":{"name":"@preply/video","version":"27.8.8","author":"","license":"ISC","_id":"@preply/video@27.8.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"83408f7523d60b4e450d2f0b9be3c3fe19f93a15","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.8.8.tgz","fileCount":1126,"integrity":"sha512-VmdCdaWYAq5zOGxaMfg0WuuHI/SdrMKuGDNOZ9TCgdtu0fc8T31WeNhm0W+oPDH2hc4bqi/GXLdIrMMdcsTY6Q==","signatures":[{"sig":"MEQCIH2/NYI+2PesAFaOQQqfnjS3MdHAtZ8tcoCuvWql+0oVAiB/mLfYVWV/IxeDYSmDR3zn7sdLLWLrsBK9WnMfGTTpZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29139341},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.15","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.17.6","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.8.8_1713360065148_0.330017230469982","host":"s3://npm-registry-packages"}},"27.9.0":{"name":"@preply/video","version":"27.9.0","author":"","license":"ISC","_id":"@preply/video@27.9.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7e11967e8998256ac2ec88c090733d20319dc888","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.9.0.tgz","fileCount":1126,"integrity":"sha512-qXRdFuQC3qYvhdhy/OqDEdoRY/FNjdPaHIx+NNlaIkbdo75wXAZbWyIQcbsNdKjENxHvVnOwB27Ib4jhRkWXCw==","signatures":[{"sig":"MEQCIGKtzEQB8kj7rGzty+ZzUmTQsDa9NZizeDKYezarnSBzAiBpfeYxwqHSZoMg6W0yc/dWdzFuyAYOaKuDqxBBwBvpCQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29139341},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.9.0_1713360806010_0.491949797349859","host":"s3://npm-registry-packages"}},"27.9.1":{"name":"@preply/video","version":"27.9.1","author":"","license":"ISC","_id":"@preply/video@27.9.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0f0ab1ec3bbb3836b9f61981afbf09efd09aa02f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.9.1.tgz","fileCount":1126,"integrity":"sha512-+LDbnbgz5GS6IrdJSKedYz7pr6ool3KdyGqSAzCQhqIULbZijs8kmS45qbpISdTQ3M3ML7CattP3kCuAMz3ijA==","signatures":[{"sig":"MEQCIEHOs24cALIftxevytPSqYIbIWDeMaWzBrbco5c7Jvz+AiBAdqdY+UEhDuFRcf4Kw9Pwn3M12i5ddrapsvdNOiQ6iA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29140066},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.9.1_1713364867937_0.12534785992869457","host":"s3://npm-registry-packages"}},"27.9.2":{"name":"@preply/video","version":"27.9.2","author":"","license":"ISC","_id":"@preply/video@27.9.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7e815caa1b80902c08acf3366de1c36fa70c1a8a","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.9.2.tgz","fileCount":1126,"integrity":"sha512-wGb/2v+4gb0lEe91ImhP5HtN6WumXdXitbCflbR7SIm5YTHI28icYuRY/wwDGMJIn3NOtC2OeH8ufZ5buy3jQw==","signatures":[{"sig":"MEUCIBph3PnI9+QzvRSoDvLUBHGeyPiihcFjW2lQs8i2C7GFAiEA9ulphbUcHdGeat7L4hMBSeo3bib/X173EgzW/N2YoDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29146294},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.9.2_1713413982989_0.2575582784966959","host":"s3://npm-registry-packages"}},"0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b":{"name":"@preply/video","version":"0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0532c5b683138a5fe17b73e3994c5d4b30ed35ba","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b.tgz","fileCount":1126,"integrity":"sha512-09K6hBeQU0DFmjwBWSZnnN8+PWMDB9w8nZLq+iVxHA910EchF44QI2IX7AkV//Q0Dy/6a8N8T6Z4jp/OwJgOiA==","signatures":[{"sig":"MEUCIQCdlEyxiLJdCDA9Y6f+iBao3UW1pDD7/LaAVE+hZOL30QIgLRLSM11qWicOqnVCeHko8UsmkZcE2HmZjBgr/MVX4y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29151282},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b_1713432394292_0.29977104142498034","host":"s3://npm-registry-packages"}},"0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac":{"name":"@preply/video","version":"0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"66208584e6c805645431961d640ec19760c798ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac.tgz","fileCount":1126,"integrity":"sha512-PP67B8N/ufzJ+/lywNCw2It9yoQ+ge4nBK+JX+q+kX/ibPwmjQSVi8wZd3xCk2Pj4z1Qp4fq30BijxemWkPKMg==","signatures":[{"sig":"MEUCIQD7LuRQwzO1qAJvI+8dukWkOinXRy/eypBHX/vJiU7AxwIgHpRugoGqm3irjp9zgLOfYe3Gliq+M5L20qAbNsih4JM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29163224},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac_1713433791920_0.45684843845570033","host":"s3://npm-registry-packages"}},"27.9.3":{"name":"@preply/video","version":"27.9.3","author":"","license":"ISC","_id":"@preply/video@27.9.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b24d1383dc71cf14231ac292d80c8c21bafe55aa","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.9.3.tgz","fileCount":1126,"integrity":"sha512-jdd/ZrpHiO2pik5cxWXzk6/6yjV/9/Hso96Fodo76IvIB5ot49kYbK2SM8tnZPc6CVTg38GPEqqNB0OW/Kssfg==","signatures":[{"sig":"MEQCIDxSFfo4/3KSuhqTj3LGpp8AIO5gzZpMRLBD0DVdQOLeAiBPwXKfi2jxMUocBskO0eI2HfX50x2jh+dC1zXAzVZJkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29161217},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.9.3_1713435291820_0.33040321647815807","host":"s3://npm-registry-packages"}},"0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23":{"name":"@preply/video","version":"0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"24f07fdc5d33302b4d8967b694c468d9b1e150bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23.tgz","fileCount":1126,"integrity":"sha512-KDfc3AcZZ2Ozfs2xwWPGuZ3w3rxS7GS3T4wz4kPOlo65agPaO1hmwUqsR6ZmeOqzw+YMlT2BLYvKLetoQKrzcQ==","signatures":[{"sig":"MEYCIQDnKqbOi85tvkYw0aq3loKpCy946+W5+p95Gnaklkf6AgIhAKdNUjnx63qSSboeHPlhdUO6M95NjroGJ5fGc7f2Q2w1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29151212},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23_1713435985345_0.3634437260930601","host":"s3://npm-registry-packages"}},"0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498":{"name":"@preply/video","version":"0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bbefb376d17eb2c39739b9352cc9a18629da492a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498.tgz","fileCount":1126,"integrity":"sha512-v1/NHqK7UYfHFi5NC4CSoBIBaOSgymVjY8gN1tF3UAeOPPh5rTibG+GXpkiN//evftVJuis8jaVVvYcakzO16Q==","signatures":[{"sig":"MEUCIAxKFQ4gZsFtfI/Ky7zke5cot3x+b5iysi8cKC1yXeFoAiEAgEQ3/7AbWLHYuU0oABFIydkAFvDdDJjGL5cyTrnwobs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29165375},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498_1713440452787_0.24116099965476212","host":"s3://npm-registry-packages"}},"27.9.4":{"name":"@preply/video","version":"27.9.4","author":"","license":"ISC","_id":"@preply/video@27.9.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2dd02adc3e44c2d554e66fffdf490d197b4ffddb","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.9.4.tgz","fileCount":1126,"integrity":"sha512-Z74TlRUYdUie75UtH89LeTHw4VkGFPqRGnhnzVK8h8clLCTe+rUhmfE9XvjbCkhoDrgLH5eTNfkJBaNto4dJzQ==","signatures":[{"sig":"MEYCIQDouKd6OYKVdilDfJ29M58qNSaaPfKK9441NGLsM6KiBwIhAJQMNhjViFqtyfFynLMpT/8Ylb29cfNF0qTzwmQrFS6c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29162633},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.9.4_1713444082057_0.5961173049380295","host":"s3://npm-registry-packages"}},"0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58":{"name":"@preply/video","version":"0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ace89f9448bd81700ad7500644c26be95eb35cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58.tgz","fileCount":730,"integrity":"sha512-C3NCdTT7LWrViOqi5qHQBo9xBgtlwFY+SFluNMWRrdmflYCi4s1SU9to87J/MM0uRoxiF+JTQfhMpOtN/ISHyw==","signatures":[{"sig":"MEYCIQDg55QaUfDwl08L7u3iG/xKJ2GnsTYzAZVFCpV4MlEOEAIhAL50yWhlYiGznChbXJyzTf7kXFXK7yEJe69XnUVl2pp7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1672327},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58_1713450295633_0.5605433927486589","host":"s3://npm-registry-packages"}},"0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818":{"name":"@preply/video","version":"0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"caa5bde4c9c1149093b3f0a8169815666ca893a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818.tgz","fileCount":1126,"integrity":"sha512-wAGhaaB1MJRXN7vsgrv5b0C4ZZgPzN99sEIeN5uyfBg3gbR7MWDc+HeLclMAaXx5MdGUZyjY/SQ9X09p/jNaAA==","signatures":[{"sig":"MEYCIQDhoyhueOj43M5GkEJZOhZcDJN7P8P8iDjhEIQWvniRbQIhAL6QobJ96JK3BUTpgiVHiu2ZhFjU1m0VnyX5kPRibG1W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29180017},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818_1713451142863_0.41757772113657454","host":"s3://npm-registry-packages"}},"27.10.0":{"name":"@preply/video","version":"27.10.0","author":"","license":"ISC","_id":"@preply/video@27.10.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a8fca47aed9658fda2bb26ed1df0db751877e4f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.0.tgz","fileCount":1126,"integrity":"sha512-NMnYpkqeDrJg8RobzNx+pdQMpO2PQ1c8RmheD4SVRkuZKmKkKqwIC3SNzoeIC5RjOua7bmXrU1nuuFEt1rp2Bw==","signatures":[{"sig":"MEYCIQDfJwzfbHTX5w2kH4eX9ImWyttmj4VRHFsRiguPyNoGzAIhAI6z3oGlSlIfa+r8PoB76kq42NDYErDGP2umzFUnaS9p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29177245},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.0_1713452955436_0.14029641206892185","host":"s3://npm-registry-packages"}},"27.10.1":{"name":"@preply/video","version":"27.10.1","author":"","license":"ISC","_id":"@preply/video@27.10.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6474dcef6edfa8dba7b2cdb9863b25877b8c72e9","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.1.tgz","fileCount":1126,"integrity":"sha512-xo8CjUi8IL72so++L+2N6agaip0UKVxpfkTZQRLcUltGrQoHieb/SZAPQoMP8GMrWN+uL64ACXjPNvUeU/aigA==","signatures":[{"sig":"MEQCIGh3JgSm3jyKQnf4eBenPTjEwcq8nwRrtMKDptKrPQjlAiA5pHIcRA1E9onKiQnYltGECLYTylgO0idL3ZUQVoH6pg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29177579},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.1_1713500347985_0.9331851434383895","host":"s3://npm-registry-packages"}},"0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c":{"name":"@preply/video","version":"0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d877fe401b7d7c18fe9322415440f504ec13a017","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c.tgz","fileCount":1126,"integrity":"sha512-Ptvrca9nkoWBoXNN8lY1/obXUbZELHkXLIcgkdjLMIuWmFiAW/VlCUXUPPaz9Ppwr7exWBjNVj9LsDGCBJ4nsw==","signatures":[{"sig":"MEUCIQCjrqf7AsG9JcysTmmQjnoHobd8SA/Uqo5UyWWLzwdp7wIgI/QuasCTYpbEHIpYgCCBCyD0+evl8DulCRYRM5WSXcI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29181878},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c_1713531563860_0.5096240344689513","host":"s3://npm-registry-packages"}},"0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d":{"name":"@preply/video","version":"0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d869b5f765be76c2c62bdb426dfce4976d3ac2f4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d.tgz","fileCount":1126,"integrity":"sha512-xq0lKwdUzGg7r+OU+EFG93qpWejdv6S1H+DIfK/iyQe3ondIDTW7Q+N2pdOdvvW/JxH4iqMchROGtHnkeEnVYQ==","signatures":[{"sig":"MEUCIQCYESjeLGLjpYWrW1s+17+dy+o/4O751KNjZjNc8/SWRwIgCly9fXq2JbxkXq43l4oevzzqQSgSPjErVLjrMLViF1k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29186036},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d_1713533620857_0.5801280041919421","host":"s3://npm-registry-packages"}},"27.10.2":{"name":"@preply/video","version":"27.10.2","author":"","license":"ISC","_id":"@preply/video@27.10.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f58666d644dbfaa7ff106be1774f7aa355ba9803","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.2.tgz","fileCount":1126,"integrity":"sha512-XhU1QLe/EJFXomXjd38e6ZLdSOi/F9ixzkZAI62pFy+EvJSkOdXVq+zveBiMYCqNbr5WWkNcnNg5c474ef/q0A==","signatures":[{"sig":"MEQCIBJPFCz2IpcGYrjE2olIdLBus6wwx8M4bXBDSVMEypHsAiAi5m9YPr4lo9uSMLuXikwZZKl4ndEwlTCz+XoBuWDhbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29180037},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.2_1713759969068_0.15537041166371623","host":"s3://npm-registry-packages"}},"0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162":{"name":"@preply/video","version":"0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0cbce064c78a31ef00644bab9f9180f0056b83b5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162.tgz","fileCount":1126,"integrity":"sha512-Gza9mjQmaaWZxJSuI83yv3BW5x7ZvZOU3PevfpaP/A1s6v34/3YXk24V8DPOjKLfR7FQI/4hH6PdzTfq5pHpfg==","signatures":[{"sig":"MEYCIQCe1JA9D4FdRjrJcTJEMwQxskU1QRcj1DB4yLA7SnuYhQIhAI5U65xqiUPe05B3Gnmhu2OzVtIotxikU6BgvZ2yu03n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29185266},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162_1713779744286_0.3035976804772529","host":"s3://npm-registry-packages"}},"0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8":{"name":"@preply/video","version":"0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"424f611f2b11dc5aeb38ce446b57d0664e6b9f7d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8.tgz","fileCount":1126,"integrity":"sha512-ViUFjLOFDhp4tUYjJZNsOVjtSOUI0PeiHNGnclisl3UvALpqrUTM+ZWp4mwZLWsq/0ioxCwaguVcCIfs/O9L8w==","signatures":[{"sig":"MEYCIQDHfU70NoJjk3ngaMpXQEuKANhVF/+r/BBwtUS4YVRBZwIhAIA4yYTNvMXJJ3E6UGbY8XNGJyzek+TDHh39PIWg7+wY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29189893},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8_1713784481683_0.676603567805363","host":"s3://npm-registry-packages"}},"27.10.3":{"name":"@preply/video","version":"27.10.3","author":"","license":"ISC","_id":"@preply/video@27.10.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5e0bd268e87e120b63dfb427ee7ddebf117adfd9","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.3.tgz","fileCount":1126,"integrity":"sha512-GqHGZEIqDxWDXCRDV64BayFwVFohZ57Ve9d/TWkIixSWJy2G9HgDdK+7d+RyfSdOlPKNihPC4wr9U+8Av/SzJg==","signatures":[{"sig":"MEQCIFQrg5jiW1bjs25MVNUJHh7BA3X9oZck7rx3M/CgLpgAAiAr5Q78fzGJAZOuQ9rd17tFE/+AGQ7vQKW7KEuhKCratw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29187639},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.3_1713789376911_0.6524893469266801","host":"s3://npm-registry-packages"}},"0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5":{"name":"@preply/video","version":"0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0d3e43568464da91f7123c06e8efee6148707b78","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5.tgz","fileCount":1126,"integrity":"sha512-SfbFEow5QJ9zDEFz0lcp8eASyYXPN/nfPt7fbItzpMS425pl8frmsrAjlCnU94K1mbFOPZIXAPKpGpR7zzafvg==","signatures":[{"sig":"MEYCIQDqJI5W7JXpyEnIhFcGjLE0jKTcmMBWGrn0dJjJ3f1JqQIhANmOhM2SWbjp9GTqe+JGMhJaM4cPc5KSYUTWO0QMuRDp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29186315},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5_1713790390053_0.7391627324498848","host":"s3://npm-registry-packages"}},"0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de":{"name":"@preply/video","version":"0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"95eacefe2b5edfdfcc2be5190ce734077d0553c3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de.tgz","fileCount":1126,"integrity":"sha512-/FcYPxOs+X9HOrVJEVAcfd2/09nhZKQBKa26r5TRfnoLPp1Sk3Zhn0Gxcxs+xlnPmHc7DAsnlVnmDdV3FW1+eA==","signatures":[{"sig":"MEUCIQDZas6kcige+FCDxO6OFmiYuIoPLcdJPEK85kkvN6QhBwIgC5eLLm3jp3FzHt92XVOfHKE2ESBljUwnBLWxeFd+2vU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29185414},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de_1713791248509_0.7009088456015182","host":"s3://npm-registry-packages"}},"27.10.4":{"name":"@preply/video","version":"27.10.4","author":"","license":"ISC","_id":"@preply/video@27.10.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8572e11a40d9a62522d3c2b20e0509765f7636c8","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.4.tgz","fileCount":1126,"integrity":"sha512-bFo0qOYZyBOOZR98uAOFwF1LEJhcr7Wlr8OiiIRQIP7pkQmdP8z1dC0wmek84kzsqM1waB1Ly0igka08v/lA4A==","signatures":[{"sig":"MEYCIQC6sBqR5VkKo2tdQsR+n84AYBkFLrjIBWfR1QEh8MUW8wIhAOjQuoiaSoYZVk893237EQGt+EKcsDelc4AC7Cdwmo0Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29188773},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.4_1713796912342_0.569858058576217","host":"s3://npm-registry-packages"}},"27.10.5":{"name":"@preply/video","version":"27.10.5","author":"","license":"ISC","_id":"@preply/video@27.10.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35e6e3aaa7cee7bdcfe0fa812e4303877b0b35d7","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.5.tgz","fileCount":1126,"integrity":"sha512-c06vtOhozOBYaQ8qF7qfoojPHZdTBLGHh+i7zUFfsBxd0o6+aprj67mmbD9GJbL+9AUIAjqw34xVpqW5fHCK8g==","signatures":[{"sig":"MEYCIQCtNq3poccCkuA2j07sBlt8uZyTYdhLEvJ4xOYYhb8cuwIhAI/MK+X0t1BCuVuX/3yiVr4d8kDRaOG/AipqXMBTv6z5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29191754},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.5_1713801906548_0.6630539288864579","host":"s3://npm-registry-packages"}},"27.10.6":{"name":"@preply/video","version":"27.10.6","author":"","license":"ISC","_id":"@preply/video@27.10.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b1e525649f52cae26645a7a8526b47b5ab907a4a","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.6.tgz","fileCount":1126,"integrity":"sha512-dB91ogvltIsa6nH5HBpfHLsHKGlC4Sb8xZ+c5X/8urcx59gBPfbn+qQftJFEGOity5IVPAKjl9u9YBLqY187rw==","signatures":[{"sig":"MEYCIQDoJDiMR90tnGsFVMVjVDXmy4pWJDiE/lti17ivIBkOowIhAN2qcjLIJo4W0rb65H0OzvD402osbrImVSU145SVy2aY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29190353},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.6_1713846020286_0.12260161642089051","host":"s3://npm-registry-packages"}},"27.10.7":{"name":"@preply/video","version":"27.10.7","author":"","license":"ISC","_id":"@preply/video@27.10.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c1a4c59da668b6a8559c6fa25ac527b6318bc825","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.7.tgz","fileCount":1126,"integrity":"sha512-rbyiWCcvGGGS2VMiqEcjD2W0w3CiztEf2hazBl2wrwFAnwoH6IFB0F99L2y6e/Z3RCzt5NFKepR0BQJkEGjw+w==","signatures":[{"sig":"MEQCIFUrCCJUwARKAAg1PCpoNWytvVpxuXTxLxDfV/0rqP+XAiBHTRNvJk6Susi7qdp7u4H2MtvKx9PQ4l5ZEytYwQaPbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29195061},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.7_1713858262269_0.484161390129622","host":"s3://npm-registry-packages"}},"27.10.8":{"name":"@preply/video","version":"27.10.8","author":"","license":"ISC","_id":"@preply/video@27.10.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0c3908d97f38d2eebfd69fa27e1a6de5b4c59dff","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.10.8.tgz","fileCount":1126,"integrity":"sha512-mHriFXz+9cSc5potOHh0wvd1umUN+xg/xDF84fMuics3b0jWZB8jGY8WAKauAFQqUmNdZHLLb95HYjj/P/uUhQ==","signatures":[{"sig":"MEUCIQCM30HiTkTK+cUBCjnFLgX9Lr6mucFcE4jFamufhS0RbAIgfZU+UfzZfgG/jZ/xt2ivUPscogS8WYBpfzBGB8vOzN4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29201490},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.10.8_1713866791199_0.5934965930834759","host":"s3://npm-registry-packages"}},"0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28":{"name":"@preply/video","version":"0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1d0f4802fdb949366db6ac84a06f6ccbb0cfa46","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28.tgz","fileCount":1140,"integrity":"sha512-4/3E9vRcjwk3ht3wFGY7k7oqGcXYVCRqvE+fU+SZSm5Xkkn6NrPg6TeinRbhIKOalqK1lKsrWCtGpYjSb0PZAg==","signatures":[{"sig":"MEUCIGZGPkREZ5ndo4a2flS/Z2qxqVmq0WhxabndkQv5L/OhAiEAjs4Cdn5d4pO+PdCYNHZvWFT4+D5VkQI6yyP9/DaV0cc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29421120},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28_1713953479530_0.20335564426384445","host":"s3://npm-registry-packages"}},"0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513":{"name":"@preply/video","version":"0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9a85337cb6f0afbc5defaabb9eb3781f8daf7b97","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513.tgz","fileCount":1126,"integrity":"sha512-K/HthTYdM9NUEKdT/TiDQW5liGT098rZUdNEzeXjWsBYc50zQ90Iv6K7/KY78Ao0pHG/RjUDZXIqgDpsQq5Stg==","signatures":[{"sig":"MEUCIEAQvYfG+h6hwAw7LdGOZo6IaE4v9CcGzkmo+4oTeY4BAiEA3VQp6U288yDzXnjmnyBEuD0lrSwB7PDs/anmPhdOG4s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29209139},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513_1713954222739_0.4922969585259642","host":"s3://npm-registry-packages"}},"27.11.0":{"name":"@preply/video","version":"27.11.0","author":"","license":"ISC","_id":"@preply/video@27.11.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d92587868aeaa0cfef3f80b391b991ec668e276f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.11.0.tgz","fileCount":1140,"integrity":"sha512-LcLb2kisovyGX7QkZ+Nm+Rj1h3BzLJx7LlsT9he/FMEhqAsCZDnp7uNxgiUNdI2kOzDIBbGHk5MgUE++O6SggQ==","signatures":[{"sig":"MEUCIQDkCIaTh+O7BXHX+4Rt0tiy7LPoGp2AXAWMMpak3WGo8gIgZvsMxvPO/WRj3qtj6pu81oOQrBLgV28yNa9CLYnKA2c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29418348},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.11.0_1713960112050_0.7020946011438398","host":"s3://npm-registry-packages"}},"27.11.1":{"name":"@preply/video","version":"27.11.1","author":"","license":"ISC","_id":"@preply/video@27.11.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"66f88ca6a35b68b66fee6e8b1142a5107c8b7a57","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.11.1.tgz","fileCount":1140,"integrity":"sha512-CjxzWOJMuce8q8DIoTCG91NGKBOEnl11DU6JlGUlcVNukSarj069i1lWt+8Qcp0TFSPS6L+GW/YhC07Ps1mWRw==","signatures":[{"sig":"MEUCIQCg1921MsMj2lVq9rWzrN8zxL2Q+jlJOpz1VQvlWV8RGgIgb+cF0Wrslr1++A4Wipm5FHn+jAGC+xnKCgYFWZMhkTo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29418905},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.11.1_1713962658569_0.024330351661783878","host":"s3://npm-registry-packages"}},"0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991":{"name":"@preply/video","version":"0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"986330c66fbf6024bbb1f877899d93af4a035cd8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991.tgz","fileCount":1142,"integrity":"sha512-c1WiMAT3yUqSwijaywnH6q19c2qR2NrJofRa7zPElpi/DYvQ1HcJ9V9mjPl/mmHMpEJuGBH/IvAJCBbeUG6QXw==","signatures":[{"sig":"MEUCIQCcEN1wsQ8uqe0NpV9R+5tRrJ9BPDsOODANsknOgTZ5NwIgVQSSE7xN5oPL/9dXlkhjbwgPri1cGHM9AGwSjX99fYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29453059},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991_1713965033388_0.4921307059100115","host":"s3://npm-registry-packages"}},"27.11.2":{"name":"@preply/video","version":"27.11.2","author":"","license":"ISC","_id":"@preply/video@27.11.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"78251d106b420ae979ef2f35ae3151facd7222a7","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.11.2.tgz","fileCount":1140,"integrity":"sha512-so/XZb236Ukj+hBrKK5T+hh3kUm5YTrBMupTW5aGHQAkkvkEpu1Nvj/ZdT4zlpG/oBYatxydxH6YbNmDsxklag==","signatures":[{"sig":"MEUCIHBsMNub41kcA3UGMomGnqcgxsdK1M7sRNLFVZHnfEwUAiEA/Z27bqbQ5NkcYsZMgYHm9hbVkHyZAmmxIuNovCQYAcI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29419059},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.11.2_1713967604404_0.8685880868965401","host":"s3://npm-registry-packages"}},"0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38":{"name":"@preply/video","version":"0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"27cb6c525b14d9319120a42e0c905af709737ac5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38.tgz","fileCount":1140,"integrity":"sha512-itug6neY7bwQ0Q9voHrsiDczQhMKevRqjmsesO1zJJujL6bchHRRMy20ptAZq0zQvUHE08lz2wQfkoFdpgg8tg==","signatures":[{"sig":"MEYCIQCLa4d8n4eGDAwVt4M5lhsi8SU5SC5Y5Se9B+mlRqa7DAIhAKabUn7dAeU7m5aZiqFoahPEhvvAns9zW3WLXQjDAAql","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29421105},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38_1713968754951_0.0002385757920799758","host":"s3://npm-registry-packages"}},"27.12.0":{"name":"@preply/video","version":"27.12.0","author":"","license":"ISC","_id":"@preply/video@27.12.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8f49fb6e7bbd4cb9c872be53bf3f5f665601c8a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.12.0.tgz","fileCount":1142,"integrity":"sha512-C6TQ/I4PKM15DEPKCw9GffkVS7Wz33buATrz8Amnl3KCKe6ZPjLJcsXow9WaaxIRM7EPBqCE8CaNBno58uZPFg==","signatures":[{"sig":"MEYCIQDVxVUmExW/HDJ6tr6tz6FKT2qdRQiMVgL9UgKNID8paAIhAPiy19LW2aoncS+QCYSyQUFWri2zWOy4fzzFQppu0bu3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29451191},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.12.0_1713985773614_0.0193109520242547","host":"s3://npm-registry-packages"}},"27.12.1":{"name":"@preply/video","version":"27.12.1","author":"","license":"ISC","_id":"@preply/video@27.12.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c50b180b2f43dc9b85348f23615394a21d855a6e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.12.1.tgz","fileCount":1142,"integrity":"sha512-NhzsC3DaF1Jk43J+ppfIQTLa+qM1vKCfwVBI9rTDBrFLgGE/Lk2llt3qDZrI0LWP2xDa8L6l0v4FdQEl1LQmJw==","signatures":[{"sig":"MEUCIHdtOfw1NL0ZQOn31eZ/DC7/5U9a57OKu+3Niu+hPBz5AiEAkzcZ5D2WMLm3rOsZX1lLjVI10b3F18GuU6OifrJ4VTs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29457109},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.12.1_1714018946103_0.72857508576799","host":"s3://npm-registry-packages"}},"27.12.2":{"name":"@preply/video","version":"27.12.2","author":"","license":"ISC","_id":"@preply/video@27.12.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ce9cb4431630ac6ae110e67d8d4318ee954a8332","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.12.2.tgz","fileCount":1142,"integrity":"sha512-Ey7w/jzvD0PvM8Ku/9f6D0OAvFmoVvMoWzBFSdDcZc7NAnk4PFJMp2eNnHHcb6j4fZZKfM6typebxWpdOtk3Sw==","signatures":[{"sig":"MEYCIQDAudsuW19VvVNtr1SVr+Fkokk2f9a+3Lt/dqpnHOUC8wIhAJt+9rdQza5FH+/7SR14qPXfcFFcdyy4lvsSx2IH7Phr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29457439},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.12.2_1714038785416_0.18577842054591076","host":"s3://npm-registry-packages"}},"27.13.0":{"name":"@preply/video","version":"27.13.0","author":"","license":"ISC","_id":"@preply/video@27.13.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aa1eb1d6186be2cfe6366145c800a244a7d857c9","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.13.0.tgz","fileCount":1144,"integrity":"sha512-2DUh+fvGix0OD8kC1Zf+PhUeZqszlBD/hnm5AJrul2GCHAP+63o9feQ93FhdW5di+3W2L+i0gC9loJBGkBY7Zg==","signatures":[{"sig":"MEQCIEfGorMZDtmZtjnERKE3wv2ag2Zy80lAAaA+UW3LZLcjAiBbuTD22tI+6o3tVvoJa0IKtSFxXUVWKYCyWmsTnAG/LQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29574885},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.13.0_1714045380241_0.42131373144012874","host":"s3://npm-registry-packages"}},"0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0":{"name":"@preply/video","version":"0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c0ff62e5b7f2c333e3c6554436324af3827ad8c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0.tgz","fileCount":1154,"integrity":"sha512-AwN8Q1PsoIV4EcexyTN7YB57qI4WddHFcZZ2vbLzf08mDKJwaX22xrQIFKp8P9mCYAXfyLdoJ3HRmx1FaSWTJw==","signatures":[{"sig":"MEUCICDH8q1uSIUA8eyy+isg+dGYcHApSfxCrRftdCq4fatJAiEA+qe/POLjdSHmCCHfSaZ0RP8n+E+9+yYRYqoXJHOW2ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29647610},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0_1714059028778_0.7259656366890528","host":"s3://npm-registry-packages"}},"0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6":{"name":"@preply/video","version":"0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bd66e88568b6a5652d965a2da2cad8ac5a5e4c28","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6.tgz","fileCount":1144,"integrity":"sha512-og6DSsp27Z0xXQFk95pCeUUFGRcTAf0GwT4wWGmjwcBQ0YfKdFCvMgJDdvCWTRRP9eLELsC3ToDYJgzVqegBVQ==","signatures":[{"sig":"MEUCICxzUrd/bbc3AezmxRlLkg8KtTIWJEdcNcaVsho/pSaFAiEAtkUTRLoeLdVUJaIJawifPzTTI6LL7urRfIZPz/YgrU4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29577641},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6_1714059803768_0.00036450280059630025","host":"s3://npm-registry-packages"}},"0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c":{"name":"@preply/video","version":"0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4e5a6cbb1bd8bec6bd678457252e3c9fa85ac210","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c.tgz","fileCount":1154,"integrity":"sha512-OHtnaTtF8YFFkSbUBrjnfZfCCa9W9vCrSr4mYRoBJbGBORgxUre6kgvEb4MgIYAFQk32Dn8tRMrGf/0kK0wlmg==","signatures":[{"sig":"MEUCIAoip/E2RCzDpUSE+y+UHpz3LFjU6ZoO4ig2jiJRPIVGAiEA54IjUYmES3Byu13uXVbp5EaROZqsFNVWr4TjtpBJg6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29647786},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c_1714064027056_0.8892598943558774","host":"s3://npm-registry-packages"}},"0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876":{"name":"@preply/video","version":"0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adf75df5432775a4ccab3913c39a8113ba958649","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876.tgz","fileCount":1152,"integrity":"sha512-A3ERFSqGhFQ2fXGR5eIYGOrPo8DYw4490JFdw42e4NIzvaZcZJYgBIA+uZw7469Pv8PVv3jk1NL2dlFi8OB64Q==","signatures":[{"sig":"MEUCIDwpW9LbBPS10vDGuWmeZgRbD/1+J+Ed8A88OH86gVcTAiEApPabM7hbAcdW4JdSxQWWrRtvvI4fiWOKIQzTloYRdac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29715131},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876_1714064955593_0.7021824888980723","host":"s3://npm-registry-packages"}},"0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f":{"name":"@preply/video","version":"0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6252e40d5509580827eb8d691b66ebec80519ef8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f.tgz","fileCount":1152,"integrity":"sha512-QQidXK16ZAt/CNoiaxQtU6oxpVGbolpbRIqVrbxbPoiDAPMlPn3MXNI0oreaLMh965WYpm9iuFKOiK0tE+SQQQ==","signatures":[{"sig":"MEQCICVGjkfYV3MRzYv3iE7EKQMvgry+SU2ep9jG7JLtSFHoAiB2Pq5PbP9lwUsPva4Tajv3iJuIo92MJEumqbUWPF26pA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29715131},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f_1714066655790_0.8323067505347708","host":"s3://npm-registry-packages"}},"0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44":{"name":"@preply/video","version":"0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f8bba8487841b00cb1ca5299dfe06c867ba99043","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44.tgz","fileCount":1152,"integrity":"sha512-7jZl2LAeDRBzsImEOe+m06Jle6/eguiPEUE1ZA4npRVLwiHN8yidVYMA2seikr1RwbQbO2nu0HRmaBLMK4We4A==","signatures":[{"sig":"MEYCIQC/qrWCkbrItix81I30Gy2PJqYm50cFcjWVlNTeuoJDjAIhAPicjjInLQrssIvAJo2w0mHRt2OS4+leaFO5pmodV7R+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29715131},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44_1714074325711_0.9528297135003894","host":"s3://npm-registry-packages"}},"27.13.1":{"name":"@preply/video","version":"27.13.1","author":"","license":"ISC","_id":"@preply/video@27.13.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"42a9db0d3ae801a022499d3b73b5a950a3b6580e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.13.1.tgz","fileCount":1144,"integrity":"sha512-Nusbazw0JBGme29w15+Az/pMgrE2TsoAePrRigNm+z7/txCu1pRlURRjiGpCmhd2GRAGmAqbXFkhgNuGpgxKvQ==","signatures":[{"sig":"MEUCIQD8596n5nPXVi7oDaGaJ6WREnB674GnzQa9Go/sAl51lQIgNg3nNWpdFredqFo2Mg8+aQNILjLqt+lEhVE2tIPlmpA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29583207},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.13.1_1714105314077_0.13387703085412395","host":"s3://npm-registry-packages"}},"0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d":{"name":"@preply/video","version":"0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2afff56b08da85848bfe02982493ea17854ce96b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d.tgz","fileCount":1144,"integrity":"sha512-zJR5IBF6HVQuab7Tlny8YlltN3jtUR136KrVFLVoeQqb4hAb+hGFZTwCeskE8x8esqdC1Av9qY3gK4jcactKeQ==","signatures":[{"sig":"MEUCICW2ie7zKTDNYnlUcY+50/C6hhmacYZonzZVIdjx/vSOAiEAgW6kI1TGECEFx/mmgJHDEhdidSNVImDwio7r7ayWnB4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29585913},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d_1714117699558_0.5076078112286575","host":"s3://npm-registry-packages"}},"0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688":{"name":"@preply/video","version":"0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e30af558411fa8fa69e1c95d6f30d53a26d1edd7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688.tgz","fileCount":1144,"integrity":"sha512-qCet0bDZB1FlMc3dzbwjtKjga7RaJYfAXonF1N71WQUwPqlUK14sGYUPD1Qe7XKB58piwEoXtNkrW2XxCJhVGw==","signatures":[{"sig":"MEYCIQCFPdkCysPkbNXPveRXNqStmKcBhSUNGxLmoGWrcXr/NQIhALgI//NrQzsKt0SBM5yGvmjackIgDYSqN5C0s2Lp7SWn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29586045},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688_1714120759255_0.9526922814974959","host":"s3://npm-registry-packages"}},"0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b":{"name":"@preply/video","version":"0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"40c04122902a8b596096546bbe3bb35cc08851fd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b.tgz","fileCount":1144,"integrity":"sha512-IQw/TQP2IbH61LeD5RuSMw+KEXE2+nldOv2Qp/noSl3oQd73hAj3yoZacIwa+1QzcBO+VCFyMiJUdu+IlL40UA==","signatures":[{"sig":"MEYCIQChwlme2UAuwykBilDCFovJhVrcToLD2k6yVOgM89Om+wIhAKTxjW4hqxL+exe9ZInBcmn77i9uKz69H6KNfjIYRYey","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29588736},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b_1714122322637_0.3954081157568132","host":"s3://npm-registry-packages"}},"0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67":{"name":"@preply/video","version":"0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e2002fb8bb20f86df9674a2a97eafb5ad01d72a8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67.tgz","fileCount":1154,"integrity":"sha512-/oOJh8n4DEOZ9KNC1TM3hUpegeGeDL6CwT2y4SbB99cpnrCRztZeX/0eJBaxpI2XJUhAGK0xWc0ykeyg6lMMEw==","signatures":[{"sig":"MEQCIBwOaAUkaH9SkWyOiD7nKYIoc9hRJV6YHfKNwxE+NHREAiA9FjRFfFpr3P2qNP5qCA27q/702XsR3dwC+y8h3TmrrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29656014},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67_1714123056610_0.16884718624446382","host":"s3://npm-registry-packages"}},"0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8":{"name":"@preply/video","version":"0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c65ec9fd295fe2bb3e2d47421be9e19500d015b4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8.tgz","fileCount":1152,"integrity":"sha512-ByIdOkchCO6RWONWzO8v7Hwf4ViPSzt4OugK2Gx1EOKeP3ECRSxN4pDTgzW6mOLwhGlx1hEv6SVjHp3M3tbntA==","signatures":[{"sig":"MEQCIGXcVXjIzWimRAIYyqtLVw2A3FyV/lw71hl3ne+jqzWIAiAmK3jnY39ju7XLoQLsMfVuRxStKxMrpDfcIwNXCopDTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29723359},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8_1714123801216_0.867826695181537","host":"s3://npm-registry-packages"}},"27.13.2":{"name":"@preply/video","version":"27.13.2","author":"","license":"ISC","_id":"@preply/video@27.13.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"334bce794d512527a0a767df56c3d782e2df2c4b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.13.2.tgz","fileCount":1144,"integrity":"sha512-flEbqlHnXImyc/L+ZmE/JyI7zmejt/sj9bhYIM6R1LOPAx8sIRhHXarrm2bN2BY/KSmjcTgwXxcLh6USISvRSQ==","signatures":[{"sig":"MEQCIAiqW7TChMN+X6HfPTzjNBgI4CTYx0eKLWvCDCya1OEyAiA8xSVj5oWFq/O8hA/1Oy6fDK6FYWKSxRg77jwQy8gLpQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29583273},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.13.2_1714126022678_0.28276975508782276","host":"s3://npm-registry-packages"}},"0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086":{"name":"@preply/video","version":"0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d3169b8e2446b25dc42749f88def9c06648f2bb6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086.tgz","fileCount":1144,"integrity":"sha512-vowPRHaJb0AtfRHF6xNIr4pXeSooQWarpjxbE3nUvOcj7r/6thaZsQQnV5W+wqdZTndJ/aJYeRYnC/K/psTu9g==","signatures":[{"sig":"MEUCIH7HbYRQXoPz5rzmpXkpCr5NblxqHfMl7bJBta74D1zBAiEAz8wlzjH/pqiGl7BM3GpGTA5xJpyKqjBcN5xx+Wvfu2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29596414},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086_1714126804098_0.2775581720635383","host":"s3://npm-registry-packages"}},"27.14.0":{"name":"@preply/video","version":"27.14.0","author":"","license":"ISC","_id":"@preply/video@27.14.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3f0f3e2abbe55ba2fe009b340d5bfac11c9cddbc","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.0.tgz","fileCount":1152,"integrity":"sha512-FmBlI04EcqiAmcneVTzRlx1iFaGwoomw13aR9gNM0DUaTVNEEVgqdzVrUqTgakJUmjUAXwRw0XErUUUcQRrhtA==","signatures":[{"sig":"MEUCIQDOS2+7pY6Rchw00k1raIGOfOyGzdzMCllLVN6GjJYRQAIgbIzlhA/FXx40kQGi0UK9qe3LFfQ404tTMjm5suaQHmk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29720521},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.0_1714127555132_0.2864920493818084","host":"s3://npm-registry-packages"}},"0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16":{"name":"@preply/video","version":"0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d38f8bc7276f78f9fdadfbba5ad8d0b5c5165d05","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16.tgz","fileCount":1162,"integrity":"sha512-TreKrlx1bzcTm55Yr8HFVhdfR0/3EAW6+1l4dnhIQP9jUk3lLqctWlJPakXF6lz0q79OqftnifssVyAMhC1VJQ==","signatures":[{"sig":"MEUCIHvqdAHMIryxOaOLa3ojaG1m0/hd1bvmyZnxXDCz4qkxAiEA1hCplOezhN6AkIDqOlmi1FB21P/h4a/WpVNfoC6C+dE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29803565},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16_1714130130065_0.9678781528994906","host":"s3://npm-registry-packages"}},"27.14.1":{"name":"@preply/video","version":"27.14.1","author":"","license":"ISC","_id":"@preply/video@27.14.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"848fef0c447c0df144aee65e236142897edc30d2","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.1.tgz","fileCount":1162,"integrity":"sha512-r+Ootsx4NnDXxaPC5h0c0MvZZj3aq15uStPPCou3/OaO9BJ8k65ZLB68Rcjjyxf9P9qjXT8Ws+uQh+vZU9jbnA==","signatures":[{"sig":"MEUCIQDX2PzgtZJn2BYIlHx2hteNblxy/Xt0v/itePU+O0qcPgIgaABe/kQthDrr/S8fZXULh2kZECkmjxIO46RN91rdOss=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29790424},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.1_1714131043671_0.8309917880279569","host":"s3://npm-registry-packages"}},"0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6":{"name":"@preply/video","version":"0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"522339fa687a594972e5d2075298657a67bd8492","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6.tgz","fileCount":1162,"integrity":"sha512-V0XDuJXqm1iENTKk4RQI7O62RYQbkm5bjKXqrw8zsydFlk2FjwBaPkOBlFTjgKAjCN6v1eLfdJzyRfixbjygfQ==","signatures":[{"sig":"MEUCIDISUW/tu71QDU0H0e4oAXN/Dbw9QaKAP3kPv3y0PaGOAiEAqGdgFEw8oXN+MCO6sxklRVQhBlhQhUkKIZqq9cOiGpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29803565},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6_1714135805646_0.7440277489503906","host":"s3://npm-registry-packages"}},"27.14.2":{"name":"@preply/video","version":"27.14.2","author":"","license":"ISC","_id":"@preply/video@27.14.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0fbf2ff64400b51dd11861bb528fa1f1fe0b8164","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.2.tgz","fileCount":1162,"integrity":"sha512-bQj3hGzvAe4S0IEDLB9dySaS/yg3itCjny/6Z4nY9ORZa5/+FGkXvdSCf0pCR76yHlM+0SFi3ENmzTNgU+iYzQ==","signatures":[{"sig":"MEUCIQD8YwKKWYQZN9Sd4xAEIPzZ9H7fl/OjMHSW6mlxVUJmLQIgTnNWq5NKNWmsrhDCE9NDeYMebpN3S1sdwcDIGBbjDCo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29795418},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.2_1714137555257_0.2213545800901917","host":"s3://npm-registry-packages"}},"0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0":{"name":"@preply/video","version":"0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c5f8b59967a9b905783c79fc600e5396c04938b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0.tgz","fileCount":1162,"integrity":"sha512-5R1yoMEei4X6IOzN6kKTZm+nl8ssAtKzuX1d+g74AX7mXLD3jByWJRb+MNpJgOsFE7Yf23Utg/q/vhfAw4IzPg==","signatures":[{"sig":"MEQCIBIcePH8NCBHX+aqEhASRlrBdbadTrxYgAFZwuxqTQDWAiAuTpe5Hka1H1b1hBx0DxrnpB85HdS6XVdFQ1kxvlae1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808559},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0_1714144756329_0.3158640179255192","host":"s3://npm-registry-packages"}},"0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436":{"name":"@preply/video","version":"0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"00aa0ae544cd4ca9024c10d6050fce0eb7ff5383","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436.tgz","fileCount":1162,"integrity":"sha512-pysuYr0Cl4q00NSPmqVE+y1ZXlaeahoVQW+gEdBI3HiWv93GD0c/jEoclfFhyE9PO8WESxsjSOVFkC5mDlUOkw==","signatures":[{"sig":"MEUCIHvumVfCXaOs+kGy7BcIy0tTD2azlIeK6FXgFw6xoKeDAiEAgTo93vV1SJvCXytovjuhiopbdnM9LKDDCZynt9OnOXk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808559},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436_1714373506347_0.35668387624641884","host":"s3://npm-registry-packages"}},"0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8":{"name":"@preply/video","version":"0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9f72bc641dc86d71e2610c3bf2b2c0267d4c508b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8.tgz","fileCount":1162,"integrity":"sha512-KuuILCm1pDfh0CcEbhAneYqtCZ/qcgthiexdAUkXQwbB7nKvrEwHVxEvPSKKn3pOef8JT3biku4C2boYzoLGCA==","signatures":[{"sig":"MEQCIBHuXkQKsIHfK+SsSt+ygVngioHG/BipFmT3uSEWp3emAiBPEE123NYSsZYxPEOOSnc7ppf4nVObzrCEm6b0Az89eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808559},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8_1714377451256_0.8281189989490849","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2":{"name":"@preply/video","version":"0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d6a89144605549753eaa4bbd90277f60604a79f6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2.tgz","fileCount":1126,"integrity":"sha512-dK6ysO4P0epYmcOGRmiFv6NehCPNKeBO0xg7VB5bdEzaadJXIijkRcepJtmmbvhGSIvs3ueOV4vBZBodc5bbIw==","signatures":[{"sig":"MEYCIQDHZ9wM+aaH7WYhh3Ef9HuObBlkbGYm+LMnHvXIAuAkrwIhAMdbPaiiz5ZSV4wBoj8pkns3aoj8dive+ZW6F8PtATFp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29204262},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2_1714378148769_0.9583103496841208","host":"s3://npm-registry-packages"}},"0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f":{"name":"@preply/video","version":"0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3809303dceaa3f2beca02d3b4e55dde3b2d628ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f.tgz","fileCount":1162,"integrity":"sha512-WIU1R2ZNGfIDm1nHAXc0DY9vgDDS510gbK9jEpz9jIQU2hwbl88Ga0esNvFV2QcgZqe2l+KCkMKA8Xn0uX4D/A==","signatures":[{"sig":"MEYCIQC37ObRz2looi2t+sg+DuoxWAJoK2ifFG28lcJiQkxNXwIhAMKjzzSXRniJhAhVlxNkDPaTWpWUCcp8QCKFG2Pyhe0g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808559},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f_1714378924958_0.12266980672870287","host":"s3://npm-registry-packages"}},"0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801":{"name":"@preply/video","version":"0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0e19dab92db7b3fbcf526fa9545f21cb64b1e0eb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801.tgz","fileCount":766,"integrity":"sha512-L+ON5wjIFofaoE+X1BUD5icfD18EgTAZZuv2+gR5QRh2Eovxvn71zf/2UX80SWug/n8qH3E35zJSACffga2aBQ==","signatures":[{"sig":"MEUCIQDkjjxPBkCuaTGXjIHNT3wmURPt2wuBkyRrKijrLkNqEwIgXJWrqco+uG+sb+y/pUBIJTr6tYZbo9Hxb6tWWs4FRzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1695006},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801_1714382823212_0.597844370091567","host":"s3://npm-registry-packages"}},"0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e":{"name":"@preply/video","version":"0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0d2430ba32e19637f896f0b2b759240e9cd8ea11","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e.tgz","fileCount":1162,"integrity":"sha512-l4RUcMtwUoUTftwDlgnpiYzUdEF7qS7EnuF10puizuHg0p8BWveAXt9u5RyaBKlQCRA37UGMwBchZATyGXPpnQ==","signatures":[{"sig":"MEYCIQDRxcaFzg7xqLgalhaVCPKNf1nve8UEoO2NV/XG3xmVXQIhANjNSZusE8V8jziEPXv2Ua6EHdBlki6lf1jVXbaqSjpa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808906},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e_1714387771909_0.9419894053642117","host":"s3://npm-registry-packages"}},"0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6":{"name":"@preply/video","version":"0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cc65e6be270afd65a6fb5c43d30954539ff2806f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6.tgz","fileCount":1162,"integrity":"sha512-TUKn1FBSk2+Pwcuzb+Av3AhQzC4dPowM2VbVCHbWEQTB4a3sxbLxZgZOmtdRsWEtGCZVt0Tsk15PBy1DdrOZng==","signatures":[{"sig":"MEUCIQCVaydsyZG0Bo8VOZE5ZLRZtz2HlLILAcLWVBpzfXKm/wIgFQjTuuqWodFijhgCl6p+fwQjeqGIkHM5Xk1dMGf6dd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798537},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6_1714388499462_0.1461112005272447","host":"s3://npm-registry-packages"}},"0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c":{"name":"@preply/video","version":"0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"216e46d844172c18c426cf71c3edb8a524113a79","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c.tgz","fileCount":1162,"integrity":"sha512-SS+UGh9HdcnSX1PzBkaJcmeYFe9ubyPs8vYyZBCTYvL8dBUUyAc9resyxV69cMNuuWvm1I8QIfcvD1OTWCyTRg==","signatures":[{"sig":"MEUCIQCjxP1il8+nRGAZEwOfcMuCzcPtumJhoF/cYEBtnK5E2QIgEKTLf9bnzdkUAny6KQCrnpMxxeYF/qCUg9bTzbxCpa8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29798537},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c_1714391129740_0.48787887508107075","host":"s3://npm-registry-packages"}},"0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93":{"name":"@preply/video","version":"0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"762018d9d8f6033858f49b81153a060877c247f2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93.tgz","fileCount":1162,"integrity":"sha512-SHCo8YRw4PsL0TbmAKsXqEwCwacNIXHb7CSXwOzc7ZcrrnUpUB3oy8lIsIhktt0DUFCMxOTHf7w4EIr++/3Y6A==","signatures":[{"sig":"MEUCIDQehAO8RR0S7dZQ4ackhkctGrPt7VcElLX4+HE1CyqtAiEA52A/FflZ8mexybR2VNamxk+4O4VsYvOvdi6ryZpgTvM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29816804},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93_1714392680806_0.02892027407736175","host":"s3://npm-registry-packages"}},"0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3":{"name":"@preply/video","version":"0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"79b636d5edafe27990c1efa9e226598573bbeb23","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3.tgz","fileCount":1162,"integrity":"sha512-7m9SSmeWLhofsISLYcbdDCc/bsGZJPsG0nDHlChe20nmV9krbNd9tw8a91B135Z0V7tgNEVVVwVFWNqsvZk4Jw==","signatures":[{"sig":"MEQCIHngwAOZnZszHa82Iw4KIqdL+M79PaFqnGRFdOfjq5AUAiAnXPkmhfal5Z6if7UUKgX/YFS8T1nT2NsYXkxeokwZpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29799285},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3_1714394140841_0.05704715316603903","host":"s3://npm-registry-packages"}},"0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0":{"name":"@preply/video","version":"0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"43bdd437bbc7f2b5e88c526b941fb5a4df5c6d23","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0.tgz","fileCount":1162,"integrity":"sha512-cb0J807ES7kFFhsF8P18qpHuhneS6lmlnMlBuIWMPgw7rXj7BiBc7Fn7d9Gi5pi2A6uNY19BKa04UahDA8bqZA==","signatures":[{"sig":"MEUCIQDenJyKonHP7jxEWLSp87wz8pHu2jXeB0TR57Bd/JtSCwIgWGvfdBByxNgpDx8+Bm4Woc0X5+P7i2enMPDjnZxVLW0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29808906},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0_1714394849396_0.32713783560676535","host":"s3://npm-registry-packages"}},"27.14.3":{"name":"@preply/video","version":"27.14.3","author":"","license":"ISC","_id":"@preply/video@27.14.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1ecda9f2b3232d4b5ca0aee78f279e1cbd723a1f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.3.tgz","fileCount":1162,"integrity":"sha512-5zqWgT2XKvDWiRnYu4Od7RerU4BAY6ibhHPtd1ERxlxIizNNEpCdvmJ7UwKM0qtrIyPKIPyS7DFKNxdoUdesRg==","signatures":[{"sig":"MEYCIQD76ntPkxZ5juI1YuDzqSrIXlaJ7BGM3zlASBzNZo+V1wIhAOruf0zSEwRKn0O17CUuZ+nY8S30dXOyMcxIreimjptA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29814379},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.3_1714398654327_0.6254811940910843","host":"s3://npm-registry-packages"}},"0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12":{"name":"@preply/video","version":"0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fecf99d2322197402bdc2c2689e9e58194eb6c09","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12.tgz","fileCount":1162,"integrity":"sha512-BWLUwqCUXd57IvnxTbrbRiwunOuQW3v73KlKfGu/B3g5e7BcHVz3G0zJ7W1ZnX0/9/v9XEFJg11aAPbjyJ1ksg==","signatures":[{"sig":"MEUCIQDn7+hoYbm1OlbfvZQgTR5nLgUeJLe8Zvh+bjgHagyvTgIgLjntGDZcpzx6w34dJGM4rftU8M2lrzGby8C5IJ/Gpfs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29817151},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12_1714400161423_0.6368932678524641","host":"s3://npm-registry-packages"}},"0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f":{"name":"@preply/video","version":"0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d58ccf927ec284075c84128efeef4603d07fdb8e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f.tgz","fileCount":1162,"integrity":"sha512-F9DeD3w7WaHkyHorWycNrvLsP4zSjH3gx/gmq9vtBe3eulATHtan6zPggJ8dOMXDdf66MBPQpSnsZrg4dzFbJg==","signatures":[{"sig":"MEUCIB/o62c3vQfxl2RvMl2MeJUINTJoQA8rMwsNKY7iztdXAiEA5bT+zUgAGrNaob2eVwUdktlEWkfTmM/MrqK5fzdW5Cc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29827564},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f_1714400887910_0.3085416141500319","host":"s3://npm-registry-packages"}},"0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545":{"name":"@preply/video","version":"0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5aff1093a0f53fcf6d791cf1ecce720612c9fd9b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545.tgz","fileCount":1162,"integrity":"sha512-JQUgiMyzG4dZshmPRAhcM3DpJNAkVsIydIZkft7ger7Qtj3dXKqUeZKj6RnCdYkFhmCillEjtEuI6KcAHgJtAA==","signatures":[{"sig":"MEQCIGSMTOEA4AjTHqUbMTsOHp+uwKsWrOUvqCYSzVmCTUFVAiBqeQT0CrYTw5cLkV2LE2zHhibsupLYj57brzcui4xdJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29818537},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545_1714403941045_0.2580172103490388","host":"s3://npm-registry-packages"}},"0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0":{"name":"@preply/video","version":"0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"220a63f5bd0ca057e2783a46e9339030be3c3212","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0.tgz","fileCount":1162,"integrity":"sha512-vHOb7JAn3fqulhHvkIKYC4Tkro/qxrXhzOqBPasGtxLqnsdeiPnHGd9EfiaihMoh02uPhe8o9wnIx2ityrZ43Q==","signatures":[{"sig":"MEUCIQDoLLuhJi7xMqQ3h4f4hpfZsfcBgTWgQU+xTBpKlbVrAwIgRXBb2owm+gfm81nPnXn74w/ExIzaUFa5soj6p61o/K4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29819776},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0_1714405556962_0.16073342283261893","host":"s3://npm-registry-packages"}},"0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770":{"name":"@preply/video","version":"0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c5587b2427883815141981eab9a9c41ecc43578c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770.tgz","fileCount":1162,"integrity":"sha512-8AP7C0UonJFdYB10xUx4OSU0aP1VBAQifGaWHAPYzZp60p2BJrUYutZR6DYA07GkL91i3Z9d2zLhsmsHC75Abg==","signatures":[{"sig":"MEQCICaRGjz04cLNPCpADWGcMPBRMLTJcyonQRTce8pG55AzAiBczUJunPA+OtWbi15Er4bcAH0gtGEKH7IxfTB6ATjHRA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29822780},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770_1714409457926_0.35459641343591297","host":"s3://npm-registry-packages"}},"0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6":{"name":"@preply/video","version":"0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9c1fa900cca4e0adcec161895c63978d7fd9df86","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6.tgz","fileCount":1162,"integrity":"sha512-kRLXLF1B0eHZfXSGnJYybSZMuTKnSWxcsSvdgqJyNmyAlZMof5jzIdtZCaNX8/hdcij+9ZrqqkO4im+ZXbLGMQ==","signatures":[{"sig":"MEQCIGWJswNn7cHPujvpVoVjSTJZmehfwoaF41CH/kD8CtktAiA9MJZjlHgdbmbmsVLKHDcZZR3O+OHKVgrqq0Q/1gw3Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29822780},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6_1714413525962_0.5278700097560451","host":"s3://npm-registry-packages"}},"0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b":{"name":"@preply/video","version":"0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"32a6e1dd87405b95777b991107968c1bc3f9fc95","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b.tgz","fileCount":1162,"integrity":"sha512-F8FGzRDE+795qHDT9NBMzTN1VeKSUAUPZtKMNVk9vCNvc3HwS36uhtLIEoqDYtlDMHAbbBZNJESF8moQwpmc2Q==","signatures":[{"sig":"MEUCIFOZN2d6CKytRZHkyZtVfwqDQFPzhAZbJMiE82xGHWahAiEA1szmnlpRUOX/Vz6OKn0M+MpldyYIOu0vcXqcG3Prdq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29822208},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b_1714461854484_0.3370072534083868","host":"s3://npm-registry-packages"}},"0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a":{"name":"@preply/video","version":"0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b9812dfb59231b929c994b8123d296c39fa300f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a.tgz","fileCount":1162,"integrity":"sha512-/U5/Z0XfWNcvEMcPB7k9ekuwrgPN72WGbKgBapQ+13abmybyEgyrsF36K2UWVAkSpPIcLPqHM/0th6jfr8lU5w==","signatures":[{"sig":"MEUCIDrgQEThWUuErmbWAyvBuZJvMW+rSQfYFbCfopxoQJboAiEA5UzGU/CnefxS6cVoc2YqR9x8ewkcw8rYFX2HNABfpi0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29822208},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a_1714463621991_0.5431261822645057","host":"s3://npm-registry-packages"}},"27.14.4":{"name":"@preply/video","version":"27.14.4","author":"","license":"ISC","_id":"@preply/video@27.14.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2e564e83e651adc7801c2a20d2838962fe504bb9","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.4.tgz","fileCount":1162,"integrity":"sha512-ceqkFD48MtoCce/qCcaRbY+DRENTmO+qEDjReiC9LDrQ/2bQ922V86GyYPAF7W+zhdm82J1XccwA8InFhqs3rw==","signatures":[{"sig":"MEUCIHZKxpJaRyx4rxE6Ex/cIFNtUJHlDxmOIcHXeFMi9ki3AiEAvSo9fcpNoImgzUn8JeNjyZAnOJvAC6NZlroKTPf8Zm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29814931},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.4_1714468839705_0.9306995598420884","host":"s3://npm-registry-packages"}},"0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400":{"name":"@preply/video","version":"0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee595a11f55802914d792bacdba75ef6698d68c2","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400.tgz","fileCount":1162,"integrity":"sha512-RKW4Ctk/77T+hxBDZaJFkPk1CKr0bJ/NT0AEEKHzBG++qTIJTe1mnmvSmLuckmrPnKiIPmJrfThYtTCoGxVOxA==","signatures":[{"sig":"MEYCIQC9e5kf8IfzgwZpcsaDJ6TeUkgTMWi/JD0t21GxZA6k5gIhAPGk7UWpdKNhhigGOmnNVqeEFTYSjNu+tWjayD3nhO+G","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29817251},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400_1714473241359_0.5440461405927386","host":"s3://npm-registry-packages"}},"0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae":{"name":"@preply/video","version":"0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cce35935fd77867f16d6d98ee9f03ebd41ed68fb","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae.tgz","fileCount":1162,"integrity":"sha512-6BWoDWW5/ziN0qVjke3QbjEdJe6kj58IlCCZhGj2wIzOsTqUEt0ECmWfbc9LwegO+JGeHbCVkhqPv9KRs8+OJw==","signatures":[{"sig":"MEUCIAv3K0fbY63uJYjeyqM8OhcnXPBSv1AewuFwZVAxJHEUAiEA+hyN40b7z4A7cfyGwTucWIj0j3vqz+tqlHUTAsQaExI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29823332},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae_1714477247102_0.6313792426241807","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30":{"name":"@preply/video","version":"0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4cf8bcc093b395f1194af1bad35d62890fb66d53","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30.tgz","fileCount":1164,"integrity":"sha512-70eXPuyvMUYdm+pHF/MTKdTlqmqjgaZ8U9s++VSKXndXoypkP/abfZws8sfPEuO7bNOm2uIkL7J3dcc3+NOCHw==","signatures":[{"sig":"MEYCIQDozOY2gaH2wlAxvlPoyXfTdCoPPsPNL5WkeFrwksbc/wIhAKgwIUISTSXfxl1/8nLg1JCfsqnkAlbBapY6AEzlc/Xy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29852791},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30_1714479951684_0.41894788719287757","host":"s3://npm-registry-packages"}},"0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4":{"name":"@preply/video","version":"0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7915ee11bc9109ce800f7a8f2a8ff020f17f5f17","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4.tgz","fileCount":1164,"integrity":"sha512-4tzIikKuUPneRh1WFkhK2DHkLiUFaTGL8uN18cqh9795h0qvu7mtcr3ABEst62mBz7hfsvHFcMZYWA/pzLFDYQ==","signatures":[{"sig":"MEQCIGcDlewOyR+RBpEUjnW6Nz1IrAO/pMHUGCZzKmKN6jboAiBFZgfdtArRWPcU+1Uk2a9m74mXyqoNcqzC174T3BB/bg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29896640},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4_1714481711083_0.6912713049714263","host":"s3://npm-registry-packages"}},"0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506":{"name":"@preply/video","version":"0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"3a574d3194bf4c69939bb483102ef47f2ba2eff8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506.tgz","fileCount":1164,"integrity":"sha512-mQcACp9ygepZwKHVL8Q108mYbbOh2lhyg0IiRgnvv9jShUQmpYknkTOY9+2IxFDFAc8tuBDo46dzy0qd7ZQKvw==","signatures":[{"sig":"MEYCIQD/aZcL2VffmGvM0ewgct55Sq2aaeG6Fo06bdinAbucQgIhAJXZXYylGZmcY8IamkFqXCs+f9Hpu+yIYXBzbZNAnw4V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29901678},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506_1714486157817_0.7239824242746489","host":"s3://npm-registry-packages"}},"27.14.5":{"name":"@preply/video","version":"27.14.5","author":"","license":"ISC","_id":"@preply/video@27.14.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a822ce4bba53a126a87aff2c64789359e5b96669","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.14.5.tgz","fileCount":1162,"integrity":"sha512-1OGuvFX2EHtD3DLL+LsqhRMQ8T68fk8Yj/gkQ9Naj7ZaAqjpI2xML6Xi/08bZXkoDOZVekzFWZM5sE1abCj+TA==","signatures":[{"sig":"MEUCIGtp+IEKk7bod33rdd/B4V45C8DKydVbkw1Nls6ZJDu1AiEA0oXlDPcjKsmNIMR24fDsyH0l1Qj1mf3dbGHoDxXQgds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29823022},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.14.5_1714489048429_0.9907679193979053","host":"s3://npm-registry-packages"}},"0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b":{"name":"@preply/video","version":"0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e85f1f8461015cd0db69bd17590efd89fc983b9a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b.tgz","fileCount":1168,"integrity":"sha512-P0sH78HdKrDcKp7mcl8c5nKr2q82f2E/xW3efJ+RyunvY6YeS7PYzr3TGNsNHYR0S58bBJYXFxdnzvnmsB01Sw==","signatures":[{"sig":"MEUCIEhBK78GzQJ5HZc137s0tkh7ZtJmydnprJUB7uMMucY2AiEAp0MHm01IILqobwz9wRdZI02g3K+0k/2EnUaVI7w18PU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29945291},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b_1714638279845_0.6485068685090418","host":"s3://npm-registry-packages"}},"0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2":{"name":"@preply/video","version":"0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"04a3099767e19f0c8a27ad2c10e3946840009efc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2.tgz","fileCount":1162,"integrity":"sha512-8RNpfyutNmIpqiqn3uLqux59dDbz2J15+rLFbC2F2QRTIDSg799e4FsaXIUOK5TayNbIuHbwrd17I/VopWAX9Q==","signatures":[{"sig":"MEYCIQDsaMsnF0Ywx/u/R4qtY3+YNpEddfQ0UlJt4sekyIc5HAIhAPY3soHDmGzykDoTa8fHi0iLUvExZZgfOj4EfNE+LO6r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29817151},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2_1714641409504_0.6791066453112515","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c":{"name":"@preply/video","version":"0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"deb0d8e0999bcec29747dc00d8827c8cc6223e5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c.tgz","fileCount":1164,"integrity":"sha512-JMm2ZmnypCSbJkF1TJSgbbyFeoViltSq0Vnawl9Z2AGDie5Wz+fT0cUZkqUgi/PTuUb20q9f5kLMfGPV7dNEAw==","signatures":[{"sig":"MEYCIQDkmuJKhgDwTJWxtPNssdqUi8UTmlJlYrvrvFgLO7TFugIhAOJyGkAX/BpYIzVtNvt57qdPgjbnLuDmDJ41II9/kFbJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29861344},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c_1714643604741_0.9974483467405595","host":"s3://npm-registry-packages"}},"27.15.0":{"name":"@preply/video","version":"27.15.0","author":"","license":"ISC","_id":"@preply/video@27.15.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d70b22db25f9866d7c019d7d73ad8d84c81f89f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.0.tgz","fileCount":1168,"integrity":"sha512-aAjsaTev2QpFnyhi9lDbJ1oCEAyyoLoitKUhCd69urgL/3ONfQLfXFisUOwj+zibXsCh0javgjkmohere/0/JA==","signatures":[{"sig":"MEUCIHJ7A+BcZjWsobjMLgHCB2W47g8V0+o9o/F6wtS44OdFAiEAk4VTN4ZhIMIVV1aSY8sQo6kPXfyoqEim5KslPuZqD5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29943181},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.84.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.84.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.84.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.84.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.84.0","@preply/ds-web-core":"0.84.0","@preply/ds-web-root":"0.84.0","@preply/ds-core-types":"0.84.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.0_1714646006475_0.8129403054812636","host":"s3://npm-registry-packages"}},"0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365":{"name":"@preply/video","version":"0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"737b4c5e4f1da311975320691a214dbafcbc0ed7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365.tgz","fileCount":1170,"integrity":"sha512-rN8pkYC/Pngb9zNCYvQOH5/DU7hPjKY8S4vHyrzH6s5lqzZLM7RbuJtF0HEJwBQXy1u6wL0dzB7Kau+6VSW5Xg==","signatures":[{"sig":"MEUCIE/fHCZWT8KX/d/BJ/JPeSe2r6KvUEl1m56oMw73cSzZAiEAhW/R5DxINrXYLr3580C7KPNL/fauBJpy9+/zfig7Bf0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29985293},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365_1714649526633_0.38497344922837184","host":"s3://npm-registry-packages"}},"27.15.1":{"name":"@preply/video","version":"27.15.1","author":"","license":"ISC","_id":"@preply/video@27.15.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7dc21913dd93d3a4a8be3223e25cced4ab5c77f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.1.tgz","fileCount":1170,"integrity":"sha512-NvEFqOEWX8V6VWiUbkp9EZhqRcUu7uE7iaugD2IMHwZ4pPdgteNUBi4vY9Ltwnt1ff+k2BNdpCFmep+pCwM3xg==","signatures":[{"sig":"MEUCIQCvEn4CieHAYWA5m48u1HVBSrVHESLLV5o8ReApCyXE7gIgA9VVaebE7EiFgNL349BXzXp8EwGS2KfBWnOq6sOUPgE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29982521},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.1_1714652295671_0.1652754011504307","host":"s3://npm-registry-packages"}},"0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228":{"name":"@preply/video","version":"0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c9761334d6b57ac932a361b6b8bf9e697f45b42","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228.tgz","fileCount":1168,"integrity":"sha512-1AkS0hfRgt5w8PJFiFrOy7SYtZVgV4Y2Nx1kaT6Ivk+RNY/2z/NDC79sBubCZBMgswMlBNFDuKkfMHftJXAYbw==","signatures":[{"sig":"MEYCIQDiEKKvVf4bqxuMuzsVUabSVEP5LuBc/iBeY0U2GFs59QIhALIZU2p0D7df61RvOK+Kl7xx0nRjNzxL/4O0Xa4l1b88","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29944985},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228_1714652956003_0.09301718399072256","host":"s3://npm-registry-packages"}},"27.15.2":{"name":"@preply/video","version":"27.15.2","author":"","license":"ISC","_id":"@preply/video@27.15.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e7e5566ee19e717285f7284fdc8ebd7158ef0c5d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.2.tgz","fileCount":1170,"integrity":"sha512-jjKk+AlrX2Rnjooaw+fepirmJ3XjA4US+q/WviOIz0oxcWW81hkWwUKjeM33A2MPlCt7Cw755prnK2xb7V4+zw==","signatures":[{"sig":"MEUCIQDuiLEPocrRIDWjaI6b4vA/0SbnrafuF8hAi7Xyq0UASQIgfzgzhq6/SllMtEIW7OshEulaoyC2WSrMnDMNma10oFs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29982879},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.2_1714660566995_0.6596076209979655","host":"s3://npm-registry-packages"}},"27.15.3":{"name":"@preply/video","version":"27.15.3","author":"","license":"ISC","_id":"@preply/video@27.15.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"efac7bdde8a1f44c90a49456d65e935798a419de","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.3.tgz","fileCount":1170,"integrity":"sha512-gn+kVRaaRvWu3+6viZBdKrdUHiz9p9Vs2QxAZbmcRlrvVySllQskKsheQWXBxUs9+gt2IQMFU2w3IpYDbQktlA==","signatures":[{"sig":"MEYCIQDi++80BOGZni7LM78P+eYLYlmF8EC4wmFFhapqCtes8QIhAN4NwukiIkkFnN4yB6ezBNePc8B1nXIzR12One3be9Wh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29986839},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.3_1714710013668_0.10526826122458699","host":"s3://npm-registry-packages"}},"0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2":{"name":"@preply/video","version":"0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b595c0c9c73f27a7dcf83995d513b5fa72ae4b6b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2.tgz","fileCount":1170,"integrity":"sha512-YBKSrnm2Bn4wOxsfuQfhOlagsP1T5NhDeY7eQ12gkbz6YymP4/lrxf9DBPMQ2Z/gBs8E1+TrpUJTZJpIVK3DOw==","signatures":[{"sig":"MEYCIQDiJuKFGE34aP/XlnLaGNS6QxAZUuDq+UhFKAj2A6x3OQIhANQRi0LvCQXb+SSKq0QZ+fmvq7BmQQkq8ZWYuoCbYi56","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29995749},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2_1714730056965_0.34076468225049883","host":"s3://npm-registry-packages"}},"27.15.4":{"name":"@preply/video","version":"27.15.4","author":"","license":"ISC","_id":"@preply/video@27.15.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"287c9709b296f428a1af8722ccb66121efd1e23b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.4.tgz","fileCount":1170,"integrity":"sha512-+K20z2LQLbqJfbc6/svu1/al0qXyTM+kd74Nkb4jcP5v1+mvnrigMibpG5Nmc7gWLUiWv6qGHQOVdUN4EJScMw==","signatures":[{"sig":"MEYCIQD5DN+6hGbgQTO88fa+tfFiPVjYC5kA5Qtj4BD7P+LUNwIhALk19cG/ULXbmFK54SjvBVJCj00d6PdYUsBZNslZw2W+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29994253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.4_1714735832860_0.1405581816560839","host":"s3://npm-registry-packages"}},"0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78":{"name":"@preply/video","version":"0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7c267501204766c90432709b61647cda41bf1fee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78.tgz","fileCount":1170,"integrity":"sha512-VTTWtp3Y8X9b5l4iiRMpbqU8TS/aDtKSZ9K8LzuUJaEf05YqGlXzANkIFAI9jwRFy4ALTi4YETnFxhxcnOnfpA==","signatures":[{"sig":"MEUCICevpqpEb/LMWcUBwhyNo29y8upkJV4fFbi+Q5uImxXeAiEAgjdReaiHAEdE/cQoVzMQlEaYpJMPSec6o+yP2KPSvKo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29998651},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78_1715002541720_0.16500298103658317","host":"s3://npm-registry-packages"}},"0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c":{"name":"@preply/video","version":"0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e9fad99a78d4d818162b3d95f1356c6ec6137dee","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c.tgz","fileCount":1170,"integrity":"sha512-athcwJ/3U0+NtXJ1s5pe5o7xAc+lBzeJFYxvRcbKlg9p3reTX51x/I2c/i4I3k8K5CQgiRU6VgRn1ShLfMfDdA==","signatures":[{"sig":"MEUCID1ErLe7EXtcMxn+RziVMY58GJETvL4L0nYQkzjn9sp+AiEAvqJx/dMVxgZ6fgV8o+0PCOHatnfBrIft4+x7d3iae58=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30025974},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c_1715003302390_0.4734629124523202","host":"s3://npm-registry-packages"}},"0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33":{"name":"@preply/video","version":"0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0cee4efd35f13accfb2fcd0d597b88f13e407453","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33.tgz","fileCount":1172,"integrity":"sha512-pJAX/Rp50rHavfYuDk/W5WZLBeLIDVDpuIfo0f8crMYcU+CmvVSt34xDJ6F5HZgrwOu/YJ5zuhbQBwzivwie0A==","signatures":[{"sig":"MEQCIDZGFvDcTitvdjURps9M+W4nbSMdkIq2B4Q7tTPFDOadAiAv1A4rKWN2+HlvlCwJe+cv+Vf4PntArJf5wWwpJSDYyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29983269},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33_1715084853907_0.7726527107387389","host":"s3://npm-registry-packages"}},"27.15.5":{"name":"@preply/video","version":"27.15.5","author":"","license":"ISC","_id":"@preply/video@27.15.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"344300508f4ef46776a317c43281baeccce981f3","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.5.tgz","fileCount":1172,"integrity":"sha512-00SsfJYVu5XCjC3J1KbhRn8MRkey15gfIsVMhwY80TDYOw7+qYhpUHFyx28UZF+13s8gOFYhuaqu5zQop5VQdw==","signatures":[{"sig":"MEYCIQC5YIOyCIgAExmFNaMMHkB5VGzIhCYgOZslKaUlSZtGOQIhAONWVrOZTtEiBojrTiTNcMyI7YBwXPbfB2KB8pev90Kg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29978357},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.5_1715088099914_0.6783683083528664","host":"s3://npm-registry-packages"}},"27.15.6":{"name":"@preply/video","version":"27.15.6","author":"","license":"ISC","_id":"@preply/video@27.15.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2c87c696a73c871a411e6f5fbe4bbba9f9875096","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.6.tgz","fileCount":1174,"integrity":"sha512-GCmZvs+Q5IR0BS/4Eab8fgiqzlwgzLmlQnZ2exfhq05OeCL+jobCiOARCdRCTQJeuSTdD5EBBCVR9wuX/lDEqg==","signatures":[{"sig":"MEUCIQCmo7tq51IhGgcf6Ji2qbBtITOHtoMAhhMXynOOHB0ysQIgR/n1WRnY9EsgLXVE1Ai1G4QdKB/o7qYBfZgywsZzuPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29984736},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.6_1715093435388_0.34468062970460744","host":"s3://npm-registry-packages"}},"27.15.7":{"name":"@preply/video","version":"27.15.7","author":"","license":"ISC","_id":"@preply/video@27.15.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6bf484c2f1dbff4189518b02b74fd28416cc5c6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.7.tgz","fileCount":1174,"integrity":"sha512-RdH5FTnL4q6dffc9J3Kg78l/FIqYuFIKSpj5K46DzN2+3WSjcTRqcOdjs2EAcV0hOqwOJC4dvfjLpmVFOqJizA==","signatures":[{"sig":"MEUCIDrOxdhybPUQwXtFMZhRG9isEsmOC3U0lqktgzBG+T/9AiEAog5SybpO1MWM4dSG4VeUeoihNPjpipXiZfunVM5UxrI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29989268},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.7_1715094162222_0.46800367672119103","host":"s3://npm-registry-packages"}},"27.15.8":{"name":"@preply/video","version":"27.15.8","author":"","license":"ISC","_id":"@preply/video@27.15.8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6c48c4fa8198278e622cdb413b4699cd77d82199","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.8.tgz","fileCount":1174,"integrity":"sha512-FQVYu2W3hcdE1rs9/D0smzWnVO4extQFvS3y1PgfhZmwuwIksj38oOzwgUJnFH960xTq8RYo+06z5eZ+xZedXg==","signatures":[{"sig":"MEUCIQCy0/0RKTcQ5QrnH/xuT9JWWW6mXW6wDdlim4+k2LAw6wIgfajyyMdzozcbcB2jBnwLUZTE0Lx91UX8GnSSkrw1LM8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29998514},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.8_1715099528588_0.2778908759058547","host":"s3://npm-registry-packages"}},"27.15.9":{"name":"@preply/video","version":"27.15.9","author":"","license":"ISC","_id":"@preply/video@27.15.9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6b82eb18abf201ab18d53a873ab23c07cac7d288","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.15.9.tgz","fileCount":1174,"integrity":"sha512-Tf0S3iKMG6iwi55JFG4LhcyQfSlkHScTfpPwKjz6vnjOsKgHx+Z0IsdUqsn1ApGfuEPQ3R1hRPve/ihimZg9Og==","signatures":[{"sig":"MEYCIQDkUocnvAZORmMrFtOi3clbNRV0UOJMOWSo9DDbcy5VbgIhALg4Ma8MuymdyK63GZ72/fAQRledcMPDaEUFIGZhtfzA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29995177},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.15.9_1715141960457_0.8279603944149085","host":"s3://npm-registry-packages"}},"0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89":{"name":"@preply/video","version":"0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"78c4fda99224e815aed895a3741e84a4aa267e02","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89.tgz","fileCount":1188,"integrity":"sha512-i0LbnwyVxPe3U5VVMH7tlgrOAe+iA7rpLovpV4JgFHiEWSNhhTYRe9kZVU0oQfKXqQ/LygDFiBP+p9lmJCdvpg==","signatures":[{"sig":"MEUCICiirP5zR+0KaUphN7RwjiKXL+Ht4KM48xR2zRKZa+CCAiEAhNFZGRUqatDZFUZeYoe9PSG8/cdP0WOS5iBiM+YyOUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30466423},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89_1715249283566_0.060303365731399605","host":"s3://npm-registry-packages"}},"0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1":{"name":"@preply/video","version":"0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5d3a8453733d9fc0bbf228ff8fac1b5c786a547d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1.tgz","fileCount":1188,"integrity":"sha512-/5mEdfThPZDe2qx0x1RZN996HVXt5bW5RA+Tj8nUKSxUNIF9pd31fmWIZNNUlCGEL5FWHHdhC2Dnc5VHbsvJWw==","signatures":[{"sig":"MEYCIQCU/e4amEoWD7zeLjBZWdSYUBqgLqvue5+tjDDsQJFCKAIhAOINZeDW86Ykpzwi8E6J5XkV0zUX/vj7VxvCKy6P/wlW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30466423},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1_1715259871258_0.38207374093033497","host":"s3://npm-registry-packages"}},"0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35":{"name":"@preply/video","version":"0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"96cc8d29ae46c09efc4dcc38b95d527913a8e3da","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35.tgz","fileCount":1188,"integrity":"sha512-4pQFahcpTJUV+vv5i5p0lGi3t2e1Z++IBQ9bqVIFtWBiiYPWKnajFICaoWGK0ytP9oLU5Zn2E9lGSqhHKr3Yag==","signatures":[{"sig":"MEUCIC85r3B0oNDsUdgYREEPo54ToGDy0sBW4pY3z0KAd9rvAiEAqjZzdeGrWd5TR2OTdETbzhT20AYLvRYulgmJhtQ/p4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30468821},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35_1715262936398_0.6962083803223482","host":"s3://npm-registry-packages"}},"27.16.0":{"name":"@preply/video","version":"27.16.0","author":"","license":"ISC","_id":"@preply/video@27.16.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"18456d811a4f993c0c00c75f94463cffd3e1a786","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.16.0.tgz","fileCount":1174,"integrity":"sha512-k30xjEXPVb1naTKI+SANIkweusaEaI1VNkBL6zo/epZYhd/8qpq5IM6dYBtOogeDvxlf0ajgYASCS+n6mKOPsw==","signatures":[{"sig":"MEUCIQCgRHFyNNJXtTFr/fcxflKrcH43e6Yp6Z+wpMWcE6FfAgIgRpvIwLoOhKznIpyK93WvPEGp/PiHkCuJZ50SS0U9350=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30017499},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.16.0_1715282624855_0.3302979054825772","host":"s3://npm-registry-packages"}},"27.16.1":{"name":"@preply/video","version":"27.16.1","author":"","license":"ISC","_id":"@preply/video@27.16.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6a286af936f36ab1383110f8a200a7b26e58dbaa","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.16.1.tgz","fileCount":1174,"integrity":"sha512-Nqrp9QsaBZ0wEIEBv+wj7c5vp8+kjlhv0R+GU49mrxYyGcn7dxAYNZ+HLsAM9U7zb7Wrf1llvSRyRqmCg5sZaQ==","signatures":[{"sig":"MEUCIQDS161vmgSiy9IIqKnfbJP8iCXqQsDUDKkIvd3P0vAMUAIgawqYiASB6bCIER9M7+OtrEveYDU6FFW4fCZeUz+irAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30017593},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.16.1_1715328923140_0.9175068024965998","host":"s3://npm-registry-packages"}},"0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7":{"name":"@preply/video","version":"0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"06af431bd3f55ba0d190bcd4f3ac14d58ebfaae3","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7.tgz","fileCount":1174,"integrity":"sha512-LjeL8CwJSA267pFUJhKRfGBxILAMFidZrfrDDQIVbd2zsqdgY15EKhAkF55ThdwnHhLhced6miiYEMbThTjLMQ==","signatures":[{"sig":"MEQCICyrmnxrociIa4X+fiY+GlfjwbFy52Oobd945y8jGjYJAiAcmhQW/tcP9WAmMkFHdc1bRHXbWOjDW924AWTpQuWpvA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30020233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7_1715343801081_0.7947139033132482","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6":{"name":"@preply/video","version":"0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"256baa329c519f2509a4581b09ab36ee8d5088c7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6.tgz","fileCount":1174,"integrity":"sha512-lWs4TOwYXdxnoPkvJJZtFRE74QQSNr5Qh8Hk2dLMIp4Kitm54lB6adCO6lCDdvHoM09EL7n5s2XnEb4BIuuzcg==","signatures":[{"sig":"MEUCIDCEAV1t5UUVTulfV4zMrmlF5PyhhptdBB1EEs7XkQjoAiEAiH7sq0Deu0DQ0V5KJgrRD2hckwrFh0L0mXEIkITaYsU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30020805},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6_1715350508812_0.8064132484442921","host":"s3://npm-registry-packages"}},"0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f":{"name":"@preply/video","version":"0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4f317edb620541ae39a61bcca07ac35abac8bff4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f.tgz","fileCount":1174,"integrity":"sha512-8nwEe6FTz0+a/210F1EaMujF5Kcdsus3LHGVL/oiD0NQBHeyuxImjPwScEN0PRgugGQbvdXALiNff+SrM/+Ilg==","signatures":[{"sig":"MEYCIQD95je+ZsVs2klUeO2/6l7Z8VAhOxJKd5qeiD/enkLA6QIhAOCR87o/3dU3NG6K8jGiMbj00TwrjcnK1p/pdAeLaPRK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30020805},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f_1715584222941_0.2928902665935451","host":"s3://npm-registry-packages"}},"27.16.2":{"name":"@preply/video","version":"27.16.2","author":"","license":"ISC","_id":"@preply/video@27.16.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"39c2faed324b770fe8ae7b0797480311aa44c783","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.16.2.tgz","fileCount":1174,"integrity":"sha512-Wc62aCgeQc86hhhgFTlMWyAOgnDgamWVo2m1gLUykx4PPOJeXsBlr5NW2Jc6oKoFQ84d5F+gdGMOuh1jvSJ6Wg==","signatures":[{"sig":"MEUCIQCZW9/rrB4BwP7xvKfmRJ4z47cPpckIrrgmmhFKBnM8YgIgTIHJBvi7Vvu4S7huS3eG0ACBIh0lcOb5wcnb3uX7Rrg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30018030},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.16.2_1715590776517_0.15527701466630672","host":"s3://npm-registry-packages"}},"27.17.0":{"name":"@preply/video","version":"27.17.0","author":"","license":"ISC","_id":"@preply/video@27.17.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"119c60d0c794d4ba243f03806aaf8a2a5d79671f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.17.0.tgz","fileCount":1188,"integrity":"sha512-bfsyEGueGcjfun80Mx6uE3IJCcyO1HfOgWErFi3YktGZKUG9EvSEYV5WOz91bMIGZu6TwVg4Zkm29l4feINYAQ==","signatures":[{"sig":"MEYCIQCWhCiRhtHOYmktB0Nmgy7+10m5BogHujC5XEyAdbYTaAIhAL7xtCzY9/uc6rWn2E4HKuTbhXyzZOzLXCutZusDEXn3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30485341},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.17.0_1715593431112_0.889844084648769","host":"s3://npm-registry-packages"}},"27.17.1":{"name":"@preply/video","version":"27.17.1","author":"","license":"ISC","_id":"@preply/video@27.17.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"47df6baaa03661331fbdd63aff57099184c9efb2","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.17.1.tgz","fileCount":1188,"integrity":"sha512-/tGAo1c5vXg483UqxW4aa7f+CqnO283ngZFVE3xjMEiLGglgK1Jlng6O/hmP8nACEXtySGeIQxDV9FlNeOzHUQ==","signatures":[{"sig":"MEUCIQCDgWeg2iDR99e98003jAbpsUGVTGVDDoK7ABO4w+sUDAIgF+HqTjUBFX93xurw/g2dAwbHazqWbWffjaG7srXcqjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30483603},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.17.1_1715670649384_0.901729712854008","host":"s3://npm-registry-packages"}},"0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11":{"name":"@preply/video","version":"0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"33e48acc00b59a9dc231edd7c847ee2b9fe9a432","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11.tgz","fileCount":1192,"integrity":"sha512-Snhc0GBlJoeEGGwq5yC/g7v6TePFOEiPhOVJw/iUQ/y5DszGoqdO+MwB5W5uUC0/RjRi+/E9Vc1hSGZ1hcwyFw==","signatures":[{"sig":"MEYCIQCNEfWKQQueJSueNyPTQe2wJuoktjs7jNfDVk1p/9i3VAIhALQF/KWs/UBGgieDsG0trL6O6nO7dclvTChFAFBJIr4B","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30524648},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(root.text.height.200);\n        color: t(root.palette.teal[100]);\n        padding: ${t(root.space.xs)};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11_1715677096649_0.9900102313404411","host":"s3://npm-registry-packages"}},"27.18.0":{"name":"@preply/video","version":"27.18.0","author":"","license":"ISC","_id":"@preply/video@27.18.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1f5b6e1720e6fcc8b8e29f3ff82f199845471233","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.18.0.tgz","fileCount":1192,"integrity":"sha512-T7iUp6d0WusiA5QczzUrRf1Cn/aBsC5DIkk2Np0tvcyJRQCZJqpM3RNb2nGSeJiDvRDDupbia2lMmM9jTr7Q3Q==","signatures":[{"sig":"MEYCIQCOYBYEtoKpltAE8qVgbpMy2/avDjbw/GWoXhbwlxYlHwIhAI7E9kkue3ur1hDWKGVsrfyx9nUbOsvx/1vIkhfNRJhi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30518596},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.18.0_1715680237070_0.44211387889011733","host":"s3://npm-registry-packages"}},"0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241":{"name":"@preply/video","version":"0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"23c8d913ddfbb5ab96d69c5b77968bbf982ff430","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241.tgz","fileCount":1192,"integrity":"sha512-7uq8nVNJ6dA5ZrZKyuVXTwxOpvmABLhI6qziWlKIKx7yutoKGip+lchQFRmPvrSuT4twLR7rQpLFgArZ0PUjwg==","signatures":[{"sig":"MEUCIQCQna2Ds1nF4xex/KfYQ4OGpDoS/VDOBqBCqIMfxwn7gwIgUdG4d5obey+PKdZwigffzWY1lwkcconE6Ht1udKSidI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30519582},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241_1715685077398_0.8944148222803421","host":"s3://npm-registry-packages"}},"27.18.1":{"name":"@preply/video","version":"27.18.1","author":"","license":"ISC","_id":"@preply/video@27.18.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a59586a6cc1a69a86196f1617188230ac640bd33","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.18.1.tgz","fileCount":1192,"integrity":"sha512-zDHdlzlkAb7T2AjRVztYeMawaMiChIJhx+VzSIuCKp9i9HKUERp0ZuSc2vfmCwbVTCFf4tYWoiDR/24oYJXlog==","signatures":[{"sig":"MEUCIAvsgemGLQc15rmIF0HF/OxR/iF4bajiMAt6EBdWrV56AiEA0OGIpbrI8nmOFcU2WnOa0AFXvhkPd5lYbLTPU1HYePg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30534148},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.18.1_1715688079104_0.3013816060551613","host":"s3://npm-registry-packages"}},"0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa":{"name":"@preply/video","version":"0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"686e4459114071f5f9310fb2ac8c4b0db5493513","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa.tgz","fileCount":1194,"integrity":"sha512-gaPxMBU0/F92xYhzODzkKmQTh6nzQF96zUIX9Zql6+46QhuyeLNh2yJj+r08f5EERN5P/5UdUOrZJ8hXzHhv1g==","signatures":[{"sig":"MEUCIDozXL2EvdoillvWo5X8NAI16Z1t05ePNrDC/r4YssfkAiEAks4jIoM3iMap8peqAIOBs2m76iaC5ZMPRChOdNJ7gNg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30645918},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa_1715690992343_0.3383905120966484","host":"s3://npm-registry-packages"}},"27.18.2":{"name":"@preply/video","version":"27.18.2","author":"","license":"ISC","_id":"@preply/video@27.18.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92c99f4127f702c3f6ae0e0bd3185a97d36b6528","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.18.2.tgz","fileCount":1194,"integrity":"sha512-sWzWV3y4bUgBON44ayheI5T6FLhbcAoBaIFwlDDZJFjlkfdx9zVE0/7sxBNugLhaxLkqfRIsnOXnDPXSaxeErg==","signatures":[{"sig":"MEUCIQCBbHo+8axEE4Nijpu4gJ+pzOVPgwuw+0TsP+TPtpuHDAIgWN0yHg6Nm1ql5NiKe37o4Wmev0KnYtRj011lkN4Jdv4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30644840},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.18.2_1715695448316_0.966985562381466","host":"s3://npm-registry-packages"}},"0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add":{"name":"@preply/video","version":"0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b118606e138dba187cb9d337d58666888d40137e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add.tgz","fileCount":1194,"integrity":"sha512-5wMhf98flA4NghviIA5nSiPtqan6/jZLPm16EialbJskY2XcOc48gGjCXcUVvwcswZxM1UEvKPpX4aT7sBKiuw==","signatures":[{"sig":"MEUCIQDSpAQD+9TDkpFG/x2pg8ks7JIZuWF3xZ6ddLjxCjMJeQIgceiGQ7fQOQPJ2kAsvh8QhhMpMfL1hMUC29o1ZCzfQbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30638042},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add_1715849996623_0.8842872414618679","host":"s3://npm-registry-packages"}},"0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e":{"name":"@preply/video","version":"0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9a6001e664cc3e7bdd64dcf547eb1f6365cbc76c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e.tgz","fileCount":1194,"integrity":"sha512-B6eaqHWqDP3qNe7Jh3wJRr4XQRmyT/ZX05XGC8izxPABn+J0SRO3nmsxi1dFoz8K2diIt6lv12TWkVZcJq2xmQ==","signatures":[{"sig":"MEUCIQDwYQGrTtecHpLiPPv9zQhhGSXrb2h/rfIDjZoDbs1DwQIgTBW5Az+OYLkOsS3WSesXGYPYUtGnlSxX5lddq1RCK+M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30638042},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e_1715851967384_0.9020471326711386","host":"s3://npm-registry-packages"}},"0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7":{"name":"@preply/video","version":"0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"76336608bd11f1613b8434f9b2c25aaf51cf83e7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7.tgz","fileCount":1194,"integrity":"sha512-F05Szjg3ethl1VI/BYDBf0f3wcVBVrEFFvzaTvO04u9B1UOadRk1O+OA+0zDCFeB7mVWmGWaOCklqoURaqc6TQ==","signatures":[{"sig":"MEYCIQD+dfCsWnYC5whiccMSJUuVHb1SRn3V6OhQD0h8h+XhMAIhAMjO7jAK9uFHOz3azXaWnR34T8gB516c7njEfjRpEe1V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30638042},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7_1715854293933_0.08282377289570952","host":"s3://npm-registry-packages"}},"27.18.3":{"name":"@preply/video","version":"27.18.3","author":"","license":"ISC","_id":"@preply/video@27.18.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1486ba4d3b041ef574c06dbe97cc48747e77f70c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.18.3.tgz","fileCount":1194,"integrity":"sha512-Muhq5zUb+Cs8mzNHxS5rmRGi5NtejlLxitbnk67xmtF+JqqotpQmib6CY9SJnRMWshzmC8rM4WEemaPtFB+sHA==","signatures":[{"sig":"MEUCIQC8QZ3BrbQ0thG7gs8wwUUgSMQ3TblNZIlKPk/5leE7DQIgMoKjMthGVe5AEm5Fx3tjiTgurVSr2Eqeb9bp+3mpuRw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30658306},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.18.3_1715855054165_0.18927484560601204","host":"s3://npm-registry-packages"}},"0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b":{"name":"@preply/video","version":"0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"9d88eb3b10a3d7126c4ce62ac4e59f1fd7b8290b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b.tgz","fileCount":1194,"integrity":"sha512-QdkBW/XQPVwIPMSWE8ojEc3P5KlQVlDM7F7aq5sp6nTMt+8C2fV/8bP055DNdLwtptCYMUN8+9U7PRvoPZp/2w==","signatures":[{"sig":"MEUCIE293uT5qG/MfKf+p6Pv6jMjSHHrpEhlgUXF8+7WBgiwAiEAruSiCen6ijATLaH0ngCzB7dXE2aRxdssDPl980UVlJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30638042},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b_1715855758814_0.15311309495727254","host":"s3://npm-registry-packages"}},"0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a":{"name":"@preply/video","version":"0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4d622903588942c20093acfb4133353fee0b4428","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a.tgz","fileCount":1194,"integrity":"sha512-zgw4j126BPdaN8jN+TEtSu/qy1RUFNSwYqkdmjbfBVLMIlrVeD/TrIWbkqsydiknoTyUFllo0biAOL3UmKeGHw==","signatures":[{"sig":"MEQCIFZocani0iEfmbKW1GuLwfPcXBS7jkDYK61ky4M1ZzpQAiAOW581aCpkBVkalos5R/XjQoNTjMejM09kRgtPIXmzQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30661012},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a_1715859510686_0.7341699766829815","host":"s3://npm-registry-packages"}},"0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761":{"name":"@preply/video","version":"0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"72298de5437060cc2e47a49e12a57dfbe85bb1bd","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761.tgz","fileCount":1198,"integrity":"sha512-Hr0pmnR37hkxx1sAXBJ6qOXhlBVERrKv7SBjGV6SNd9z5OIkfCX5rxML7Tgx/7IGbZn0V1ZKgP99CQ/eYbu2RA==","signatures":[{"sig":"MEUCIHsP0aBCq1wT0hBleiEFfylwy1ZRgqXcisyBlW9H9tOVAiEAnmmer5++Vx1NDrboMfspBwzC57H3ecZSc8jbyy4i8+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30771186},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761_1715860351291_0.9528400108564696","host":"s3://npm-registry-packages"}},"27.19.0":{"name":"@preply/video","version":"27.19.0","author":"","license":"ISC","_id":"@preply/video@27.19.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8d8f8fd6de27c7f49fb3bbdb5b7514bbc31a4200","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.0.tgz","fileCount":1194,"integrity":"sha512-A0bVMeh1xvVBf0ex8aLi8u7CgU68N3hYLdV7hQmA10i/QTBzdkkyCXZjJrR8l9BA/XnoA/ogqJQXzy8DgMw18A==","signatures":[{"sig":"MEUCIQDDZJp/bKTbmztjocdvObtWGKxK0cQKBCW5YyDXtrtA0QIgGdLlQ9/WbbRDO7DkCHj8goYwdDaN+ttH061L5XBkcTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30648266},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.0_1715864084389_0.1951128928299426","host":"s3://npm-registry-packages"}},"27.19.1":{"name":"@preply/video","version":"27.19.1","author":"","license":"ISC","_id":"@preply/video@27.19.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b8dc609cf6dc228926d1f1b2925a9b0c526252b6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.1.tgz","fileCount":1198,"integrity":"sha512-DKzd1baqPCcXC7Y8MsFw3XvsuDC08DBb/ySpMG5zm8KPm3N+4IUjObK91h6s1SsiicAJuQGg8EXZNPN0b8V2ow==","signatures":[{"sig":"MEUCIQCM9ntVUn8wCVA7uCMfZMdgVAEcNU4wyUGyk9R3Mldw2QIgWDRWZLtc36DgTYBWllyxGY/rAAbo/02JloNoeC+HuqE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30741739},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.1_1715865132281_0.05848904543944977","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7":{"name":"@preply/video","version":"0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb7f8728981d82fbd2c1e6d8857cfe6c945550c0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7.tgz","fileCount":1198,"integrity":"sha512-EXfYsAEkY8EsEE+DdPPKvW1hFkIVJTmg01pfaUzFLqiSVXEgm2zOqASrcBig4b5gC9BGpapSv5tofo2t5FqdMw==","signatures":[{"sig":"MEUCIQDZva7EeeILh+YhMvNUPG1DRFH5KylNRTjcuVXOoiJjVQIgNz57AzphICADr0lQUQEQFa1TIK253MWZlTf4p8ov81o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30744511},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7_1715865889119_0.1184751409277307","host":"s3://npm-registry-packages"}},"0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1":{"name":"@preply/video","version":"0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6598b298526777e6d8524c0e98fff38952ac68f0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1.tgz","fileCount":1198,"integrity":"sha512-S9Yc452rP0B/6Ibcjf9xBd4LALxZ7dZkWSM9FbxyMkHEGPS17IgkK2RHJ0mvk5MOgKheTohzg6V9YCtq89Z8yg==","signatures":[{"sig":"MEQCIFYsdDJ2YtID6e10PBJ8qyX1uv5Exlz1IOz5wgLetHbIAiAzW1isb+z+RMtZip3LeTDlu9guxc7B+PrJpEYWx1swAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30744511},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1_1715867694085_0.9602973069356815","host":"s3://npm-registry-packages"}},"0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1":{"name":"@preply/video","version":"0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a48f9280e3e0fb8ee0206e83a64747543f14ba37","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1.tgz","fileCount":1198,"integrity":"sha512-te23cLuUvaLPF4esBYmlS1ePu0wZijkuNpvlwkHMKNIBIMi2qt3BlcxogU0tcNGvCXUePagnQsabF/Tvd4bcTQ==","signatures":[{"sig":"MEQCICisz8KqlZzs/xrqpdB1qdIHlS6XtEsft+X27CHnBLSiAiAbgak3pHzv3iszt63nwFcs17AzFmjIZoAPAosdUwRV3A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30755269},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1_1715868875493_0.9736647713263156","host":"s3://npm-registry-packages"}},"27.19.2":{"name":"@preply/video","version":"27.19.2","author":"","license":"ISC","_id":"@preply/video@27.19.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"aa194eda68e6d3df78f5813853b240e53677fa34","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.2.tgz","fileCount":1198,"integrity":"sha512-VzPlB6Hjv8Gt57FzkheSp9yfsl9S8I7qNwAqlf3eUpPN9YXts68Mh2mnDGx59vuT/OQ8okfPFLuYV4LFY5MSkA==","signatures":[{"sig":"MEUCIQDeTO9DsE06Vtqp2QHYhuQXTW71xNCFuQ7YWh2XWVQ0OQIgKurqsGCewwNMPCNTXExvL46Tl34hwp5xTwUNghLViFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30741739},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.2_1715873800989_0.6010975558975957","host":"s3://npm-registry-packages"}},"0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb":{"name":"@preply/video","version":"0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1df05bbbb80dd9bf5dc86b4fc894113cbe7a7282","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb.tgz","fileCount":1200,"integrity":"sha512-N87sEJGREhSgIZ6xAcPWyyGS4WyDE9MB8c6FrJoLhpy5m+5CAq+7bbGZ96vEZlGakIKWU3cMdMPcOR5d2JX10A==","signatures":[{"sig":"MEQCIAvpeJSVTnI5DzlQWglllEDcXoVzhq0hdd1+qSxgPLWZAiBJo4sPesM3205I2SOf95edlJBtNUPVxT2cVjGCQUAl2A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30821209},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb_1715874557660_0.17315108931219747","host":"s3://npm-registry-packages"}},"27.19.3":{"name":"@preply/video","version":"27.19.3","author":"","license":"ISC","_id":"@preply/video@27.19.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"48a843a2713b2bc34d0551b4476a3866be599206","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.3.tgz","fileCount":1198,"integrity":"sha512-jNKQNtJ0viutLTrEDz04ji6B0+KagmE6jvtdKjsHiVKxBAMs/nD9kdxPOqkoVqb1CSBn4NSIOCVvRIHDq7G7TA==","signatures":[{"sig":"MEYCIQDP7t4jroGkTnavs20CuS5sG+PYJsQO1yfh2PslWYeGvQIhAOriMv7+Q8W7I5F+oNz7HQeCj2AVNm7CkxQZUYFJhVNX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30752497},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.3_1715933299072_0.32990165950315653","host":"s3://npm-registry-packages"}},"27.19.4":{"name":"@preply/video","version":"27.19.4","author":"","license":"ISC","_id":"@preply/video@27.19.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dc97830ffbad06c8af662f570574ebc5c81524b8","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.4.tgz","fileCount":1198,"integrity":"sha512-E28Kf691Tme0aWGHeqfaMu42Gw4JolZc+bofZ7yQ0QMAb9tPd8CP3amBPP+ZYNjiGqFeMv49MCWSVO5SMQUFKA==","signatures":[{"sig":"MEYCIQCR2M3I/0qdicnoLnAJ2yAvo7tVCdtjsJ254VqYJPEOPwIhAI9uALukRG/OQY4yLynVyRHnl/v7Yt1Jw5zMbKs5lMVZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30773265},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.4_1715935269566_0.8855669550806469","host":"s3://npm-registry-packages"}},"27.19.5":{"name":"@preply/video","version":"27.19.5","author":"","license":"ISC","_id":"@preply/video@27.19.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"26bf4fd83bd896235c129a9a500dd59c5628a185","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.5.tgz","fileCount":1204,"integrity":"sha512-LLCApjkbFvfdpyjaRq6ZCPz0wIi0hHNr0f/nYxYgOvdjhXV8fwycVhthu9thoctfQenVUbCf7zHBBzRZbrWB+g==","signatures":[{"sig":"MEQCIF2CD74MuEEt5rnXqfkGqXFx81NpCeMR7RJijoh3OR+9AiA4vrS5hNfOhhS2AgC/opovqSJJ+Iw51OBJSxf/Oxtt7w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30855599},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.5_1715937442248_0.256906029562169","host":"s3://npm-registry-packages"}},"27.19.6":{"name":"@preply/video","version":"27.19.6","author":"","license":"ISC","_id":"@preply/video@27.19.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fab28cbb64ffcf0bbca3e1a9b7a29607f19d61c6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.6.tgz","fileCount":1204,"integrity":"sha512-UJJT9XuFPffJaYpRyTvKvbNG9FDNZ9tirMP8dHvFNA2916yaqG6J4Nl1t9/oXLO8fuqYiScPlfpMZ90s+wlwig==","signatures":[{"sig":"MEUCIQCYScdVlQY/07x5bgDp+m0J2pdi/Kl42Q1I4Z+pxalJxAIgC8+asSkeWf+dbBieIP8w7uSeFeN+RFJmob6GDmDaz0o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30855665},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.6_1715941280496_0.8225324993539644","host":"s3://npm-registry-packages"}},"0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91":{"name":"@preply/video","version":"0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"149ccebe5440baeff03a87bc00bd302dbcfd3e54","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91.tgz","fileCount":1204,"integrity":"sha512-/+VidR8Ei/JEbaoIvAhdKlOLLjdVBW1KNlQUenFQg70ZjdFiJZPF4AsvMZDxrd2HgN5JMyAgRezG0Hdi7Z364A==","signatures":[{"sig":"MEUCICianAbu4fJcpR+lo/fny56tlst63k65LV5BqGBlIVZHAiEAoHmuLPuXPI1Hdh+Q7k21deZWMvavCLWP8DsYCIHnQic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30870340},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91_1715969410421_0.31309795553880115","host":"s3://npm-registry-packages"}},"27.19.7":{"name":"@preply/video","version":"27.19.7","author":"","license":"ISC","_id":"@preply/video@27.19.7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"77e2212f8c1a1da5714029453de7ab7b68900662","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.19.7.tgz","fileCount":1204,"integrity":"sha512-PRM+rVnVl1hgLwIoaBsdsNgP8orHciPLxzV106CHI3KVKqUUSQxIltazDiFMIYvKfVWRu8JpE+YXZt96pcI1PA==","signatures":[{"sig":"MEUCIGy7C7Ctwc+QGYiG7z4z1RHceM4INjMffPOlZSlla5XvAiEA2/qXkobLqnK176dqp2Bwdy/Pq+GxxT8cFcsJu/YxT60=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30873409},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.19.7_1715970819450_0.9410116617930366","host":"s3://npm-registry-packages"}},"0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58":{"name":"@preply/video","version":"0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f1cdb3cf0122cdcc5a63be23879c286a0f59f490","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58.tgz","fileCount":1204,"integrity":"sha512-9I7DXNzGtBPyPDM7WeXnFxNSNp70R/+i7qrwRM3IrySiC/LEv7R0WzkYZYqxmyK8xeFyg7NENvm9G/yOzUudSQ==","signatures":[{"sig":"MEYCIQDrkpeMp0RgpRD6Oj2AwU3ktd7/4lRDVefMZbBJJ2z5dAIhAPvAAyeMgGWpvWMe5JGlh0Y/l6f0BzAeZceguSvQ4s08","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30888084},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58_1716191265988_0.2358349418002248","host":"s3://npm-registry-packages"}},"0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120":{"name":"@preply/video","version":"0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0e2a2ce9287eadb199d7f124e3bf7de4cd5ce888","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120.tgz","fileCount":1204,"integrity":"sha512-m/clgkRLH6VDVdPGR9Epl6i/ZZ+WcmoUekYgwjLwFJUIy6KYORr4FttfAt73rrGQEE0+yAFE5P8A8q1HqhtNrg==","signatures":[{"sig":"MEUCIQCf7dXqetxwVUXeq/bsapluNwxiHa2mTJ9ovGuDTChSggIgUDS74Odtg45+VALftAy9oUfHKfP8MEM1KAPIIlWD76U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30888084},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120_1716193601555_0.4319622678531927","host":"s3://npm-registry-packages"}},"0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d":{"name":"@preply/video","version":"0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e7ef3212fe6cb615115de0000405dbca3ef40602","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d.tgz","fileCount":1204,"integrity":"sha512-LxbjvdZ3hceC5prmcuU/dmDwp/VqyOJggpC7aJVfTB5T57dH/QrpQ5rb3hFRDx86leHMfBTq20D85BcI02BL3A==","signatures":[{"sig":"MEUCICW/j/FjdeD2r8pxIKkDWnTWmTSAx9KQiaXwhIukojNXAiEAr5C/tybz/HTEEQ/Hw5t50auOkvYBSxUWn9PjZaZl560=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30888238},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d_1716195927065_0.9510493948327949","host":"s3://npm-registry-packages"}},"0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5":{"name":"@preply/video","version":"0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e95e67e6d29957f7cea11373141b060da2f1bf01","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5.tgz","fileCount":1204,"integrity":"sha512-0aHAGlAJu8YDsOqrHJxsPFK0rPZJ4Ss+5A6l46E7A98n3VwB6aFU5la84LFt1ABSOs5EjfDh6fmY2CNp0Vwc/A==","signatures":[{"sig":"MEQCIDWZJyO/eG5pw+hWzhBRPQrBzDulvWufTeByD26s6mlvAiAFcpUrAB0vbfyFQucNN0VVe5iMsMikIPxo/rRW/G7YzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30901670},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5_1716197720588_0.31095222741416295","host":"s3://npm-registry-packages"}},"27.20.0":{"name":"@preply/video","version":"27.20.0","author":"","license":"ISC","_id":"@preply/video@27.20.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e4ca260cb171081f59628444f8505f7d08a6f3cd","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.20.0.tgz","fileCount":1204,"integrity":"sha512-ol93eqwh/bCdApaIg74zhGB25DLQTVT6niAqTbIWEaHmptC5l71YNiI6af8BLtbMYEfvY1MHU4USo9GlCYg0kA==","signatures":[{"sig":"MEQCIHo5+ghPxiaqYT9IV9T3NWXmph8ratGjErZLbGkJcFB7AiAmFoE4mRn1i/AGyIgLgfp+e0sC9JgO4jv1ogLwleO/KA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30898820},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.20.0_1716206804386_0.1528863730238077","host":"s3://npm-registry-packages"}},"0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14":{"name":"@preply/video","version":"0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2ffde430f92b249ae6bc1f44d7838bdf3522947e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14.tgz","fileCount":1204,"integrity":"sha512-kndgDhlX+a7gRSfi7fjD+CGu0eiS0NdrTmWMbvgKZhI5BfmmIJWuUzFwvaUVPmK9NENhyhfs3EAXSCKbrqJTTg==","signatures":[{"sig":"MEYCIQD+JY+/dnCiYkzIvbUlRySWoDqAs+XlFDVr6Yh0kMO4CAIhAMDr2KWX08F+WiLcr9h2Ocfbnt3dj4iSxtE6qejGAN/t","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30913649},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14_1716209510267_0.07342540201386916","host":"s3://npm-registry-packages"}},"0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a":{"name":"@preply/video","version":"0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"11b3ec7a82024cf340b10c97a815b768200472be","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a.tgz","fileCount":1204,"integrity":"sha512-ll4VD7npZzoDRyZEYJNSBZXXPiidVLNeScpeYBy9zkOYcctmSOcy3UFhOOuXSuic0dgD4T/vBF7gMnkQhFZVkA==","signatures":[{"sig":"MEYCIQCZq8A7w99uytxPInbaA2vwGYHovdTtQTxzAO6B0AMTgQIhAKurfDe1XdrSD1d6iFD7o1kn4N9k45E5/bNA6HQoyAIs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30902098},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a_1716210223274_0.05934238394030111","host":"s3://npm-registry-packages"}},"27.20.1":{"name":"@preply/video","version":"27.20.1","author":"","license":"ISC","_id":"@preply/video@27.20.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"18ca8c3144e168ef7b1c545ef26a085f28e18e40","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.20.1.tgz","fileCount":1204,"integrity":"sha512-ONEdbbh7qHGgCCurd+uLiyYCKxfQg9QKC9cWr4EI9NpojVLED5CH/WpUEXxDwUapjJmtSFRuv2aWQFH7u7fQcA==","signatures":[{"sig":"MEUCIBWanzR6Oj6IJryu4lJvnhXfjBc+xxMy9sJeowkFdOB6AiEA59ve+Bt2OPUNVZhAsTV6MB2CKfEVHlh/fjwbvyJVobU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30910877},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.20.1_1716215303117_0.4893155502596045","host":"s3://npm-registry-packages"}},"0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1":{"name":"@preply/video","version":"0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0f6c94eafde4810489ee91f6fc7c4bafeeb0b5f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1.tgz","fileCount":1204,"integrity":"sha512-/3V2bq6qGc5XZuJvzebG5pj5rXyY8bBxsmspRLL01wkDc3R1JcEJegOEuVf+xu7QATe5yYVb2pS2ljWq0umG5w==","signatures":[{"sig":"MEUCIQCPHDvKZV5TFVH+TFu7akww5mzUbtBXgHfDF+XmxOXMIAIgY0Hf3OohbQ0XZItjsRlSoGqg5fBN4p3JVHkuJyE6hts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30902098},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1_1716218392535_0.20114544513894428","host":"s3://npm-registry-packages"}},"27.20.2":{"name":"@preply/video","version":"27.20.2","author":"","license":"ISC","_id":"@preply/video@27.20.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7a52447fe0c6cef6122b01fd64e06b14012624f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.20.2.tgz","fileCount":1204,"integrity":"sha512-UzYWFKhgBbZvTYu4NA9lwtp5DfPQG78NYylhM5FE5gmHORMumVbMuEwqlRQAbxGzl1qQvca8KLuYsMBBYQoP9A==","signatures":[{"sig":"MEYCIQDSdXwskezp7izSYourIZYMd+hOvVRpREoDyMZv/yjaFwIhALrdLh+eC7NvKGTubEBTEpY/w3po0l1HMq59abS/CxXa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30913693},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.20.2_1716264977362_0.8205853921146227","host":"s3://npm-registry-packages"}},"0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778":{"name":"@preply/video","version":"0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cbe7f41053a9abbe87bda45fdf608a5f6d3ae58f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778.tgz","fileCount":1204,"integrity":"sha512-PsUOW68hqXDV32kjoKtzH7B8PTNEp9O1+I9xiH3y3jf5KANllE+zMEqB7WSjMqaMoEWP5Zj0K/BJF0sefzEG6A==","signatures":[{"sig":"MEQCID3Tr9P9Ngr5smtN2egqUI7zJZlpnNZI82yIoojxJ3YTAiB09eVuUhtN1UYqiCYtmGmwkkBd4TsgClTYCuit7cIbRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30900176},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778_1716282216169_0.9682690826166378","host":"s3://npm-registry-packages"}},"27.20.3":{"name":"@preply/video","version":"27.20.3","author":"","license":"ISC","_id":"@preply/video@27.20.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"05a8e05fd78641a1695557454b94ea97f6188216","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.20.3.tgz","fileCount":1204,"integrity":"sha512-4HapdZAdUua61b02sW1Z/6sFvt8YAQ/iESEEe8BoTGQ1ieS33qut+hXe+zYNTaHBMgEeBF5yOTFJMSOhjXwFQA==","signatures":[{"sig":"MEUCIQCPfQn2U4QtZFfnOnCMShEN9L0Yqee0fkZvfAbLxil1wgIgNP6QdhQN9NYd5iAtMVGGQfOk7xaqeQnU7Kpb38Mssvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30913693},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.20.3_1716283271592_0.6118917697040533","host":"s3://npm-registry-packages"}},"0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f":{"name":"@preply/video","version":"0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"99dca508a691fc658b648075f8d1140d5048ab05","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f.tgz","fileCount":1204,"integrity":"sha512-MaUaQI49EFYwj6arNoH0WCDu/M53e6cTGiS9ydYZcGxaZXNV2FuswFYh50iLhDUckmE4aSXHio13w8OljzipKg==","signatures":[{"sig":"MEUCIQCIJlQSAPW1pl/2pZNQpFTdDp58uLzvHDvtaRLwV3dPiAIgWzMNMOEsX3Mqe6NFn8VGUBc1u8oXSa/4nb2fV2nLMQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30900462},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f_1716284576087_0.3074239908762404","host":"s3://npm-registry-packages"}},"0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226":{"name":"@preply/video","version":"0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8772db3a182a12dee5607405305182433ac57650","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226.tgz","fileCount":1204,"integrity":"sha512-lUxGLjZrCkHSPYjLSs8Ss1qItzuH0jroD4vcOkPQHPfXgaC6al7fwYXx1ZwCOaRwRACzhBxLG8YzAWizg1a5ZA==","signatures":[{"sig":"MEUCICECw4CFErf4y3Enm4znS0SYaOyQS7IdqyFaKw1q6BukAiEA59HaqTAPdJ91AM60wRlt3MrAnkE/J2biTP7D1LiyuhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30901790},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226_1716286628029_0.6672409815115865","host":"s3://npm-registry-packages"}},"27.21.0":{"name":"@preply/video","version":"27.21.0","author":"","license":"ISC","_id":"@preply/video@27.21.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4ea0e79a1e4b9d81cbbdffacb824ef1bb2c99528","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.0.tgz","fileCount":1218,"integrity":"sha512-KslqtYTkT2nFrE7rf5luAiqJVXvM8A0RK4OFbUqUM/dGPun70m84flp09KCWrFtxUwqCWciCV6rpffsoxR+RGA==","signatures":[{"sig":"MEUCIQDboz8dogo+Yh+G94lsF4qSOeEudxBKXD22qcbKP40dzgIgRbpftW/B/4/tPewBNhqB9u9U+GWrh7xsJ/JfYQuWHic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31022690},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.0_1716289762791_0.33314319319170327","host":"s3://npm-registry-packages"}},"0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48":{"name":"@preply/video","version":"0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b93ea2fb4f0b973f37741b691db044ea748e2b1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48.tgz","fileCount":1204,"integrity":"sha512-CeNQ0IOITicBXfR0UELsZHbHkBrv9m3ltFqh7OW9SU0+dPamm6cv5EYTOXRDmQZl+fippmdC9lfobMScFc5Jyw==","signatures":[{"sig":"MEUCIFWf+x8fvKgSjXpMI/5cFHOD77S4oThj7QsqtY7gI4IpAiEAoTEjKzlb8va1WzfRN/ebEOQAu2OjvQLyEff/hyRQ8sw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30902318},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48_1716293424125_0.8334964535492773","host":"s3://npm-registry-packages"}},"27.21.1":{"name":"@preply/video","version":"27.21.1","author":"","license":"ISC","_id":"@preply/video@27.21.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f5235771753b02f222dc9f039cdace73fbcec255","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.1.tgz","fileCount":1218,"integrity":"sha512-3UgodJ07LbE3hZTTPSOXmLjhme5koZQcKLsPcCqUGnQSNtDM9uSYgatgRDTjcMz4YKlPgU/MfOrxd/p2zyIi8Q==","signatures":[{"sig":"MEQCIA1HMENbjHz61Re61jbbL7PhVHJ+yJM2jKtrTA2Tm4PvAiAaOyw/mY6WL8kuqBE9DzPFn8qghZOLKNd95+AXaTqGBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31024233},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.1_1716298516465_0.6987629232091987","host":"s3://npm-registry-packages"}},"27.21.2":{"name":"@preply/video","version":"27.21.2","author":"","license":"ISC","_id":"@preply/video@27.21.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70253f72ade676fbc0bea6f9604135eddd7003ae","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.2.tgz","fileCount":1218,"integrity":"sha512-gXNemTD0J/7S0k4OKrQwDLycJtfCT5xgcTZdFq323+5RkLdksK8ViqHG8rZQcDP+nRUSFWsXHPDiD1ALJvQn0w==","signatures":[{"sig":"MEUCIQCGsfM4O6JiJTfEt2bUwlOUgHBtbWfGRmMU6qXKEpXC3wIgKJFOQnKgwmkU1XQjDIowmSolgaj43UEXvQx7cqC59M4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31028526},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.2_1716364730409_0.3938517722382546","host":"s3://npm-registry-packages"}},"27.21.3":{"name":"@preply/video","version":"27.21.3","author":"","license":"ISC","_id":"@preply/video@27.21.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2927643bda79110e81bf64281922f2403008714c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.3.tgz","fileCount":1218,"integrity":"sha512-9g8uBxH8BfQyQ+Nxztu6NyQhnzu22PnRGS7kwEBa4A+UqVuURsy2ISgI0HPNvdlGUtzQ+9EUGjx5KjoIG96Xfw==","signatures":[{"sig":"MEQCIAnvk3vgzj3LpKiUk1EQKKorMK4ellpFjM1JYQDOVnVsAiBDyLWHLjEyFti+JJr2UM2t9MIZNztLEmzL57rsMZYMMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31028894},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.3_1716369070525_0.16604105309890138","host":"s3://npm-registry-packages"}},"0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd":{"name":"@preply/video","version":"0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"410800cf566c7a2c8f6085740d9b44d97d94a5de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd.tgz","fileCount":1222,"integrity":"sha512-RUrr/0hi2zwXdQyVSVRMCL3zCdXYj8+I59cjVd1E+SoBlmvcEY+KCW+DyQJ2+FWBIr5yAePmV3SH3Sy1beo/cw==","signatures":[{"sig":"MEYCIQD1J/pd59MUz4S7zsCTZBLQzhW8BnKfI+kKE4jS644n+gIhAIPZ8QzIG+IxaaAHQiwhcw+XgKycG3IpRM7rrVO9ZAL3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31065152},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd_1716375742429_0.4016031224633003","host":"s3://npm-registry-packages"}},"0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94":{"name":"@preply/video","version":"0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"24fe2b94675ddeb92f2092783fe2ac762a205d26","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94.tgz","fileCount":1222,"integrity":"sha512-gvh20xR+O1huihT8oIN1cVwz/Mg1iYpXI0ng6rCIhvuhyoRhpxigiYudf/uYmCrjEvLBYFAYzDsw2K9+xzjR6A==","signatures":[{"sig":"MEUCIQCbOqqopLxANbu040RRxwqh5AsCWcdsJc14FISNHb/8gQIgdvYmcdoirYOFk4xx1oOU09Xdq0qgDKs3e3P8QwhL5JU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31071375},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94_1716378178637_0.8961271704976062","host":"s3://npm-registry-packages"}},"0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44":{"name":"@preply/video","version":"0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"f5b112929402e08eb06e15bae971ddc56c398f0a","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44.tgz","fileCount":1218,"integrity":"sha512-pL3XoM0rk/zkK0b4qBw+6Pfdg3XI95TjIw7XqgmZlePacSoDdgrIPrENqBBUy2p7fVngJOm6lFH6PYmUcwA0jw==","signatures":[{"sig":"MEQCIDNIXjUOACqREGlq3ySAIgVe5MQjD6gsBPfGkXxRVBrQAiBTv3PjtIFYoSetYmzT6H66ZyuUeeXW6gjklkZO8c0oZw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31031952},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44_1716378918599_0.6497007507119665","host":"s3://npm-registry-packages"}},"27.21.4":{"name":"@preply/video","version":"27.21.4","author":"","license":"ISC","_id":"@preply/video@27.21.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"89153991929c7b4c79a8979a86d0c33336534cfd","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.4.tgz","fileCount":1218,"integrity":"sha512-aGOmbphQDD9grgz2NwGFLSMRRevy5ncYleIUxYWBB7Zfqgk8uecqreL6sEZJ+W2RniPQ+W6E8cWnWZx4e9uqbQ==","signatures":[{"sig":"MEUCID87aNWTyqiSP4mLUYaBwJ/fs0pRQLh5+WiY5rHazzu6AiEAvgfI2Q8eE+DFJkG2YvgDaPHsh9BeRqnJrbrshCiz/Mo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31029495},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.4_1716383269281_0.8104032911357619","host":"s3://npm-registry-packages"}},"0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5":{"name":"@preply/video","version":"0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8118936a063bb7465d27dd4af1c9265aad9efee6","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5.tgz","fileCount":1218,"integrity":"sha512-g+zTS5kM3NSKFiPkloH9UP5oze30SDEw4jMld6cjDwpr/PFrDNwCe1sIsa2vSBRHk3LMLgooVD1wT7+l6D/qWw==","signatures":[{"sig":"MEUCIDHwgoRSK5UHQs+85xmkWtHGncZIYw1C1uJ5RQCLlk5cAiEAxLI/FuY/IaIqUlUTJFPZoLzFIX8liBalX8D/EUrK4Rs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31032333},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5_1716384056237_0.8563241362785201","host":"s3://npm-registry-packages"}},"27.21.5":{"name":"@preply/video","version":"27.21.5","author":"","license":"ISC","_id":"@preply/video@27.21.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"894afc241de1e1714fd21c37f1ea01991aff08f9","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.21.5.tgz","fileCount":1222,"integrity":"sha512-BcRcEv14gjhLlpwlZh8yVXaK+3RsP7fwXi1kuWO2NzxKRb5L95beMQv6SGWWUWZeFWxjkxgtoc7uNHmNF8M7pg==","signatures":[{"sig":"MEQCIFi0n8Y5tdwAbbCfEioPqTuJJ3OqyKhzi+koeUHVNCzqAiA9ywZRQY8OudOQomX9pW8as4bapIrBFekVgSqUISr5zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31069248},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.21.5_1716388148250_0.7019048709895312","host":"s3://npm-registry-packages"}},"27.22.0":{"name":"@preply/video","version":"27.22.0","author":"","license":"ISC","_id":"@preply/video@27.22.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1d4546beb480615e45713404202a6ff7ed67a002","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.22.0.tgz","fileCount":1226,"integrity":"sha512-eTmtUvIG2kGhw9E9xSkKcE7Bx7K/vWEhdJ4HitUsj4U/sCFWQIZ1fhjlLF/NJDlijjBhKgmDZsW92YRmbSKhYw==","signatures":[{"sig":"MEYCIQD6N9wa6s1wMOvG3CmjXlK92wx8k3zFL5lQ+kWIqk8UigIhAPRpfsyD2QVZpwv2kWaRAnJG3w6Cjw/EmuIQofxH37Yb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31085355},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.22.0_1716388925379_0.9762633016091791","host":"s3://npm-registry-packages"}},"27.23.0":{"name":"@preply/video","version":"27.23.0","author":"","license":"ISC","_id":"@preply/video@27.23.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"98334a631f860a63d249671f96ca6186fbb2568b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.23.0.tgz","fileCount":1226,"integrity":"sha512-uU08CuPzz2gDi4/xMvheERhK084WPeNVVXuQ0xyM/8d0RJMP6Lvn0mQnCJiDMlszYL2SPk4CwAP6loduxSGvSg==","signatures":[{"sig":"MEUCIQDPokKtpmIiay00WKQz7VHqjcPlvQ+WlDv0iv43sEEChgIgO2suc3LZE8E+Xr0Se9M4i9e2D9s+ENpFF4xsXSzOPw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31089272},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.23.0_1716389705607_0.25372415159611816","host":"s3://npm-registry-packages"}},"27.23.1":{"name":"@preply/video","version":"27.23.1","author":"","license":"ISC","_id":"@preply/video@27.23.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"309f62bc6dd113672340129b5a8ae28b42c43f19","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.23.1.tgz","fileCount":1226,"integrity":"sha512-Jz73wdyrjFpfo14THGsWdgCYwiTa4q/TqB0XO+p1GXdLd/tIiJoHdnX7xOzuWyJCbHzeA+EZKQi4Taq40sX75g==","signatures":[{"sig":"MEQCIAHB7/uHGGYiziY+SI6kq7U5IaU/5RFqLE0reRuHhsGqAiB+BzbsPlmDUXkF1mPhH+DoNp5sAYBt+kGUOVAuXbWJfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31093650},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.23.1_1716437839783_0.5154025204108037","host":"s3://npm-registry-packages"}},"27.24.0":{"name":"@preply/video","version":"27.24.0","author":"","license":"ISC","_id":"@preply/video@27.24.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4b7301d9302a7a8229b6c97770e7f173ba5f3467","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.0.tgz","fileCount":1228,"integrity":"sha512-a1dTd/Dm6sCHe7Aeb0i4NmZ9292RQ2SZkR+gnUqLx3AMhF3XVmcWWRvsovi3XIs34SauTE3woP0j8cp2w6iEJg==","signatures":[{"sig":"MEYCIQCvbOVq157HFiqA2qpHUbtzggmtNB3CjcRjb5Q5061/+gIhALFZqAiCMrb1Yq08ORPzomgZUEpP8pW3jh6/1XE6SF6s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31115703},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.0_1716451491159_0.37196022355550373","host":"s3://npm-registry-packages"}},"27.24.1":{"name":"@preply/video","version":"27.24.1","author":"","license":"ISC","_id":"@preply/video@27.24.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"adb7fe1ecfaa60cc91e870e91fe892eb3d3e143e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.1.tgz","fileCount":1228,"integrity":"sha512-xAM7vteqZasVzsCo26D0OFm3WeNTvoDG6hXxmtKMANclCLS+vFASU9LT4l6O34I0myexbG24SrnDeHNqwY5uEg==","signatures":[{"sig":"MEQCIAMOAqoRZ1sN53WuCAgJUm5UMruLo8MHDdE1Dh68f9X+AiAFXVEUvtFkyGPMpplUylNRaI2HXPpH12qAxjIGEAdR8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31117678},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.1_1716474942553_0.7549978080451076","host":"s3://npm-registry-packages"}},"0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601":{"name":"@preply/video","version":"0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4d0d03a64a15e5c1c7fb5281cc37274946e240b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601.tgz","fileCount":1234,"integrity":"sha512-4hnLYAMLBf/fh8DjOXlTsMBgp9NBkgwXZa7VCuxSwaKYOtXPqKBrcsL2me6LkJJplK77gDVYGvMI6YxOVwRmgg==","signatures":[{"sig":"MEUCIC20yM7UsMoZQV6apn/5/v0iItohMlhQ4X3TwcjvKoXPAiEAgp1wLK8NC8dHr7Pn3mTs/5OKpguoBLOdpmRBTqOdc6Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31222253},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601_1716481498901_0.6264960705554365","host":"s3://npm-registry-packages"}},"0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77":{"name":"@preply/video","version":"0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8e6a141ad7508c8fe45c25ce141f5081481fa670","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77.tgz","fileCount":1236,"integrity":"sha512-xHkG0xCeKOef6jRv2ITLJKRA1ecfsM0A4aMBkJ4XRA6Wh5P1CoKi9qTr3XDa/n9cpV/ZqyZXFbzevqk3A9x0nA==","signatures":[{"sig":"MEUCIHJloLAyyG83UEPBlmU6TBceeoFEqQjBOGDRNKZpFhpKAiEAhF/v7gRE6kjqRJhLKPecpvf4yXYjH3WuQKPl4Mn5Pbk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31243252},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77_1716489742270_0.014248219138475182","host":"s3://npm-registry-packages"}},"27.24.2":{"name":"@preply/video","version":"27.24.2","author":"","license":"ISC","_id":"@preply/video@27.24.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b91b7780f831083fc7d02c897411814c56a87bc","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.2.tgz","fileCount":1228,"integrity":"sha512-3kcQrTMjHQWxRt5WUytC4rzleBjDa0uHhPOcYc6EaCJzpMEvzxvj1iTx9Vjtu28bh+q7XvM6+RK6nMPu8SUikA==","signatures":[{"sig":"MEUCIQD0Era8ctPNcDpNfmBCPxV0ylfOd9Nd07q9dKzRv2+NTgIgYbcILsVYMxHelapLVaLk5QBVoJ6Mt6nV2jeHIPfAA2E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31058978},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.2_1716524142353_0.9905776743073011","host":"s3://npm-registry-packages"}},"27.24.3":{"name":"@preply/video","version":"27.24.3","author":"","license":"ISC","_id":"@preply/video@27.24.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c93fbf58266a2d357bc128e00f0d301de3bfd053","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.3.tgz","fileCount":1236,"integrity":"sha512-OkdzCIqPlSerE6nyyXSIeR54F8WoH0AUP36zmqqo5X63uh6pI5UPZl+efttPHMoADbT6gwppyKfpFNDZV2HRiQ==","signatures":[{"sig":"MEUCIQCXxKjgJcatMKexJNskfc2Pi/JqWlOnvwJ03KcosfA4LgIgTLqwJ4mgD+JhggclVdxp+p61tG3ctJj2GaA5ML4+Ihk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31238868},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.3_1716547297235_0.8073629154500992","host":"s3://npm-registry-packages"}},"0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22":{"name":"@preply/video","version":"0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"98dc00779ef8d9a13756fb75ffd4d18827fc0e31","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22.tgz","fileCount":1236,"integrity":"sha512-NDV76B0czRR7ldnMaKMn2kBR8jxuRNluTnYIXS1Uh8jMMaHaDYPXWDcaKZZc65VgF932C1/UvMyk78hbuSY3Jg==","signatures":[{"sig":"MEQCIB1dv0Lv7eoiWuQ91re8/S/RcQlVWh1LHYzB7t+AL2CtAiAUnNfewe/FN0VrKCdXXmrMI7wg8F4f8JPHsjY91cfUUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31244940},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22_1716554707064_0.9505599076668974","host":"s3://npm-registry-packages"}},"0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9":{"name":"@preply/video","version":"0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"449d78cec4b427888c27ce8db2a04762f5b2b7a9","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9.tgz","fileCount":1236,"integrity":"sha512-svIMPHj7x+ppaa2xOpdfpW6xd+WeX+5wkuhzeSUWIBZWsi53Yt5jecuHi+f4MHJTKR5D8k5VAefBKWCEefyGxQ==","signatures":[{"sig":"MEYCIQCkOGjVQvd1pZgxrtaJFPVVPSrREld3qgzG8qUhi+EtSwIhAJcm3zuFkUZCHG6mYXillvrMKfpyZu3AyI6iPAAJyGfZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31259438},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9_1716559821185_0.6581581909240348","host":"s3://npm-registry-packages"}},"27.24.4":{"name":"@preply/video","version":"27.24.4","author":"","license":"ISC","_id":"@preply/video@27.24.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"92fb7b390cf1625e70455ba7866a69814e6e003f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.4.tgz","fileCount":1236,"integrity":"sha512-gcRl7bYe0nuIpLtsv7O2nivk6f/Egw//BLmxqyxkN+cq+SLrr06AMVnH887Ms6mcRLNYqZ1jqYUap6c7jvZYYw==","signatures":[{"sig":"MEQCIDKkZ9WNg38z7ZDRJKlowcfTdnZJSxJwW38x5TWmUi4hAiA8p0gWP+eI5pwGpSy+6AYNbtnmbw01ijT196kCDQDy9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31257499},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.4_1716783253912_0.5052524507259528","host":"s3://npm-registry-packages"}},"0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54":{"name":"@preply/video","version":"0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a7bbbddf2a20eb4e5a38eff0603d02df36732d37","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54.tgz","fileCount":1236,"integrity":"sha512-SQYPoh97/2FGSDgCRMI9JFccK6R/HhLkF41aQbjh9/UF4mg5ACPWsdh2y27fxc18NE54737Mf72R/tv6U1/EGw==","signatures":[{"sig":"MEQCIC05mPgiMA10oyMYOVkDKvJPaPycsDdHmQhgQBYwCdfmAiA5L2HVTghlXy7eRA/EuB3FB3c6c6W41FXIT3ZXB5cyrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31304458},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54_1716800495680_0.8592622382152737","host":"s3://npm-registry-packages"}},"0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a":{"name":"@preply/video","version":"0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7d602b3b90ce80758faface6582905caee086261","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a.tgz","fileCount":1236,"integrity":"sha512-5WAiEGNDN8zM7ws84meWAq98lDL6CaJ6Hlb6G2Df1VBlUQoqAMOn1ELYHO85C88KYnvTaQ/Wnc/mmbW/2uUMmw==","signatures":[{"sig":"MEUCIELUD74C7C6yTdFXxDHSDh+cCbtCqLPboptHfBANO3AtAiEApfDmQmgxS3L5u8SlbQ/iHMT6G7cOIWGhjgHyPzNhQd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31304458},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a_1716807273584_0.5887558800319115","host":"s3://npm-registry-packages"}},"0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c":{"name":"@preply/video","version":"0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e4be54fee3681739ccdb449884a54a3f2c4f2ff5","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c.tgz","fileCount":1236,"integrity":"sha512-i4Qg28Xs6BtYmZ55mWxXfhnUe2CRnoYP/RLeU7ZK8PcLxOYY/EcVgwZ5gAdqWnwjKnreUW6yme45ChI0kVmisQ==","signatures":[{"sig":"MEUCIFoYiJipF70GkXsEE5PkzUYsk2ygaQhp7c5tWhMnbdaFAiEAgR7LlPfEas1ZKTtZ4BrOcCP4YERPaS+QrgDMF5F/+n8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31278399},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c_1716817457616_0.24122632699612478","host":"s3://npm-registry-packages"}},"0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720":{"name":"@preply/video","version":"0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"134c1db275e291122a3178dc312c9b2e922d3ec8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720.tgz","fileCount":1236,"integrity":"sha512-ZyI4qMg06H68UPsm0YQbVuuRKl1LmA9gr7T4stxfF0nzUn2efn/coR0VtrWEGY+2Drs0ExE0+nNjt8exGsvjAQ==","signatures":[{"sig":"MEUCIE/qcjuheB7gCOZDfkqlgCnIgafuv0538i5DyHxO4YcUAiEAhcDc8syaCckW47z3mPd1gALbOwM4JQFl4fYeTrhTroY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31260802},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720_1716821473729_0.6725325117902754","host":"s3://npm-registry-packages"}},"0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256":{"name":"@preply/video","version":"0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ea5870ddc701814f2067069ee202d48412506b95","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256.tgz","fileCount":1236,"integrity":"sha512-KD8FyzJ9+M+WvvW/p8rusgKjEpdRoRmGU56h7x2HRbhudJ4qNKRTsWj9e0VRrXBJHDmgRkL988t/XlRDaBB0tQ==","signatures":[{"sig":"MEQCIE8vhWnAyeqLbPQ6QQxRVVvvNSGA81lvpGoB++Z++oVBAiA0O0wRz08tEq43Edi0aE+jcUHclbApkbM47E0H2lnt5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31327559},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256_1716824321915_0.4131212312467698","host":"s3://npm-registry-packages"}},"0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6":{"name":"@preply/video","version":"0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b707196a580bc5875a518fa6930d1d0b35dde09e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6.tgz","fileCount":1236,"integrity":"sha512-ItLBnvv3VFUpYrCtwQj5AWapezNx2RQfokKBTmC0h1tzHmMU8z/aRx4edFi2qXIRhTRl0yW2kdO6tcDCXEGYow==","signatures":[{"sig":"MEUCIQDEqVFyNy8n3o/rogWYg5P2ouap2m6pF89xyPm6Yegv+wIgMNelMC3FnhGBkkZeciq9mtcg6nFZ4wWJI1QoW3JTkYM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31282158},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6_1716825151623_0.010532442747172466","host":"s3://npm-registry-packages"}},"27.24.5":{"name":"@preply/video","version":"27.24.5","author":"","license":"ISC","_id":"@preply/video@27.24.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"30ce776c46aa07daece8c6e5ef08a2f7a41aa394","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.24.5.tgz","fileCount":1236,"integrity":"sha512-9vt6sAgzvKtmxrYTHdGAeYn5LYRgUUM6IxXoRdFoeNxyAvVX8UUf/jPGRuWz7IxM3VI+D0TXSlTiRPETr+UGVw==","signatures":[{"sig":"MEUCIHgcQGU+MjioiqcWCjH0hDGeV2fA49A1eqh4qitqnYd8AiEAy1WaL9gN8g9A41oEPB/Ou6PMTiX2sNudCIKFc+ZZzNA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31258222},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.24.5_1716869910251_0.1970198376646588","host":"s3://npm-registry-packages"}},"0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36":{"name":"@preply/video","version":"0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"183479169e27103129a255c731aafaa7fa3a5100","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36.tgz","fileCount":1236,"integrity":"sha512-OSKGJDYF8zgM1FLXt6h8IYXCZ2QaUbaC6qN5syDzxsTfeX+/g9fIGV0JXpdw4zphI5LUDYMjSLw3OHYAdBG+Ew==","signatures":[{"sig":"MEQCID8dl8fZ0yFBduPfj92EaDsKDHEMI+uscS9GDmUPCyj5AiBKSAuWvfIYE0Kb9g2fflVO7iC111NIaNM+YVX0YaVyKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31260994},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36_1716882329343_0.799254777656021","host":"s3://npm-registry-packages"}},"0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589":{"name":"@preply/video","version":"0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cb6e112aa29f71a86d4245da3e0ed71f25aecd6c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589.tgz","fileCount":1236,"integrity":"sha512-Lj23c3ddhPfEj6ExLozrHCGjScv9BgK38KprEPELkjf0p1YAz2yPy794nVPvGDVJiN3jFCs/ppbh0XGl+EbVkg==","signatures":[{"sig":"MEYCIQDtsPfg2E3qOetEBaQb4TiHPvN2xXnIVMB1HVQsIzIrOAIhAP+G50I6CUYCzrwMD6ZjPjfpQhl6Zcut56SIKMuY9QWm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31299112},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589_1716884322863_0.8851523809289965","host":"s3://npm-registry-packages"}},"0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae":{"name":"@preply/video","version":"0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cd4339afbb2966e9e72215a48fa16a0bb0fe27de","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae.tgz","fileCount":1236,"integrity":"sha512-bJmdu3HSc49uxYU+qInSppruyc1HzoNg0tChQkupwjS0jM3NEUlH/N1XCttZr5FSRUHCnsQNC9O8KDyfQ8QVMw==","signatures":[{"sig":"MEYCIQCow40FcHArPkAt53NYmfiVilNQg8N+tjlGHb2tPT5cBQIhAI9XrlbdGTR1wILFfDrqgcdP5kRdk7Ri3kHLS5e7VGOO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31259438},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae_1716885065334_0.8610911083777757","host":"s3://npm-registry-packages"}},"0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4":{"name":"@preply/video","version":"0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"12bd17079371c4f8ceea11f6a1771f3825851178","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4.tgz","fileCount":1236,"integrity":"sha512-X/p2LsqSFFTQ7dVh+iOSucLP+f+XSOPqFfPkKbEiIdtj3KrCodWGuqondS4gDVJDYgpZqo4VI3caQsb7di45Cg==","signatures":[{"sig":"MEQCIAyzVxbZc/dE3J9W8A8lM0GlIn8GIa5J/71oumCgFZA2AiAG1gMmOtv/FkWOESvXhlw5CH6vrEBUN2xNazfp42WMKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31336780},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4_1716886369908_0.7088341371940927","host":"s3://npm-registry-packages"}},"27.25.0":{"name":"@preply/video","version":"27.25.0","author":"","license":"ISC","_id":"@preply/video@27.25.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c1a8b424ecd8d79b9247c3fb49d5b27dad4f8d3c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.25.0.tgz","fileCount":1236,"integrity":"sha512-FGaGGKsI811bw+Ocsfdxm67Y5etds1k3HAm3Mc/XKrDGStT4j0gsq0FEnTTi2ViMe+z/Wwhil1VWXj9RSZkNcQ==","signatures":[{"sig":"MEQCIDkyyNtJ7suCJAEcDjB7CCmteKoORzrcgCaXqQx5WIfOAiBTj0PV8ZxLJjW2Y8h7CQV+Nx1gBhOO3pierF8kVmMoGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31297924},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.25.0_1716889624470_0.3632529273802132","host":"s3://npm-registry-packages"}},"0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e":{"name":"@preply/video","version":"0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"70fabde999ac93723c199db919fc37177b32592f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e.tgz","fileCount":1236,"integrity":"sha512-d+Nb8aBn/ji38VeEwFq7KhtgkkbHdK6vcDAxqPdf9If3JT95/vL34zwDQ8R/rXfHCCm4l7vWc1GbRVtapujzmA==","signatures":[{"sig":"MEUCIAYAm475Ek4pNzYCerAZsHErtaOya6qfPi0L7VWdmo1hAiEAoTpLkxUIU/DN+q+wv3akgIwC1U6pZwQ0tJxVcZRmQZU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31317992},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e_1716891726167_0.33116512142588905","host":"s3://npm-registry-packages"}},"0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac":{"name":"@preply/video","version":"0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a9024b9c7d449471642e6584c37c2ae0306cc58c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac.tgz","fileCount":1236,"integrity":"sha512-trNwUj7bX6O7mEB8Sjlrp5NvdFKQv50W8DMf0ObRkP5pyWPuGLnFHZDDeaUdZNtQUJ1m2muzNPGGHNNRpkUraQ==","signatures":[{"sig":"MEUCIAZyg7wGKNks6JqfB+HP5affyTjiZyW6nsp5ufaCDryoAiEAgm7BU4NCLkkMtacF2KZx3wzHZIFeIRNMlFRsQ/wSJn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31339006},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.86.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.86.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.86.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.86.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.86.0","@preply/ds-web-core":"0.86.0","@preply/ds-web-root":"0.86.0","@preply/ds-core-types":"0.86.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac_1716893869051_0.6105565327471831","host":"s3://npm-registry-packages"}},"27.26.0":{"name":"@preply/video","version":"27.26.0","author":"","license":"ISC","_id":"@preply/video@27.26.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"81ffe3a0983303f3b698e0e4f91b0a0cb0f9c63d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.0.tgz","fileCount":1236,"integrity":"sha512-t+lr+nSA+665366b3j8st3/fuitx62XJbX88Zx0vGHEamy4gDmbmh4o8H4zmffWa61I3NR/fMnNedRCXvWnavA==","signatures":[{"sig":"MEUCIA647jFplQYu6EpH41DTzYdEWtEK1H1qCAu32knYWVvjAiEA9P2dwKbv/Uw9WVeWSYAclAR62UI95FVM+xZGCDM7YE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31336234},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.0_1716901911071_0.8316906986049748","host":"s3://npm-registry-packages"}},"27.26.1":{"name":"@preply/video","version":"27.26.1","author":"","license":"ISC","_id":"@preply/video@27.26.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d456a9994b14c23ffcbe2b637fb5a62cb761e6ad","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.1.tgz","fileCount":1236,"integrity":"sha512-0inBIQalIamf8k18N3Uhjo8P5LKFWW8AByJRTYgYtshUZ2xtCRfb8TTzTdaH+F7xOyuch/+lzwvB9MZQNKR70w==","signatures":[{"sig":"MEQCIHhdsZIePvFwQEKHspewofRrGe6JivG3aMSOUJeGPJRcAiAnyVox9dWIKQH2vja8OpxnxaWUxvfSAL/Lh/X6q/Gykw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31355257},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.1_1716906567740_0.7000303047802523","host":"s3://npm-registry-packages"}},"0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b":{"name":"@preply/video","version":"0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"582e86a88901774fefeb4d69cae99618caa5fe0f","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b.tgz","fileCount":1236,"integrity":"sha512-nnEJYBNmx06I2GItxR7UR6rs0cxr2mq5NKbkA+sscDun/gaZ0OAlwVThIhw3O/a3+PG3gC8n6S036ZnangJJGw==","signatures":[{"sig":"MEUCIQC8rzgD9ZYKA55Pc6lsjAvtO1b5QyFVTfS15HuNQ/tDpgIgdc2dYvIxFfE3lc4zPT/p3GYE5Xc2+cla4i6gp5F1eO0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31338742},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b_1716911388234_0.44529414304911086","host":"s3://npm-registry-packages"}},"27.26.2":{"name":"@preply/video","version":"27.26.2","author":"","license":"ISC","_id":"@preply/video@27.26.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"675f193d722188d9a20c7a8557f61c1b07c8f31b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.2.tgz","fileCount":1236,"integrity":"sha512-hpNfbxTM+GAjKtbzILF3pHlXgb2TmElqmsXATmCT1aZ7dMK0gvbTLAtY8ggZJOnptpoIUb9HtwAAm/V9fueLFQ==","signatures":[{"sig":"MEUCIQClukDp2ZoMqmH2ZBqDA5y3VyjgyV8anEKMF1I+ETNV7wIgYdcQ+d2uveEt7H6SO3JzNPpReSAs8qblHlWM9m7ahAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31359410},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.2_1716977874157_0.49997735408360433","host":"s3://npm-registry-packages"}},"0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577":{"name":"@preply/video","version":"0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c0877cef64ae32ebf6849a71f8caa2ea236cbae0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577.tgz","fileCount":1238,"integrity":"sha512-EP1xbuo8trGQHVYv5ZgHtZSIGTV8lGqD5HWprinjsB3qquoOyZorTj/F8J/LCGE7TzLEj7ozodiKu93e7W7Rqg==","signatures":[{"sig":"MEUCIQCHkOn8YD6dDokxg9d1prj3W+5sgHvhL65BhwxcrvNSBAIgX3tut9M4gbTSTJZOYtvggy5LWvqFjgfSLqHYrzIw5+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31374221},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577_1716987717298_0.1348405955668852","host":"s3://npm-registry-packages"}},"27.26.3":{"name":"@preply/video","version":"27.26.3","author":"","license":"ISC","_id":"@preply/video@27.26.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"19285bc0330ab0236fb7afa5fdb2faa04e8a5c6d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.3.tgz","fileCount":1238,"integrity":"sha512-f5SIp07gF762ImH5EE0Hr0rl9wcOAYc2CYMx9tkvbPcuhsoN9Mab3+KR8jzRNlid+Uh2HY2Q61evJzcemqpdbA==","signatures":[{"sig":"MEQCIG2jR61I1FUia2T8HfKPayowrFVCQefodj5iS5XGcprOAiBN+btEH6kSMvwj50eOEw1xrHIWb7/yRBXUTcxcTlIeEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31371449},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.3_1716991206562_0.2894233952689298","host":"s3://npm-registry-packages"}},"0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262":{"name":"@preply/video","version":"0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7f32497ff508ddbbdd980e05e53dbd7ae511e87","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262.tgz","fileCount":1236,"integrity":"sha512-OH93pj4AojLqne/oSiZ+sckdT9gyAwKeuuSWaVEBm/psTGC1ciL5sRLN5mVCaqvNVzNdGEEZndus/gsKSkX1HA==","signatures":[{"sig":"MEYCIQDdcfEvzcgaP9XTpOjcEo5cMcH/I8oYkP9ZI2otRDvBMAIhAIAp3CORdWP7g9+DzgEQcd9BNTMXCDsCcktekDakVehB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31362150},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262_1716991986733_0.16342416350937028","host":"s3://npm-registry-packages"}},"0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517":{"name":"@preply/video","version":"0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4f8da0587a594da33c80822bcc60034e10938cdc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517.tgz","fileCount":1242,"integrity":"sha512-I8aRoMYtKrugBNPn9Cpuxp1beB5Nymg7NqO+HxAIUvdK62EOY6UhnppK6g3ePzPq5a3eSDUgYe9p7pUfoMENKg==","signatures":[{"sig":"MEYCIQCjPUZWmn2IqDEaEGhwHn6RlzdfbKyGiPVJ36prZI4FRQIhALfAscsC5LxvE900zwIjjHE2YPQMXIkyeB2Wl5gof2+i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31380257},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517_1716992891529_0.144232748055924","host":"s3://npm-registry-packages"}},"27.26.4":{"name":"@preply/video","version":"27.26.4","author":"","license":"ISC","_id":"@preply/video@27.26.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"700af7aff737b0a4718eb1cbb781fd8423c10b65","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.4.tgz","fileCount":1238,"integrity":"sha512-eRxwPxiUnUEsW9eov4YE21I2idHmWw9877v+TsOE2O9sINdz9hZEPjnJNfXTpgqEQQR1cB0KURaj20gEmvJoxA==","signatures":[{"sig":"MEQCIFb2JlSxvGJ6I14DHV1jjm49zO5mDqbjdwPZAJmAAdGDAiBVfTi7GkaFIlhEMj50jIkJOZ3bSuAAB1GzbWy8g5bDzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31371404},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.4_1716999075951_0.1253764470381986","host":"s3://npm-registry-packages"}},"27.26.5":{"name":"@preply/video","version":"27.26.5","author":"","license":"ISC","_id":"@preply/video@27.26.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee103e0571623c8b99f230ab0d92ddc3e399fc8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.5.tgz","fileCount":1238,"integrity":"sha512-ujv+48z80R6Z3HVYvq/bw15mQvARX4Hc6p8TdN88855dKE7E9RXluv78qeQOUFOBZMpAyyZWdQvjw4UWOjZ4Tg==","signatures":[{"sig":"MEUCIHrCAMECjiI8kTmR9YXXSwvpjgYXzCI7fQlxSBU151lSAiEAw8UmJA8PL/PdseCupP/x7cr/m62D22jh/UvGrqbb13s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31378070},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.5_1717042564848_0.32400812757340947","host":"s3://npm-registry-packages"}},"0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99":{"name":"@preply/video","version":"0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cd11c7c334f2a825992d40d5fbc240c18833330e","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99.tgz","fileCount":1238,"integrity":"sha512-Fv+9vuH67nnpqo4qUJMWjKmnBOaRqaCzWeN5ya63AA8BTV8pS2OEd0+HsSrb0+fAgCM8uGitoPpsTw7STGuV8Q==","signatures":[{"sig":"MEUCIEa7gyW5jCEgcoJCfjwixhFoYVrPAAEQkfMKvq/VXDSWAiEA9+TFolAkqCmZnhLyuWBnx9YTY4AufTh+4z9zv5A1d9o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31380810},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99_1717050750427_0.9354366580002715","host":"s3://npm-registry-packages"}},"27.26.6":{"name":"@preply/video","version":"27.26.6","author":"","license":"ISC","_id":"@preply/video@27.26.6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7fabb221172f84a5d1b4680b6984e6cb3942cc29","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.26.6.tgz","fileCount":1238,"integrity":"sha512-FhJSellus8Sgc4clHJJmyJ8N9UTg7ooT/4mjxPU/CyGOHcA4HjNY8dp5L+qoDbYWlg+n8w8Pn+GN3zcVsY485g==","signatures":[{"sig":"MEQCIE+TGpmTbuGoZsB7lqN1D7cuvxGOYVOzb43r0QOdQgW1AiAMgVBJH8N+4fFcct3nVHkGMQPWzfqgbUuigso6//cQKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31378038},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.26.6_1717054994884_0.8002677622983203","host":"s3://npm-registry-packages"}},"27.27.0":{"name":"@preply/video","version":"27.27.0","author":"","license":"ISC","_id":"@preply/video@27.27.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"dc3c470b35352e3b82a7f8daf75ec035971744bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.27.0.tgz","fileCount":1242,"integrity":"sha512-TjMleOpuT9j+exY1OX5gwwPPUNQew7Fl7dr7fuUew8g4w2yZTJoBH9A1wQiBF2iTu1/0mNirYCcUYSkASgURMg==","signatures":[{"sig":"MEYCIQChPJfREPDRk/3huWk44bLJRwKsgh5Wjgtk6sRXhMId9AIhANO9O7yDrQnUcILx+M8PsNrFNbKY3QO+vtmRGKmkFJ/r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31384146},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.27.0_1717057598416_0.7679775672372535","host":"s3://npm-registry-packages"}},"0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198":{"name":"@preply/video","version":"0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"037752d301adb3a7bf2b010d4888e9e79d5c3e52","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198.tgz","fileCount":1242,"integrity":"sha512-6e2adLMvMmLKVhMthzxjykE+cH/0lESpK6CBH/RVl5SXwN2SHMJnzK1nSZ9gj9tIQv14tzAtN2Hvakytux+3kA==","signatures":[{"sig":"MEYCIQDOc7xllmI6CVIdQEK9V9uQncdJgV4WV25Hl24ldmsN2gIhAMyJfBF5mABsn6K4ezurTtRU4CRSxIRYds5V2dcBS9r3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31625449},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198_1717065792669_0.5848748254420317","host":"s3://npm-registry-packages"}},"0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f":{"name":"@preply/video","version":"0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"57d08cb84542b26c17644ad024af768ef65dbcd1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f.tgz","fileCount":1236,"integrity":"sha512-5dwQFVSWb4Phk8xwbqJfUrw2IC45FDDjK7tLSrfXNRNDYXCLX+y+bf8Z6v/qzw9ER7Ey1L2ns/2GKuw8/Y/v2g==","signatures":[{"sig":"MEQCIF5K2X/IiNDMpHVmMP+UAdSoB7aUesc/Lk3UeQoUl+rIAiAjuoEwquQY7j5YHTOdJ379qLDKTb9Y6w3CDNfua74mwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31362089},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.3.5","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f_1717068675664_0.08112219034656931","host":"s3://npm-registry-packages"}},"0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d":{"name":"@preply/video","version":"0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e27b62db1f525d15869b20b49a8c40e278faff24","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d.tgz","fileCount":1242,"integrity":"sha512-zS1MEEUNPaPII2oJELZwMdeXkht7xNPxmlCpCrxF3U2gxH+AD/lQxBoCuQ0JIUY3by4ki7Yhsc6iz7SaOx2KCA==","signatures":[{"sig":"MEQCIBmMNLapVd4EVEP5tIxgnJB7Hxn7D/eHoiH2+rh6l4hZAiA1GvB6R07s94AZ4cziL9a5I/GnM2CR8BjilEZ1JIbVuQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31389333},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d_1717071180787_0.3631656537992505","host":"s3://npm-registry-packages"}},"0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378":{"name":"@preply/video","version":"0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1831dd553b6c5c8448550137d67f197723278014","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378.tgz","fileCount":1242,"integrity":"sha512-lXnABVgj89baAF5oxWcv5oN4UrSFLRsoPNO/a5oIthCpb9fHX06B7J5Agyuktt0L3Sxz6uOzbt7KtCxsZBJkUQ==","signatures":[{"sig":"MEUCIDKlPrWT2WT7CK7DUsCGmb94rhsY96AuDAKUv1U4u6D5AiEA4XvKEBODCXjtGtwT3n4A5AkX0rdIhXHzfG6C1HNs6ZM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31390675},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378_1717073039820_0.3253892674572012","host":"s3://npm-registry-packages"}},"0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab":{"name":"@preply/video","version":"0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"395a2ea0edefba192e57ad458de3196d4473f4e4","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab.tgz","fileCount":1244,"integrity":"sha512-6qRNC3jhuFoj6G9lnFnA/YLtRvgoPoiErcBQloqf3UDtQK9Uzexav8Qu1rezQSkuPwJ8x2m53VcVaynhdL7zsA==","signatures":[{"sig":"MEYCIQCZdYX8fsY15kIwmNbrd55A+NG7oJFvbI1DEWNObIH3qgIhAM+h/P3DOnmCv81hGtY1P8zt1LEaiEugd/oCdaVAzkY2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31633405},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab_1717075982627_0.30234501652506474","host":"s3://npm-registry-packages"}},"0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a":{"name":"@preply/video","version":"0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d258d5dd55d872d47c89636e030dd95687b6336d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a.tgz","fileCount":1242,"integrity":"sha512-xOIuXS4N8YKZVzWEpr6AYmp518NOXjsKAF8MRkXv+bAHGpEzLM0oV+wIYF/kxQOT+s/tPEBafLUPkTytd8K4oQ==","signatures":[{"sig":"MEUCIQDrTFhS5veDoyRwwqKy0BEZ5mmOwKk3TkFrO/oQ/okf5wIgHFhycGe8MrpxkVYgEYbtaVN2YHBCWwBa9PUM4iB4Qqo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31393128},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a_1717076769315_0.14294470804218595","host":"s3://npm-registry-packages"}},"0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73":{"name":"@preply/video","version":"0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a5dd29f61cf64dfdc6f11eed22a623a7136f2c75","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73.tgz","fileCount":1242,"integrity":"sha512-pAXWIip0RQw0olZj8CLdOl0fBc/pqtAptTB5pUV9ryPYLSWs2SWCA+zhxfuCOOm5jQhSgt4XBk43un+EhScruQ==","signatures":[{"sig":"MEQCIB62/GFj3A1fO7njitV10kzf7WNYVzWjD5mFCEtoM+LuAiBL1P98pjKPngxpCrzxEQVj03IrS0PFOBJ9ZVuwHwDIAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31390415},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73_1717082349935_0.9953540292387806","host":"s3://npm-registry-packages"}},"0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db":{"name":"@preply/video","version":"0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"5030e422b80bce66aa3533708bd196b5fe13cc15","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db.tgz","fileCount":1242,"integrity":"sha512-4YeLXZ5lJPnowgYNEKGylKdUr6PUV4V0ayJsjs4IWraNyFMXrnyi7YkJQYWOWmvR0y3mEPgvVffRdQ9p8z8DeA==","signatures":[{"sig":"MEQCIAwcFTt7C/Yjb4RBw1VShlw2mEUnkgDgdVOXyjvRW+YBAiAEbg6RKSwDZqwyPiQllPip+iUg5wzF2U/GMZES0F4JmQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31394138},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db_1717142068337_0.2851737979934146","host":"s3://npm-registry-packages"}},"0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6":{"name":"@preply/video","version":"0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"db7315a40b55f9578b989e2f547b7884b8229980","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6.tgz","fileCount":1244,"integrity":"sha512-B+vXZ24rTUD8AZBD21zeKs73KXA+IiwP3ZhKzurZylxGeUa6ZL1DwgZBBxr5jWSnNySFb3InPwJvZA/HKVojmg==","signatures":[{"sig":"MEUCIQDo+9MxrlOQxQpZrJAk40BfaanF1LNRHMLX7xqoXXR4kAIgHOPsz5MUHKiw6Sh3ghxW/cKF22HShMCxwNoqWMDVDIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31636226},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6_1717145234617_0.24275247215556983","host":"s3://npm-registry-packages"}},"27.28.0":{"name":"@preply/video","version":"27.28.0","author":"","license":"ISC","_id":"@preply/video@27.28.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bcbb485e7fc717d6fd0acd8959ae2ebd03bedd75","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.28.0.tgz","fileCount":1242,"integrity":"sha512-MS2/Wa/ExCqjmu2hiNFWIPiYMYofWRylb+onvEuV5colmfxDL/2Ue/Lw/JSjUxudcG64NBNYKCL8zJ+NKqBkfw==","signatures":[{"sig":"MEQCICTzL2CvacqRMGhpECZtI9UdXB/unwPUR7rk562c0jieAiB6nWh6K26gYOWOEAIyo6BWk3s433UUT2UCqgaeMKEigg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31387850},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.28.0_1717146344223_0.11742714205707494","host":"s3://npm-registry-packages"}},"27.29.0":{"name":"@preply/video","version":"27.29.0","author":"","license":"ISC","_id":"@preply/video@27.29.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7a7d590adf169a8678a896275271a3d6ad9b68da","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.29.0.tgz","fileCount":1244,"integrity":"sha512-P2mQh8sM9aadTmc+9/lrD/HNGeN3s+vnL3xvuJLdyaN5RlSNON/77HQeYUF4Li1++1tqaZF3Br1s/57nCKW0vg==","signatures":[{"sig":"MEQCIDyoQIyZF2Hp8PLvHMIgCLqZfDY6znXhP8/P+lbxNLpsAiB2CAe5Jwkgw/CQHTCQB7C8/vVkhLrSm2p3QahPg9dcJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31633454},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.29.0_1717148813416_0.49731480051770705","host":"s3://npm-registry-packages"}},"0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3":{"name":"@preply/video","version":"0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c479ef74b80aa6d5aeca77ffa65d6773da583587","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3.tgz","fileCount":1244,"integrity":"sha512-iVz2Z33fuEIhtU753ZjpKFmF8qsZPeq+rYEd3rjA1I2g9eQJYfNKo+p2hZ1G3vmGfxt8nThelLwqRAmI+LgyBA==","signatures":[{"sig":"MEUCIGUkw7Za54I8im2VgVjQeOWWtm8F3rdmrsM0DdySDbh+AiEAiJpoepogF3u8ua7cHsNnaZZqWATN+tQ2AWou8xB2CxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31636468},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3_1717150051268_0.8665878628834711","host":"s3://npm-registry-packages"}},"27.29.1":{"name":"@preply/video","version":"27.29.1","author":"","license":"ISC","_id":"@preply/video@27.29.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"7b9675d8d935409df44f761f2e5caac9f070805d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.29.1.tgz","fileCount":1244,"integrity":"sha512-+N+/61RSDwpXp9U7W5JLMNZ9mHWjFZkd68MTbsa0aIx3Z0h7O/iAm9fu9sv/mZP9bKhNjc8qKeKwZYueyQ32Yw==","signatures":[{"sig":"MEUCIF1mFcG1ZJUz6IXWACH2A1BhGy8ubzgwF+QbA9e+lLeQAiEAqefc9Go3Z2tpGSpaorMhPzZLFFLJjiowMO5w8rGx5Sc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31633696},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.29.1_1717152781927_0.8515307469168589","host":"s3://npm-registry-packages"}},"27.30.0":{"name":"@preply/video","version":"27.30.0","author":"","license":"ISC","_id":"@preply/video@27.30.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8e596ad8f1b6b18ef6a84e9fec95e2e06daad1a4","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.30.0.tgz","fileCount":1244,"integrity":"sha512-Pjynzn9kYodA9MgFffesxKNuRL/I+Qc+UuGS+ID0cA3zM8aNVhnP/yGePF3ChYAnawGa+yoFtnafpfhRvadCzQ==","signatures":[{"sig":"MEYCIQCVs24tApXvjNBMQE8RgQNkKvMwk6bAD13kDqNj/2/PIwIhAL3YChon8VorkQ4/Bx63iBa7zE9RyyYVKXloCndlCV14","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31703637},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.30.0_1717154305924_0.10850825388775842","host":"s3://npm-registry-packages"}},"27.31.0":{"name":"@preply/video","version":"27.31.0","author":"","license":"ISC","_id":"@preply/video@27.31.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6d5da5f2f6ab451622cfa099bccc7c1ab97fb8ed","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.0.tgz","fileCount":1246,"integrity":"sha512-dDXo5F1PTvUPrq/vZAhOITbuU7+F1m27NYFK8Kl4KTsuEppVdmZrey48NKsDLyhRtx5uoBIUzBl0pFB4GCBORA==","signatures":[{"sig":"MEUCICTdGq//PKzTXzWJIKnpm7j5UWiY33fLoQspEF/lkiTuAiEAsIyBWVDvA0qc1TVAUWU3ZPraIUSWdjs+uUMGGKm8kog=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31739298},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.0_1717160887571_0.3331607718142866","host":"s3://npm-registry-packages"}},"0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2":{"name":"@preply/video","version":"0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"56061f3e0cf7e1a47ea305a62f6484f0d1688c0c","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2.tgz","fileCount":1246,"integrity":"sha512-NeFHX9/GRWkBvbm0kMxKEn8Caf2S3XegIOYGe/t5P2XbNZ/TTEyzeL2pz0KuHcZ9xyfCSxMvIbivVhFDkG5hcg==","signatures":[{"sig":"MEQCICvjTm1mQdlLE+qH9WgJEj1ZiUbvP4Br/EOPtQFvYL13AiBFYojbMT2P6Nes/GDbiuGvMwjwVG+IRsfoOmav59YqNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31757115},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2_1717164482080_0.9598066473241458","host":"s3://npm-registry-packages"}},"27.31.1":{"name":"@preply/video","version":"27.31.1","author":"","license":"ISC","_id":"@preply/video@27.31.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"71f96d1706fce1b7f5d095526ed8aa3e4c97ef6b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.1.tgz","fileCount":1246,"integrity":"sha512-yeXWx+/PjCzolRGAdsFif+4+3ar/uQDrTL1UrRSWl6Vv1y7yUrRBpjQLFMnjofxu1lLKTWg4Up1ycUFyDZGQqA==","signatures":[{"sig":"MEQCIBRa110sNOkSxpJS7jcL2o/EOcY+yUAV79fXelTyVWQoAiBQIKjIR2l8kzQlfjAhzMHHMNJjtv9lcjP3gQFUsjBUlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31754343},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.1_1717168700376_0.24470239249083092","host":"s3://npm-registry-packages"}},"27.31.2":{"name":"@preply/video","version":"27.31.2","author":"","license":"ISC","_id":"@preply/video@27.31.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c70d33d660521bad34d17b44e830a062583108bb","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.2.tgz","fileCount":1246,"integrity":"sha512-1WMWGR5rPnECg/3tQy+hFMUXv8I5RmO7Nyfa4pkyob3uP7vU+ASzwf3BRQDlLsigiUg9agK+cStvXU1KWm5xyA==","signatures":[{"sig":"MEQCIAYBfl3E3gUyGsV+vZEDHnfjX0vVCXy+eIW+GcT7Q5EWAiARJp58veOCnQxuSItjsdjJynOAntAzQFJ2YNFmeOmCHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31754519},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.2_1717170389467_0.464330798886222","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe":{"name":"@preply/video","version":"0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ee1fc30d07b72e008f9ff60d6a091ce3b3431c87","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe.tgz","fileCount":1246,"integrity":"sha512-nEu8aU6H18NhTL1Z0za3WaRKQiWy8rsiO19C40E6Ur3R5vp0t5wDZJ5PddKIx/a9Ik2PPdIeSgBuXbag2H7ihw==","signatures":[{"sig":"MEUCIF2Fn6MJgy4qKC5LLxxQFfW5zxEcrwr3WDxMdd17HQxeAiEAxl2mWm1Ga/+qNKySfdUxw0n0+4I8XdRH3xCalXzRVmY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31757659},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe_1717404699263_0.7951480890996558","host":"s3://npm-registry-packages"}},"0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5":{"name":"@preply/video","version":"0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ff951de56ca1b5249a558928254d4a36b06a8e8b","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5.tgz","fileCount":1248,"integrity":"sha512-bwxKwedRDcdUb6LZrF3wytVL3pj7PnQNozRYYEdKjR98nprRk7tF2+2VR7OPKGNTRX4EnX1t7QpkfTaD8123vQ==","signatures":[{"sig":"MEQCIHvvg133usETaIuyjzhBT/enEigwcPCE8zfozQ4qEegpAiBJE8CmTPTy6hlEA3E7yI6PmFWIqjxGBFiOhfV1KRWRcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31770648},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5_1717405465174_0.9442275328789909","host":"s3://npm-registry-packages"}},"27.31.3":{"name":"@preply/video","version":"27.31.3","author":"","license":"ISC","_id":"@preply/video@27.31.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"1870f87af89b55c96cb2364ec8a2e65e3964302b","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.3.tgz","fileCount":1246,"integrity":"sha512-rhDGLjLacXrn30cbUvjNqjeeVVx+JX3lZxc0tuz/vE/kIofRyFqhl0kyWND+NikHvxwjTQmeYPjQb6MFMAhwCQ==","signatures":[{"sig":"MEYCIQDmpC907JVMtwJgYvMegPKuWBK5+Pc9o50UCkkz262oUgIhAKpLBgOz6nz+Sjuar0Kyr1hguafB8uKeV77gMNrTItji","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31756664},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.3_1717406225109_0.8285725743450167","host":"s3://npm-registry-packages"}},"0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e":{"name":"@preply/video","version":"0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b7d097c686694d5e61f0f6a5c15f38787d8423f1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e.tgz","fileCount":1246,"integrity":"sha512-lVtopsMsbetM2Szreg2SeI1dQcf5ij5XsiZCT9Cq77iK3d6LBppeLMW3T1jmqhnkpScnJnP0Odz86T3WlFBC5g==","signatures":[{"sig":"MEUCIHKIOzkYcypE6eMmptv6mGZXF2sCCYOgoWfqqbYoTFrgAiEAiGNmBV2Pb7UIfS5dacuEeZFBuiQ8nsrdSk99+9yGRHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31760029},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e_1717407567891_0.4590360657157817","host":"s3://npm-registry-packages"}},"27.31.4":{"name":"@preply/video","version":"27.31.4","author":"","license":"ISC","_id":"@preply/video@27.31.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"398d00506ef3720d5c19962524c6023f2017cffe","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.4.tgz","fileCount":1248,"integrity":"sha512-6PWVwbz21MI7OZAmN/xXE9ElF8LU05gNHkrAjthSzBv8UiAoVJtOYlJiZPsFigouKRuX8JnEr81g+k3cepoSEQ==","signatures":[{"sig":"MEUCIQD1xUv4miSxw24Fk126Eq3VHb0bgLC+4FHQ5oUeFqywAAIgCWtbBIuWGOu0kf2VVyuBQY38e/fhmx+kUP4oWonUW8E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31773381},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.4_1717415485023_0.7340602338429894","host":"s3://npm-registry-packages"}},"27.31.5":{"name":"@preply/video","version":"27.31.5","author":"","license":"ISC","_id":"@preply/video@27.31.5","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"ad9de0e54add1cc5e17e554b251445d767a6d68c","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.31.5.tgz","fileCount":1248,"integrity":"sha512-eaNS/ODoRd5s/mRmanvjPG/jsuxdQbhCCQic0/gb7y4S8nBDz1yUwLeWJ449kMEo+f34Hoq1+uzZZPZKdvwlSw==","signatures":[{"sig":"MEUCIHHXve4MoidQio/hZfRq6uRfj5VMiU77qz46xL/qQvC/AiEA+MZOSyNZ5Gl6BHSEVDdYSLxdYR1ZJ/pl+KK2Ki2j0kw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31773364},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.31.5_1717421521036_0.5019481990549175","host":"s3://npm-registry-packages"}},"0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944":{"name":"@preply/video","version":"0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"0ee616e9045cd92bceb05e26a6b45999084b98fc","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944.tgz","fileCount":1246,"integrity":"sha512-BaywRpfZy/BMFZdfvhzNXtXzigqi4HDT0T7PHH4lDDlq0oAoESkDUZTZaEFhBKc8/6fJdH66OlGdWkVhB1dgNA==","signatures":[{"sig":"MEQCIFEXaNlTtfTrQ+WmyKF0V87PUvO0lcT6are49xmL42/aAiBDMigOZaPBPr0FsbZdci0tOs6lwUkM7TZgkG63lVERTQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31760029},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944_1717427984971_0.8420828526259763","host":"s3://npm-registry-packages"}},"0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8":{"name":"@preply/video","version":"0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"10721db309717af71372610e78a136f8a10250b0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8.tgz","fileCount":1248,"integrity":"sha512-iTVnFyj29rvkPSULnsp2ZigI5ax0rLlFv+IegqwQlA3n3kUAJJ9t2NFuteur8Byski/+yZDRvtjzJ8LUyFp89Q==","signatures":[{"sig":"MEYCIQCRtLx34ve1hEDaX6SYRibeVHswz2zmVyio/fxZnWWcYwIhAIhLiseQfKxRs35Uxd/2EOObYtAqqTl12y+jwpy1rt2w","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31824561},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8_1717495111864_0.05636579490250693","host":"s3://npm-registry-packages"}},"0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af":{"name":"@preply/video","version":"0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"eb9d39be6d8461a1e212d2c7a111829935791885","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af.tgz","fileCount":1248,"integrity":"sha512-LlmzMbPtcQoLOsyQ6QMeXfl/Ofs1BNnQutRjfH3kqq2EPODPjTQiJpw+QnfwcWyIKczg4HuNrzjlOx8t+zwCxA==","signatures":[{"sig":"MEQCIQDY71Qqew63qzFEkGM3SoMQPngTEOkFDvbw/UVALU+2eQIfZ/trUglMp0ZfsludVxg0Z22uQoJ9G80t8JAGmkGw0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31784063},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af_1717505135102_0.6900649535334253","host":"s3://npm-registry-packages"}},"27.32.0":{"name":"@preply/video","version":"27.32.0","author":"","license":"ISC","_id":"@preply/video@27.32.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"75588d2d81fbe61e33c57e3043de297efb05dbda","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.32.0.tgz","fileCount":1248,"integrity":"sha512-eOcHQzSe1a/xly8kAoA9I/zSGy4P5qwEdBVXELafPfFM/DUsoyDSYkpGmkyVCYXJSJd5a845w0Am86/32rtf+A==","signatures":[{"sig":"MEUCIQCy+uRS0SCcrYBtIheCOi4BxRy66+HThQJoZzx12GV7pgIgSsbeBrGCEhJPzSUX0tCN2abO9iQqPDBLsIrJF7qXQnM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31818930},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.32.0_1717505842456_0.7757888652983607","host":"s3://npm-registry-packages"}},"27.32.1":{"name":"@preply/video","version":"27.32.1","author":"","license":"ISC","_id":"@preply/video@27.32.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fddcb41b5914f24cec568bf8251cdad154cc6e0e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.32.1.tgz","fileCount":1248,"integrity":"sha512-P7f5U7kdsZdscSlKBIji2Nt4yfyHxcRWpDOBeJ+cnrrGJolknPWdZE92rbrnga9OlaqSGGYT6hLCSFyLT2dXXg==","signatures":[{"sig":"MEUCIQDEPfEsD7xiMBLqG7YAVk2s2eHDGGB3bKvHR8DBzLDs6AIgJLMQjQ2kLqOPauJGOdqR6oi4XgTR3o1a2nhbgpkHLE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31812272},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.32.1_1717507069645_0.5184452443294263","host":"s3://npm-registry-packages"}},"27.32.2":{"name":"@preply/video","version":"27.32.2","author":"","license":"ISC","_id":"@preply/video@27.32.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"b52c17aa97bd9a4b91d55a5606eb35bcd6e73137","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.32.2.tgz","fileCount":1248,"integrity":"sha512-n/vd1SLouKdBP+qvV0jBVck5h+iWO/cEhCR5BW2BFnFU7MaOodihbUp6BeE8WSD1UIiYxoc3liy4luNteAtnlA==","signatures":[{"sig":"MEYCIQC+CtOg4z3SeOByDhZusbI1Cx/16sn6ulxRSZ2/iYc0VAIhAI95SYRcVaKbZaJrWe6HSeY7G0Pn0z2Y8hcAHqVblsee","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31823304},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.32.2_1717572895182_0.16893768147631216","host":"s3://npm-registry-packages"}},"0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170":{"name":"@preply/video","version":"0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"fd063c2249b602d6a34a7e9e36b4448ee894a9f7","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170.tgz","fileCount":1246,"integrity":"sha512-HPsC5ocYk6vc1zDncYiQaHwxPserekFHjGCHFOfLx5VqqlH1S0+5IPRJcawIqAgtHHpUiCZfNth86Eb6aco0xg==","signatures":[{"sig":"MEUCIDO+uTUnovWdXhLpWXMVmLTxKDxeE3ZWfN1gkHLYR/7CAiEAn2ZcqxcEXhiMVdrAJ16U0NlTXAKSRcCRj2xUCxPaSWI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31796941},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170_1717575120269_0.6925677188626216","host":"s3://npm-registry-packages"}},"27.32.3":{"name":"@preply/video","version":"27.32.3","author":"","license":"ISC","_id":"@preply/video@27.32.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"598d34f061f1a954493149d927530efd375c8c50","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.32.3.tgz","fileCount":1246,"integrity":"sha512-3jk2UjL/MmKLXPQQRW2zVm3lmtTkbfgw+ZL1pWEvI2gD/iSpHguQjnylXndqdt1v8ZsRLpXDgg7w6CQWZaK8nQ==","signatures":[{"sig":"MEYCIQCP/7fn1435JiMuqJljeV7Or4+8ou6pzdNbpb3VpGNkjwIhAMh4A6Q9bFrmLVrRMCJgt7vUSnnjlNPhOI1mTIYUvtyY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31610929},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.32.3_1717581473120_0.8170243972432591","host":"s3://npm-registry-packages"}},"27.33.0":{"name":"@preply/video","version":"27.33.0","author":"","license":"ISC","_id":"@preply/video@27.33.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"68b12b843a11bf09cae02f34eecc1ef27bb0c80f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.33.0.tgz","fileCount":1246,"integrity":"sha512-2bU9OjmW4I+s5vUZIFEH/D3yov0dwSG3d6004S4gOXafGbdxW1yARRLDIXsMLT3YwPWUTkGtZmmH0hW44IQJAQ==","signatures":[{"sig":"MEUCIQCgh3xWRR2YX3vB+g0JsnmBUhTa0FtT/JUK1BVlcLKpBgIgcwyUjqZxYQzO3IGY8/UGEL0uoDiPuSu0BsR2fP6CHH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31612999},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.33.0_1717583812974_0.9889065559297117","host":"s3://npm-registry-packages"}},"27.33.1":{"name":"@preply/video","version":"27.33.1","author":"","license":"ISC","_id":"@preply/video@27.33.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"af07539079e07e1b4a3f6124610e7efacbadf46d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.33.1.tgz","fileCount":1246,"integrity":"sha512-TS4bcu2Qlsh8j+38Qwp/s59qLYdEZTuPe39L4AAY9v2oVvf2PIK3yXtWIFW8vWU91FazIEs+m1PvBrzvZR5pCg==","signatures":[{"sig":"MEYCIQCyKaWmsLfTeyZwYOXmtH/mgusNTbYOXrkeUaloXVIG6wIhAPGUJjpLM/DcatPaKpRVbivyFSzHxdW2CoDuAt1rbRi7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31613401},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.33.1_1717591383492_0.257300219842137","host":"s3://npm-registry-packages"}},"0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e":{"name":"@preply/video","version":"0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"2468e94c6ce8adfd9584ed75bfed771199c70a56","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e.tgz","fileCount":1246,"integrity":"sha512-GeQMfgzmDpPWknmqVMmC3MXXPCMggl3aYuQIc/d/0GTBJNhb9d1ZDLW+YtrFPM1JOr7pANkSNe3D/KUtoTBSjA==","signatures":[{"sig":"MEYCIQDzUQxxtM49NwXtKY/af2twGjISG4EBHaEwY+mzQWrClwIhAL1pkB7jwVXPXRGRRCaZ1OFfN4FfhcHGNx2poR6cb+kO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31711187},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e_1717592454017_0.6572136301203184","host":"s3://npm-registry-packages"}},"27.34.0":{"name":"@preply/video","version":"27.34.0","author":"","license":"ISC","_id":"@preply/video@27.34.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"194a38eabbc7863e666ed71491af13cea40cbe1e","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.34.0.tgz","fileCount":1246,"integrity":"sha512-bTXk5xHeKryjgLut1Nj79lQexTB/ss9+5FuzAfySaYYLHVDqWf6cTaxc3L1W7VID9QY/xXamll+XSZP/kDVsAg==","signatures":[{"sig":"MEYCIQCFLKuuOP86Xz2v7S0Vikv93wGr3HfgNm2DZftKiSDs5AIhAIeOv5Ex5Ic9wv4C1V0UReD7RFf85gEa7clDcsfkshrp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31708415},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.34.0_1717595483438_0.16656976866056294","host":"s3://npm-registry-packages"}},"0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3":{"name":"@preply/video","version":"0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"532815682d97d2a4835f93098d13fd2f2f4d3d89","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3.tgz","fileCount":1248,"integrity":"sha512-QOKVBZzw5R+P/WqhMfmkOqEMkVsTPOHaDr5q3keZWzUC9aVmhjdao6wM8+stnTAeD/5IhLa0a7PBbJRQZ9NcBQ==","signatures":[{"sig":"MEYCIQD6bOaYGa1H8ztsP1JjX7boPIdBqBdl6ubFHj43O67OBgIhANXAY1IMN81ZFv5h9QgwHcDyTWewOVQYOmjij4UDrFhQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31778991},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3_1717598782532_0.5211424119280019","host":"s3://npm-registry-packages"}},"0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b":{"name":"@preply/video","version":"0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"35e91191075f32c77790fb2ef2e4fe844f12f546","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b.tgz","fileCount":1248,"integrity":"sha512-ihhp/+6Ug8h2xKO+2fCskuCgl2IU31MM2LBE2rCpm5MybBGBeBCDUX+YzPdtv0uHe3WxYEirSI7/Q+d2dqvpbw==","signatures":[{"sig":"MEUCIQDeekmXLLHxO5nHa07Q3iKugrbIM8AagEn50K8Tmr3P6wIgFB4HNI/+5QWIGfVGOuWcSTawQ9zlAgL/Owbm4xHTSIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31778991},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b_1717604216747_0.060519876288072094","host":"s3://npm-registry-packages"}},"27.34.1":{"name":"@preply/video","version":"27.34.1","author":"","license":"ISC","_id":"@preply/video@27.34.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"6e90d7769c7971afaa11f4198b9c5d7e5885cdbf","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.34.1.tgz","fileCount":1246,"integrity":"sha512-nQJuy6w/K5k7H+CF01A7pGMmPGMmB3omhFwGUK3USFTBjgIZFq3yjtRwHj0unFIDYsYEnFYQfPn5QumoCbNZmg==","signatures":[{"sig":"MEUCIQDO/mZSFUfmwv5FdcCS42iUManHk5Au4ddkT6X7aMubnAIgMzznGEQwlcamA9qI7y58qRKYJk7lhE1h6H0ZpKzsbpc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31712189},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.34.1_1717665913679_0.8308244292450127","host":"s3://npm-registry-packages"}},"27.34.2":{"name":"@preply/video","version":"27.34.2","author":"","license":"ISC","_id":"@preply/video@27.34.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"acb924ea145c4b46b325e1770514996126d7be63","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.34.2.tgz","fileCount":1246,"integrity":"sha512-d3EfjwzOGImh9x7+OBz0ZKwGpoxuuwIkCRAb7rMcDE8pujNOGppZdXXWRPTcKpkjTjOlMOGOvw1Y4qfH7GzlQw==","signatures":[{"sig":"MEYCIQDwR1hKlD0ty2DUCZ1A/cDgX7w0s7dYOqdEDzAtECFTawIhAMKIwJEnJ7r7cQvJohGL94ir7db0pbH3wrPYmNV2miKc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31714664},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.34.2_1717669267314_0.05493787650698323","host":"s3://npm-registry-packages"}},"0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249":{"name":"@preply/video","version":"0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"8ef732e00250ef7aa2163a6921ccd3464373573d","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249.tgz","fileCount":1246,"integrity":"sha512-aIAwLlc3u/PiDsWVLkTdyZ/5rRwOUQhxCfUSH6YIpcva8xo/ACh1k1XyzQPQrFbq9BSNusdrgtvzSsuQ4Ba6tg==","signatures":[{"sig":"MEYCIQCBUf36fAZVXgFlwXNhj9isDrHEDgYdas8Ho9gh5QhFLgIhAP723k5GL4MsTqW8VBgUFEYOJwLf1XaSGz/GtECC3ox1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31757952},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249_1717685475429_0.835567297108275","host":"s3://npm-registry-packages"}},"27.34.3":{"name":"@preply/video","version":"27.34.3","author":"","license":"ISC","_id":"@preply/video@27.34.3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4d9fef1b167818992386ec24df2320be66e3b036","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.34.3.tgz","fileCount":1246,"integrity":"sha512-F019q1gXoNw9vswbmm9oDKTNURNd9imp52EyVhggOp/CphBO4nTZcMG/rixPct3+Kpd4eUEgl/jd9Z42LBQgeg==","signatures":[{"sig":"MEYCIQCB6QKqYGa3VMO2+2fwxaP1ix2UUeDI22dJq2Ix9kozxgIhAJKUtMdo7Ofvf2DzP4F88Q2kbD21Y5aROrM22hbY6PK1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31718946},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.34.3_1717740677464_0.5618114197197699","host":"s3://npm-registry-packages"}},"27.34.4":{"name":"@preply/video","version":"27.34.4","author":"","license":"ISC","_id":"@preply/video@27.34.4","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c106e0ff57bb14a8c8b57d5b491310f2e6a4fc8f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.34.4.tgz","fileCount":1250,"integrity":"sha512-oUr6UdY2Y+8x9Sitgo8ZCjMY+NnTZ5RONihB6xpHb5HGjAFdG2W3Hibr7Ge+DYiF6jgZwefDEurvyaTyaISjjg==","signatures":[{"sig":"MEYCIQD/LxCYLbO9dwBdDhdng6ilVcj8vu39KD95Fm1SZM2W7AIhANTjmIr/Kjs+77RZp1RKiL9ZfWasZYVZX4D7nnnFtWiS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31753351},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.34.4_1717746069786_0.019130445679061747","host":"s3://npm-registry-packages"}},"27.35.0":{"name":"@preply/video","version":"27.35.0","author":"","license":"ISC","_id":"@preply/video@27.35.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e53d0dc432807c13abff020c9806460ca08fe391","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.35.0.tgz","fileCount":1250,"integrity":"sha512-dZeg9sq5JvQGkLLOr0bsklcuTqSvYNmyuqLKEaafMivt2EW6DFIvddJql18kq1KdrMsFHQNnFYIehqDw4Ys/Ug==","signatures":[{"sig":"MEQCIG1DD0OycXiPVdb9mWtrl3B8PjorpGpzBhv10gYzASNgAiAKhTq5xO9VQF4T2Ek6fsdlYOID9e/szrEb/VIVVFbGqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31764796},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.35.0_1717748977637_0.3516294084829441","host":"s3://npm-registry-packages"}},"27.36.0":{"name":"@preply/video","version":"27.36.0","author":"","license":"ISC","_id":"@preply/video@27.36.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"bf7ee32e78c18840cb6babe17ad6096c3f9427a6","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.36.0.tgz","fileCount":1250,"integrity":"sha512-2kPgvjRFdwHBLshZYq8hs3aQbE41qieiHT6Dp175MPhQBsVkBxPk7I5FDIJQgIcI8gsaHh6BTcnzLhsVHGXStA==","signatures":[{"sig":"MEQCIAOcYao5DjF16mMiSaFNf9UtzubpBTUXNneQVAQxm9H5AiBv8Q4rRDOrYCFTfKJm64zGAVl9cvdB4E04J2thrWKoqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31783825},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.36.0_1717773072487_0.2039727788485748","host":"s3://npm-registry-packages"}},"27.36.1":{"name":"@preply/video","version":"27.36.1","author":"","license":"ISC","_id":"@preply/video@27.36.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e873c06a963b1d0f74344e102e07639e78f7ff74","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.36.1.tgz","fileCount":1250,"integrity":"sha512-iPO/FCg+RucUCJlrTRlDGzyWTNoxRoIKIdGcywW2wiGVZO11nIsq2Ilx5gdplfA7zNSNDqHRp9o35VdQdCrn0Q==","signatures":[{"sig":"MEUCIQCpYyZElEb3yiO3K+fe/NVKMm5tepFhan+A/PgH47fASQIgPspS5AXJNuiYp7pS5ElR2Ok/IkXymvIm6rLtDf5V4nA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31776098},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.36.1_1717773807358_0.7682144034585641","host":"s3://npm-registry-packages"}},"27.36.2":{"name":"@preply/video","version":"27.36.2","author":"","license":"ISC","_id":"@preply/video@27.36.2","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a3a8da53cb5029cfe04ea7a73d98b44efdc1208d","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.36.2.tgz","fileCount":1250,"integrity":"sha512-K5GbBh2GdW5N1k9BInV2qhgIeTwscs7RdRh4AlMcYyg42eR+fzZlW/5P+Vxp7NuYjGMjyUQu9nCvexD5K8h25A==","signatures":[{"sig":"MEYCIQDra28UxwN+QMbKuZP1dAKpHEiXDThayHqnP72LvhGUBgIhALUM1tbBMM/5FP3caF027PFPhsDVaizwgiXAZ1UYDS1p","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31774162},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.36.2_1717992798220_0.3724508982739678","host":"s3://npm-registry-packages"}},"0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324":{"name":"@preply/video","version":"0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"4c0672156b4fb949a104db5ef7e9d2dedf553931","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324.tgz","fileCount":1250,"integrity":"sha512-3ZUfj2MTVPZ+smx/MGAdwiXLQtf/b4N32RTj4k4rQr+tJZP6oTC75OvvK2MMJAyPGUGxeG1Kw5IfdA7sw6y7FA==","signatures":[{"sig":"MEUCIEyeu2Gpp51DJD02hqJ6mGsgCV1mP4qXiRrGrwfcUvbcAiEA8vDdXTeQh1tyA6vwhiNkXLjT9EM9SmoYOVxVZDPBQVs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31778362},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324_1718006278927_0.37499566992392475","host":"s3://npm-registry-packages"}},"27.37.0":{"name":"@preply/video","version":"27.37.0","author":"","license":"ISC","_id":"@preply/video@27.37.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"26d7cc941a73d362bdf26cb2869a5efd9c56ac10","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.37.0.tgz","fileCount":1250,"integrity":"sha512-dXzL0lS3mqxO3wNLXhZlo++eXDlBNNuUAihuhiVzto7ffe+a47a9ovXmGFMR8CGRoHqMj0oufJRFMoVKrmA5JA==","signatures":[{"sig":"MEYCIQCgPg5h6wGbFDPPaBATKG9Schf7V3nu9hIVa5kit7FhYwIhAPFxoCut29ib7X1F3Oyf/f4a0SYBUuFCtNpOVr0aLJYc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31786209},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.37.0_1718009804104_0.5121328154889768","host":"s3://npm-registry-packages"}},"0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a":{"name":"@preply/video","version":"0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"a91a75f64500f89e7f70414cf5d8a38ca04f11f8","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a.tgz","fileCount":1252,"integrity":"sha512-0gRZGahXi5HZ+0DPqBBrAq/uqvHeAYZ9pCC8P2O5Mihh/e3Sw8JeC8/5Oww9YM21QZnyTe9jUnIXdodYHd840w==","signatures":[{"sig":"MEUCIQD/VwgPQmPz7i8nZx8fnfc9K1O3rGvsSnuekBx4H8E+rAIgSEzQz9JAGt2JuerPju6xad69nsNKXjZZwg86eZ0/0NQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31813735},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a_1718026811799_0.07836442748504346","host":"s3://npm-registry-packages"}},"27.38.0":{"name":"@preply/video","version":"27.38.0","author":"","license":"ISC","_id":"@preply/video@27.38.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"452ed1e9cbbd5ea45e4c4ad7d15ecd58a0b4ac6f","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.38.0.tgz","fileCount":1252,"integrity":"sha512-AmovTeTfOtZXjNECx+VH8gXkUhvBwhpZkVSbdzh3Vcd+7R87lyy+dbmZxLZcB7mmuPHbKNAyGjhYY0jdE7Ve9A==","signatures":[{"sig":"MEUCIQDcA1NuBMtwrPI1WmtuD8Vv+L+tbNKaPaSxSZTXV80wwAIgbhU1xrB6to+2rAf1fK5sJDjbwd40wmzVGY8bcfnvKbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31810963},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.38.0_1718031126297_0.6078682334464551","host":"s3://npm-registry-packages"}},"27.38.1":{"name":"@preply/video","version":"27.38.1","author":"","license":"ISC","_id":"@preply/video@27.38.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"c502955d1fbb546171d640a99528c2f137e0a2a3","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.38.1.tgz","fileCount":1252,"integrity":"sha512-py2WlwtnfHX5y46oRFB97YSBNJrf2RgMNAODEY20TGQSDnbTLns+IXGKldPzvUBnxzb4TItOEknOj4dRcZVnjA==","signatures":[{"sig":"MEUCIH/JD5buAJmpEIom4UUZKaOGR90EZ1SCuzAlWuHvGVXkAiEAjuGA/DEDjz9oyUucRiHkbMBcdSHIJPlTGGeNR+pDTLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31813702},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.38.1_1718079453096_0.1926763861119607","host":"s3://npm-registry-packages"}},"0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7":{"name":"@preply/video","version":"0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"36369d6df4f67fac6648d0f3ab071b715e3517a0","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7.tgz","fileCount":1254,"integrity":"sha512-VjMZ+kwkU9IVJraZA6PGs5PHIe9lN+A93NRcNLMQ9qGnGCgCH/RyPN3SgXGG7vDKJG9PXUpS/GoM3a+lsE36JQ==","signatures":[{"sig":"MEQCIBqqeZI4irT+1MBmMo/ObwcpGsN/9c5C1paG7DrsqmF7AiBuQtO8DHZKD+BMuERdYVtBiIcFFbT5kiDoRZnzA2AQDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31788134},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7_1718098415026_0.9910935458699748","host":"s3://npm-registry-packages"}},"0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40":{"name":"@preply/video","version":"0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"edf96159fcf942e9e2f0a459733f84038a42b822","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40.tgz","fileCount":1254,"integrity":"sha512-0Hwk5gfX80mSLjthHX0gf4J+MvGliNMk/+DPZI/HyIt/lSCog8xUxLyjIjWUwkb9N41CrQztRSqplG6ae7NAzw==","signatures":[{"sig":"MEUCIQC8gb0IjQqyJy6uT5KqdHUEtSTf8oIQw8cbxrxmIipbZwIgNR3eqTjc6L56GX0hvP7VbxaHNmptjS3bbw2pjI+Aml0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31788134},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40_1718100911167_0.6678936008644292","host":"s3://npm-registry-packages"}},"0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7":{"name":"@preply/video","version":"0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"cdd083b8b45107f2e9949484e0d4c24c5222b0c1","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7.tgz","fileCount":1254,"integrity":"sha512-W63vcAek3T27KrLsbf+/yPVqI2s3xedr3zBKZjZywOzEuyBVHiL5eObdMbkyHegUSug6TR+q1zyC/ue3sAnkEA==","signatures":[{"sig":"MEUCIGQUh6MKUIs5rW92Ny/tJ2Q4ghQtJF3J949UjfaoeAWOAiEA7TU3J4cS/x0UHxCondITrDbvsLCRtEcjOU22TLpdA2w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31737219},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7_1718108062751_0.3818654256768812","host":"s3://npm-registry-packages"}},"27.39.0":{"name":"@preply/video","version":"27.39.0","author":"","license":"ISC","_id":"@preply/video@27.39.0","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"88b7fa7996d34f511d8fe19774bdd193e95fcf73","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.39.0.tgz","fileCount":1254,"integrity":"sha512-xzXZl783pvjI6wMClloZVPhCsS1ieZB3wuHZzE+87GQtOxnhasOYBjsrYfvM773UCVupUDL3AU4hEdDPSwLdxQ==","signatures":[{"sig":"MEQCIDwiKvxGYaAcNmisnvSoMEpU/Ia5fpIcyNa2bJ60FeAKAiA+/GDLy4Gi9IVdq58oAZRD551rc/Z8rZrq/bllE2sNFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31740273},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.39.0_1718108966598_0.5946996240201359","host":"s3://npm-registry-packages"}},"0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3":{"name":"@preply/video","version":"0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"03c03fba99508393aad13614d77ed0883eb8b0ea","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3.tgz","fileCount":1256,"integrity":"sha512-AftzbABNCoH+ul+DKd7JwViD4LE+g9VJARAabJXb/2+vH9v8umzKOJTYsA1nKqLtcUAXhewC43Z6SQPqZN5bLg==","signatures":[{"sig":"MEYCIQC3ROFU3o+R5ILnZsx0x9H1du4lguC+4OZSw8bwVbN1lwIhAJ9ieA6/PlQehBIAYJ2SBGQdntyrW3xKgdHdA8AFBqCu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31769730},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3_1718109734287_0.9921765765477826","host":"s3://npm-registry-packages"}},"0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929":{"name":"@preply/video","version":"0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"e67d47e547fc1c9c589ed745e0d2c4b159fa9573","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929.tgz","fileCount":1254,"integrity":"sha512-v0xspQgQG1pzAYzKqTDcLlB7MZPAEqhLwESJAWxicxvxmmSMW++dfs7rhLokJgmStny6BlMEPdTzoYyaImqIvA==","signatures":[{"sig":"MEUCIHwPHu2iDTJt0nq53eiHAs7D5IEt1KBjkHe4C9nmSdXRAiEAx0DYlFRg5671VAUG/uSAajTsE9TC5ScVBb9+77F4lQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31737431},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929_1718114173341_0.9956107168669974","host":"s3://npm-registry-packages"}},"0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31":{"name":"@preply/video","version":"0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31","author":"","license":"ISC","_id":"@preply/video@0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"d2a940489794d07dd88b8e86aeada2fd29c5f462","tarball":"https://registry.npmjs.org/@preply/video/-/video-0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31.tgz","fileCount":1254,"integrity":"sha512-15Qw3YKYCHRUx/HCJKSlQut1uD1QwK0i/qefZjWTKqlSWh6hc2P1xcE/Fdk6SeWV83zbWbBCYW9HkUdBAKAmZQ==","signatures":[{"sig":"MEUCIFBsKd6I45cggyjCnzRdac82nfpM/nRfZ0tulZagp5jhAiEA3ZvOekwIftYfjQ/P/F6JCBhsan7sKoyKQIMOhaPUtUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31742952},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31_1718117204654_0.9861823283793312","host":"s3://npm-registry-packages"}},"27.39.1":{"name":"@preply/video","version":"27.39.1","author":"","license":"ISC","_id":"@preply/video@27.39.1","maintainers":[{"name":"preply-admin","email":"dmytro@preply.com"},{"name":"eugenegodun","email":"eugene.g@preply.com"},{"name":"heiets-preply","email":"alex.h@preply.com"},{"name":"erebus1","email":"igor.kasianov@preply.com"},{"name":"liss-mouse","email":"alisa.m@preply.com"},{"name":"grebenyuksv","email":"grebenyuksv@gmail.com"},{"name":"alex.semeniuk","email":"alex@preply.com"}],"dist":{"shasum":"50890d81bf46051a9e6c7f0f362ab81fa86bf5da","tarball":"https://registry.npmjs.org/@preply/video/-/video-27.39.1.tgz","fileCount":1254,"integrity":"sha512-GqPPPjjwB40jh0ZEc8W9ud4MTBLM5ACZlmrqOZnC99Ttg+TlylpWpir8u2w4GaGm7Tfbe4ygQb0O3cWGkDLiNg==","signatures":[{"sig":"MEUCIQDr+W93/AtFJmC3gs08m4txXL3cpa67qmPP0pPEJr8OygIgXYtDn4IzYz8LrmEB+2hv2//xsM/rAjbcQ7zG5Mnma34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":31743314},"main":"dist/en/videoModule.js","types":"typings/src/index.d.ts","scripts":{"lint":"cd ../../../ && yarn lint","test":"jest --config jest/jest.config.json --rootDir .","build":"npm run graphql:gen && webpack --mode production --env hostEndpoint=prod && npm run build-typings","start":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=stage --env standalone=true","lint:es":"echo 'This command is deprecated and will be removed soon'","lint:ts":"echo 'This command is deprecated and will be removed soon'","lint:fix":"cd ../../../ && yarn lint --fix","start:prod":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=prod --env standalone=true","test:watch":"jest --watch --config jest/jest.config.json --rootDir .","graphql:gen":"mkdir -p ./graphql-schema && npm run merge-schemas && graphql-codegen","lint:es:fix":"echo 'This command is deprecated and will be removed soon'","lint:ts:fix":"echo 'This command is deprecated and will be removed soon'","start:local":"npm run graphql:copy && npm run graphql:gen && webpack-dev-server --mode development --env hostEndpoint=local --env standalone=true","graphql:copy":"cp ../../../federation_schema/federation.graphql .","translations":"npm run graphql:gen && webpack --mode development --env hostEndpoint=prod","build-typings":"rm -rf typings && tsc --outDir typings --emitDeclarationOnly --noImplicitAny false --allowJs false","merge-schemas":"node ./scripts/mergeSchemas.js","prepublishOnly":"npm ci && npm run build","test:all:update":"jest --config jest/jest.config.json --rootDir . -u","test:watch:coverage":"jest --watchAll --coverage --config jest/jest.config.json --rootDir .","testResultsProcessor":"jest-junit"},"_npmUser":{"name":"erebus1","email":"igor.kasianov@preply.com"},"deprecated":"This package has been deprecated due to migration","jest-junit":{"output":"jest-junit.xml"},"_npmVersion":"6.14.18","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","directories":{},"lint-staged":{"src/**/*.js":["npm run lint:fix","git add"]},"_nodeVersion":"14.21.3","dependencies":{"less":"^4.2.0","uuid":"^9.0.1","bowser":"^1.6.0","lodash":"^4.17.21","graphql":"^14.7.0","date-fns":"^2.21.3","classnames":"^2.2.5","prop-types":"^15.5.10","react-intl":"^6.6.2","apollo-link":"^1.2.13","date-fns-tz":"^1.1.4","graphql-tag":"2.10.1","react-apollo":"^2.5.8","react-rating":"^2.0.5","react-confetti":"5.1.0","react-loadable":"^5.5.0","@sentry/browser":"^5.5.0","react-draggable":"^4.4.6","apollo-link-http":"^1.5.16","graphql-anywhere":"4.1.22","lodash.flowright":"^3.5.0","react-responsive":"^8.0.2","apollo-link-error":"^1.1.12","@apollo/react-hooks":"3.1.3","@radix-ui/react-tabs":"^1.0.4","@datadog/browser-logs":"^2.5.3","@radix-ui/react-toast":"^1.1.4","apollo-cache-inmemory":"^1.3.11","@radix-ui/react-dialog":"^1.0.4","@radix-ui/react-select":"^1.2.2","@radix-ui/react-slider":"^1.1.2","@radix-ui/react-switch":"^1.0.3","@radix-ui/react-popover":"^1.0.6","@radix-ui/react-tooltip":"^1.0.6","@radix-ui/react-checkbox":"^1.0.4","opentok-accelerator-core":"^2.0.15","@preply/react-intl-copycat":"2.1.2","@radix-ui/react-radio-group":"^1.1.3","@radix-ui/react-dropdown-menu":"^2.0.6"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^21.2.1","react":"^18.2.0","enzyme":"^3.7.0","ts-jest":"^22.4.6","webpack":"^4.47.0","prettier":"^2.8.8","react-dom":"^18.2.0","@preply/ui":"7.0.0","babel-core":"7.0.0-bridge.0","babel-jest":"23.4.2","css-loader":"^5.2.7","fetch-mock":"^9.11.0","jest-junit":"^3.6.0","typescript":"4.4.3","@babel/core":"^7.24.4","@types/jest":"26.0.9","@types/uuid":"^9.0.8","change-case":"^4.1.1","file-loader":"^2.0.0","less-loader":"^4.1.0","webpack-cli":"^4.10.0","@types/react":"^18.2.56","babel-loader":"^8.3.0","react-router":"^5.0.0","style-loader":"^2.0.0","@svgr/webpack":"^5.5.0","apollo-client":"^2.6.3","@babel/runtime":"^7.24.4","@types/graphql":"^14.0.3","@preply/ds-core":"0.88.0","jest-fetch-mock":"^1.7.5","@types/react-dom":"^18.2.19","@types/recompose":"^0.27.0","agora-rtc-sdk-ng":"^4.20.2","react-router-dom":"^5.0.0","@babel/preset-env":"^7.24.4","@types/classnames":"^2.2.9","opentok-archiving":"^1.0.19","opentok-text-chat":"^1.0.36","styled-components":"^4.4.1","@preply/ds-web-lib":"0.88.0","@types/react-modal":"^3.2.1","opentok-annotation":"^2.0.59","webpack-dev-server":"^4.15.2","@babel/preset-react":"^7.24.1","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","amazon-chime-sdk-js":"^3.6.0","copy-webpack-plugin":"^6.4.1","html-webpack-plugin":"^4.5.2","react-test-renderer":"^16.5.2","@graphql-codegen/cli":"^2.16.5","clean-webpack-plugin":"^0.1.19","@preply/ds-core-types":"0.88.0","@types/react-loadable":"^5.5.2","jest-localstorage-mock":"^2.2.0","jest-styled-components":"^5.0.1","opentok-screen-sharing":"^1.0.35","webpack-node-externals":"^1.7.2","@types/lodash.flowright":"^3.5.9","@types/react-responsive":"^8.0.2","babel-plugin-react-intl":"^8.2.25","enzyme-adapter-react-16":"^1.6.0","webpack-bundle-analyzer":"^4.10.1","@babel/preset-typescript":"^7.24.1","@types/styled-components":"^4.4.3","intl-messageformat-parser":"5.3.7","write-file-webpack-plugin":"^4.5.1","@graphql-codegen/typescript":"^2.8.8","json-stringify-deterministic":"^1.0.1","@types/resize-observer-browser":"^0.1.8","babel-plugin-styled-components":"^2.1.4","fork-ts-checker-webpack-plugin":"^6.5.3","script-ext-html-webpack-plugin":"^2.1.5","@babel/plugin-transform-runtime":"^7.24.3","@graphql-codegen/fragment-matcher":"^2.0.1","babel-plugin-require-context-hook":"^1.0.0","@babel/plugin-syntax-dynamic-import":"^7.8.3","@graphql-codegen/typescript-operations":"^2.5.13","@babel/plugin-proposal-class-properties":"^7.18.6","@preply/babel-plugin-react-intl-auto-id":"1.1.2","@graphql-codegen/typescript-react-apollo":"^2.3.1","@graphql-codegen/typescript-compatibility":"^2.1.5"},"peerDependencies":{"react":"^15 || ^16 || ^18","react-dom":"^15 || ^16 || ^18","@preply/ui":"7.0.0","apollo-client":"^2.6.3","@preply/ds-core":"0.88.0","styled-components":"^4.1.3","@preply/ds-web-lib":"0.88.0","@preply/ds-web-core":"0.88.0","@preply/ds-web-root":"0.88.0","@preply/ds-core-types":"0.88.0"},"_npmOperationalInternal":{"tmp":"tmp/video_27.39.1_1718165731743_0.6245969959297151","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-12-20T12:44:02.982Z","modified":"2026-09-03T11:57:32.785Z","1.0.0":"2018-12-20T12:44:03.424Z","1.0.1":"2018-12-21T10:42:38.573Z","1.0.2":"2018-12-21T12:32:57.086Z","1.0.3":"2018-12-25T05:23:55.786Z","1.0.4":"2018-12-25T05:46:57.206Z","1.0.5":"2018-12-26T06:51:45.980Z","1.0.6":"2018-12-27T08:58:04.074Z","1.0.7":"2018-12-27T10:15:57.177Z","1.0.8":"2018-12-27T11:35:42.811Z","1.0.9":"2018-12-27T12:29:04.006Z","1.1.0":"2019-01-02T05:36:37.737Z","1.1.1":"2019-01-02T07:24:50.527Z","1.1.2":"2019-01-02T08:11:50.145Z","1.1.3":"2019-01-02T10:57:57.249Z","1.1.4":"2019-01-03T06:15:56.651Z","1.1.5":"2019-01-03T09:19:45.608Z","1.1.6":"2019-01-03T11:00:58.243Z","1.1.7":"2019-01-03T12:48:08.006Z","1.1.8":"2019-01-03T13:17:27.456Z","1.1.9":"2019-01-03T13:44:16.691Z","1.1.10":"2019-01-03T14:04:29.219Z","1.1.11":"2019-01-04T02:16:41.671Z","1.2.0":"2019-01-04T03:45:10.885Z","1.2.1":"2019-01-04T04:55:47.695Z","1.2.2":"2019-01-04T07:24:43.809Z","1.2.3":"2019-01-04T07:42:28.914Z","1.2.4":"2019-01-04T09:24:34.369Z","1.2.5":"2019-01-04T12:02:39.050Z","1.2.6":"2019-01-08T10:11:33.244Z","1.2.7":"2019-01-09T08:19:52.063Z","2.0.0":"2019-01-10T00:59:42.209Z","2.0.1":"2019-01-10T02:21:46.737Z","2.0.2":"2019-01-10T12:24:25.228Z","2.0.3":"2019-01-11T08:43:41.939Z","2.0.4":"2019-01-11T12:20:50.608Z","2.0.5":"2019-01-14T13:44:27.807Z","2.1.0":"2019-01-14T23:58:14.633Z","2.1.1":"2019-01-15T04:23:04.024Z","2.1.2":"2019-01-17T09:51:54.297Z","2.2.0":"2019-01-21T23:54:28.128Z","2.2.1":"2019-01-22T11:52:38.526Z","2.2.2":"2019-01-30T10:48:29.153Z","2.2.3":"2019-02-01T00:10:50.140Z","2.2.4":"2019-02-04T02:32:58.867Z","2.2.5":"2019-02-04T12:27:12.585Z","2.2.6":"2019-02-06T05:24:01.104Z","2.2.7":"2019-02-06T13:02:02.231Z","2.2.8":"2019-02-08T14:39:34.613Z","2.2.9":"2019-02-11T11:19:41.350Z","2.2.10":"2019-02-15T12:25:21.769Z","2.2.10-alpha.1":"2019-05-15T07:31:52.835Z","2.3.0":"2019-05-20T13:54:52.418Z","2.4.0":"2019-05-21T10:13:43.288Z","2.4.1":"2019-05-22T10:10:48.352Z","2.4.2":"2019-05-29T07:39:17.740Z","2.4.3":"2019-05-29T09:09:15.073Z","2.4.4":"2019-05-29T14:54:59.821Z","2.4.5":"2019-05-30T10:57:27.363Z","2.5.0":"2019-06-06T07:26:26.015Z","2.5.1":"2019-06-13T12:27:05.061Z","2.5.2":"2019-06-25T08:33:37.834Z","2.5.3":"2019-07-01T08:39:48.482Z","2.6.0":"2019-07-11T12:15:25.504Z","2.6.1":"2019-07-12T10:05:59.225Z","2.6.2-alpha.1":"2019-07-19T09:38:03.085Z","2.6.2":"2019-07-19T11:05:17.757Z","2.6.3":"2019-07-22T09:56:50.083Z","2.6.5":"2019-07-25T08:40:21.782Z","2.6.6":"2019-07-25T10:42:57.074Z","2.6.7":"2019-07-25T12:56:56.650Z","2.6.8":"2019-07-26T06:50:37.820Z","2.6.9":"2019-08-01T08:18:28.707Z","2.7.0":"2019-08-01T12:41:33.908Z","3.0.1":"2019-08-14T11:21:40.129Z","3.0.2-alfa.0":"2019-08-14T13:06:03.174Z","3.0.2-alfa.1":"2019-08-15T07:32:36.294Z","3.0.2-alfa.8":"2019-08-15T09:55:13.132Z","3.0.2":"2019-08-15T11:56:16.974Z","3.0.4":"2019-08-28T13:24:25.228Z","3.0.5":"2019-09-02T10:50:14.684Z","3.0.6":"2019-09-02T11:33:25.369Z","3.0.7":"2019-09-03T08:35:57.684Z","3.0.8-alpha.1":"2019-09-04T14:45:33.294Z","3.0.8-alpha.2":"2019-09-05T07:58:36.753Z","3.0.8":"2019-09-05T09:07:43.336Z","3.0.8-alpha.4":"2019-09-05T10:26:42.996Z","3.0.9-alpha.1":"2019-09-05T16:24:33.809Z","3.0.9":"2019-09-06T08:36:32.594Z","3.0.10":"2019-09-06T12:04:08.241Z","3.0.11":"2019-09-09T14:58:44.645Z","3.0.12":"2019-09-10T12:29:00.049Z","3.0.13":"2019-09-10T13:00:37.186Z","3.0.14":"2019-09-16T14:16:07.368Z","3.0.15":"2019-09-16T14:35:18.021Z","1.0.69-alpha.0":"2019-09-19T13:39:21.406Z","3.0.16-alfa.0":"2019-09-25T08:00:01.286Z","3.0.16-alfa.2":"2019-09-25T09:37:47.629Z","3.0.16-alfa.4":"2019-09-25T11:47:05.559Z","3.0.16-alfa.5":"2019-09-25T14:37:54.348Z","3.0.16-alfa.6":"2019-09-25T15:27:44.513Z","3.0.16":"2019-09-26T07:11:57.068Z","3.0.17":"2019-09-27T08:46:10.062Z","3.0.18-alpha.0":"2019-10-03T09:30:41.010Z","3.0.18":"2019-10-03T14:14:35.544Z","3.0.19":"2019-10-04T07:31:43.699Z","3.0.20-alfa.0":"2019-10-04T09:58:24.571Z","3.0.20":"2019-10-04T12:34:22.688Z","3.0.21":"2019-10-04T13:26:13.440Z","3.0.22":"2019-10-07T07:55:58.652Z","3.0.23-alfa.1":"2019-10-09T08:02:00.332Z","3.0.23":"2019-10-09T08:35:30.318Z","3.0.24":"2019-10-10T07:35:01.668Z","3.0.25":"2019-10-16T12:24:42.029Z","3.0.26":"2019-10-18T07:31:45.066Z","3.0.27":"2019-10-22T06:03:52.401Z","3.0.28":"2019-10-23T07:07:44.244Z","3.0.29-alfa.0":"2019-10-25T11:37:42.159Z","3.0.29-alfa.2":"2019-10-25T12:27:42.359Z","3.0.29-alfa.3":"2019-10-28T11:12:45.449Z","3.0.30":"2019-10-28T14:50:55.938Z","4.0.0":"2019-10-29T09:54:45.295Z","4.0.2-alpha.0":"2019-11-06T15:44:23.049Z","5.0.0-alfa.0":"2019-11-07T12:17:42.605Z","5.0.0-alfa.2":"2019-11-08T11:11:48.902Z","5.0.0":"2019-11-12T07:59:04.669Z","5.0.1":"2019-11-13T11:07:33.986Z","5.0.2":"2019-11-18T12:19:32.227Z","5.0.3":"2019-11-20T08:28:23.967Z","5.0.4":"2019-11-20T11:42:51.387Z","6.0.0":"2019-11-25T10:36:27.645Z","7.0.0":"2019-11-26T12:02:21.072Z","7.0.1":"2019-11-26T14:42:34.076Z","7.0.2":"2019-11-26T16:32:56.689Z","8.0.0-alfa.5":"2019-11-26T17:00:22.469Z","8.0.0-alfa.6":"2019-11-27T11:56:37.656Z","8.0.0-alfa.7":"2019-11-28T07:50:27.856Z","8.0.0-alfa.8":"2019-11-28T08:51:45.220Z","7.0.3":"2019-11-28T10:03:29.794Z","8.0.0-alfa.9":"2019-11-28T11:15:51.569Z","8.0.0":"2019-11-28T12:31:51.645Z","8.0.1":"2019-11-28T13:04:08.956Z","8.0.2":"2019-11-28T14:12:11.004Z","8.0.3":"2019-11-29T10:00:43.315Z","9.0.0":"2019-11-29T11:59:09.867Z","9.0.2":"2019-11-29T15:12:35.348Z","9.0.3":"2019-11-29T16:09:56.928Z","9.0.4":"2019-11-30T10:35:06.284Z","9.0.5":"2019-11-30T14:32:05.345Z","9.0.6":"2019-12-02T09:30:01.523Z","9.0.7":"2019-12-02T12:29:55.446Z","9.0.9":"2019-12-02T16:06:22.944Z","9.0.10":"2019-12-03T10:19:11.780Z","9.0.11":"2019-12-04T10:16:36.573Z","9.0.12":"2019-12-04T12:03:24.655Z","9.0.13-alfa.0":"2019-12-04T14:33:50.471Z","9.0.13-alfa.1":"2019-12-04T15:31:09.206Z","9.0.13":"2019-12-05T14:54:45.974Z","9.0.14":"2019-12-06T08:32:45.039Z","9.0.15":"2019-12-06T11:55:42.500Z","9.0.16":"2019-12-06T15:28:39.193Z","9.0.17-alfa.1":"2019-12-09T14:14:41.306Z","9.0.17":"2019-12-10T11:04:34.211Z","9.0.18":"2019-12-10T12:27:22.698Z","9.0.19":"2019-12-10T13:07:09.670Z","9.0.20":"2019-12-11T08:03:05.513Z","9.0.21":"2019-12-12T13:05:28.167Z","9.0.22":"2019-12-17T08:45:47.367Z","9.0.23":"2019-12-19T09:00:54.245Z","9.0.25":"2019-12-23T11:28:08.596Z","9.0.26":"2019-12-23T17:06:34.037Z","9.0.27":"2019-12-23T23:06:34.421Z","9.0.28":"2019-12-26T13:34:06.478Z","9.0.29":"2019-12-26T18:18:25.155Z","9.0.30":"2019-12-27T08:35:36.621Z","9.0.32":"2020-01-02T16:30:14.226Z","9.0.33":"2020-01-02T17:07:43.096Z","9.0.34":"2020-01-09T14:19:17.927Z","9.0.35":"2020-01-09T17:35:52.386Z","10.0.0":"2020-01-14T11:44:10.250Z","10.0.1":"2020-01-14T14:40:44.820Z","10.0.2":"2020-01-14T17:36:14.117Z","10.0.3":"2020-01-15T16:34:30.348Z","10.0.4":"2020-01-29T15:44:02.065Z","10.1.0":"2020-01-30T03:35:23.347Z","10.1.1":"2020-01-30T16:10:17.219Z","10.1.2":"2020-02-04T13:12:01.708Z","10.1.3-alpha.1":"2020-02-06T08:42:47.921Z","10.1.3":"2020-02-06T12:39:45.454Z","10.1.4":"2020-02-06T17:09:18.392Z","10.1.5":"2020-02-08T19:41:23.675Z","10.1.6":"2020-02-10T18:12:32.620Z","10.1.7":"2020-02-11T17:38:13.743Z","10.1.8":"2020-02-12T11:36:37.084Z","10.1.9":"2020-02-14T15:05:39.128Z","10.1.10":"2020-02-18T16:10:13.275Z","10.1.11":"2020-02-18T17:44:55.094Z","10.1.12-alfa.0":"2020-02-21T18:55:00.387Z","10.1.12-alfa.1":"2020-02-23T19:00:52.778Z","10.1.12-beta.1":"2020-02-24T19:39:08.432Z","10.1.12-beta.2":"2020-02-25T09:53:14.175Z","10.1.12":"2020-02-25T14:44:24.362Z","10.1.13-alfa.0":"2020-03-09T19:33:15.900Z","10.1.14-alfa.0":"2020-03-10T01:12:45.807Z","10.1.13":"2020-03-10T14:05:35.144Z","10.1.15-alfa.1":"2020-03-10T16:24:08.797Z","10.1.14":"2020-03-11T12:35:42.563Z","10.1.15":"2020-03-11T13:06:24.283Z","10.1.16":"2020-03-11T15:07:30.826Z","10.1.17":"2020-03-12T13:06:14.094Z","10.1.18":"2020-03-12T14:35:21.232Z","10.1.19":"2020-03-12T17:34:44.276Z","10.1.20":"2020-03-13T12:36:15.709Z","10.1.21":"2020-03-13T15:36:19.638Z","10.1.22-alfa.0":"2020-03-16T19:13:00.054Z","10.1.22":"2020-03-17T12:05:13.807Z","10.1.23":"2020-03-18T09:05:44.286Z","10.2.1-alfa-1":"2020-03-18T19:49:19.232Z","10.2.1-alfa.2":"2020-03-18T22:20:33.896Z","10.2.1":"2020-03-19T15:37:09.027Z","10.2.3":"2020-03-19T18:11:23.265Z","10.1.24-alpha.2":"2020-03-20T08:55:32.811Z","10.2.4":"2020-03-20T12:07:14.632Z","10.1.24-alpha.3":"2020-03-20T13:31:26.962Z","10.1.24-alpha.4":"2020-03-20T14:56:29.309Z","10.2.5":"2020-03-20T16:06:00.814Z","10.2.6":"2020-03-20T16:41:27.667Z","10.2.7":"2020-03-23T13:36:38.381Z","10.2.8":"2020-03-24T08:48:15.582Z","10.2.10":"2020-03-25T09:40:43.823Z","10.2.11":"2020-04-01T10:36:59.346Z","10.2.12":"2020-04-02T14:09:31.983Z","11.0.0-alfa.4":"2020-04-03T00:05:49.296Z","0.0.0-button.less.2":"2020-04-06T13:29:53.230Z","0.0.0-button.less.3":"2020-04-06T15:25:07.930Z","11.0.0":"2020-04-06T17:35:44.759Z","11.0.1":"2020-04-07T12:05:33.475Z","11.0.2":"2020-04-07T13:05:57.978Z","11.0.3":"2020-04-07T13:40:07.655Z","11.0.4":"2020-04-07T16:39:29.888Z","11.0.5":"2020-04-07T21:09:26.581Z","11.0.6":"2020-04-08T08:05:53.345Z","11.0.7-alfa.0":"2020-04-08T21:26:17.350Z","11.0.7":"2020-04-09T21:07:18.191Z","11.0.8":"2020-04-10T11:35:44.955Z","11.0.9":"2020-04-10T12:09:51.283Z","11.0.10":"2020-04-15T15:44:19.438Z","11.0.11":"2020-04-17T12:39:47.012Z","11.0.12":"2020-04-21T11:09:24.452Z","11.0.13":"2020-04-21T12:38:56.464Z","11.0.14":"2020-04-22T09:05:38.405Z","11.0.15":"2020-04-22T13:05:49.000Z","11.0.16":"2020-04-22T14:07:37.066Z","11.0.17":"2020-04-22T16:35:41.098Z","11.0.18":"2020-04-22T18:06:57.168Z","11.0.19":"2020-04-23T08:36:46.777Z","11.0.20":"2020-04-24T09:39:55.958Z","11.0.22":"2020-04-28T09:17:40.667Z","11.0.23":"2020-04-28T09:51:52.342Z","11.0.24":"2020-04-28T14:44:07.804Z","11.0.25":"2020-04-30T12:08:08.898Z","11.0.25-pr17429":"2020-05-06T08:23:16.797Z","11.0.26":"2020-05-06T11:10:57.044Z","11.0.26-pr17455":"2020-05-06T13:00:38.330Z","11.0.26-pr17455-2":"2020-05-06T14:32:11.619Z","11.0.26-pr17455-3":"2020-05-07T06:38:22.887Z","11.0.27":"2020-05-07T08:47:38.324Z","11.0.26-pr17455-5":"2020-05-07T08:57:49.325Z","11.0.26-pr17455-6":"2020-05-07T09:49:29.182Z","11.0.28":"2020-05-07T14:08:17.091Z","11.0.29":"2020-05-07T14:37:38.541Z","11.0.30":"2020-05-08T09:13:56.539Z","11.0.31":"2020-05-12T07:41:40.318Z","11.0.32":"2020-05-12T11:36:14.228Z","11.0.33":"2020-05-13T07:40:15.154Z","11.0.34":"2020-05-14T08:38:08.395Z","11.0.35-alfa.2":"2020-05-14T14:35:08.015Z","11.0.35":"2020-05-14T17:36:00.575Z","11.0.37":"2020-05-15T10:27:14.004Z","11.0.38":"2020-05-15T13:36:39.015Z","11.0.39":"2020-05-15T14:06:57.575Z","11.0.36-beta":"2020-05-16T14:43:06.225Z","11.0.41":"2020-05-18T10:41:29.037Z","11.0.43":"2020-05-19T10:49:47.379Z","11.0.44":"2020-05-20T09:15:08.409Z","11.0.44-alpha.1":"2020-05-20T09:23:08.581Z","11.0.45":"2020-05-20T11:10:53.166Z","11.0.46":"2020-05-20T11:42:48.127Z","11.0.47":"2020-05-21T07:39:53.368Z","11.0.48":"2020-05-21T09:38:21.134Z","11.0.49":"2020-05-21T11:36:50.738Z","11.0.50":"2020-05-21T12:09:11.947Z","11.0.51":"2020-05-21T12:37:27.971Z","11.0.52":"2020-05-22T07:13:33.872Z","11.0.53":"2020-05-22T11:38:21.568Z","11.0.54":"2020-05-22T14:41:53.523Z","11.0.55":"2020-05-25T06:11:40.723Z","11.0.57":"2020-05-25T10:43:50.161Z","11.0.58":"2020-05-25T11:09:25.904Z","11.0.59":"2020-05-25T13:43:54.645Z","11.0.60-PR1162":"2020-05-26T15:04:17.081Z","11.0.60-PR1162-2":"2020-05-27T06:35:55.196Z","11.0.60":"2020-05-27T10:08:42.425Z","11.0.61":"2020-05-27T10:36:56.669Z","11.0.61-PR1162":"2020-05-27T12:10:08.359Z","11.0.62":"2020-05-27T14:06:10.956Z","11.0.63":"2020-05-27T16:08:34.232Z","11.0.64":"2020-05-28T11:05:57.444Z","11.0.65":"2020-05-28T13:36:08.485Z","11.0.66":"2020-05-29T12:43:17.139Z","11.0.67":"2020-06-01T07:08:19.327Z","11.0.68":"2020-06-01T08:10:09.462Z","11.0.69":"2020-06-01T09:14:14.581Z","11.0.70-alfa.0":"2020-06-01T14:06:41.070Z","11.0.70":"2020-06-01T14:12:02.388Z","11.0.71":"2020-06-01T15:43:13.826Z","11.0.72":"2020-06-02T06:39:17.264Z","11.0.73":"2020-06-03T07:40:30.335Z","11.0.74":"2020-06-04T09:06:54.438Z","11.0.75":"2020-06-04T12:36:58.181Z","11.0.76":"2020-06-04T14:09:02.435Z","11.0.77-alfa.0":"2020-06-05T10:14:22.504Z","11.0.77-alfa.2":"2020-06-05T13:23:54.783Z","11.0.77":"2020-06-05T15:07:16.424Z","11.0.78":"2020-06-09T16:42:04.177Z","0.0.0-beta-1d89636d60f0ca1cc5d37984f73f12170c6f87ec":"2020-06-10T08:21:11.167Z","0.0.0-beta-94d061c7300fff19abe5601835f84fd9ecc96bd4":"2020-06-10T08:27:23.059Z","0.0.0-beta-09225da0130289a8b0a047cf81c6d7edcdf5a425":"2020-06-10T14:53:44.299Z","0.0.0-beta-4ab9e89f87b5746cc9a6a6962493858df017302a":"2020-06-11T09:26:39.079Z","11.0.78-alpha.0":"2020-06-12T13:31:55.693Z","0.0.0-beta-8f85039cf0b72686cf1e69925c639893c413ce41":"2020-06-15T09:21:14.066Z","11.0.79-PR-18851":"2020-06-15T12:43:35.426Z","11.0.79-PR-18851-2":"2020-06-16T09:14:31.527Z","11.0.79":"2020-06-16T12:08:14.228Z","11.0.80":"2020-06-16T13:38:30.060Z","11.0.79-alfa.0":"2020-06-17T12:58:31.535Z","11.0.81-alpha.1":"2020-06-18T06:44:05.906Z","11.0.81-alpha.2":"2020-06-18T07:38:27.742Z","11.0.79-alpha.0":"2020-06-18T19:20:22.622Z","0.0.0-beta-383dccc7c35d63a1a93a7e6b1844e2c6a46b166e":"2020-06-19T07:44:22.439Z","0.0.0-beta-db7f57034f27b7e988047e47ae271b91413f38de":"2020-06-19T08:19:05.170Z","11.0.79-alpha.1":"2020-06-19T08:56:41.231Z","0.0.0-beta-d13d604ea86d633d60bfc0bf3e0b7e0ad488db93":"2020-06-19T10:13:18.118Z","11.0.79-alpha.2":"2020-06-19T10:19:42.851Z","11.0.81":"2020-06-19T11:38:31.780Z","11.0.79-alpha.4":"2020-06-19T12:41:50.538Z","0.0.0-beta-7070736eb20b25f81e1b4fdf91ec67c2769aa25a":"2020-06-19T13:21:24.897Z","11.0.79-alpha.5":"2020-06-19T14:26:59.731Z","11.0.82":"2020-06-19T15:19:30.312Z","0.0.0-beta-2ffb812620c85aec0b852aacf3b2938a58d67f17":"2020-06-19T16:19:20.363Z","11.0.83":"2020-06-22T06:36:33.450Z","11.0.84":"2020-06-22T07:36:56.856Z","11.0.79-alpha.7":"2020-06-22T11:04:32.716Z","0.0.0-beta-1d54b50d62d973869eb137a08fdfb14319c28b54":"2020-06-22T11:28:52.503Z","11.0.79-alpha.8":"2020-06-22T15:26:44.769Z","11.0.85":"2020-06-23T12:07:17.074Z","11.0.86":"2020-06-24T07:08:10.524Z","11.0.87":"2020-06-24T07:37:42.489Z","11.0.88":"2020-06-25T10:06:54.953Z","11.0.89":"2020-06-25T13:07:21.981Z","11.0.90":"2020-06-25T15:07:20.674Z","11.0.91":"2020-06-26T07:08:57.453Z","0.0.0-beta-a4922a8abc8672db25e247e724899b3614b5e590":"2020-06-26T09:50:20.993Z","11.0.92":"2020-07-01T07:43:11.955Z","11.1.0":"2020-07-01T14:05:18.401Z","11.1.1":"2020-07-02T07:11:54.025Z","11.1.2":"2020-07-02T07:37:07.613Z","11.1.3":"2020-07-02T14:07:14.439Z","11.1.4":"2020-07-03T11:37:14.483Z","11.1.5":"2020-07-06T11:07:09.313Z","11.1.6":"2020-07-08T05:37:15.936Z","11.1.7":"2020-07-09T09:50:00.903Z","11.1.8":"2020-07-09T12:50:43.561Z","12.0.0":"2020-07-09T12:56:11.296Z","0.0.0-beta-9b42dcf4b4ac84719368154faf4660c7f4e50f1f":"2020-07-09T13:26:19.046Z","12.0.1":"2020-07-09T14:17:44.613Z","12.0.2":"2020-07-09T15:42:14.368Z","12.0.3":"2020-07-10T11:45:59.763Z","12.0.4":"2020-07-13T14:53:47.123Z","12.0.5":"2020-07-15T09:17:56.446Z","0.0.0-beta-a243eb0865a10ac17fe72b19fd03464a5bfc4016":"2020-07-15T09:43:16.086Z","12.0.6":"2020-07-15T11:19:22.633Z","0.0.0-beta-64336c04a3d9fad56fa054f39d4c1b232c2afdee":"2020-07-15T11:35:27.643Z","12.0.7":"2020-07-15T12:47:54.677Z","12.0.8":"2020-07-16T07:19:04.446Z","12.0.9":"2020-07-16T14:24:05.588Z","12.0.10":"2020-07-17T06:19:24.406Z","12.0.11":"2020-07-17T13:55:48.640Z","12.0.12":"2020-07-20T05:51:58.527Z","12.0.13":"2020-07-20T08:19:34.388Z","12.0.15":"2020-07-20T12:49:35.463Z","12.0.16":"2020-07-20T15:22:17.118Z","13.0.0-alfa.2":"2020-07-21T06:54:55.138Z","0.0.0-beta-d5c7ae2ec571fa1fcd1e9f900f0b684741f5a93b":"2020-07-21T07:23:13.295Z","13.0.0-alfa.3":"2020-07-21T09:34:23.295Z","13.0.0":"2020-07-21T13:19:19.946Z","13.0.1":"2020-07-21T16:26:12.606Z","13.0.2-alfa.0":"2020-07-22T06:59:46.487Z","13.0.2":"2020-07-22T08:19:17.035Z","13.0.3":"2020-07-22T11:19:06.640Z","13.0.4":"2020-07-22T12:50:28.984Z","13.0.5":"2020-07-22T14:19:07.358Z","13.0.6":"2020-07-22T16:20:04.077Z","0.0.0-beta-900d6d8c9663ae4b4f6d7b0dd25304108a12dd04":"2020-07-23T13:32:31.727Z","13.0.7":"2020-07-24T07:19:37.120Z","13.0.8":"2020-07-24T09:49:22.678Z","13.0.9":"2020-07-27T06:19:00.296Z","13.0.10":"2020-07-27T07:20:04.336Z","13.0.11":"2020-07-27T11:19:31.746Z","0.0.0-beta-5361e93f2d9504a98a17448bb5b0db7833fe38c4":"2020-07-28T11:31:56.945Z","13.1.0-alfa.0":"2020-07-29T05:36:48.550Z","13.0.12":"2020-07-29T05:51:10.801Z","13.0.13":"2020-07-29T09:55:45.142Z","13.1.0-alfa.2":"2020-07-29T13:32:45.902Z","0.0.0-beta-2f5b5fd3abed04e039631170a7832fd7092df6f8":"2020-07-30T05:49:50.665Z","13.0.14":"2020-07-30T07:49:25.131Z","0.0.0-beta-4936b03205075ae2b665ce6e65d39c69aa0c7623":"2020-07-30T11:06:26.338Z","13.1.0":"2020-07-30T13:20:45.866Z","13.1.1":"2020-07-30T14:57:47.967Z","13.1.2":"2020-07-30T15:20:57.659Z","13.1.3":"2020-07-30T22:25:16.486Z","13.1.4":"2020-07-31T07:20:04.804Z","0.0.0-beta-fa513f60bda2e846b4cc794c9639d68e27fb7bdd":"2020-07-31T09:26:10.578Z","0.0.0-beta-735c969b3d81db2b6bb2da3362094a97081e6361":"2020-07-31T09:47:53.446Z","0.0.0-beta-78f262de957e650004545f8262b3637908f51964":"2020-07-31T10:31:57.404Z","0.0.0-beta-d187ddac829b76cc5c38a16ac0beed2607698796":"2020-07-31T10:51:27.662Z","13.1.5":"2020-07-31T11:19:52.761Z","13.1.6":"2020-07-31T12:54:08.461Z","13.1.7":"2020-08-03T06:49:52.098Z","13.1.8":"2020-08-03T09:49:40.194Z","0.0.0-beta-7c91aef64ad9fa1c91b34a5f1bc095dc00789c79":"2020-08-03T12:45:54.609Z","0.0.0-beta-0ac3ffbefe5658d06d1a76f00862509f67996fd1":"2020-08-03T13:22:24.323Z","13.1.9":"2020-08-04T06:50:22.873Z","0.0.0-beta-3b54c1f5cc164b5bdba2905e07f7e7dfe44b2427":"2020-08-04T11:47:44.450Z","13.1.10":"2020-08-04T12:40:37.045Z","0.0.0-beta-5312b7935013544a88b644868465657895fd3518":"2020-08-04T12:54:10.495Z","13.2.0":"2020-08-04T13:40:04.002Z","0.0.0-beta-2cfd06bd9f23c17ea70ae9e83908f450f91d44c4":"2020-08-04T16:30:29.424Z","13.2.1":"2020-08-05T07:09:36.538Z","13.2.2":"2020-08-05T08:10:58.415Z","0.0.0-beta-9b73715220890d00098da42c0e106b49df7cc95c":"2020-08-05T10:25:31.127Z","0.0.0-beta-5614777ccd4cb59dbc6d58bd5a18d012aabc997e":"2020-08-05T11:07:25.148Z","0.0.0-beta-f298f2e026429872029c04c6f5932464ba9c2b33":"2020-08-05T11:21:50.744Z","0.0.0-beta-69181f439a06c78281f1dbdb6faf71ec426adb2c":"2020-08-05T12:14:08.508Z","13.2.4":"2020-08-05T12:39:57.395Z","13.2.5":"2020-08-06T12:00:15.614Z","13.2.6":"2020-08-06T12:30:25.301Z","13.2.7":"2020-08-06T12:39:41.737Z","13.2.8":"2020-08-06T13:10:49.974Z","13.2.9":"2020-08-06T15:38:57.302Z","13.2.10":"2020-08-07T07:39:56.550Z","13.2.11":"2020-08-07T08:38:49.173Z","13.2.12":"2020-08-07T14:09:52.385Z","13.3.0":"2020-08-11T08:38:53.505Z","0.0.0-beta-f6b169b90e7df44dcc7063874f37d94a7b8d3c5e":"2020-08-11T13:56:35.097Z","0.0.0-beta-34787de4e8107b882968cdee3428d0b3693a7cd3":"2020-08-11T14:16:21.631Z","0.0.0-beta-57984ed5e2b92dcfd77712ebabf5dcc4f2147735":"2020-08-11T15:07:52.922Z","13.4.0":"2020-08-11T19:08:52.694Z","0.0.0-beta-d4339b42f8569ffe026a95b7e69dbcf753606650":"2020-08-12T06:39:38.137Z","13.4.1":"2020-08-12T09:39:58.838Z","13.4.2":"2020-08-12T13:10:53.183Z","13.5.0":"2020-08-13T11:15:55.141Z","0.0.0-beta-ce68b004fe5d29633ed754f81e25a546c8555d3b":"2020-08-13T12:57:33.929Z","13.5.1":"2020-08-13T13:40:19.405Z","0.0.0-beta-a2779b6701761cca02b0690bcd021b5aeacde1c8":"2020-08-13T13:49:31.770Z","13.5.3":"2020-08-14T06:42:21.984Z","13.5.4":"2020-08-14T07:10:06.908Z","13.5.5":"2020-08-14T08:10:03.500Z","13.6.0":"2020-08-14T09:39:25.740Z","13.6.1":"2020-08-14T10:11:07.741Z","13.6.2":"2020-08-14T13:11:07.152Z","0.0.0-beta-113d06cef9eafdce85eec873edd5406a899143a6":"2020-08-17T08:06:31.081Z","0.0.0-beta-361d4c2b9411c6bbfe72d1e5f33b711e8ee497eb":"2020-08-17T08:50:16.612Z","13.6.3":"2020-08-17T09:10:18.680Z","0.0.0-beta-5aef3e3a34721375b126c2bf9d6950286ae8ae3d":"2020-08-17T11:29:20.404Z","0.0.0-beta-6205b754d9ca956cf56808cdd1b6e55a1c553cb8":"2020-08-17T12:44:52.191Z","0.0.0-beta-cd5bf79b28602865d9d9fdd0fd1816b251579923":"2020-08-18T05:45:46.712Z","13.6.4":"2020-08-18T10:11:44.342Z","13.6.5":"2020-08-18T10:36:17.800Z","0.0.0-beta-7dbfc7b35bea866eb7354d5c320e94a8a63cb62d":"2020-08-18T10:51:29.399Z","0.0.0-beta-ad9e040e2f046e383605533a9a456d65db58b98f":"2020-08-18T11:48:48.790Z","13.6.6":"2020-08-19T06:41:04.952Z","0.0.0-beta-ad26c33069163ee205b8b5853b47a02fd8c9b409":"2020-08-19T07:33:31.165Z","13.6.7":"2020-08-19T08:08:58.261Z","13.6.8":"2020-08-21T10:09:26.853Z","0.0.0-beta-eb9ca545fc041266b83a5d28661f463217f9bbf8":"2020-08-25T08:02:14.359Z","0.0.0-beta-e5fabe0005561bb1645993c5b2b17eb9641f5d67":"2020-08-25T09:24:44.929Z","13.7.0":"2020-08-25T12:40:51.108Z","0.0.0-beta-82b64081f6c82696f676d6b69e1cf1d9aab878ce":"2020-08-26T13:28:11.814Z","0.0.0-beta-abfcf7378b2747cd561b9e691e236b58059f96f8":"2020-08-26T15:00:19.235Z","0.0.0-beta-05084b65a3ecb000e5c89e4ba865b115f35bc71f":"2020-08-26T15:13:10.059Z","0.0.0-beta-fe0a519744826539abd8160eab0d2d03393f39a1":"2020-08-26T15:20:26.637Z","13.7.1":"2020-08-26T17:10:10.955Z","13.8.0":"2020-08-26T19:40:23.158Z","0.0.0-beta-bb8e631cb907de9794e113908b5fe678a24460d6":"2020-08-26T20:09:00.786Z","0.0.0-beta-cf2374cd4684eca097f3e006d2168bfb9e52fd99":"2020-08-27T08:52:03.405Z","0.0.0-beta-2c9a759d88c5d2ef99cf9fdfa747a7fc837182c7":"2020-08-27T10:29:32.419Z","0.0.0-beta-db4ffcd69ae80b0f07cfb0f39e374005cec6909b":"2020-08-27T11:36:30.294Z","0.0.0-beta-833b1b5a1cb9046acab52712bf6c2738ed12009b":"2020-08-27T11:57:25.846Z","13.8.1":"2020-08-28T07:39:04.755Z","13.8.2":"2020-08-28T08:10:52.751Z","13.8.3":"2020-08-31T07:40:43.474Z","13.8.4":"2020-08-31T09:46:48.084Z","13.8.5":"2020-08-31T10:09:32.576Z","13.8.6":"2020-09-01T12:39:33.457Z","0.0.0-beta-132b38889fbb7b15e3b096898cca0f788b1ed8cf":"2020-09-02T06:37:39.859Z","13.8.7":"2020-09-02T13:39:22.794Z","0.0.0-beta-afbddf4304a645b2dc21fb935d2679959e0f6ec7":"2020-09-04T07:15:11.919Z","13.8.8":"2020-09-04T09:39:11.309Z","13.8.10":"2020-09-04T14:42:23.790Z","13.8.11":"2020-09-07T06:38:28.909Z","13.8.12":"2020-09-09T06:12:22.276Z","13.9.0":"2020-09-09T12:15:19.951Z","0.0.0-beta-fca79d972f833e92321de593220ff53a9cd77176":"2020-09-09T13:28:02.742Z","0.0.0-beta-8527788ac0f4672862b282fee8aed9cb175eb5c6":"2020-09-09T13:35:18.454Z","13.9.1":"2020-09-09T13:43:46.896Z","0.0.0-beta-a58711d4a4d404a3213a6b3746d87a79d29c1b5f":"2020-09-10T08:58:49.167Z","0.0.0-beta-62eabfd7f93319525020211b550dcbd308ff7aae":"2020-09-10T09:36:18.967Z","0.0.0-beta-777cf4b490159233d24ac47338c909a04b2ac264":"2020-09-10T09:49:50.380Z","13.9.2":"2020-09-10T13:08:37.427Z","0.0.0-beta-c2aa8fd6dc7fcaf138182d278c2daa8f99a09695":"2020-09-10T15:00:38.065Z","0.0.0-beta-a1c7ca7ae1aa9656062d1f7dbc0bf97d89667bd8":"2020-09-11T07:45:26.239Z","13.9.3":"2020-09-11T08:08:44.834Z","13.9.5":"2020-09-11T11:11:00.959Z","13.9.6":"2020-09-11T12:44:52.279Z","0.0.0-beta-dba8b3e88f0c08ba60f22b810de7eb28f1287b92":"2020-09-11T13:16:55.726Z","13.9.7":"2020-09-11T14:08:20.791Z","0.0.0-beta-ec565d5a92e7f227efd7e9113eb682e26f9869aa":"2020-09-11T14:20:54.223Z","0.0.0-beta-851563ff71aa2580d8f30083ff2347d9e595f67c":"2020-09-14T06:09:52.495Z","13.9.8":"2020-09-14T06:16:27.696Z","13.9.9":"2020-09-14T07:40:35.031Z","0.0.0-beta-5a8f0f8cddd4595bc9b364dec8db56da81f5a022":"2020-09-14T09:36:18.398Z","0.0.0-beta-30550afc352bf8fd3055fa77d83dfd89ade09af5":"2020-09-14T11:00:20.649Z","0.0.0-beta-1dad32d8e4f9a10bdbaf41434dcb7023750b2519":"2020-09-14T11:40:56.781Z","0.0.0-beta-b201262fbf23f3527cb820b10a38ed38afe4031f":"2020-09-15T07:37:14.850Z","13.9.10":"2020-09-15T09:39:50.870Z","0.0.0-beta-d1a3d0e1ecdbc70ec4fbd9e12081bdf27e898100":"2020-09-15T09:49:09.296Z","13.9.18":"2020-09-16T12:10:51.245Z","0.0.0-beta-f8941b783d06b0c8c762807d1c0835745370926d":"2020-09-16T12:20:12.202Z","13.9.19":"2020-09-16T13:39:09.492Z","13.9.20":"2020-09-16T14:11:40.651Z","0.0.0-beta-d13f999d9a455ee4e839414ca48fe982bea3f444":"2020-09-17T09:16:13.237Z","0.0.0-beta-5fd3d0c6fc667bdd2092f09d7ed4ee8223372721":"2020-09-17T12:35:54.806Z","0.0.0-beta-e3c3c0bec8b3ca2ad80fb9f8bf10fab43819519b":"2020-09-17T13:11:00.791Z","13.9.21":"2020-09-17T14:08:57.918Z","0.0.0-beta-f47e01138d068f85ff3705a7122f9a8d4325f990":"2020-09-18T10:59:34.162Z","0.0.0-beta-10101d478615c8a32e1ecccccfdccf7a26d70581":"2020-09-21T06:45:39.473Z","0.0.0-beta-635dc5a7cf4b1a8cfc9b2d72f2cfdf46d63af87e":"2020-09-21T10:16:13.749Z","0.0.0-beta-ff2a2bb98129d9726323d9f847378c2949827716":"2020-09-22T07:32:23.083Z","0.0.0-beta-f43cdb7f9666177fd96d7769d89cdfa05f0ebbfc":"2020-09-22T09:27:59.220Z","0.0.0-beta-7bf17db93156382c09bf5990d3981440145c3ea5":"2020-09-22T11:02:52.245Z","13.9.23":"2020-09-22T12:38:58.674Z","0.0.0-beta-6902c405911aedc61c91de92cfcbab4034c9a323":"2020-09-22T13:02:45.836Z","13.9.24":"2020-09-23T06:09:21.859Z","0.0.0-beta-bf9bbf8d64053eea49b6890b6b0f53ff71445053":"2020-09-23T08:26:58.495Z","0.0.0-beta-73a9a724bb89489593d6cd5034812741afea419b":"2020-09-23T08:35:11.147Z","13.9.25":"2020-09-23T09:08:46.133Z","13.9.26":"2020-09-23T11:39:56.451Z","13.9.27":"2020-09-23T12:15:08.728Z","0.0.0-beta-f28bcf178a861a3867117882e9f3714c915b9271":"2020-09-24T14:46:06.287Z","0.0.0-beta-58e3429543c9795e724d50119110215b476b997a":"2020-09-24T15:49:52.371Z","0.0.0-beta-aea108bf6e3a94f04a1a6885825e7602c7279abc":"2020-09-24T16:00:38.303Z","0.0.0-beta-87714e31feee9e92fb0bd99ad419db111f575d66":"2020-09-24T16:47:20.943Z","0.0.0-beta-d6ddd79418189accb5e74c15590382a4c0eac58a":"2020-09-24T16:53:53.981Z","13.9.28":"2020-09-25T07:40:15.221Z","13.9.30":"2020-09-25T08:41:20.064Z","0.0.0-beta-2c4e72aa41a75d39adcf3cbc39295d6fa924fa7b":"2020-09-25T14:07:50.423Z","13.9.33":"2020-09-25T15:42:01.898Z","0.0.0-beta-753b0b5fbe11d08dd5e1a36d2afb964f5a2efefe":"2020-09-27T13:21:07.329Z","13.10.0":"2020-09-27T14:40:04.270Z","13.10.1":"2020-09-28T06:10:12.188Z","0.0.0-beta-5070bd556d424ccdcddd2279b47d868b3d063e40":"2020-09-28T13:10:58.869Z","13.10.2":"2020-09-29T13:38:56.754Z","0.0.0-beta-72ccb306dee045b592b36e313cccb516b790f66f":"2020-09-30T12:56:08.220Z","0.0.0-beta-c849a54c60be586be4ffbc047aa35e868cee3cf2":"2020-09-30T13:49:45.431Z","0.0.0-beta-8e64d6b3e6e694ed6a9bbd1efe5bf058ff91872f":"2020-09-30T15:52:01.891Z","13.10.3":"2020-10-01T06:10:22.885Z","13.10.4":"2020-10-01T07:09:57.164Z","13.10.5":"2020-10-01T10:09:37.788Z","13.10.6":"2020-10-02T06:09:52.276Z","0.0.0-beta-4d817d1504343f12b46e9a94541e47abb1479686":"2020-10-02T12:09:29.788Z","13.10.7":"2020-10-06T06:09:54.061Z","13.10.8":"2020-10-06T07:40:31.815Z","13.10.9":"2020-10-06T08:38:15.117Z","0.0.0-beta-7736db120333f6af663eb7c4148cbf9ebb658321":"2020-10-06T09:10:50.897Z","0.0.0-beta-4c1f24cc4c3b4be415b9f611c0f4de73cb59f221":"2020-10-06T10:11:53.753Z","13.10.10":"2020-10-07T15:09:14.058Z","13.10.11":"2020-10-09T13:44:06.988Z","13.10.12":"2020-10-12T15:40:04.348Z","13.10.13":"2020-10-13T06:41:30.600Z","0.0.0-beta-9193654223ac367eb246b88ae206a7cb8f19a5a5":"2020-10-13T14:46:12.560Z","0.0.0-beta-f904a2ef4c8c602b893668093054ddbb805a6318":"2020-10-13T15:54:47.016Z","0.0.0-beta-4cd9671357efeca33e594dd9cec7983bee2ed924":"2020-10-14T19:35:12.550Z","0.0.0-beta-95e9301b0097c82cb8e68583fe30232957d2067f":"2020-10-15T06:39:53.331Z","13.10.14":"2020-10-15T09:39:21.514Z","0.0.0-beta-0765b2f626d63016d88ca56ea633a43826924e85":"2020-10-15T10:58:07.482Z","0.0.0-beta-34902e954646814922e7acb0addcbbd45911b5ed":"2020-10-15T15:31:37.171Z","0.0.0-beta-90c7bbb446b926e8db64e14b1ae8041f80407316":"2020-10-15T15:56:03.815Z","13.10.15":"2020-10-16T11:11:14.412Z","0.0.0-beta-45fd0dcea108fe764c023eb37c949d78cf09ef9d":"2020-10-16T14:15:54.427Z","13.10.16":"2020-10-16T14:39:20.486Z","0.0.0-beta-a7508f66c8d857ea6c1dd6c1ecb6d5031bf7997b":"2020-10-18T16:52:28.853Z","0.0.0-beta-31d42cc4593d5741a7375d90a864ccbaabacab38":"2020-10-18T17:41:09.508Z","13.10.17":"2020-10-19T06:41:01.593Z","13.10.18":"2020-10-19T10:10:28.243Z","0.0.0-beta-07c0d38e011d557171886ee9bffd997c2c9f430f":"2020-10-19T12:04:23.265Z","0.0.0-beta-649533ae01f3587c76086620f4e524dfaf136c0f":"2020-10-20T06:06:45.644Z","0.0.0-beta-564010f4b678c6d175d3fd69ffa269c636b6d61e":"2020-10-20T09:04:51.912Z","13.10.19":"2020-10-20T09:16:32.298Z","14.0.0":"2020-10-20T10:11:49.854Z","0.0.0-beta-f8d3720b16cd0fd51ddedf403d4b3342275850ac":"2020-10-20T16:12:58.793Z","14.1.0":"2020-10-20T19:10:29.718Z","0.0.0-beta-f10fab75d2332b8e554e5e96b5d8ca76c612bc69":"2020-10-21T00:19:44.603Z","0.0.0-beta-e747f87ed89f8c78f3db004a3df43a05faedb32d":"2020-10-21T08:51:22.369Z","0.0.0-beta-57216126f270f831801365882c3211bb62a1a01f":"2020-10-21T10:50:26.744Z","0.0.0-beta-6a9bb000006e5937aa40c22b98eedadc3fb5c9e5":"2020-10-21T17:08:59.106Z","0.0.0-beta-afe808bd4464ad4c934691c26b2b9edc8900d0e9":"2020-10-21T18:51:58.163Z","0.0.0-beta-b678e8b974eb51df326cbbee4599009c81183107":"2020-10-22T09:59:22.189Z","0.0.0-beta-36e0c370342bf71d898229fb4b3be973a3a3e182":"2020-10-22T18:18:56.913Z","14.1.1":"2020-10-26T20:09:40.691Z","14.1.3":"2020-10-27T14:09:19.279Z","0.0.0-beta-865ac4f542907598a8f0e8a37b4dfa3d5d2146cf":"2020-10-27T16:33:08.816Z","0.0.0-beta-1bc16544f8d6c7e2c688cd3eb96ab74d34255a14":"2020-10-27T18:02:35.884Z","14.1.4":"2020-10-30T06:39:59.194Z","14.1.5":"2020-10-30T16:38:56.704Z","14.1.6":"2020-11-02T08:17:22.022Z","14.2.0":"2020-11-02T09:39:40.437Z","14.2.1":"2020-11-03T06:39:09.557Z","14.2.2":"2020-11-03T07:40:18.134Z","14.2.3":"2020-11-04T10:38:57.611Z","0.0.0-beta-57da74dae89f4b0bc339738955d0e6b1919bf07b":"2020-11-04T14:11:52.928Z","0.0.0-beta-6e86feb546ef0151703f82bae7b9c93e6d3353cd":"2020-11-04T18:58:51.264Z","0.0.0-beta-f797aa6a2a616558e80c6456017577c7880f6f2e":"2020-11-04T19:38:44.110Z","14.2.4":"2020-11-05T07:40:26.257Z","0.0.0-beta-b42bfbe9c53d6e1dc4f808760e14ea6fe25b45ee":"2020-11-05T10:06:39.551Z","14.2.5":"2020-11-05T11:40:40.578Z","14.3.0":"2020-11-05T12:15:02.137Z","14.3.1":"2020-11-06T06:39:05.990Z","14.3.2":"2020-11-06T13:09:05.645Z","14.3.3":"2020-11-06T15:40:38.611Z","14.3.4":"2020-11-06T16:09:18.392Z","14.3.5":"2020-11-06T17:10:25.838Z","14.3.6":"2020-11-09T07:08:58.814Z","14.3.7":"2020-11-09T08:39:05.700Z","0.0.0-beta-bfbfcb1db5dd9bbc05e5146fd6271eca2b35d9f1":"2020-11-09T10:46:17.303Z","14.3.8":"2020-11-09T13:12:56.892Z","0.0.0-beta-acaf8c48fa81735d2a2ecf69b4109a887b6e71d7":"2020-11-11T10:24:29.646Z","14.3.9":"2020-11-12T08:44:19.213Z","15.0.0-alfa.0":"2020-11-12T15:48:15.328Z","15.0.0":"2020-11-13T08:08:57.322Z","0.0.0-beta-52def1e339a6a36f76df1bcc0bbd6ecfa74b6c66":"2020-11-13T08:31:24.299Z","0.0.0-beta-06cd0afffd360648dbc55798da09cbe1b2f69dfa":"2020-11-13T13:05:53.638Z","15.0.1":"2020-11-13T14:41:22.240Z","15.0.2":"2020-11-13T16:09:43.648Z","15.0.3":"2020-11-16T16:40:47.479Z","0.0.0-beta-7ced764fe819fa47d90f45827b8cd25dcd4c0374":"2020-11-16T17:29:49.128Z","15.0.4":"2020-11-17T07:15:02.341Z","15.0.5":"2020-11-18T06:12:18.181Z","15.0.6":"2020-11-18T11:42:36.285Z","15.0.7":"2020-11-19T08:16:27.919Z","15.0.8":"2020-11-19T09:09:16.009Z","15.0.9":"2020-11-19T14:39:15.188Z","15.0.10":"2020-11-25T08:10:28.611Z","15.0.11":"2020-11-25T13:14:42.711Z","0.0.0-beta-6b9c0b958feac9a262e7ea8308d5fa07ccc23338":"2020-11-25T15:41:52.155Z","0.0.0-beta-67ff68a08a8f40bdefe3c5a3bc9640ea3538e265":"2020-11-25T19:44:37.902Z","0.0.0-beta-fad70c6c7a2da3f36eb64a30d67b7942d5da225b":"2020-11-26T05:59:55.110Z","0.0.0-beta-f901e6139fa3d94cfbc1c6cd7fdc970f0dab2b46":"2020-11-26T07:05:25.164Z","15.0.12":"2020-11-26T07:16:06.765Z","15.0.13":"2020-11-26T09:14:11.974Z","15.0.14":"2020-11-27T09:43:44.716Z","15.0.15":"2020-11-30T10:13:07.936Z","15.0.16":"2020-12-01T08:40:23.851Z","0.0.0-beta-0f7c41e65cbe46ac33d9f4f58ac799cf5838916a":"2020-12-03T10:14:02.946Z","15.0.17":"2020-12-03T13:39:36.224Z","15.0.18":"2020-12-08T09:09:14.991Z","15.0.19":"2020-12-08T11:09:41.103Z","0.0.0-beta-d00ebb64a35662fef53a46f2dbc53e107fa48a0e":"2020-12-09T12:47:27.999Z","16.0.0":"2020-12-09T16:10:43.439Z","16.0.1":"2020-12-10T09:39:04.593Z","0.0.0-beta-095b490b3776e1d9089b6a253cc2a0324e347ba8":"2020-12-10T11:12:47.368Z","16.0.2":"2020-12-10T18:40:42.424Z","16.0.3":"2020-12-11T08:42:58.273Z","16.0.4":"2020-12-11T13:39:57.103Z","16.0.5":"2020-12-11T14:13:21.783Z","16.0.6":"2020-12-11T17:09:38.387Z","16.0.7":"2020-12-14T08:39:21.416Z","16.0.8":"2020-12-14T10:41:27.603Z","0.0.0-beta-caf1956de7cd8bffffccd8b897091ecdc4542510":"2020-12-14T16:43:34.660Z","16.0.9":"2020-12-15T11:11:20.111Z","16.0.10":"2020-12-16T08:42:08.438Z","16.0.11":"2020-12-16T10:12:00.535Z","16.0.12":"2020-12-16T12:39:44.706Z","0.0.0-beta-f3f88a308665836bf0fd3ca5653e3c0948f10a35":"2020-12-16T14:30:06.829Z","0.0.0-beta-59da8a189ed729fb95a4ce85b2433e1193e63d1d":"2020-12-16T15:31:25.804Z","0.0.0-beta-53cd9ed419d5063253e04731cb15f296c6c1da82":"2020-12-16T16:57:12.949Z","16.0.13":"2020-12-17T05:42:27.460Z","16.0.14":"2020-12-17T14:13:16.321Z","0.0.0-beta-f1bd332cdd8ff9b6ca52d38f28f336227e6d3a4b":"2020-12-17T14:26:35.685Z","16.0.15":"2020-12-18T11:09:48.800Z","16.0.16":"2020-12-21T07:39:35.818Z","16.0.17":"2020-12-21T08:10:02.321Z","16.0.18":"2020-12-21T10:12:13.281Z","16.0.19":"2020-12-21T12:40:17.399Z","0.0.0-beta-649d29db5418cce9844a6e70d9f519a6d38b26af":"2020-12-21T13:30:29.149Z","16.0.20":"2020-12-22T06:12:53.124Z","0.0.0-beta-ec8aafaef0ec877fb005d8bf8c200af9f4ec5b34":"2020-12-22T07:22:21.746Z","0.0.0-beta-542ac78acc4ebef43ff6c2794fb4f26bf7cae3b7":"2020-12-22T08:12:02.088Z","0.0.0-beta-d59f07b2b55b3cad4e1115cf063348a589c8f111":"2020-12-22T09:31:55.272Z","0.0.0-beta-2ccadc99cdcdda1606384073293c0794ade948fc":"2020-12-22T09:40:05.037Z","0.0.0-beta-5fbbb9b036ee96c3f47de5f323dca2e3c224dd13":"2020-12-22T10:05:30.707Z","0.0.0-beta-a69effdc8594a2de3c6a81aa3c50784640af3cbf":"2020-12-22T10:32:57.686Z","0.0.0-beta-7664b68efc46345f930de8ff209a968328131122":"2020-12-22T11:45:44.761Z","0.0.0-beta-96ec381ce96dbe1b1cca0f116ae51807e7ce74c9":"2020-12-22T12:52:35.538Z","0.0.0-beta-83dfae974ef3a3f5e39482666e77dc5d94429580":"2020-12-22T14:22:15.068Z","16.0.21":"2020-12-22T14:40:50.212Z","0.0.0-beta-c78f0b15eb7aed45747c8bf80d2126a6e2efedf8":"2020-12-22T15:03:28.821Z","16.0.22":"2020-12-22T18:41:31.042Z","16.0.23":"2020-12-23T06:16:09.332Z","0.0.0-beta-cdf4c34be5c210986083474a18667f522a3b5a77":"2020-12-23T09:10:11.376Z","16.0.24":"2020-12-23T10:11:16.674Z","16.0.25":"2020-12-23T14:41:29.379Z","16.0.26":"2020-12-23T16:09:55.403Z","16.0.27":"2020-12-23T17:16:34.435Z","16.0.28":"2020-12-24T06:11:38.724Z","16.0.29":"2020-12-24T09:09:29.807Z","16.0.30":"2020-12-24T11:40:50.514Z","16.0.31":"2020-12-24T12:11:15.976Z","16.0.32":"2020-12-24T14:41:18.856Z","16.0.33":"2020-12-28T10:39:30.187Z","0.0.0-beta-dd3c639e6957df75980970f76b95e8d1c1952ec8":"2020-12-28T16:49:52.069Z","0.0.0-beta-99ce198fce6f06e206618993d7d7a9dea419cc0e":"2020-12-29T02:24:08.737Z","0.0.0-beta-dc8b1b23b05edf9cd824ae43af651bf1f6a2cfb2":"2020-12-29T03:15:54.644Z","0.0.0-beta-0860ff20c7aac5df91eca5e626421cad7c6dcd4d":"2020-12-29T04:31:58.895Z","0.0.0-beta-8ce0861a06ed16f2986f43dd57a66a249617e4b0":"2020-12-29T05:41:48.933Z","0.0.0-beta-07f8ca5d81e57a6ff2d3bf30fe4619dc08306f0e":"2020-12-29T06:35:23.430Z","0.0.0-beta-ef2323400fbee8cd5db2529e9148d90e7473cfbf":"2020-12-29T07:17:35.734Z","0.0.0-beta-4724bb6ae01f6c46bb18cc974433969e718d7471":"2020-12-29T08:29:59.757Z","0.0.0-beta-64f998845c160448596b410ff4f52213b5fb4ee8":"2020-12-29T12:40:27.618Z","0.0.0-beta-c0a2084dde3c3a6a37cdf84b6f2971ab5f27d27c":"2020-12-29T13:18:25.420Z","16.0.35":"2020-12-29T14:09:50.654Z","16.0.36":"2020-12-30T09:09:26.969Z","16.0.37":"2020-12-30T13:41:05.852Z","16.0.38":"2021-01-04T12:09:42.940Z","0.0.0-beta-e8681321e9735172e4ef91d288fce45816718a36":"2021-01-04T13:29:16.472Z","16.0.39":"2021-01-04T14:39:51.654Z","0.0.0-beta-f0e144c158dd1759fbf264fa1c5315e9cb7459a5":"2021-01-04T14:46:33.656Z","16.0.40":"2021-01-05T07:44:50.446Z","0.0.0-beta-470c99e1851f413ed9403547d4f2112c05a7592c":"2021-01-06T04:16:02.153Z","0.0.0-beta-b79d2da781f7c175b57f3dfada3d51bc12f5d3ac":"2021-01-07T03:42:28.612Z","16.0.41":"2021-01-07T10:49:19.700Z","16.0.42":"2021-01-08T11:39:49.655Z","16.0.43":"2021-01-12T08:41:54.299Z","16.0.44":"2021-01-14T08:12:26.779Z","16.0.45":"2021-01-14T08:45:35.836Z","0.0.0-beta-17e42e562864c14f8e865e01d7e5b311ed64db5e":"2021-01-14T12:31:13.900Z","0.0.0-beta-f88dc759a924cd6deca9f6bfc31916329d4a6770":"2021-01-14T13:40:02.057Z","0.0.0-beta-5768e414641d6397e934be4d3b8031600d7d0015":"2021-01-15T07:31:47.749Z","0.0.0-beta-cb688bc560dabdb339dff912a81e58b5768af1e1":"2021-01-15T08:29:48.593Z","16.1.0":"2021-01-15T15:12:01.729Z","16.1.1":"2021-01-18T08:39:54.274Z","16.1.2":"2021-01-18T11:10:54.763Z","0.0.0-beta-e8604f98601f34a309376c911cc45ed621a75ecd":"2021-01-20T07:47:01.764Z","0.0.0-beta-af7a01530a3ec7967b69365d54f9591940196f60":"2021-01-20T12:41:12.782Z","0.0.0-beta-87bcdc4c2df5da1f6e606dc25efccd3e6adca638":"2021-01-21T08:33:58.670Z","0.0.0-beta-a0dce149a99efd2a768392e9599b9eea5712e97c":"2021-01-21T09:55:21.525Z","0.0.0-beta-cfac18cfb9e087ff6566f21a232df4517e5a47ef":"2021-01-21T12:23:54.754Z","0.0.0-beta-bc80dff477779064e3d5712e149d625eb019f2b2":"2021-01-21T15:31:56.491Z","0.0.0-beta-2e96350ccce4eb63795a35de979164a12ba0078d":"2021-01-22T08:46:11.676Z","0.0.0-beta-24a53172809739dbdcd69e873daca50687c78076":"2021-01-22T16:10:01.477Z","16.1.3":"2021-01-25T09:11:21.278Z","0.0.0-beta-f4e4597095725aaebfa6b571f931d7a7986ea70c":"2021-01-25T10:33:57.301Z","16.1.4":"2021-01-26T08:40:22.809Z","0.0.0-beta-ebc8ed9e2a21e034a5f659f4d72332e3ad755d3b":"2021-01-26T09:47:05.180Z","16.1.5":"2021-01-26T10:40:37.237Z","0.0.0-beta-1dc9c10cfbfe58066167ad3e6356a23c3c800409":"2021-01-26T13:13:46.231Z","0.0.0-beta-4ac7aac5d06ac41fdeecfb0129ccdaf9290b05eb":"2021-01-26T14:35:47.312Z","0.0.0-beta-6e802f5c9b21404d7b7097dc43969f96775743b7":"2021-01-26T14:57:38.975Z","0.0.0-beta-3bd4291d2d304c00ed8ae9ddcc1376a2baed4622":"2021-01-27T08:27:41.037Z","16.1.7":"2021-01-27T10:10:39.997Z","0.0.0-beta-07af643ab854a91be11772ab96e76f2aa31faa13":"2021-01-27T12:15:30.903Z","0.0.0-beta-695345cd04f8462a4ea5f9f8532be433c3f59247":"2021-01-27T17:25:42.007Z","0.0.0-beta-5a7aec673c133615674bb15e677adfd07e08b816":"2021-01-28T08:51:24.867Z","0.0.0-beta-77b3bd5e317bf46e27411290631b836813d16a29":"2021-01-28T08:58:03.809Z","0.0.0-beta-c5e9e7d237cdaa6c8bed700f3478d48d823c45f4":"2021-01-28T10:32:14.088Z","0.0.0-beta-4ff6d2f465bbabc9deb529139710811de8a9df21":"2021-01-28T11:21:09.396Z","0.0.0-beta-5bbed7f33be7a24e67d0b2a0e8304d71c3a48358":"2021-01-28T12:12:40.344Z","0.0.0-beta-245946b0ac7435606b6481f687da3a25705a648a":"2021-01-28T12:55:10.972Z","0.0.0-beta-68f04f634114fa438469b5a5bdc6384ddabfea90":"2021-01-28T14:32:18.539Z","16.1.8":"2021-01-28T14:38:47.090Z","0.0.0-beta-ce3e1830e7f1875fad97a109f3f004b3871c9cf5":"2021-01-28T16:20:41.464Z","0.0.0-beta-9fee57a4cbdba317b226b1c7e9cb78d217af25d1":"2021-01-29T13:05:28.506Z","0.0.0-beta-9ec8a1e81600cfc671ff6f2d99dc708f81c29c0a":"2021-01-29T13:59:28.702Z","0.0.0-beta-1e7d844143ee9ffd32241e965d8882c7df7f382e":"2021-01-29T16:04:46.337Z","16.1.9":"2021-01-29T16:12:20.947Z","0.0.0-beta-951e6e0acf1c11bacf06ade4698617847ef6f217":"2021-02-01T07:24:30.921Z","0.0.0-beta-5b87bc2bf2fc4712f27ed1786b881a8dc6baa85e":"2021-02-01T09:04:01.663Z","16.1.10":"2021-02-01T09:39:28.893Z","16.1.13":"2021-02-01T12:41:11.826Z","0.0.0-beta-0c1b3423266856a24a3467172db59f8b51939788":"2021-02-02T12:14:33.354Z","0.0.0-beta-5f5c79d3ad6325dcc39e715a71293192ae4555cf":"2021-02-03T09:05:57.503Z","16.1.15":"2021-02-03T13:12:27.320Z","16.1.16":"2021-02-03T14:10:31.403Z","16.1.17":"2021-02-04T08:44:02.768Z","16.1.18":"2021-02-08T07:41:39.965Z","16.1.19":"2021-02-08T10:40:04.004Z","0.0.0-beta-5bde49f13841f94309b01bada813fc71971c2fac":"2021-02-08T12:14:36.687Z","0.0.0-beta-63fb3663dd95bb32740cc876224672c3b82d33af":"2021-02-08T15:22:26.632Z","16.1.20":"2021-02-08T16:08:37.482Z","0.0.0-beta-fbde83309e9470be02703155ea5f49cdfb6776e6":"2021-02-09T11:56:07.308Z","0.0.0-beta-a6f90c08ae0f22c4846532cd4f9a6d1312211a35":"2021-02-09T14:15:17.114Z","0.0.0-beta-2bedaa3fce6194b8a47c82f795d7b4f734c66e27":"2021-02-11T03:20:37.915Z","16.1.21":"2021-02-11T10:10:55.795Z","0.0.0-beta-495c53816f81e3557891f56ad27aea8062e4a4db":"2021-02-11T10:32:28.797Z","0.0.0-beta-daca6233bec1f537b5e065c8cefa34f1304692c3":"2021-02-12T10:06:38.194Z","0.0.0-beta-6fda5982db7318da8b470fd2b7ffcd603c04eee5":"2021-02-15T08:50:04.527Z","0.0.0-beta-e28973fb20fd69174220161d509184c4ab8e2a5d":"2021-02-15T09:16:12.655Z","0.0.0-beta-2cae58ab88f0173461f557501e61c65c34c45d6d":"2021-02-15T10:19:48.116Z","0.0.0-beta-ec45ae834ae6665ab9f6ec868f47752bd99d6716":"2021-02-15T10:54:33.276Z","16.1.22":"2021-02-15T12:18:32.857Z","0.0.0-beta-87067e293c6c8a8f15caf0a5b6a3739f9af28bba":"2021-02-16T06:11:50.206Z","16.2.0-alfa.0":"2021-02-16T10:03:50.191Z","16.1.23":"2021-02-16T10:17:52.803Z","0.0.0-beta-8d849eb0e6f70d77b05d91d53e9298f459557f96":"2021-02-16T10:28:48.474Z","16.1.24":"2021-02-16T10:40:09.533Z","16.2.0":"2021-02-16T11:39:41.379Z","0.0.0-beta-e173f2125b8bdcc5cacc7158d006a43f0a07e192":"2021-02-16T12:04:36.066Z","16.2.1":"2021-02-16T13:10:31.864Z","0.0.0-beta-59fc0c792b9c917bdc93d53e9f883d2670b3d5b2":"2021-02-16T14:28:01.409Z","0.0.0-beta-bec46b07220f6382fe939c238ccf8cf7da453285":"2021-02-16T14:40:06.202Z","16.2.2":"2021-02-16T16:09:47.698Z","16.2.3":"2021-02-17T06:15:19.262Z","16.2.4":"2021-02-17T10:10:47.570Z","0.0.0-beta-9427bd0f630d800721d9094811c08aaf8b54c072":"2021-02-17T14:00:04.901Z","16.2.5":"2021-02-18T10:09:50.470Z","16.2.6":"2021-02-18T10:40:42.786Z","0.0.0-beta-fb1459f85e8be161d4f7e98925cf42d20d4ed2a2":"2021-02-18T11:01:58.462Z","16.3.1":"2021-02-18T13:10:02.182Z","0.0.0-beta-e4a007be00da079142cc069ba6a37842c90b14ea":"2021-02-18T13:39:24.729Z","16.3.3":"2021-02-18T18:11:05.362Z","16.3.4":"2021-02-19T07:11:05.189Z","16.3.5":"2021-02-19T07:40:54.314Z","16.3.7":"2021-02-19T13:41:01.783Z","0.0.0-beta-cae96c899a36830c9896b6410763f8bab99e7776":"2021-02-19T15:11:49.151Z","16.4.0":"2021-02-22T10:14:14.325Z","16.4.1":"2021-02-22T11:11:39.673Z","0.0.0-beta-672d876d0c0e8c91613411eb16edac031742d5c4":"2021-02-22T18:31:45.319Z","0.0.0-beta-4d180bf2a8b3893ed41c0a28323a97c0a6d39481":"2021-02-23T07:51:33.710Z","0.0.0-beta-7eebd8577b33b0acd06336668e3bfbe7915b43e1":"2021-02-23T09:21:01.744Z","0.0.0-beta-3d44a7e92f439459ff0a92e44181f2c6cfd75e81":"2021-02-24T07:34:05.682Z","0.0.0-beta-7d19f6c462a5ab4dccea8d4f62c76e3d6e21b56a":"2021-02-24T12:19:10.688Z","16.5.0":"2021-02-25T06:42:15.005Z","16.5.1":"2021-02-25T13:10:34.393Z","0.0.0-beta-7c1ac629ad220550ecabd6343d3f6d0612f9e070":"2021-02-26T09:03:42.315Z","0.0.0-beta-b25ac855aa4bcdfcae18be2ef43e50dcb6de8d78":"2021-02-26T09:38:32.812Z","16.5.2":"2021-02-26T11:26:07.999Z","0.0.0-beta-c5448ae325aff45f5de75b7265e559a31bc1ba53":"2021-02-26T11:42:20.250Z","16.6.0":"2021-02-26T12:36:15.740Z","0.0.0-beta-32544443a3e04a973728026627e73a80dfeee99f":"2021-02-26T12:48:23.946Z","16.6.1":"2021-02-26T13:05:46.085Z","0.0.0-beta-3a3dcf666880b6810a806b54c783001d22bb937c":"2021-02-26T15:12:32.300Z","0.0.0-beta-819368742df0a33525c74bb728bde70e5f727962":"2021-02-26T15:21:21.554Z","0.0.0-beta-a574d0a37cfe78f41f009b30c6bb6e16b151ce10":"2021-02-26T15:30:00.694Z","0.0.0-beta-d33345bef258a183f659bbc689d76bebf86b892e":"2021-03-01T07:59:03.080Z","0.0.0-beta-938bc1d705e0158a8a4fa01d769f4cd61cc75e8f":"2021-03-01T08:37:38.493Z","16.6.2":"2021-03-01T09:11:46.101Z","0.0.0-beta-d8e88d373e74c8a7e4aec1a8d3eee00ac4043ac4":"2021-03-01T09:20:47.215Z","0.0.0-beta-6ee6562ba4971865620fc3e5ff550c8698942a9a":"2021-03-01T17:12:03.258Z","16.7.0":"2021-03-02T06:51:09.169Z","0.0.0-beta-2c7c7bbcefda29752c942cbb8ca8ef357325b7e6":"2021-03-02T10:12:31.846Z","16.7.1":"2021-03-02T10:34:23.523Z","16.7.3":"2021-03-02T12:01:55.963Z","0.0.0-beta-239d6254020a5b01601f7f9da3949d270fd4a445":"2021-03-02T14:16:05.860Z","0.0.0-beta-8135f8f28a9b3251000ce6ceb575901c4c79eb25":"2021-03-03T04:12:44.353Z","0.0.0-beta-1c155c687a07b8b67411f428e204bf09742d17a8":"2021-03-03T07:50:12.107Z","0.0.0-beta-60d5280e2806b2fa6b4d37402f513b5e23ab0077":"2021-03-03T10:57:48.704Z","0.0.0-beta-88786c22f405bfc932ff8f16ffb3ca5a8737e6f7":"2021-03-03T14:08:04.567Z","16.7.5":"2021-03-03T15:04:21.995Z","0.0.0-beta-8179027f3401c87dd6bdcb9e57727423a7631182":"2021-03-03T15:42:23.444Z","0.0.0-beta-e6920c3228f07f22a1ae67372ccaf7f0e564dd98":"2021-03-03T15:50:06.390Z","0.0.0-beta-ae9267da2c16cc33e49e74cd9f1618a66b8d1a89":"2021-03-03T18:03:35.474Z","0.0.0-beta-2645951ddece3421ee877a2d541eece943b7d9d5":"2021-03-04T09:24:30.407Z","16.7.7":"2021-03-04T11:34:44.992Z","16.7.8":"2021-03-04T12:35:54.201Z","0.0.0-beta-b885f5cb7f7d3a62f20e7fefa87e9f6881cffc7f":"2021-03-04T16:23:53.202Z","0.0.0-beta-3a748ce23928583f8031ddfd288c69f91fc2937e":"2021-03-05T05:43:40.878Z","16.8.0":"2021-03-05T08:45:41.696Z","16.8.2":"2021-03-05T13:04:35.880Z","0.0.0-beta-aae3d65623cffa0f34937b442e947e49f56d7d49":"2021-03-08T09:40:22.701Z","0.0.0-beta-a74b032d3c20a4b06f10695e548109a5584cf368":"2021-03-08T10:54:50.856Z","0.0.0-beta-94c163810ca19eeee865f8de2a75d5bb49811dca":"2021-03-08T16:51:17.624Z","0.0.0-beta-09a4c27458d1f6986774813a59e6cf84f7cc7ca4":"2021-03-08T18:03:41.135Z","16.8.3":"2021-03-09T09:35:34.103Z","0.0.0-beta-de2f0bfe59ab7a50722646a48f8fe6ea341de5dc":"2021-03-09T09:44:52.127Z","0.0.0-beta-28364b2220fad3cc2d52bb2f51a1eff36142654b":"2021-03-09T10:14:46.089Z","0.0.0-beta-d53ba70ddd6ded0c258ad3f410b8a2cd5804b271":"2021-03-09T10:55:29.991Z","16.8.4":"2021-03-09T12:06:03.771Z","0.0.0-beta-b572adbeeb5b06ad2b61b575688bfedc6cd70831":"2021-03-09T14:14:15.710Z","0.0.0-beta-381aef91782c314a5a4753684494fe247651bd7c":"2021-03-09T14:52:33.012Z","0.0.0-beta-0758153dd5951d0a0c188fd04007c8c8271afdb8":"2021-03-09T15:18:58.087Z","16.8.6":"2021-03-09T16:35:48.114Z","0.0.0-beta-7e873e6e7b454310d3ff88611dc0f0483702f84d":"2021-03-09T16:48:37.616Z","0.0.0-beta-8299655d2df674313ae0f76223c70cad4206fa2b":"2021-03-09T16:56:23.530Z","0.0.0-beta-d42c40d121b141078f42d30bf11c935efc6d5e3d":"2021-03-10T07:36:35.771Z","0.0.0-beta-9f881e75e78a533d639fbf4cdc779d807d6dea8d":"2021-03-10T08:13:23.443Z","0.0.0-beta-3c38e89a3b05c8f18a4c41c295da39556c952177":"2021-03-10T08:22:44.101Z","16.8.7":"2021-03-10T08:35:58.888Z","0.0.0-beta-521ab2af3246719af2aa1c3891aa691f7765b4a8":"2021-03-10T10:08:35.041Z","0.0.0-beta-62efc7a4ebc43825480895787c844216456a18a0":"2021-03-10T11:38:10.655Z","0.0.0-beta-4a11bc585ce6095361f510d839f8d99aee66def6":"2021-03-10T11:50:05.461Z","0.0.0-beta-5f86a024a9c0d88095681485460ff2db6dd9cd6b":"2021-03-10T13:40:49.137Z","16.8.9":"2021-03-10T15:41:56.749Z","0.0.0-beta-b3cd07cbc232aba2336a484bd23f9ec0a4e3785c":"2021-03-10T15:50:12.987Z","0.0.0-beta-839ca2b6ecf9aa145f1a004ead01f8f6d442a000":"2021-03-11T04:26:33.409Z","0.0.0-beta-a26d62a353a1d41285b4b22515a5da288d629a96":"2021-03-11T06:26:32.797Z","0.0.0-beta-be82e857a0d7479576a20efd1c491f7b1836bb1f":"2021-03-11T07:23:49.931Z","16.8.10":"2021-03-11T08:04:49.732Z","16.8.11":"2021-03-11T14:06:10.661Z","16.9.1":"2021-03-11T15:35:10.859Z","16.9.2":"2021-03-11T18:34:52.463Z","16.9.3":"2021-03-12T07:05:23.895Z","16.9.4":"2021-03-12T12:04:38.627Z","0.0.0-beta-a5547cd5964d1d318e175fd9c45e9182b4d35c62":"2021-03-15T08:40:35.284Z","0.0.0-beta-5ac6cc3c0cc81290f96e159ec47d0c05bdb9d8cf":"2021-03-15T12:03:23.254Z","0.0.0-beta-dff9fe55aca2da02f0123412a19a761e58583a76":"2021-03-15T12:40:53.215Z","16.9.5":"2021-03-15T14:35:38.383Z","16.9.6":"2021-03-16T09:37:11.884Z","0.0.0-beta-cfef2e858960e70803e36dc22f6e1cfc0a00fe6e":"2021-03-16T10:12:33.330Z","0.0.0-beta-1be89441fad70334c1002e393beeba4465e744f9":"2021-03-16T12:20:41.253Z","0.0.0-beta-b7570576d2315be79581f0e1a16b1822de457115":"2021-03-16T15:30:50.641Z","0.0.0-beta-c0bbfcab6b1da388db31a080e3440e9a137b3f57":"2021-03-16T16:02:20.737Z","0.0.0-beta-bc6295e019f8dab8e4f997536eaa30f33e744499":"2021-03-16T16:50:50.026Z","0.0.0-beta-0ae31ec84134e5c1f90d1ab2e076204c0864f767":"2021-03-17T09:22:20.149Z","0.0.0-beta-0e1aadbe7b84ff8fabb8d93c0bb1eb13aa7bee68":"2021-03-17T10:22:26.773Z","16.9.9":"2021-03-17T16:34:29.573Z","0.0.0-beta-a264c95cfecba2d62fdef227e05a964769068be7":"2021-03-18T11:26:48.767Z","0.0.0-beta-f5bc16fc58dbbe0d0c536978b5b0b8b7b1190846":"2021-03-18T13:54:03.512Z","16.9.10":"2021-03-18T15:05:39.254Z","0.0.0-beta-13be4ff66fd5b68ee07a2a9c4714dee7033a36df":"2021-03-18T15:21:28.285Z","0.0.0-beta-9415ff46057640878e472610f3720b2766e313d8":"2021-03-18T15:32:48.687Z","16.9.11":"2021-03-19T08:39:30.334Z","0.0.0-beta-d0d05e643aebef226879a6630e8e1fad01cb7c08":"2021-03-19T09:16:11.619Z","0.0.0-beta-b463d5972ddc659a3232da8eba69f4df226f6983":"2021-03-19T10:36:30.563Z","0.0.0-beta-ef94726e5eb3b87be0263f53d8de796cceee5aa9":"2021-03-19T10:48:44.027Z","0.0.0-beta-ae0797a0fd80ba868ae39161370a987359215a8e":"2021-03-19T14:21:44.000Z","0.0.0-beta-7e8e3e42111df7cec4da19e6f9289540470771fb":"2021-03-19T15:19:06.673Z","0.0.0-beta-bcbb9ce89ce12157944230e22c5b2b069af20a01":"2021-03-19T19:54:46.236Z","16.9.12":"2021-03-19T21:34:34.779Z","16.9.13":"2021-03-22T08:34:08.701Z","0.0.0-beta-0746d7d333caebbb01bc3520e95ff319092c4a66":"2021-03-22T12:25:51.903Z","0.0.0-beta-8a869ff4fb45db958b6c317e102c7beb54fd85cb":"2021-03-22T17:16:03.339Z","0.0.0-beta-e9bd7525f34aebdb2deebdfa5eaaa6e119800e01":"2021-03-23T08:49:49.689Z","0.0.0-beta-8d8a2fc6d78ae124ef50b069e3fceba044c51e22":"2021-03-23T10:02:21.216Z","0.0.0-beta-6f9e55d371afba80087554017477c85741ef2bd7":"2021-03-23T10:16:23.969Z","16.9.14":"2021-03-23T11:04:52.565Z","0.0.0-beta-1c64d191c044e2008a88451fe3007c686051d1ef":"2021-03-23T11:47:34.237Z","0.0.0-beta-8bb6a95f818a6055b84d74619dfcbd8d74ad2eb0":"2021-03-23T12:44:30.204Z","0.0.0-beta-b1baa161c98899ec5b0c10a0bdc478c04f4910c6":"2021-03-24T04:53:26.373Z","16.9.15":"2021-03-24T07:06:34.533Z","16.9.16":"2021-03-24T10:36:01.607Z","0.0.0-beta-7400a4a9be306100345f9b792869dad68ad13d73":"2021-03-24T11:42:45.099Z","16.9.17":"2021-03-24T13:05:12.182Z","0.0.0-beta-42a7699a29dbcfa27b4eb2971a6aac7d4a02bb5b":"2021-03-24T13:53:08.426Z","0.0.0-beta-4e97552cac2472799829ae489242ba09afd73f7b":"2021-03-24T16:26:41.517Z","16.9.18":"2021-03-24T16:36:15.448Z","0.0.0-beta-ad25dacd0d1bba4b065bfdfe7363db7d5e8fd6f4":"2021-03-24T16:50:51.177Z","0.0.0-beta-9abb18f3a6f8b571566cf5fd3415ca315f3f7859":"2021-03-24T20:39:51.139Z","0.0.0-beta-287cca88730f1ed5220063cc2a52772bd7319524":"2021-03-24T21:15:00.150Z","0.0.0-beta-9d187eea6dc21272ee056fe0d47a76e144dd21dd":"2021-03-24T22:30:00.644Z","16.9.19":"2021-03-25T06:37:09.109Z","0.0.0-beta-ea9b5691515e8b3729cec29c7842639add69484f":"2021-03-25T08:06:55.239Z","16.9.20":"2021-03-25T09:05:43.268Z","0.0.0-beta-7148e8fcf53f072b22753f88650eb056d83a52ae":"2021-03-25T10:01:49.039Z","0.0.0-beta-e36bfba5472c4c67a5328aa523e29c1dabdf30ea":"2021-03-25T12:26:43.360Z","16.10.1":"2021-03-25T14:05:54.339Z","16.10.2":"2021-03-25T14:36:03.514Z","0.0.0-beta-e816253f6ed42885b665a15bb372dbc594fc57ba":"2021-03-25T14:49:41.864Z","16.10.3":"2021-03-25T15:05:54.687Z","0.0.0-beta-d57247d4c33f131cbf3aff5e109e89d3f20558b7":"2021-03-25T15:17:14.190Z","16.10.4":"2021-03-26T06:45:15.558Z","0.0.0-beta-738fe2f3f486876ed2e640e6ae45cacc48e73ec7":"2021-03-26T07:19:44.167Z","0.0.0-beta-528038474cd9de7ef8bafc6212d768ae11f6d3dd":"2021-03-26T12:04:30.921Z","0.0.0-beta-a44796e5074774d290a57be0409c8fb7d2742726":"2021-03-29T14:00:37.247Z","16.10.5":"2021-03-29T14:39:17.484Z","0.0.0-beta-ede452aea817546d211083d60a9cca3077195dc4":"2021-03-30T15:13:52.865Z","0.0.0-beta-00bdea9e93ddb50a7f035e1d914e5ac812f1f54c":"2021-03-30T15:21:41.788Z","0.0.0-beta-fa9a59b07b2607ca8ea0b525731d6ef90f85c601":"2021-03-31T06:06:29.811Z","0.0.0-beta-dc38c363718f8549b41896eafeec20463e08901b":"2021-03-31T07:03:10.285Z","0.0.0-beta-05ed6005459f860707eb5055787a5dbe223fdfb3":"2021-03-31T09:15:31.188Z","0.0.0-beta-67acdee927b08062591b0d2fa32e8c50a17073b5":"2021-03-31T09:24:39.679Z","0.0.0-beta-932b1cdfe56f8d8d5e852aa7837f4380d20caf0a":"2021-03-31T09:32:42.697Z","0.0.0-beta-a7257c9174cbfcd7f0db88eae8cb99c3e5134641":"2021-03-31T09:40:58.892Z","16.10.6":"2021-03-31T09:48:50.521Z","0.0.0-beta-a87609772eec40a1da596fc7e7490b936fdec8ea":"2021-03-31T11:44:11.882Z","16.10.7":"2021-03-31T15:06:10.688Z","0.0.0-beta-ad66b2cd4264ac1c6cfcda7e24a56257a13fd0c5":"2021-04-01T11:13:45.136Z","0.0.0-beta-d00136f09c1066e0212e978331b88fe7c4833787":"2021-04-02T07:27:57.447Z","0.0.0-beta-2860cbfcb5b5a0cc35ce42a68a80c9d78304095b":"2021-04-05T05:35:40.530Z","0.0.0-beta-7920bc6436bca81839340337532f7dc193e40858":"2021-04-05T09:27:02.993Z","16.11.0":"2021-04-05T11:05:42.199Z","0.0.0-beta-9a2dc201b23e1d01946479def427b35539f416fb":"2021-04-05T11:37:32.654Z","16.11.1":"2021-04-06T05:09:14.544Z","16.11.2":"2021-04-06T07:06:16.760Z","16.11.3":"2021-04-06T09:07:09.863Z","0.0.0-beta-1e5a20f8801dd5f26bb28d30f4d60002a0e12451":"2021-04-06T09:16:39.550Z","0.0.0-beta-8423161b46cb2f0918510147b2b617113272f674":"2021-04-06T09:43:47.256Z","16.11.4":"2021-04-06T11:05:17.539Z","0.0.0-beta-8f270e4899cf402272d7f262c810c1dfa0aa6656":"2021-04-06T12:00:12.020Z","16.11.5":"2021-04-06T15:08:39.673Z","0.0.0-beta-fd16c6c11ba5f5defa1a0d9042dda21c922e0f38":"2021-04-07T06:47:21.536Z","16.11.7":"2021-04-07T13:06:30.147Z","16.11.8":"2021-04-07T16:35:19.133Z","0.0.0-beta-edb35a4a20f6ccb8375d55c62e6fad20139300d5":"2021-04-08T05:42:30.403Z","16.11.9":"2021-04-08T06:35:22.421Z","16.11.11":"2021-04-08T09:43:48.884Z","16.11.12":"2021-04-08T11:36:38.179Z","16.12.0":"2021-04-08T13:36:48.065Z","0.0.0-beta-7c182dd3b25ea40eed813ad666f0cf59c1e28b65":"2021-04-08T14:25:10.640Z","16.12.2":"2021-04-09T05:08:40.711Z","0.0.0-beta-39d9e610a4f0015019a2a31db5d7b8df85f0414d":"2021-04-09T08:56:58.082Z","0.0.0-beta-f34e157bf69aadbaef57a63bb7ca7664043d395e":"2021-04-09T10:03:54.938Z","16.12.3":"2021-04-09T11:06:44.423Z","16.13.0":"2021-04-09T11:38:15.258Z","0.0.0-beta-42f879557ab58f0c4d361f2a67bc3d3f21a08d9b":"2021-04-09T13:01:24.451Z","16.13.1":"2021-04-09T13:10:53.705Z","16.14.1":"2021-04-09T14:12:51.290Z","16.14.2":"2021-04-12T06:04:54.078Z","16.14.3":"2021-04-12T08:05:14.857Z","16.14.4":"2021-04-12T09:05:56.890Z","16.14.5":"2021-04-13T07:06:43.306Z","16.15.0":"2021-04-13T10:35:23.634Z","16.15.1":"2021-04-13T13:06:30.652Z","16.15.2":"2021-04-13T15:09:53.187Z","16.15.3":"2021-04-14T06:06:01.096Z","16.15.4":"2021-04-14T09:05:36.725Z","0.0.0-beta-f4956deea736c102a9f0931d4882309f45c4b748":"2021-04-14T12:36:55.381Z","16.15.5":"2021-04-14T15:05:33.248Z","0.0.0-beta-aa098aa71f3aabf0a92015c12412dd51c262a8f4":"2021-04-15T06:44:28.027Z","0.0.0-beta-2ded93dda8bc9792128221c756406c68c330ee6d":"2021-04-15T10:29:52.980Z","0.0.0-beta-0b77811e197eb0443e31ae4a9a10812654383a04":"2021-04-15T12:52:24.531Z","16.15.7":"2021-04-15T13:12:24.874Z","0.0.0-beta-872303924473f5477fa5e8b5facd7de56c8cb88f":"2021-04-15T13:23:44.978Z","16.15.8":"2021-04-15T13:37:25.729Z","16.15.9":"2021-04-16T10:06:20.451Z","16.15.10":"2021-04-16T12:05:52.918Z","0.0.0-beta-dcf4ac7ede4ace5c46a3cb65d9253563955a5141":"2021-04-16T13:52:55.083Z","0.0.0-beta-f88c5d2eefc88500a0482e8fb739bf8c580a15a9":"2021-04-19T05:23:34.197Z","0.0.0-beta-0fa740394c9f9f1fffcb0b0644eb92dd582c1c28":"2021-04-19T11:03:14.526Z","16.15.12":"2021-04-19T16:42:06.666Z","0.0.0-beta-79400aa96189bb690ee7d33f4aa84ad30fac75e3":"2021-04-20T05:48:59.833Z","16.15.13":"2021-04-20T07:36:12.464Z","0.0.0-beta-6b8ad59f558aee259b4d567a1b327cc11a30bf9b":"2021-04-20T09:12:32.335Z","0.0.0-beta-a386b71095976b7564519d49e703ecb7ec648f62":"2021-04-20T14:07:13.476Z","0.0.0-beta-2d8bbd2084003eef5655674fff9d594c64b10115":"2021-04-20T14:16:36.435Z","16.15.14":"2021-04-20T15:03:24.195Z","0.0.0-beta-c9fefa20837dad0697febe6d93857a0ee7dd9c91":"2021-04-21T05:12:05.139Z","0.0.0-beta-75b31dade96732616e7fc2c1ab668933b331816d":"2021-04-21T06:22:17.178Z","16.15.15":"2021-04-21T06:30:44.245Z","0.0.0-beta-aabdfc02097ed8e96923e22540cf8104f0410848":"2021-04-22T07:41:11.951Z","16.15.16":"2021-04-22T08:22:31.867Z","16.15.17":"2021-04-22T08:55:38.889Z","16.15.18":"2021-04-22T09:11:04.640Z","16.15.19":"2021-04-22T11:30:37.628Z","16.15.20":"2021-04-22T12:41:20.030Z","16.15.21":"2021-04-23T12:25:24.074Z","16.15.22":"2021-04-23T13:03:17.474Z","16.15.23":"2021-04-23T14:44:32.530Z","16.15.24":"2021-04-26T09:08:09.490Z","16.15.25":"2021-04-26T09:45:36.221Z","16.15.26":"2021-04-29T06:06:29.440Z","0.0.0-beta-4a80bbedda44403992c956c681c67ccc4dff6c17":"2021-04-29T10:45:15.922Z","16.16.0-alfa.0":"2021-04-29T13:43:00.155Z","16.16.0-alfa.1":"2021-04-29T14:40:19.799Z","16.15.27":"2021-04-30T08:14:35.481Z","16.15.28":"2021-04-30T11:35:13.634Z","16.15.29":"2021-04-30T12:02:17.517Z","16.15.30":"2021-05-04T17:14:26.704Z","16.15.31":"2021-05-05T06:27:38.987Z","0.0.0-beta-296a7693a13698ec3521c276233aef11224889a0":"2021-05-05T07:43:01.062Z","16.15.32":"2021-05-06T09:15:01.799Z","16.15.33":"2021-05-06T10:58:23.438Z","16.15.34":"2021-05-10T06:46:29.199Z","16.15.35":"2021-05-11T11:48:25.472Z","16.15.36":"2021-05-12T08:12:50.281Z","0.0.0-beta-3a404844ee1dcef122a5ed10dc0f133ca3012f0e":"2021-05-13T08:28:59.657Z","0.0.0-beta-c28e585963c09b8208e0b989219ce0442d8c8630":"2021-05-13T13:25:40.585Z","0.0.0-beta-536abe79d9b0e90075d64ca2ac1e2559c58defd5":"2021-05-13T18:33:09.507Z","16.15.37":"2021-05-14T06:42:36.213Z","0.0.0-beta-1a383feb31fc351176b7b81095b46e2d9708e1a1":"2021-05-14T13:09:37.234Z","0.0.0-beta-c71f3c52da967a90a67bcc68f2d9d5db84471c53":"2021-05-17T07:35:46.710Z","0.0.0-beta-ba59176711597e6bef2d72f6c8e98bf5ff021937":"2021-05-17T09:37:24.216Z","16.15.38":"2021-05-17T09:45:45.861Z","0.0.0-beta-4f892321dee2011ed8e00c34d903f454237b1315":"2021-05-17T14:08:43.899Z","16.16.0":"2021-05-17T16:05:09.761Z","16.16.1":"2021-05-18T08:19:50.005Z","0.0.0-beta-f959f4a8c0a6927bae423bae73a33f5cd2854e58":"2021-05-18T14:04:34.819Z","0.0.0-beta-638b35c3e8726442108900e3dafc021ddfb4c7a8":"2021-05-19T06:29:04.660Z","0.0.0-beta-d376f10d1ea262e04d5e0131ea1ca62a01d1b531":"2021-05-19T07:51:38.946Z","16.16.2":"2021-05-19T08:36:59.911Z","0.0.0-beta-fd5c2c136ff231cf019e2e38ed1f7fb3099d9f40":"2021-05-19T09:41:11.824Z","0.0.0-beta-ddf7167edd9662f3d88a303484b5f05abc5dbf0f":"2021-05-19T09:53:54.596Z","0.0.0-beta-365c67f85f899f775ef48ae36dc118208d528132":"2021-05-19T12:55:39.847Z","0.0.0-beta-6ac7e03417c137fa997976d85d28d3ca10a1943c":"2021-05-19T13:03:17.599Z","0.0.0-beta-329b8b596c70ed4e531bd0ad9dd733c1a6b8418c":"2021-05-19T13:45:29.511Z","16.16.3":"2021-05-20T05:53:10.129Z","0.0.0-beta-af1f88339c172650c8076f4dd3aff88f0468b716":"2021-05-20T09:53:14.436Z","16.16.4":"2021-05-20T10:54:37.587Z","0.0.0-beta-0082e848505ea7f326034e90656b5afc38f36552":"2021-05-20T12:02:22.412Z","0.0.0-beta-aa1a6a9aa9169f2b57c9616e9f678b993ab5de06":"2021-05-20T12:12:15.751Z","0.0.0-beta-b4d46a059c180bef39da1c9650367558014ff9c3":"2021-05-20T16:20:34.525Z","0.0.0-beta-75eb60dc72b423717cb920d68e632ffc6c75d3c9":"2021-05-20T19:50:17.662Z","0.0.0-beta-99e2edd17555844cccb7b3ef51f4fa3c5d92b668":"2021-05-20T20:43:46.387Z","0.0.0-beta-4889c76c207944f70ec389b627c0fdb898d78cae":"2021-05-21T07:23:34.525Z","16.16.5":"2021-05-21T07:52:52.968Z","0.0.0-beta-057c19a07e3d464f148f194bad8a0fc78e5b39f5":"2021-05-21T08:01:37.903Z","16.16.6":"2021-05-21T08:48:53.920Z","0.0.0-beta-1e5ef8915e3e02399b5b9cb873be69a3bf07e519":"2021-05-21T08:57:42.477Z","0.0.0-beta-25d3abe491242da4ed141d5a9da121cde4fe9f3d":"2021-05-21T09:50:42.773Z","16.16.7":"2021-05-21T11:08:11.480Z","0.0.0-beta-5e3d3377af584c37ca04f372edcf542be4bc0d11":"2021-05-21T14:32:14.739Z","16.16.8":"2021-05-24T05:50:24.050Z","0.0.0-beta-5e1b20addb8b5bdd26e0885d16b8bb41c695366b":"2021-05-24T07:17:00.185Z","0.0.0-beta-785cf739234632772cc6139b48ca448a83574a5a":"2021-05-24T09:26:58.743Z","16.17.1":"2021-05-24T11:14:00.112Z","16.17.2":"2021-05-25T09:29:39.409Z","0.0.0-beta-15c23097926f364b42d3c68677a41a9c9d5fc4d2":"2021-05-25T11:15:04.184Z","0.0.0-beta-3c415e4803175028838b5f769b6906bc745f6628":"2021-05-25T14:27:37.423Z","16.17.3":"2021-05-25T15:59:54.190Z","16.17.4":"2021-05-25T16:31:27.673Z","16.17.5":"2021-05-25T21:42:03.352Z","16.17.6":"2021-05-26T06:11:20.319Z","0.0.0-beta-ad3ad4e1e54683bc9963bb70a6b1becab01f7cdb":"2021-05-26T10:51:26.214Z","0.0.0-beta-8002fb5ec7a431d09bb2f2e7a092d92f5f1a42ee":"2021-05-26T14:22:44.879Z","16.18.0":"2021-05-26T16:16:17.058Z","16.18.1":"2021-05-26T17:03:18.445Z","16.18.2":"2021-05-27T12:09:42.838Z","0.0.0-beta-3d27733357f72213f78df5bda97b0916529812b3":"2021-05-27T12:34:22.427Z","16.18.3":"2021-05-27T13:15:41.084Z","0.0.0-beta-d5e61ad30028782f9d5c3103fd91d54aa4570ed5":"2021-05-27T13:25:07.046Z","16.18.4":"2021-05-27T15:08:16.565Z","16.18.5":"2021-05-28T07:26:39.634Z","16.18.6":"2021-05-28T11:27:37.685Z","0.0.0-beta-38cb1a5a2d807fd18004efd0cfae434fa8d8d281":"2021-05-28T12:38:58.368Z","16.18.7":"2021-05-31T05:38:59.458Z","16.18.8":"2021-05-31T06:40:43.066Z","0.0.0-beta-f55ac01d034522835ec5c3d91319b9defeea94d7":"2021-05-31T10:14:49.497Z","16.18.9":"2021-05-31T15:31:27.427Z","16.18.10":"2021-06-01T07:32:18.565Z","16.18.11":"2021-06-01T17:46:10.436Z","16.18.12":"2021-06-02T08:20:42.525Z","16.18.13":"2021-06-03T09:39:23.113Z","16.18.14":"2021-06-04T07:11:13.367Z","0.0.0-beta-0bbca507384feaa0a75c45aae54622dcd22addf6":"2021-06-04T08:53:31.840Z","0.0.0-beta-d72eff43f0cddb7840bfca8313a800e68894fa48":"2021-06-04T09:03:47.167Z","0.0.0-beta-dfe23157794548fc981d3e4699e73094e791b028":"2021-06-04T09:32:20.531Z","0.0.0-beta-01967a6a4c878e44b3fb9c01204c495c39d8e700":"2021-06-04T11:33:02.234Z","0.0.0-beta-2f0d8d1bb209ebe22732689741fadd975a33f82f":"2021-06-04T13:34:42.353Z","0.0.0-beta-4682a2ced3a5eb86a69a0acadee3dbad16ab4873":"2021-06-04T13:42:36.372Z","16.18.15":"2021-06-04T15:16:15.420Z","16.18.16":"2021-06-04T15:54:30.751Z","0.0.0-beta-e010aab6ddff3b1d135ad5001bab8e2a7a569a0b":"2021-06-04T16:17:21.245Z","16.18.17":"2021-06-07T07:02:14.289Z","16.18.18":"2021-06-07T09:48:34.521Z","16.18.19":"2021-06-08T06:15:34.139Z","16.18.20":"2021-06-08T13:45:10.063Z","0.0.0-beta-5905e1190b5360fbb52686e8567ce877cd610ded":"2021-06-09T06:42:57.045Z","0.0.0-beta-f553e2c69048b791030a2a9cd790ba18afdcbaf4":"2021-06-09T09:13:13.637Z","0.0.0-beta-8e66c6bb40207ca1ae8f847ba6e2a83af9967dea":"2021-06-14T08:35:56.974Z","16.18.21":"2021-06-14T13:29:44.593Z","0.0.0-beta-82b904ff90959a3d8e030e4ce92023aaa194c7a7":"2021-06-15T06:38:11.020Z","0.0.0-beta-21ddd6c56b85e4275abe248f09cd0b97ebbfd8b7":"2021-06-15T09:46:55.425Z","0.0.0-beta-c429e8aca60c612047586b81be9cddb27e69e56a":"2021-06-15T12:35:33.089Z","0.0.0-beta-2e259f6ed0bc34d6b5bc5b0f708dad567636ab9b":"2021-06-16T10:31:02.203Z","16.18.22":"2021-06-16T11:52:05.710Z","16.18.23":"2021-06-17T09:05:58.095Z","0.0.0-beta-89b07ae9fe55c40c929964dc9bbf8ee9abbf000d":"2021-06-17T10:17:18.798Z","16.18.24":"2021-06-17T10:41:54.350Z","0.0.0-beta-01e067b0f9030d5ff01f697f0236e0034264e0a7":"2021-06-17T12:20:58.199Z","0.0.0-beta-044ed37061c0e16683b79e298eb16aca5fc4700c":"2021-06-17T15:21:43.307Z","0.0.0-beta-9ded75da9b0633621c17a24cd19e6913a72f0f8a":"2021-06-17T15:32:04.739Z","0.0.0-beta-374f286729ef95ea3f2b1adf553876da88845b2c":"2021-06-18T07:51:51.148Z","0.0.0-beta-09fcf6e361a5ffab50f09b720b422427fddb9146":"2021-06-18T08:51:15.672Z","0.0.0-beta-3b10a364a3e054243a1d1846abb36e62eaebbff6":"2021-06-18T09:35:24.387Z","16.18.25":"2021-06-22T06:44:46.405Z","0.0.0-beta-7aa6d65ff977926bf5aa02aba9672433754d516e":"2021-06-22T14:23:26.135Z","0.0.0-beta-60253b2018cd6d5f972feeeb9d42489562cc6873":"2021-06-23T16:08:20.405Z","16.18.26":"2021-06-24T12:35:52.147Z","0.0.0-beta-8366b4e500292e04c643a020d5e1e6b1ffccdc00":"2021-06-25T13:37:30.323Z","16.18.27":"2021-06-29T11:18:52.957Z","16.18.28":"2021-06-30T09:07:38.597Z","16.18.29":"2021-06-30T09:54:08.750Z","16.18.30":"2021-06-30T11:57:42.571Z","0.0.0-beta-d43210c43d5014e8b25cbdd84c74fd8cbacc2172":"2021-07-01T11:10:40.546Z","16.18.31":"2021-07-01T12:48:17.496Z","0.0.0-beta-9687484289ce81804666995008d8191f17e11bef":"2021-07-01T13:05:35.221Z","0.0.0-beta-cdbd15e5f962d4baad796c056b30c28495da0549":"2021-07-02T05:41:38.650Z","0.0.0-beta-3ef6fbb6ef81ef0ebf7857d761464c8e55d34977":"2021-07-02T06:28:27.271Z","16.18.32":"2021-07-02T07:20:05.575Z","16.18.33":"2021-07-02T08:01:59.320Z","16.18.34":"2021-07-02T10:37:45.355Z","16.18.35":"2021-07-02T11:26:16.643Z","0.0.0-beta-aaa5f1b44ea67773e4eeaea27892cb411058e66b":"2021-07-02T13:00:51.407Z","16.18.36":"2021-07-02T13:26:40.776Z","16.18.37":"2021-07-02T15:20:15.760Z","0.0.0-beta-37b0ba5c69135f09bd50041f54add702a1a53950":"2021-07-05T06:19:32.070Z","16.18.38":"2021-07-05T06:28:31.030Z","0.0.0-beta-4274f49abc8e02c7731d71780aa324f66ed9a48c":"2021-07-05T11:23:31.343Z","0.0.0-beta-489b4bf00d2d6fe7a83c8a62d7fdfa3900e62023":"2021-07-05T13:31:28.813Z","0.0.0-beta-8ffedf1741e4296655e42bb61a5dd5e19d8c7196":"2021-07-06T07:40:38.787Z","0.0.0-beta-a8d802ee726ecbaffe1b6b1538b36ffb603bdd2c":"2021-07-06T08:31:34.771Z","0.0.0-beta-aa55e79329ea5dbdb5e9eed0458563e6ec6ba752":"2021-07-06T10:00:03.685Z","16.18.39":"2021-07-06T10:36:41.024Z","16.18.40":"2021-07-06T10:48:05.971Z","0.0.0-beta-1d253d7fce098988081dbc94878e34a22e8885c6":"2021-07-06T11:05:13.341Z","16.19.0":"2021-07-07T05:11:07.792Z","16.19.1":"2021-07-07T07:22:41.405Z","16.19.2":"2021-07-07T13:33:54.506Z","0.0.0-beta-67a60c7773df85ce58e3f4ee335363e817b015a8":"2021-07-08T08:05:53.783Z","0.0.0-beta-36dd29cd6415b9f0d8a224b2e284a1d92f4eb4b2":"2021-07-08T10:10:47.876Z","16.19.3":"2021-07-08T13:37:59.435Z","16.19.4":"2021-07-09T07:38:18.210Z","0.0.0-beta-b0407270fee4ab41ae8d6aef6be5420c593dbffc":"2021-07-09T15:15:27.562Z","16.19.5":"2021-07-12T12:16:46.447Z","16.19.6":"2021-07-15T11:00:12.894Z","16.19.7":"2021-07-15T14:18:15.116Z","16.19.8":"2021-07-15T18:19:51.042Z","0.0.0-beta-ee7e78a0200b1fcfcd4fc53bd757dc8fb2c5a7b7":"2021-07-19T08:39:45.039Z","16.19.9":"2021-07-19T10:57:27.933Z","0.0.0-beta-3a0fd3cdef898c3145714e133360c481cdbb3ca6":"2021-07-19T14:30:32.948Z","0.0.0-beta-ec2780b3714ed2b2ec550ecec2701eadc762a7fc":"2021-07-20T10:18:15.906Z","0.0.0-beta-6923c4d684b3c4a364dbbbb869f1a9ccf3e94268":"2021-07-20T15:18:22.583Z","0.0.0-beta-816c66ef7c650bbfb0137b16b9ecaa5890510bea":"2021-07-21T04:29:22.226Z","16.20.0":"2021-07-21T07:10:25.190Z","0.0.0-beta-5f55ccd6062a8cd26de140d03d809e0d94488f1d":"2021-07-21T09:14:33.430Z","0.0.0-beta-d030f181fe9f076b2963a0fe98881e1d776b80e6":"2021-07-21T11:48:49.700Z","0.0.0-beta-0eb9917dc846cf2f908bc2dbace7c9f4ecb4ff4b":"2021-07-21T12:16:42.915Z","0.0.0-beta-1b3a521e34718a5e28d9c104962e8675314d824e":"2021-07-21T13:40:31.503Z","0.0.0-beta-f75e986757a75abc689fde7c491edf578063e2b1":"2021-07-21T13:49:57.935Z","0.0.0-beta-a02e2b85b6f2e33f73b9bcdd82543ba34cf528c9":"2021-07-21T15:29:12.539Z","16.20.1":"2021-07-21T16:05:32.133Z","16.20.2":"2021-07-22T12:11:42.516Z","0.0.0-beta-4bb2b58d96d03a12cc819f638dc3ab0e39931fc5":"2021-07-22T15:24:03.350Z","16.20.3":"2021-07-22T15:33:50.743Z","0.0.0-beta-0ae16dd248b4f34accc7339cf6a71f45b28110be":"2021-07-23T07:11:02.715Z","16.20.4":"2021-07-23T09:34:59.694Z","16.20.5":"2021-07-23T13:07:59.781Z","16.20.6":"2021-07-26T06:16:35.672Z","0.0.0-beta-98914c48ae47a9673501fd7841d8507bc846603d":"2021-07-26T08:39:55.585Z","0.0.0-beta-6e86c85093c15174f731c0d339070769db671757":"2021-07-26T09:53:29.838Z","0.0.0-beta-4049dd70bb15753fce4b74d58cb8fdb4ee16625b":"2021-07-26T10:02:46.504Z","16.20.7":"2021-07-26T10:13:35.436Z","0.0.0-beta-d0486bce5f94a4f10968f7e062463b10aff49ca8":"2021-07-26T16:57:04.020Z","16.20.8":"2021-07-27T11:43:59.136Z","0.0.0-beta-9e4199a3209c60d6d7dfc782dd891ad4652fbfac":"2021-07-27T14:09:31.212Z","0.0.0-beta-4bfea6f7fe460cdd5f1cd87b121bf5fb148e1c7a":"2021-07-27T15:07:42.320Z","0.0.0-beta-c79bb1740224e2845a4127cda81a4d4a759e45d4":"2021-07-27T17:52:37.831Z","0.0.0-beta-6f7cec1b7e987a0a96b2d87516aa9ffdd97af719":"2021-07-27T18:50:58.358Z","0.0.0-beta-c55d6e55f2011ff89332e636758e34f0ef897dd6":"2021-07-27T19:51:54.309Z","0.0.0-beta-d05829852b66b7fd59d4d4f4fa8f5c23f4e494de":"2021-07-28T03:44:55.182Z","16.21.0-alfa.0":"2021-07-28T07:32:03.688Z","0.0.0-beta-ea1ff30dfab86f3e966f43dd36f2d9f22f1e43f4":"2021-07-28T07:51:04.678Z","0.0.0-beta-901ca1e69ee1f767104ba48e4c27cf0ef0df268f":"2021-07-28T08:35:33.775Z","0.0.0-beta-f720b0d74a68411c861372059d1034fec518826a":"2021-07-28T09:54:46.947Z","0.0.0-beta-361290dadbb21d4fc685224f225b65091858cf16":"2021-07-28T10:04:34.400Z","0.0.0-beta-d23b15850b99a743ef0efa6a49cda27c9a393b5f":"2021-07-28T11:35:54.175Z","0.0.0-beta-13f1dfe19859ae837fc60c943034158da720e5b9":"2021-07-28T12:09:05.917Z","0.0.0-beta-5a18e9b3efc895f79b0d1b2288e875944c345e73":"2021-07-28T12:30:27.521Z","0.0.0-beta-dac0ddeb4df256e1ae332de0445417dd1fdfdce8":"2021-07-28T12:39:42.856Z","0.0.0-beta-ef7c9398c6d30eddff23ae30a36ea897f7d6841f":"2021-07-28T18:24:57.530Z","0.0.0-beta-de9eb3546a2e624e5919a3543020f95d6028620b":"2021-07-29T03:44:02.362Z","0.0.0-beta-bb87cb182870f88ace780dc6fd182c0da916379a":"2021-07-29T04:37:35.170Z","16.20.9":"2021-07-29T07:14:50.948Z","16.21.0":"2021-07-29T07:51:05.784Z","0.0.0-beta-4620ae4b4e471e825a0918c359679bb04f1d36dd":"2021-07-29T08:19:35.460Z","0.0.0-beta-fe50df7d48389e2c94ca9e7e97bc08bfcea59b79":"2021-07-29T09:17:31.282Z","0.0.0-beta-cc6f70f911826502091a857f4c6a962df9b9fc20":"2021-07-29T10:04:55.331Z","0.0.0-beta-24292247173fbab679061cc52c62b506dd2ae01e":"2021-07-29T10:14:40.669Z","0.0.0-beta-32fd23f30b9844e4cff02d330fbaa6157b1a46f5":"2021-07-29T11:40:29.734Z","0.0.0-beta-01b47e0f0c463ba0f705f97efbd0fb19189cf818":"2021-07-29T13:04:19.180Z","0.0.0-beta-1cbfba5d1febe5664d572fa5a17a7246057079b9":"2021-07-29T13:23:38.185Z","0.0.0-beta-85c0f8228190fcd05fb48381d1719ad0235bda51":"2021-07-29T13:33:13.274Z","0.0.0-beta-b152e8685123b82c4874ca4b37145ed78a457a75":"2021-07-29T14:36:43.491Z","0.0.0-beta-1b47609207a6f442af584d46d1c789d206bf10ee":"2021-07-29T14:46:23.957Z","0.0.0-beta-46c251c598ef980b4e767262dcceb43034f6759a":"2021-07-29T15:26:01.395Z","16.21.1":"2021-07-29T16:01:18.629Z","0.0.0-beta-ce6a2754362d1d4f2a09f3d1be0a95b0b4a75214":"2021-07-29T16:23:12.079Z","0.0.0-beta-6c40bf985796fe56db241a7f7143a9d2666d66a4":"2021-07-29T16:32:52.399Z","0.0.0-beta-8e536904fb9db46121454b31b01d7be1faac7820":"2021-07-30T04:41:18.221Z","0.0.0-beta-8cfc7cecb28085b4f1c77fec27eaaf2d9a4456ed":"2021-07-30T07:10:46.401Z","16.21.2":"2021-07-30T07:20:29.724Z","0.0.0-beta-b7a085dc3bdf2ac7c4a4086cde112fa96d1cf840":"2021-07-30T11:32:36.504Z","16.21.3":"2021-07-30T15:42:29.451Z","16.21.4":"2021-08-02T06:51:45.391Z","0.0.0-beta-2b67262da9172d1e7e4cdf598b3f6557aed2f33b":"2021-08-02T07:13:57.371Z","16.21.5":"2021-08-02T08:56:51.637Z","0.0.0-beta-90eae0f7fb86923c2814e16d173edb3cb1c50a82":"2021-08-02T09:40:04.300Z","0.0.0-beta-6f91aa378b25c3c43a545bb34f89c339a583e916":"2021-08-02T10:10:17.399Z","0.0.0-beta-5551ec82ac1f6b8f820a2f4ab20eb9b7958f7860":"2021-08-02T11:12:25.587Z","16.22.0":"2021-08-02T12:25:46.765Z","16.22.1":"2021-08-02T14:05:14.361Z","0.0.0-beta-cb9c2a92f75cdce34f673b3fed2470b73c51cb8b":"2021-08-03T05:07:22.723Z","0.0.0-beta-d22232574e4c50c3d3da2db2cfc75f058ff8a94c":"2021-08-03T06:34:45.587Z","0.0.0-beta-f02cb41ec8102b19e502d391e4d500979a2cf918":"2021-08-03T07:20:01.152Z","0.0.0-beta-2b2c51f667466d429ef3bb4f416d193f73a77d75":"2021-08-03T10:26:29.552Z","0.0.0-beta-2b819d126c242d0cefac6716da402db13a42e7a9":"2021-08-03T12:05:24.469Z","16.23.0":"2021-08-03T13:40:43.208Z","16.23.1":"2021-08-03T15:08:38.472Z","16.23.2":"2021-08-03T15:40:20.328Z","0.0.0-beta-c0eb3f3452b89e2f901c328bb6b2baa5a893fd12":"2021-08-04T03:46:08.216Z","0.0.0-beta-bdceee78cc5b5a9346d5cd89422a9bc1537872f3":"2021-08-04T07:29:32.595Z","0.0.0-beta-647ca8919bf5464264c53a5354b638d4a6aa7b0a":"2021-08-04T08:05:14.620Z","0.0.0-beta-ac149b7bedc31fce024b5cd8b61352f6f104160d":"2021-08-04T09:04:26.479Z","0.0.0-beta-529e7b303e7087a741798e3c2667db0e81666001":"2021-08-04T09:13:51.316Z","0.0.0-beta-8f429fc99f2856f70dcaf4b9f51e5e52b08b74e6":"2021-08-04T09:50:35.199Z","0.0.0-beta-c34850bd2c0b5040ff657e7ea02318c1ad816f73":"2021-08-04T11:21:57.278Z","0.0.0-beta-6be8088569502dffbcdaf566e6da566fc124eef2":"2021-08-04T12:04:15.480Z","0.0.0-beta-8256ae3df42601d946006175591074e9e23a1cfa":"2021-08-04T13:05:20.918Z","16.23.3":"2021-08-04T13:14:44.976Z","0.0.0-beta-53c4e25b22204d02c6bc6d6408c83a6b3764bbb6":"2021-08-04T13:35:37.712Z","0.0.0-beta-2e39cc3f7fed713737e485917c380d2711ba0b21":"2021-08-04T13:45:33.816Z","0.0.0-beta-db85fc2473aaa4b6e493fa3e439dacb7c87496e3":"2021-08-04T14:35:53.707Z","0.0.0-beta-719d9134da498abe1c0f4a536b747c07d6cc7db3":"2021-08-04T15:38:50.427Z","0.0.0-beta-958aebc819f3bf2c41b8f7e00a5398f78dfa237d":"2021-08-04T15:52:42.276Z","0.0.0-beta-7a98c0868e247723b90884936a140b29f030a17a":"2021-08-04T17:22:17.525Z","0.0.0-beta-8033c36e2614c434f275d5a28ac6f2205d018554":"2021-08-04T18:56:21.108Z","0.0.0-beta-483fca1178419f034ef7da9d8b5fc5074663725d":"2021-08-05T04:08:58.196Z","16.23.4":"2021-08-05T04:43:25.210Z","0.0.0-beta-8b8553fba228a94871080bdc40fb2ddc9ee9be0a":"2021-08-05T04:53:34.088Z","0.0.0-beta-ddfc022aac4b06b7e071058d8e46144edd912eb9":"2021-08-05T05:03:08.942Z","0.0.0-beta-7c4b487e89963f966013db3a9c6442f7e7e8a88f":"2021-08-05T05:46:15.280Z","0.0.0-beta-b5669ef5f65366ac4e056d6e1ab0ed74b300ede6":"2021-08-05T07:30:41.466Z","0.0.0-beta-52badda0a2014e34323d9803d1807a7b130544bd":"2021-08-05T07:40:07.901Z","0.0.0-beta-00f6e71d45b356aa6379263b5ee2e722a64d3cc3":"2021-08-05T08:28:31.955Z","0.0.0-beta-e9eee93a00de271b815be42806d1caaf6db3084b":"2021-08-05T08:37:21.122Z","16.23.5":"2021-08-05T09:57:52.292Z","0.0.0-beta-3d89c048889d2d85a9b17d05803711324273de1d":"2021-08-05T14:09:48.346Z","0.0.0-beta-7d5b042155f5241cfbb1dc79541b0265ace604da":"2021-08-05T14:23:36.011Z","0.0.0-beta-f6e88779eb73080530c98dc7fd2980d677bbb768":"2021-08-05T21:30:14.122Z","0.0.0-beta-dc29680703216655e5727eb051b47f5249153c5c":"2021-08-06T07:12:11.406Z","0.0.0-beta-fcad9306df46bd98872abdad1b11951074d9b90f":"2021-08-06T08:58:31.152Z","16.23.6":"2021-08-06T09:16:12.324Z","0.0.0-beta-acc57c8d53ecfaafa04a41b98d4655fd97d6f864":"2021-08-06T09:51:19.021Z","16.24.0":"2021-08-06T14:01:38.247Z","16.25.0":"2021-08-09T07:43:31.410Z","16.25.1":"2021-08-09T10:40:58.533Z","16.25.2":"2021-08-09T11:04:51.482Z","0.0.0-beta-2c0ced7619c0865d76d7425cd79c00c49a54af8c":"2021-08-09T15:22:13.797Z","16.25.3":"2021-08-10T09:33:01.574Z","0.0.0-beta-e8e785383f8408c463f96d2d1ab2205eb0a87c55":"2021-08-10T10:30:35.776Z","0.0.0-beta-9c26f80d14941cf53a8b41b04c6c489f5c86fd50":"2021-08-10T12:06:38.247Z","0.0.0-beta-9683a5260fc04755e2ec51832a01b9f525272a2b":"2021-08-10T12:29:07.170Z","16.25.4":"2021-08-10T13:38:37.946Z","16.25.5":"2021-08-10T14:06:54.894Z","16.25.6":"2021-08-11T06:17:52.038Z","0.0.0-beta-f392b791465082258b0abde64df319adc7d16b6c":"2021-08-11T08:48:23.792Z","16.25.7":"2021-08-11T09:42:02.520Z","0.0.0-beta-c51b86dcf527eb416e3e598abca70bb7a4887544":"2021-08-13T10:16:05.463Z","0.0.0-beta-8f1946c29e11f168f8171ceb192dd1cd97417f31":"2021-08-16T08:12:59.738Z","0.0.0-beta-22d7554cf0844f9649e276f7a9295ebc096f2f03":"2021-08-16T09:11:11.994Z","16.26.0":"2021-08-16T12:02:13.441Z","16.26.1":"2021-08-18T05:21:21.766Z","16.26.2":"2021-08-18T06:14:30.991Z","16.26.3":"2021-08-18T08:00:58.586Z","16.26.4":"2021-08-18T13:26:23.955Z","16.26.5":"2021-08-23T15:37:26.496Z","0.0.0-beta-6f59ef68e0532675d93bcbbc21eff5cb437b9e3c":"2021-08-25T07:17:52.700Z","0.0.0-beta-8125e89cadb521d3532bc8062234701303bba83d":"2021-08-25T12:31:48.214Z","0.0.0-beta-ddd739e87e093c662969c59514e510d04781728c":"2021-08-25T12:40:09.777Z","16.26.6":"2021-08-25T15:09:56.474Z","0.0.0-beta-c6252f2e9ea4b229ca740158d808f32eae14cbd4":"2021-08-25T18:31:32.392Z","0.0.0-beta-7c76c9ffcb6ad952cae6b2c34c6b5075bae31823":"2021-08-26T07:24:06.528Z","0.0.0-beta-99cd2d2cedc8f3d9542d2f68cc3ca4ba7efabcbd":"2021-08-26T15:14:01.140Z","16.26.7":"2021-08-30T10:59:30.609Z","16.26.8":"2021-08-30T13:27:15.701Z","0.0.0-beta-e26e21e2fd7e404a98c54b50445bc56bc9375fa7":"2021-08-30T17:03:59.171Z","0.0.0-beta-99c1405f4b1e02ec32fd842826253b31176f68be":"2021-08-31T11:32:20.035Z","0.0.0-beta-b31aa985cd14e674c62048caf4d4562491dc5047":"2021-08-31T11:53:01.892Z","16.26.9":"2021-08-31T14:00:03.053Z","0.0.0-beta-cac84f6e28086ab1031584020791c7a0fbf943fa":"2021-09-01T07:21:27.204Z","16.26.10":"2021-09-01T10:17:16.667Z","0.0.0-beta-9db39999128377b393efe269bc6a2e7fcfb2e74a":"2021-09-01T13:14:46.818Z","0.0.0-beta-9bea23c6cd64c378dd424d1b3dbf3605d530f736":"2021-09-02T08:16:33.392Z","16.27.0":"2021-09-02T09:55:13.536Z","16.28.0-alfa.0":"2021-09-06T09:56:24.138Z","16.28.0-alfa.1":"2021-09-06T10:10:57.153Z","16.27.1":"2021-09-06T12:43:43.819Z","16.28.0":"2021-09-07T09:59:15.545Z","17.0.0":"2021-09-14T12:44:21.042Z","17.0.1":"2021-09-15T15:47:37.531Z","17.0.2":"2021-09-16T12:47:08.083Z","17.0.3":"2021-09-16T14:15:37.697Z","17.0.4":"2021-10-05T11:03:21.694Z","17.0.5":"2021-10-05T18:21:30.416Z","18.0.1":"2021-10-06T08:43:30.305Z","0.0.0-beta-dc8a1500d8c4730b9b9e6e6b9077af00f666e90e":"2021-10-06T09:44:04.877Z","18.0.2":"2021-10-06T11:56:59.304Z","0.0.0-beta-91dd58a6b043806d002026798f36947fb224dc4c":"2021-10-06T12:56:03.582Z","18.0.2-alfa.1":"2021-10-06T13:58:51.078Z","0.0.0-beta-2e425b8f3b4abb9ba4e20fd57fae02c14e279afe":"2021-10-06T18:02:02.874Z","18.0.2-alfa.2":"2021-10-07T07:14:45.067Z","0.0.0-beta-3a1784e2e48cde8b33d57d1fffa7fc869d3df197":"2021-10-07T08:32:28.661Z","18.0.2-alfa.4":"2021-10-07T09:56:38.114Z","0.0.0-beta-dd90212e5962bee8fde2aed2c74cfeb74b4ee0c6":"2021-10-07T10:06:17.674Z","0.0.0-beta-ab747259a989efdcb06bccf00b295fe34d7b7876":"2021-10-08T09:47:46.384Z","18.1.0":"2021-10-11T14:10:44.191Z","0.0.0-beta-a1cd3ac7a9d6b3c69e197c2601037c99b9e70477":"2021-10-11T14:33:14.364Z","0.0.0-beta-e4bb2a39d82998a9a4d0300a95eb402cf1898276":"2021-10-12T09:36:53.800Z","0.0.0-beta-6c2950ab2a377ff3cd715a0ea160072d690522b9":"2021-10-12T11:08:11.275Z","0.0.0-beta-4c143abb09ff7c4b842e516e41a0338e25ed73d1":"2021-10-12T13:17:24.028Z","18.1.1":"2021-10-12T13:28:48.276Z","18.2.0":"2021-10-13T07:53:29.884Z","18.2.1":"2021-10-15T09:42:36.741Z","0.0.0-beta-7390c48662847022922641fb5929265015b9a047":"2021-10-15T15:19:11.977Z","0.0.0-beta-16054f26579c4eab59e0c6a7a9edf4b15dd2ba58":"2021-10-18T09:19:39.668Z","0.0.0-beta-daeabe669c7c136d7368cb07cc719099f243a082":"2021-10-18T10:34:22.535Z","0.0.0-beta-1c544f629af60d54f7b7964921349a6ffbd913a6":"2021-10-18T13:54:15.783Z","18.2.2":"2021-10-19T06:59:53.036Z","18.2.3":"2021-10-19T17:23:54.726Z","0.0.0-beta-b367130d3f8b29d7bffef5f00b137088c9c38ebe":"2021-10-20T13:50:04.787Z","0.0.0-beta-f39d7c8de89a47482e119a5c9793b6c61826e33c":"2021-10-20T18:29:58.728Z","0.0.0-beta-092caef8bdff5e58abfaea3355956b2d1b75a596":"2021-10-20T23:03:11.735Z","18.2.4":"2021-10-21T15:39:09.524Z","18.2.5":"2021-10-22T13:11:48.021Z","18.2.6":"2021-10-25T09:00:47.394Z","18.3.0":"2021-10-25T13:31:12.757Z","18.3.1":"2021-10-27T10:11:35.961Z","18.4.0":"2021-10-27T11:54:57.785Z","18.4.1":"2021-10-28T14:40:48.814Z","18.4.2":"2021-10-29T11:47:35.336Z","18.4.3":"2021-11-01T09:32:18.820Z","0.0.0-beta-1feea988dadb7f9c1592e0a765a153dfc4bbe859":"2021-11-04T07:48:51.958Z","18.5.0":"2021-11-04T12:53:53.542Z","0.0.0-beta-ae2d99f07cbab58fa50fd9f3330b78e2729d65a1":"2021-11-04T13:03:14.145Z","18.5.1":"2021-11-05T08:54:45.733Z","18.5.2":"2021-11-08T10:50:11.164Z","0.0.0-beta-0a5f27b90cbf8df311512f6e43e30c64a61fcbbd":"2021-11-09T13:56:01.785Z","18.6.0":"2021-11-09T17:19:02.319Z","18.6.1":"2021-11-10T15:38:50.486Z","0.0.0-beta-a9d3f257f94679f4fb852d9cd045a3371792a85b":"2021-11-10T17:22:22.413Z","18.6.2":"2021-11-10T17:38:11.392Z","0.0.0-beta-b947eeab9fdc99d81c5ef63083b80b07d73e172e":"2021-11-10T20:49:24.546Z","0.0.0-beta-d661eaaa59fd9b3df27ff932f04ee4fedceff272":"2021-11-11T10:26:22.737Z","18.6.3":"2021-11-11T11:19:04.230Z","0.0.0-beta-9ff2201319924731785e84832e50d26837caae9c":"2021-11-19T10:08:04.853Z","18.6.4":"2021-11-19T13:42:02.802Z","18.6.5":"2021-11-19T15:04:45.159Z","0.0.0-beta-37b4c8f44dd2ee54729a5d5e9a3e7729b8af5075":"2021-11-22T11:10:02.256Z","0.0.0-beta-dac62abca4b27de4f473fa664da1580e7a80a1e3":"2021-11-22T11:19:10.635Z","18.6.6":"2021-11-22T12:24:25.038Z","18.6.7":"2021-11-25T15:56:59.866Z","18.7.0":"2021-11-29T11:54:38.457Z","18.7.1":"2021-11-29T13:03:16.595Z","18.7.2":"2021-11-30T08:45:35.405Z","18.7.3":"2021-12-01T07:58:13.170Z","18.7.4":"2021-12-02T09:34:59.667Z","0.0.0-beta-caf6e16b39bb6a2a104fb06c80c4e85abbc72967":"2021-12-06T14:25:19.242Z","18.7.5":"2021-12-09T16:35:02.576Z","18.7.6":"2021-12-10T08:24:38.685Z","18.7.7":"2021-12-13T15:47:58.369Z","0.0.0-beta-73412b4d79275a96f079f173bc6d0b825aa82d18":"2021-12-14T07:50:44.247Z","18.7.8":"2021-12-14T15:32:35.627Z","0.0.0-beta-15f2dcdd2446409d52e9bba7c17891f54379e19a":"2021-12-14T16:46:48.613Z","0.0.0-beta-7e2d7f361a98254483441a8fdd1d6c8d12523548":"2021-12-15T06:23:29.876Z","19.0.0":"2021-12-15T08:05:40.652Z","0.0.0-beta-9235f9ef9990e5ed3297eba62854d7cab946f337":"2021-12-15T09:45:53.290Z","0.0.0-beta-69619865ff93b490a5798a713be1eb9c5319a690":"2021-12-15T12:16:43.756Z","0.0.0-beta-75950d7f66cd1dd34a8a897da6613944131ffd0e":"2021-12-15T12:56:24.650Z","19.0.1":"2021-12-15T14:25:59.592Z","19.0.2":"2021-12-15T16:02:00.387Z","0.0.0-beta-bfde50fe5e75f032606cc74565814e1f729138f1":"2021-12-17T06:24:43.761Z","0.0.0-beta-19886f52cb8e3acdf86b08ec26a2bd818c4d2c62":"2021-12-17T08:07:36.451Z","0.0.0-beta-7bafbd038c367b671f3d5cc66d97159057347f0c":"2021-12-21T13:48:12.107Z","19.1.0":"2021-12-21T15:23:58.348Z","19.1.1":"2021-12-22T12:35:14.001Z","0.0.0-beta-10e3f1a76c19e46f409fdb2dd8e9b8c65eb6d890":"2021-12-22T16:33:51.137Z","19.1.2":"2021-12-23T16:06:30.348Z","0.0.0-beta-1a9de05313dd6913b262a5a071d9928c4447b688":"2021-12-27T11:25:56.104Z","19.2.0":"2021-12-28T07:52:48.342Z","19.2.1":"2021-12-29T08:17:42.141Z","19.2.2":"2021-12-29T09:44:05.768Z","0.0.0-beta-ae5c4c16ac710fd65fea2ffecbcaf4832f2744a4":"2021-12-29T10:39:30.080Z","19.2.3":"2021-12-30T08:35:35.860Z","19.2.4":"2021-12-30T10:34:36.676Z","19.2.5":"2022-01-10T08:16:46.017Z","0.0.0-beta-b8dcdc4508fdf419d247ead59b2f03a8d8512576":"2022-01-17T18:06:38.753Z","0.0.0-beta-5986532b5e9f6d392c911a30566402783e43c7a8":"2022-01-17T19:52:22.916Z","0.0.0-beta-429053e320d0d835a1cc5657c33542c6d6d1a3af":"2022-01-18T11:21:33.329Z","0.0.0-beta-e67065dde20aa12c1f2ffb5dafa71eac72782a9e":"2022-01-19T10:33:25.946Z","0.0.0-beta-b837256b1b9ff2503bd463d01a307ecc2cf9f551":"2022-01-19T16:01:48.662Z","0.0.0-beta-5cf0f66baa43f098ed5dfd06b4c3284d519f947f":"2022-01-20T13:16:14.261Z","0.0.0-beta-7187d7f858133c0883cf670661790b1206e567aa":"2022-01-20T13:30:45.973Z","0.0.0-beta-15b2b76fbf428b007d38f8b7db7934864d2e619d":"2022-01-23T12:27:07.878Z","0.0.0-beta-0fe0f5550712e6e586f4d65eb262d16b561301b6":"2022-01-24T11:13:02.474Z","0.0.0-beta-3b29e68eda20fdfe60ee7ebe9c4582b44dd42d29":"2022-01-24T14:13:03.734Z","0.0.0-beta-25a8a3b6634dc0471f9fece05d76c460d4eaa167":"2022-01-24T14:30:34.701Z","19.2.6":"2022-01-24T16:25:04.423Z","19.3.0":"2022-01-24T16:53:43.230Z","19.3.1":"2022-01-24T21:06:23.248Z","19.3.2":"2022-01-25T07:52:15.229Z","0.0.0-beta-967a41175157ae2fa10b2cbf9e2095701016043b":"2022-01-25T08:29:23.016Z","0.0.0-beta-8c00b1047dc674d7baeafc348633fe152b79bac5":"2022-01-25T10:10:11.804Z","0.0.0-beta-b49d808eb7b57a5524423f69bc969dbe68775386":"2022-01-25T11:08:53.320Z","0.0.0-beta-581772026981b544df4f1f294564eae5264ff90b":"2022-01-25T12:48:25.426Z","0.0.0-beta-e8af0c0ed7b5ba7f2c2efec7992dfca9430f244e":"2022-01-25T13:30:10.816Z","19.3.3":"2022-01-25T14:37:47.407Z","19.3.4":"2022-01-26T07:53:32.847Z","0.0.0-beta-c6b0271ffd05a0a710dabc6189c2255f896af5ed":"2022-01-26T17:44:10.521Z","19.3.5":"2022-01-26T18:04:35.725Z","19.3.6":"2022-01-27T08:21:22.973Z","0.0.0-beta-839963da21cea34917b3bc51d5a722673a196439":"2022-01-27T10:22:35.457Z","19.4.0":"2022-01-27T10:56:07.113Z","0.0.0-beta-36beb99a1ead3fc98ba00feffed4c3823900ea0b":"2022-01-27T13:58:52.890Z","19.4.1":"2022-01-27T14:15:44.920Z","0.0.0-beta-9a709384029df047aefb69004f514f29d42cca7f":"2022-01-27T16:15:42.945Z","19.4.2":"2022-01-27T17:43:33.791Z","19.4.3":"2022-01-28T12:00:58.478Z","19.4.4":"2022-01-28T15:40:28.997Z","0.0.0-beta-7dad2643b78964153a2a521cf70faae0caa82e68":"2022-02-02T11:07:10.871Z","19.4.5":"2022-02-02T11:24:34.346Z","19.4.6":"2022-02-03T09:16:45.236Z","0.0.0-beta-c2077932e025b2529e6291f65b17c17c0ec1969b":"2022-02-03T09:41:56.720Z","0.0.0-beta-8e0f00617c25ebb78fdfc9163fc73f357669a857":"2022-02-03T14:32:27.655Z","0.0.0-beta-063a4b2fb56672614dc922a532355b9c87711e36":"2022-02-04T10:06:03.299Z","0.0.0-beta-89c887ad06abc7a7725d5aedbdd8a053e0dc049c":"2022-02-04T10:49:34.786Z","0.0.0-beta-31230453289fde403b40ac49556bc3bb9a9a4c2f":"2022-02-04T11:00:35.031Z","19.4.7":"2022-02-04T12:01:51.945Z","0.0.0-beta-877c4d80cd2057aeb5f8b631dc81eaf254e4747d":"2022-02-04T15:18:42.850Z","19.4.8":"2022-02-07T08:51:31.478Z","0.0.0-beta-f7be6037e5a9f9d1c8115bcace77a2b2f6ac4089":"2022-02-07T10:14:19.506Z","0.0.0-beta-acfe9d55e7f629f9156d211d0613069fb408b954":"2022-02-07T11:25:33.314Z","0.0.0-beta-d57d2d9b6cbde84aaf3e1e250061dc027e18cbb9":"2022-02-07T12:19:04.133Z","19.4.9":"2022-02-07T13:33:51.152Z","19.4.10":"2022-02-07T13:44:40.973Z","0.0.0-beta-b5963b78f7338150ee2a65752e5a5a99a1f14ef8":"2022-02-07T16:29:18.209Z","0.0.0-beta-c8a0b7733490e87cd6b14d5224d31a0e25929375":"2022-02-08T06:03:55.129Z","19.4.11":"2022-02-08T07:32:38.845Z","0.0.0-beta-35489608b07414c4fb592ae2871c3a69197b1920":"2022-02-08T08:00:50.814Z","0.0.0-beta-1ac38ff75cdff5a732736ca682a3f5467255140a":"2022-02-08T15:04:45.465Z","19.4.12":"2022-02-11T07:42:19.216Z","0.0.0-beta-0ffea3f3e708f0362605c62d0ccb83fd830ab6e1":"2022-02-11T14:16:42.201Z","0.0.0-beta-7edccf4c385165fcef2d41e0d0232a35260c3dd6":"2022-02-14T08:45:44.706Z","0.0.0-beta-bc90f7fd3bc95db6402a01fb8cda59f9f8aaf18a":"2022-02-14T10:46:50.366Z","19.4.13":"2022-02-14T11:16:12.109Z","0.0.0-beta-35ffd1fba70b80c4a5abcf5fc609a6b0f4de140e":"2022-02-15T11:31:31.737Z","19.4.14":"2022-02-15T13:12:27.710Z","19.4.15":"2022-02-15T15:06:37.333Z","19.4.16":"2022-02-16T07:40:58.796Z","19.4.17":"2022-02-16T09:00:09.933Z","19.4.18":"2022-02-16T15:18:57.868Z","19.4.19":"2022-02-17T06:27:59.539Z","19.4.20":"2022-02-18T07:16:34.446Z","19.5.0":"2022-02-18T09:11:09.331Z","19.5.1":"2022-02-24T09:04:21.611Z","0.0.0-beta-2dbb473db276aeac685741a9bf30d45c90d2c30a":"2022-03-04T09:27:11.913Z","19.5.2":"2022-03-04T10:26:15.841Z","19.5.3":"2022-03-04T15:06:28.548Z","0.0.0-beta-a492ccbdaf46024b18285ec86a82ce75dd965d0f":"2022-03-07T14:43:01.389Z","19.5.4":"2022-03-08T08:47:34.803Z","19.5.5":"2022-03-09T06:21:33.442Z","19.6.0":"2022-03-10T09:05:27.532Z","0.0.0-beta-eb46af9bc28a506d2a09a355a28c192883759ee9":"2022-03-10T09:29:26.338Z","19.6.1":"2022-03-10T10:30:22.091Z","19.6.2":"2022-03-10T15:16:53.183Z","19.6.3":"2022-03-11T09:39:54.077Z","0.0.0-beta-eb074ff2628396643c82139ddc3db11d2909c789":"2022-03-11T15:23:22.542Z","0.0.0-beta-d405037b8f53bad4fe48df001bcfe4660b64762b":"2022-03-13T11:01:03.498Z","0.0.0-beta-f76b4f5f8c0b37408e87b826b33391a76d7bccbc":"2022-03-13T12:36:36.775Z","19.6.4":"2022-03-13T13:42:55.780Z","0.0.0-beta-4367602894388d23729fcabb6c2c2d4ce8a7b62a":"2022-03-14T09:41:52.601Z","0.0.0-beta-775fd52e51f414d5b4083b867001b1f69cbd90e7":"2022-03-14T11:03:28.984Z","0.0.0-beta-09d5a87a0fee442ee1dacdf9781220f33cded3e5":"2022-03-14T13:36:12.299Z","19.6.5":"2022-03-14T17:24:50.474Z","19.6.6":"2022-03-15T06:50:16.961Z","0.0.0-beta-8cde20afefff54172cabbb4991ba6330b0b90544":"2022-03-15T07:38:21.750Z","0.0.0-beta-47398f019cb6af32b6ae555a12383bbe04571bcc":"2022-03-15T08:38:18.919Z","0.0.0-beta-8cdc07fb2d090ff4348d6ec6bab4fd67d794768f":"2022-03-15T15:01:26.685Z","0.0.0-beta-34aa210ae4441b119e669843b19a34ee30cc4355":"2022-03-16T10:15:04.046Z","0.0.0-beta-e17f8416fb5299fdca949f13d6e4535506d15df3":"2022-03-16T15:58:59.660Z","0.0.0-beta-90c21aba5a9103cbb9c333cda90ac264b19f9a75":"2022-03-16T18:30:47.687Z","0.0.0-beta-d96aedb723dd094959781bc8d50cdd7e06d17fb3":"2022-03-17T08:45:16.878Z","0.0.0-beta-0846348b974a6c625f0730ffb714164e77674cf1":"2022-03-17T09:17:23.997Z","19.6.7":"2022-03-17T10:45:27.495Z","19.6.8":"2022-03-17T13:13:50.865Z","19.7.0":"2022-03-17T14:06:09.929Z","19.7.1":"2022-03-18T08:01:29.950Z","0.0.0-beta-106103fff966426829b5748759f0b60897569d4f":"2022-03-18T14:58:40.527Z","19.7.2":"2022-03-19T10:51:55.495Z","0.0.0-beta-882d8cae1f5fadbee4f98d76429272c3872f8e1b":"2022-03-19T11:00:58.288Z","19.7.3":"2022-03-20T14:21:29.502Z","0.0.0-beta-534ad3bb2581e2fc13134e3bfdeacfeced0f028f":"2022-03-20T15:44:03.529Z","0.0.0-beta-fc487e6350dd2f10ce3fda06d433e27920befb78":"2022-03-20T16:33:43.043Z","0.0.0-beta-f0fc7d283ac367a71a15fd5d8633c8444aea9cb2":"2022-03-21T16:05:20.679Z","0.0.0-beta-a28eaeaff4b3ec3e51b90e74efa836f9167b23b5":"2022-03-21T16:43:14.506Z","19.7.4":"2022-03-22T08:05:32.922Z","0.0.0-beta-0224de9ec6e3992f7780992c8abcd237a1c2c6c6":"2022-03-22T09:07:28.024Z","19.7.5":"2022-03-22T12:12:40.121Z","19.7.6":"2022-03-22T13:22:22.493Z","0.0.0-beta-da4683a6571c95b881eb444fd32b438414de39ef":"2022-03-22T14:34:39.911Z","19.7.7":"2022-03-22T14:47:27.183Z","19.7.8":"2022-03-23T07:48:56.988Z","0.0.0-beta-f168687ce46464adeef12c6fd738607682a94d68":"2022-03-23T11:34:59.506Z","19.7.9":"2022-03-23T12:57:11.810Z","0.0.0-beta-bebd54c01848886ee62ebd28faf49d5f3da6b0cc":"2022-03-24T17:41:00.651Z","0.0.0-beta-5b07660622d5eb9502aeb2668917f7e864b4ede3":"2022-03-25T08:24:09.402Z","0.0.0-beta-4c7af59582434325609acbe8db54a0590948f3b6":"2022-03-25T11:11:54.524Z","0.0.0-beta-82b5096007348bb5459f513ef96d32ab65ab29c7":"2022-03-25T13:52:44.324Z","0.0.0-beta-438e312b735b7d42a53c7ecba6dbe0f2cbc27e56":"2022-03-25T15:27:41.560Z","0.0.0-beta-4ec8a392ca875495bc46703dd47d193c768d3693":"2022-03-27T10:56:49.286Z","0.0.0-beta-ea07774198bdabd643b893da08588eda408a1865":"2022-03-28T07:51:46.577Z","0.0.0-beta-ef3147533b68bb8b2e59cb544829f89f09fb5b8d":"2022-03-28T08:00:32.089Z","19.7.10":"2022-03-28T09:09:30.102Z","0.0.0-beta-134330c2f173fe018a4e888a27a7087b045a879c":"2022-03-28T10:46:37.216Z","19.7.11":"2022-03-28T12:08:02.944Z","0.0.0-beta-b7b73079fbba43bc3f55078c4ed02c8634a59e2f":"2022-03-28T15:06:37.263Z","19.7.12":"2022-03-28T15:47:43.470Z","0.0.0-beta-c159d23c4bbbf069b88e512c816b2e51d6390c21":"2022-03-29T08:07:49.891Z","0.0.0-beta-85fd702e43a1d62384408b1e692a978ac72d3741":"2022-03-29T09:59:33.940Z","19.7.13":"2022-03-29T13:06:23.551Z","19.8.0":"2022-03-31T14:32:55.504Z","19.8.1":"2022-04-04T16:09:05.605Z","0.0.0-beta-6f6bca169f961a21018a233922259a3cf343025b":"2022-04-05T14:16:50.658Z","19.9.0":"2022-04-05T15:57:17.918Z","19.9.2":"2022-04-12T06:24:45.657Z","19.9.3":"2022-04-14T09:09:42.239Z","0.0.0-beta-ac1445d0f72065ef7b2f6abd41ff8ce071dde033":"2022-04-14T15:12:00.909Z","0.0.0-beta-bb6482d667e83f96787ab76a08d16bfef484b454":"2022-04-14T16:21:08.439Z","19.9.4":"2022-04-15T12:04:38.949Z","0.0.0-beta-03d41aff7d3d6baf1830c41efaa515cbbbaace36":"2022-04-17T17:31:38.306Z","0.0.0-beta-eb1911d13cb0dfd2f52614f5e38d9d29de0e83f2":"2022-04-18T06:51:18.793Z","0.0.0-beta-4108335d6ced8b43e3c577795e041e5715647eca":"2022-04-18T09:21:08.335Z","19.9.5":"2022-04-18T09:31:16.160Z","0.0.0-beta-34b0b3cfc15431471ef967365680a30001148e4c":"2022-04-19T11:10:14.634Z","0.0.0-beta-5ce174b160e4adffaed70e12d5b663e621884dfd":"2022-04-19T12:34:22.356Z","0.0.0-beta-c6a38f2e1e9531c6b9b258967954e90b35858229":"2022-04-19T13:15:28.241Z","19.9.6":"2022-04-19T13:28:51.286Z","0.0.0-beta-1678110cbf3123bce96d0dd322603da7e6b16af9":"2022-04-19T13:59:20.747Z","19.9.7":"2022-04-20T06:46:25.812Z","0.0.0-beta-4adea2682259781e3df125a741a5119b890faa2d":"2022-04-20T08:27:53.029Z","0.0.0-beta-a35c8e490e1920ea262bf69a4bc379b6d6b14e81":"2022-04-20T10:18:23.170Z","0.0.0-beta-1cf0df317d71bc6dd38e4c6f39504bd1d8b3cd1d":"2022-04-20T12:10:19.032Z","0.0.0-beta-50bca74b1b3a0f35b2297e81b6d30716a3a3007c":"2022-04-20T15:39:15.950Z","0.0.0-beta-e84f6e5072c2f51b28cc999344e5e470aacf2d32":"2022-04-21T07:58:05.187Z","0.0.0-beta-0d36da9758a55732cbf29d33e4105a56bc860add":"2022-04-21T09:16:43.333Z","0.0.0-beta-a000d05222e950f5874a22613278648bd87b00b9":"2022-04-21T09:58:38.003Z","0.0.0-beta-e6eceed82d4b2b39bb143230e2704ad85834e749":"2022-04-21T10:43:03.090Z","0.0.0-beta-4a91fef254fc34c33c687363b2c5487b452289b8":"2022-04-21T11:42:14.593Z","19.9.8":"2022-04-22T07:50:23.125Z","19.9.9":"2022-04-22T15:48:08.074Z","19.10.0":"2022-04-27T11:30:52.155Z","19.10.1":"2022-04-27T11:59:39.948Z","19.10.2":"2022-04-28T05:47:51.053Z","0.0.0-beta-24e4b31e1755c957aa3732dfab4896ac767679d2":"2022-04-29T06:26:34.268Z","0.0.0-beta-4d3b7b587c7b96b5cb5ed23132c6b5e05d2f71b2":"2022-04-29T11:10:00.385Z","19.10.3":"2022-05-04T08:17:30.731Z","19.10.4":"2022-05-06T09:05:02.394Z","19.10.5":"2022-05-09T08:26:56.965Z","19.10.6":"2022-05-27T13:26:46.655Z","19.10.7":"2022-05-27T14:23:20.134Z","19.10.8":"2022-06-09T12:55:09.457Z","0.0.0-beta-57db9a094eed378f5fd6d595961e979b14106421":"2022-06-09T14:18:56.830Z","19.10.9":"2022-06-11T10:22:41.416Z","19.10.10":"2022-06-14T06:33:53.186Z","19.10.11":"2022-06-15T07:50:38.682Z","0.0.0-beta-237d735c8a31ba3ffa00c49fb4771fd51490b8e8":"2022-06-15T08:49:10.441Z","0.0.0-beta-020e716e1d4b3b94e0628ff43a651dbe131a663a":"2022-06-15T13:03:07.151Z","19.10.12":"2022-06-15T13:24:43.557Z","19.10.13":"2022-06-16T06:19:23.382Z","19.10.14":"2022-06-21T08:44:29.017Z","19.10.15":"2022-06-21T15:32:04.057Z","19.10.16-alfa.0":"2022-06-22T10:28:05.838Z","0.0.0-beta-a585202d3b3cb2e3ac6ebeb81580995510abcad4":"2022-06-28T09:35:37.782Z","0.0.0-beta-8b969fd74fdcb2b379e9c5c0791edc411c7fc671":"2022-06-28T10:27:15.917Z","0.0.0-beta-b5c46be70463e2d6484e4e97f5ac92e828139e47":"2022-06-28T15:53:35.247Z","0.0.0-beta-2408c8ac3fffc22b771afc13618c1503f591fb30":"2022-06-29T07:18:48.793Z","0.0.0-beta-e390c4a9c3c9ca213977c94a5c0e46e7f3bbf402":"2022-06-29T16:31:24.887Z","0.0.0-beta-2488e2cc07fcfd4a2be1cb652fabfa0ca59d0e20":"2022-06-30T09:17:10.405Z","0.0.0-beta-73b1df12c710ae0a329c382f03678e9d8c998adb":"2022-07-01T12:56:07.344Z","0.0.0-beta-503cb34e00ce85b3ddea1e07f66ab0d6b111295b":"2022-07-04T09:59:04.072Z","19.10.17":"2022-07-04T11:44:18.351Z","0.0.0-beta-7bdeb7460a22240dec0dda4f86609baf29410836":"2022-07-04T14:48:23.857Z","0.0.0-beta-40e5e9255786ca2a60dae02d52a10350bbc122fb":"2022-07-04T16:13:01.954Z","0.0.0-beta-4c335228e07296e7b0c07bbe7414ae2b4a2381f6":"2022-07-05T09:09:23.526Z","0.0.0-beta-f5934172b8595c46f966c5f2572b9dfc504f6456":"2022-07-05T12:55:20.651Z","0.0.0-beta-73819b6b6aab5685c0ff00de5422f9c0d1313c5b":"2022-07-05T13:39:19.483Z","0.0.0-beta-30e4e0193d0d2afaae9c8b0bbb362636b3bfd0cd":"2022-07-05T14:57:19.841Z","0.0.0-beta-b49d3180e84e6215006ac8c20f72a8641d0d029b":"2022-07-05T15:09:46.084Z","0.0.0-beta-89a86ad43f3e48b6e23b2c086a059e1a3b78574c":"2022-07-06T09:39:19.972Z","0.0.0-beta-88578d02c02130c1fa485cfb5e8da440df7db036":"2022-07-06T10:04:20.230Z","0.0.0-beta-abf2a175233f57e5e3b8354c9a48bc3a30ed440d":"2022-07-06T10:49:21.462Z","0.0.0-beta-84dea723195adcce58940ff68b5fb58e29a787c3":"2022-07-06T11:04:20.794Z","19.10.18":"2022-07-06T12:54:05.860Z","0.0.0-beta-2deedafd3f52fd56340e486d76a0f60dcf8eb178":"2022-07-06T13:51:57.415Z","0.0.0-beta-e906c658e9c51ab992aac0a0b7b45244a4682b4b":"2022-07-08T10:03:56.603Z","19.10.19":"2022-07-08T13:43:38.277Z","0.0.0-beta-bd75ed36061d810bfd5d181c24004f883e203bf4":"2022-07-08T14:40:17.062Z","0.0.0-beta-26cbfc6a86559caec4ad7bf54798824856b6139b":"2022-07-08T15:14:27.693Z","0.0.0-beta-a74dbbb5cf86f31c60feaa4344200c99a5af05b1":"2022-07-08T15:54:50.744Z","19.10.20":"2022-07-11T09:23:27.789Z","0.0.0-beta-c38e32539ca60791e28c11c3ea628a67fe68ced0":"2022-07-12T09:16:33.359Z","19.10.21":"2022-07-12T10:13:05.360Z","0.0.0-beta-f9ad19d07717be61644089e1e35fd0329d76fd91":"2022-07-14T08:09:41.867Z","19.10.22":"2022-07-14T09:30:05.987Z","19.10.23":"2022-07-15T14:16:03.600Z","0.0.0-beta-462d768176499ee176d39c860b4dc384eadb6e42":"2022-07-19T09:27:42.964Z","0.0.0-beta-0957844ee5e9a142e0c82fbf7f2150fa986f8892":"2022-07-19T10:07:55.863Z","19.10.24":"2022-07-19T11:11:46.491Z","19.10.25":"2022-07-20T06:55:35.209Z","19.10.26":"2022-07-20T09:42:13.777Z","0.0.0-beta-59572dba571aebcc5ae9336a695f68a4ce226d81":"2022-07-26T07:11:21.697Z","19.10.27":"2022-07-26T15:42:33.960Z","0.0.0-beta-b974c8f9274c8043d70fee83844c090a89a06aba":"2022-07-28T07:46:36.406Z","19.10.28":"2022-07-28T09:13:31.911Z","0.0.0-beta-562a7af18a314ff9df004a8f0938faf9093a5324":"2022-07-28T11:40:07.936Z","0.0.0-beta-634e28628542c5ab4d58cf5ee1c233a2dd9a55a5":"2022-07-29T07:21:57.865Z","0.0.0-beta-a1ff415c0cf274c769962ceb5fa6b1a32d34d22c":"2022-08-01T12:14:30.257Z","0.0.0-beta-865898a6497796c117bf62aa6ebcba7b562dfff0":"2022-08-02T05:58:53.564Z","19.10.29":"2022-08-03T08:13:28.440Z","19.10.30":"2022-08-03T10:13:08.168Z","19.10.31":"2022-08-03T10:41:24.547Z","19.10.32":"2022-08-04T10:46:29.166Z","0.0.0-beta-2eeb444c58e8cd0c8e1c1e85c1e0e57999d13ad4":"2022-08-04T13:07:12.759Z","19.10.33":"2022-08-10T12:46:02.904Z","19.10.34":"2022-08-11T14:52:58.055Z","19.10.35":"2022-08-17T11:19:48.017Z","19.10.36":"2022-08-18T07:49:04.097Z","0.0.0-beta-75a364ba13c475df8d5171dfc0f56128ee61795f":"2022-08-19T09:15:14.720Z","19.10.37":"2022-08-25T12:22:33.778Z","19.10.38":"2022-08-25T13:25:14.628Z","19.10.39":"2022-08-26T07:24:00.717Z","19.10.40":"2022-08-26T13:03:07.608Z","0.0.0-beta-abf23eff20dbca15d6915895016b25260e883e73":"2022-08-28T07:54:28.775Z","19.10.41":"2022-08-29T05:58:56.846Z","0.0.0-beta-4a7ac86158131bd63b8b905bd39d0c0982a66de3":"2022-08-30T12:27:04.104Z","19.10.42":"2022-08-30T15:22:00.797Z","19.10.43":"2022-08-31T05:07:02.210Z","19.11.0":"2022-08-31T18:36:08.464Z","19.11.1":"2022-09-01T06:21:08.921Z","19.11.2":"2022-09-02T15:32:06.636Z","19.11.3":"2022-09-05T09:54:25.990Z","0.0.0-beta-c137d4cd77fd08d7faa8979bd5d5e9647241c3cc":"2022-09-05T12:38:54.317Z","19.11.4":"2022-09-05T13:06:09.643Z","0.0.0-beta-c52df8abd6b4ddcc9296639dfa62aa667ed865bf":"2022-09-06T20:43:40.162Z","0.0.0-beta-cb046653a6d7b2ca43eae9d858b1d279ab8ca83f":"2022-09-06T21:56:28.878Z","19.11.5":"2022-09-07T07:42:27.838Z","0.0.0-beta-8bccb94b4dfd6ab1d945fa9dc6ec470380d4eb48":"2022-09-07T11:37:19.399Z","19.11.6":"2022-09-08T07:15:48.770Z","0.0.0-beta-9592d82df97bfbe41b4b800989659ecfe96bce06":"2022-09-09T05:06:52.877Z","0.0.0-beta-14341f2c7b980fb97a0d18b1a996f997c56c894c":"2022-09-09T05:38:34.062Z","19.11.7":"2022-09-09T10:58:07.664Z","19.11.8":"2022-09-12T06:41:15.470Z","0.0.0-beta-e0557ee411d43c1154f9641e2bd4702f3c14c567":"2022-09-12T16:44:52.524Z","0.0.0-beta-484ebad477c47fad0d7c1776e0f6bf1f79c0dcfb":"2022-09-13T08:42:43.926Z","0.0.0-beta-1815f556d759ba440999968564cdf51c23845ccd":"2022-09-14T15:21:00.727Z","19.11.9":"2022-09-15T10:45:25.477Z","19.12.0":"2022-09-16T12:27:25.015Z","0.0.0-beta-e4eec20dfa6acb25fc0e892680401a97420f800e":"2022-09-19T07:42:17.557Z","19.12.1":"2022-09-19T08:56:43.269Z","19.12.2":"2022-09-21T07:27:58.837Z","19.13.0":"2022-09-21T08:14:23.911Z","0.0.0-beta-d0d1652959b7adbff657d4fc989e21e8ea08c461":"2022-09-21T13:07:51.865Z","0.0.0-beta-a043db5fc8c4baecd4db6397386819fc92bf2d65":"2022-09-21T14:53:42.520Z","0.0.0-beta-29741560c3f28b3a73f919b6c861dd611cb114ff":"2022-09-21T16:35:25.753Z","0.0.0-beta-c75c17ca88bdbd4959a9685010a6e52f718d237f":"2022-09-22T08:03:46.892Z","19.13.1":"2022-09-22T15:31:43.210Z","0.0.0-beta-2086cd128a52cd1ba92e1962399da2f739277f58":"2022-09-22T15:39:56.187Z","19.13.2":"2022-09-23T08:09:21.841Z","0.0.0-beta-53684863f1de7fcb26122d03b90c948ace3c306c":"2022-09-27T08:13:40.749Z","0.0.0-beta-efa20403f522529e712d8b44af62de45eac5222e":"2022-09-27T08:45:49.073Z","0.0.0-beta-f486a17df1e6a1d2f8509772ba479df65da9423e":"2022-09-27T10:09:19.047Z","0.0.0-beta-a1ed9e242b3204f1e8f604034027cd247547af51":"2022-09-27T10:50:20.415Z","0.0.0-beta-e6292b40cbf576c68f7df9cb4b8a9828e7e96b34":"2022-09-27T12:08:13.783Z","0.0.0-beta-2ad6170ed4eeacd87b2f967d73e0281c72989300":"2022-09-27T12:21:36.936Z","19.14.0":"2022-09-27T13:25:17.634Z","0.0.0-beta-6d40d4409677c8d2d11d1238ed6e89360e5766fe":"2022-09-27T13:40:07.339Z","0.0.0-beta-579727f6ec4484963f163c252bd68a24b16c3e3d":"2022-09-27T20:28:37.141Z","0.0.0-beta-a134832fae4a9eb1ec324098041e49ad1ef2e680":"2022-09-28T11:57:45.625Z","0.0.0-beta-e0edfb71b53df8ad36a74e730c4f23dc0eaefd48":"2022-09-28T14:00:55.677Z","0.0.0-beta-bf92050b0025ca1fece8bbaf19984b753c492edb":"2022-09-28T14:15:45.893Z","0.0.0-beta-2e37471f849c49f68b26e8a45880a529db1d5c75":"2022-09-29T06:22:57.617Z","0.0.0-beta-bfc276d33793056c126c8443a24e9dadf248fd68":"2022-09-29T06:31:27.171Z","19.14.1":"2022-09-29T08:58:11.291Z","19.14.2":"2022-09-29T14:06:30.091Z","19.14.3":"2022-09-30T06:08:19.933Z","0.0.0-beta-fcd3850bb21c1f843947c4f599327f355730fa6c":"2022-09-30T08:30:57.583Z","0.0.0-beta-160fab22a0a70ba1a3de3067eedc4ebb21833a97":"2022-09-30T09:40:49.428Z","0.0.0-beta-502bd6d0b60d72dcd4459f264d8977e2931e2181":"2022-09-30T10:04:44.210Z","0.0.0-beta-c766f8c194364a1c27e3d3b5cea5bf37b655a5c4":"2022-09-30T10:56:50.263Z","19.15.0":"2022-09-30T11:56:53.938Z","0.0.0-beta-c0d74e1ef9129e05bbfe96a7e24f01274668543a":"2022-09-30T12:44:43.249Z","0.0.0-beta-1544a65878f8633bc36fc87d308b1f0a2f58cc21":"2022-09-30T12:56:35.868Z","0.0.0-beta-486add1ced33bd0aa7fd006266096fd7b8b04c5e":"2022-09-30T13:30:19.722Z","0.0.0-beta-1683104d75f9f926cbd119fbc3583c789d921b3b":"2022-10-01T09:34:46.928Z","19.15.1":"2022-10-02T12:59:36.495Z","0.0.0-beta-d719e55068aee276528f9293ac9d4dfb60de65dc":"2022-10-02T15:59:08.765Z","0.0.0-beta-ce7ae7460dff28d470f9ffb4c5973390356efb24":"2022-10-03T07:58:15.344Z","0.0.0-beta-033a1ba7352ab180dfb6f333e34252a405bd5d78":"2022-10-03T08:26:18.122Z","0.0.0-beta-a6e7377a0a5c4f24d566666fff632bd8eee00b63":"2022-10-03T09:39:01.488Z","19.15.2":"2022-10-03T10:42:06.584Z","0.0.0-beta-9c96412c324a2e942b539e58b6ac99900455fc00":"2022-10-05T07:25:56.069Z","0.0.0-beta-66f702bdcbda42ab97e5f18ec0108a9ffaaac847":"2022-10-05T08:30:05.322Z","19.16.0":"2022-10-05T10:18:05.296Z","19.16.1":"2022-10-07T08:31:26.668Z","0.0.0-beta-6f575b707ef5f6f2ea8a8fa28ecce9d914c5aa5b":"2022-10-07T10:55:17.617Z","0.0.0-beta-40e3f2f9d459965847144b29e031a25fa7ee1aad":"2022-10-07T11:59:54.964Z","19.17.0":"2022-10-11T07:44:44.176Z","0.0.0-beta-fd6faf8fc4be40f2682dece442333cc155d191e2":"2022-10-11T09:02:20.814Z","0.0.0-beta-9129c51a851c1e673dfea0f5d40326b1b5642a71":"2022-10-11T10:55:22.545Z","0.0.0-beta-80e6b9fce2c97ad41041857feb1c44eeb29afd94":"2022-10-11T11:27:34.890Z","0.0.0-beta-c9c3f7655c7008b2e5b37af534a3218de7ae308b":"2022-10-11T12:52:37.132Z","19.17.1":"2022-10-12T10:53:44.458Z","0.0.0-beta-0e6db4f04e54403bf853dd11cf15f717bea3461f":"2022-10-12T14:28:22.642Z","0.0.0-beta-ed4806b85bc45db99412a4929e9c0ef3d23be81c":"2022-10-12T15:25:37.275Z","0.0.0-beta-44a51e3ab1b98aa50c410ce51e53ce5520c94689":"2022-10-12T16:01:40.521Z","0.0.0-beta-8a5765197798bd2b3802a8c77beb92ae5b88c290":"2022-10-12T16:55:39.914Z","0.0.0-beta-8ac936ff84d7e4e2991c5dfaee32c508b4fef242":"2022-10-12T18:03:11.968Z","19.17.2":"2022-10-12T18:45:49.163Z","0.0.0-beta-a76d65dbe5229de7f7a2b2a8d5bd02377a9a72a0":"2022-10-13T06:18:02.376Z","19.17.3":"2022-10-13T08:49:45.429Z","0.0.0-beta-93677538fa07d7afb3ef377e82cd9e9739eeef9d":"2022-10-13T09:44:53.786Z","0.0.0-beta-efe0f43bd0c882f43589129447dfae2b97ff440b":"2022-10-13T11:05:12.198Z","19.17.4":"2022-10-13T11:17:36.028Z","0.0.0-beta-20ba0ac244921a7ada7ff87dc92c671eeb22942e":"2022-10-13T15:36:10.402Z","0.0.0-beta-16956ba0068a7ab6fcd8037249c4fc44e3e3cee2":"2022-10-13T18:34:27.033Z","19.17.5":"2022-10-14T11:43:12.073Z","19.17.6":"2022-10-16T07:57:24.880Z","0.0.0-beta-8c5c5397e969a0ac8fea3560a7b03aa7a5328168":"2022-10-21T07:14:58.175Z","19.17.7":"2022-10-21T08:05:14.960Z","0.0.0-beta-58aac447d31b0590db1d78a2dca017df02aa7f5f":"2022-10-24T07:31:22.848Z","19.17.8":"2022-10-24T07:53:21.701Z","19.17.9":"2022-10-24T09:28:19.431Z","19.17.10":"2022-10-24T12:16:06.367Z","0.0.0-beta-caf1b5229d88fe7764ea6e06b5f4368b2d5f40ce":"2022-10-24T13:04:37.684Z","0.0.0-beta-b28dce376ce3dd381145e636daa2669f0b6af83a":"2022-10-24T14:46:26.871Z","0.0.0-beta-c745b570e81fa1c66ceab211b728b0ecb915687e":"2022-10-24T15:34:39.006Z","0.0.0-beta-10a108c48103aa45676abb775f1915d51ced52c0":"2022-10-24T17:13:00.749Z","0.0.0-beta-728e07f29782bd8ebe0bda6dffe5fcaf70cd2f42":"2022-10-24T20:42:03.535Z","0.0.0-beta-5d20f44665494901a7ecd9281af4c71b56f30176":"2022-10-25T07:38:35.854Z","19.17.11":"2022-10-25T07:45:45.400Z","19.17.12":"2022-10-25T09:49:12.444Z","0.0.0-beta-43d64f1bcf4bb49500fdb3046c18443ea27d572b":"2022-10-25T09:55:59.420Z","19.17.13":"2022-10-25T14:51:35.092Z","0.0.0-beta-e387914630300db6fa09e86c0aa4d67435a598d8":"2022-10-26T07:15:14.028Z","19.18.0":"2022-10-26T10:05:26.122Z","0.0.0-beta-62472ffa1baca06bb1c0dd2171c71e60b240f75f":"2022-10-27T11:45:11.610Z","19.18.1":"2022-10-31T08:15:56.148Z","19.18.2":"2022-11-03T10:23:28.800Z","0.0.0-beta-aee007f4a7d8912e07237b8a4e82fee2b929ff91":"2022-11-06T21:16:20.660Z","19.18.3":"2022-11-07T09:56:36.264Z","0.0.0-beta-7b24389f07d1b0397169f80672c05b25375e3619":"2022-11-07T10:53:52.985Z","0.0.0-beta-130d60ee80200aa5822a8c76a9761ccf2b600668":"2022-11-07T17:00:10.706Z","0.0.0-beta-db66df64545026f0974f4935f396cdc11e9a1789":"2022-11-08T08:01:09.327Z","20.0.0":"2022-11-08T09:11:32.752Z","20.0.1":"2022-11-08T09:49:24.093Z","20.0.2":"2022-11-08T15:59:12.197Z","20.0.3":"2022-11-09T08:00:55.398Z","20.1.0":"2022-11-10T09:19:03.984Z","20.1.1":"2022-11-10T09:33:15.042Z","0.0.0-beta-99594e559707d0556e2edbc7e5e3e16ab2f3c462":"2022-11-10T11:17:18.368Z","0.0.0-beta-2925119171eedfeda545cec50023cb80cbf3d103":"2022-11-10T15:01:05.633Z","20.1.2":"2022-11-10T15:32:23.132Z","20.1.3":"2022-11-11T08:34:41.038Z","20.3.0":"2022-11-11T09:34:57.636Z","20.3.1":"2022-11-11T10:04:36.746Z","20.3.2":"2022-11-14T08:55:03.945Z","0.0.0-beta-94b9a871cdb59f4ce72e0dd3b15abf0014ca2234":"2022-11-14T15:16:15.181Z","20.3.3":"2022-11-15T09:59:49.628Z","20.3.4":"2022-11-16T07:59:19.045Z","20.4.0":"2022-11-16T14:27:26.288Z","20.4.1":"2022-11-18T13:29:45.167Z","0.0.0-beta-3a295fac58dcf25f1aa2799c72a1272c51fc8c1e":"2022-11-19T22:19:13.751Z","20.5.0":"2022-11-22T09:35:57.408Z","0.0.0-beta-04ffcf99fb2c7dad4c566fda29a7c45929b8c3c9":"2022-11-22T10:15:57.779Z","0.0.0-beta-6a5443285567e14b8166ec8d4053d238cf777eaf":"2022-11-22T14:45:09.240Z","0.0.0-beta-3d4214f943ed446a74f807f2d6e34baca7270d75":"2022-11-22T15:14:39.052Z","0.0.0-beta-1209ae737ea3dc01a103827a5ca3bc71d9db66d2":"2022-11-22T15:27:35.774Z","20.6.0":"2022-11-22T16:09:12.394Z","20.6.1":"2022-11-23T09:54:28.910Z","20.6.2":"2022-11-25T08:15:43.203Z","20.6.3":"2022-11-28T16:29:43.270Z","20.7.0":"2022-11-28T17:56:37.638Z","0.0.0-beta-a4d60ae90a5c76835d9870f050d4ea01dd282073":"2022-11-29T08:58:17.472Z","0.0.0-beta-0273197e03a9ef123ac73a99a14cb6e8b18fb6a6":"2022-11-29T11:12:04.253Z","0.0.0-beta-0f6cf943cccc4e44b8756ea524585ae0d1867a10":"2022-11-29T11:26:56.131Z","0.0.0-beta-4802961607acb195cff60064b4203078dc03e4e5":"2022-11-29T11:38:00.178Z","0.0.0-beta-d5420a468fd77357b08b981d746920c2e472ac88":"2022-11-29T11:52:54.816Z","0.0.0-beta-280c816e7efb149f150eb3fb23ce62c78a020e40":"2022-11-29T12:05:50.977Z","20.8.0":"2022-11-29T12:55:06.805Z","20.8.1":"2022-11-29T16:34:54.516Z","0.0.0-beta-8a0f9d952e5818e852d7a739cf00842763073cfc":"2022-11-29T16:42:56.792Z","20.8.2":"2022-11-30T09:24:11.166Z","0.0.0-beta-c03a0d611f1cd5b4f177a45d42491fbb2e05efd8":"2022-11-30T10:51:16.698Z","0.0.0-beta-4ea886c42e1f2198dc7d420051ea8000fd3bcc47":"2022-11-30T11:21:25.253Z","20.9.0":"2022-11-30T12:38:00.963Z","0.0.0-beta-0c429a593c4eab8280883768a291ae5f2dce061f":"2022-11-30T17:09:48.144Z","20.9.1":"2022-11-30T17:50:59.425Z","0.0.0-beta-72f22ac81fc27f41f2d10c887d928da3989ada53":"2022-12-01T07:47:42.303Z","20.9.2":"2022-12-01T08:19:40.808Z","0.0.0-beta-7a1720b84eb5166d07876fc005c3a788213b2d3d":"2022-12-01T09:40:59.991Z","20.10.0":"2022-12-01T10:52:47.995Z","0.0.0-beta-4b69d739f2ebc30a2cd67d3eadcafa2158f3eb32":"2022-12-01T12:15:30.898Z","0.0.0-beta-3c95d50800312991286f0ab031d7dcf7cf14a412":"2022-12-05T10:28:33.152Z","20.10.1":"2022-12-06T09:18:01.785Z","20.10.2":"2022-12-07T18:58:58.208Z","0.0.0-beta-5d2c9a528d860ed3f33e6d3acf3d0abdbdfa5c9d":"2022-12-08T09:53:56.020Z","0.0.0-beta-6b66a1c108ae00823e370baf47ad99165061f685":"2022-12-08T10:46:24.688Z","0.0.0-beta-11d56759dcd34a701dde70bb56f92c8f19192577":"2022-12-08T11:21:03.754Z","20.10.3":"2022-12-12T08:05:46.927Z","21.0.0":"2022-12-12T09:25:53.271Z","21.0.1":"2022-12-12T10:37:49.305Z","0.0.0-beta-8ba60f8a6797f38fe8e72c707a958b9430ee2d88":"2022-12-12T13:17:19.803Z","0.0.0-beta-f606dd2b0f946c8e91e278deded543ab90766317":"2022-12-12T14:34:19.046Z","21.1.0":"2022-12-12T15:27:32.913Z","21.1.1":"2022-12-13T08:35:34.805Z","21.1.2":"2022-12-13T12:04:46.244Z","21.1.3":"2022-12-14T13:47:15.824Z","0.0.0-beta-30c62b8f921062625e82d9a806a74f41449ee38e":"2022-12-14T17:41:04.363Z","21.2.0":"2022-12-14T19:02:05.810Z","21.2.1":"2022-12-15T10:40:15.695Z","21.2.2":"2022-12-16T09:17:20.534Z","21.2.3":"2022-12-16T13:35:51.949Z","21.3.0":"2022-12-19T15:20:10.020Z","0.0.0-beta-d23a00e8e854bac324dbb404d7cb2ab7138723d9":"2022-12-21T08:43:04.867Z","0.0.0-beta-68ef75d3ff55f42114abf1b2b7a7449f456240b0":"2022-12-21T08:50:39.728Z","0.0.0-beta-cb08f016aa988121278091eedc3f4dc9b9661a74":"2022-12-23T10:26:40.396Z","21.3.1":"2022-12-28T08:02:54.435Z","21.3.2":"2022-12-28T09:43:46.378Z","21.4.0":"2022-12-28T13:57:15.258Z","21.4.1":"2022-12-29T09:31:01.175Z","21.5.0":"2022-12-29T12:23:47.351Z","21.5.1":"2022-12-29T12:45:11.432Z","21.6.0":"2022-12-29T19:44:41.511Z","21.6.1":"2023-01-02T09:12:44.177Z","21.6.2":"2023-01-03T11:00:50.621Z","0.0.0-beta-916c189d1e7a142ce8ce675050c4f85713d71100":"2023-01-03T13:01:20.537Z","21.6.3":"2023-01-03T14:43:04.462Z","0.0.0-beta-4d9f06a2d1297ee656b902a5c0533d0bf4f88f7e":"2023-01-03T17:35:36.720Z","0.0.0-beta-ffa0f4995bb508e4714a70d4eb2cd33629c5cdb7":"2023-01-04T17:23:33.182Z","21.6.4":"2023-01-05T08:42:14.098Z","0.0.0-beta-e330073551e76f49bdb79fc1f94f8f2cc48b9dea":"2023-01-05T09:51:17.237Z","21.6.5":"2023-01-05T11:33:58.259Z","21.6.6":"2023-01-10T16:18:01.913Z","0.0.0-beta-416f9867f2068c91e966e818dc7f107518b2ff0f":"2023-01-16T10:42:49.238Z","0.0.0-beta-678581bf9d177961d50a347d66afc587b87e9470":"2023-01-16T11:00:35.059Z","21.6.7":"2023-01-16T12:40:30.612Z","21.6.8":"2023-01-16T12:59:38.908Z","0.0.0-beta-22d28840d03c45d5de0202c9c14ccd6dc423cc2c":"2023-01-17T09:19:57.286Z","21.6.9":"2023-01-17T10:14:12.808Z","0.0.0-beta-45420bbf2b14ba0e94a10c039ffcb68ae8da4a9d":"2023-01-17T11:05:48.264Z","21.6.10":"2023-01-17T14:19:42.147Z","21.6.11":"2023-01-17T18:13:46.940Z","21.6.12":"2023-01-18T11:42:37.595Z","21.6.13":"2023-01-18T12:41:33.818Z","21.6.14":"2023-01-20T09:52:51.925Z","21.6.15":"2023-01-20T14:11:16.283Z","21.7.0":"2023-01-20T15:29:10.907Z","21.7.1":"2023-01-24T15:36:10.225Z","21.7.2":"2023-01-25T15:35:04.452Z","21.7.3":"2023-01-25T21:06:44.468Z","0.0.0-beta-001e09665a2f3ccde16fb4495eee5eb0a38edaf0":"2023-01-26T08:38:49.042Z","0.0.0-beta-b2e311576081c5e78b292a423222c6f92f048bb4":"2023-01-26T08:53:24.920Z","21.7.5":"2023-01-26T09:28:33.835Z","0.0.0-beta-8e37d7c845df81c608a1a8da16f1581b7e124b9a":"2023-01-26T09:59:42.704Z","21.7.6":"2023-01-26T10:08:01.753Z","0.0.0-beta-835fecde828ad3e1ca4c4a9b900e9fc6646108fd":"2023-01-26T15:29:46.334Z","21.7.7":"2023-01-27T10:17:00.924Z","0.0.0-beta-a7bf58c7083cf5f05488fd302e1c8bbf80d7823d":"2023-01-27T12:45:59.970Z","21.7.8":"2023-01-30T09:23:32.689Z","21.7.9":"2023-01-30T10:49:41.828Z","21.7.10":"2023-01-31T08:44:30.098Z","0.0.0-beta-3ec0c8b3dcd03163a9e5821bc09eed719c4cb3ec":"2023-02-01T14:48:52.430Z","21.7.11":"2023-02-02T10:22:15.601Z","21.7.12":"2023-02-06T08:59:39.879Z","21.7.13":"2023-02-08T12:12:49.368Z","21.7.14":"2023-02-09T16:41:28.347Z","0.0.0-beta-322d501c62a61b7e2b21112dd35d1818dd5c6af9":"2023-02-10T09:23:18.924Z","0.0.0-beta-955cdd4cd2217b51339aa74baa6a0e89851bfcd4":"2023-02-10T09:56:14.110Z","21.7.15":"2023-02-10T10:04:39.470Z","21.7.16":"2023-02-10T14:32:09.794Z","0.0.0-beta-228f840d5d7b663669dca5133f2a498aecad9e91":"2023-02-13T11:16:25.252Z","21.7.17":"2023-02-13T12:13:04.290Z","21.7.18":"2023-02-14T08:27:31.620Z","21.7.19":"2023-02-15T15:23:12.095Z","0.0.0-beta-1caf3f2110e47648004a254f2abf1d8d8539e609":"2023-02-15T17:06:23.275Z","21.7.20":"2023-02-17T08:10:25.549Z","21.7.21":"2023-02-20T08:34:21.421Z","21.7.22":"2023-02-20T13:22:10.886Z","0.0.0-beta-66c8c37bdb8c350f17e77aaea0cc473e89dcaffc":"2023-02-20T14:00:13.683Z","0.0.0-beta-cee527b11cb7e701baf72935859b8a7e73230df4":"2023-02-21T11:27:48.182Z","0.0.0-beta-fffb0ff02e3440fba6aee82c25d8c0a1a83babcb":"2023-02-22T09:35:02.896Z","0.0.0-beta-614e9a685fa87b64affa6bb0db47800119d02d4f":"2023-02-23T07:51:30.041Z","0.0.0-beta-05cdf8fec3eba9cabbc2dd29c28cd00fff02d202":"2023-02-23T10:06:55.774Z","0.0.0-beta-17c9bb3bb73708dba6bcc167f5af85bdbb19ac32":"2023-02-28T08:40:21.540Z","0.0.0-beta-3d7c7d7fcbe3b1a8540cf6038cccd9469a1777af":"2023-02-28T09:17:22.928Z","0.0.0-beta-735885da5527437fe0be3dfb57ec6b9c7aa14478":"2023-02-28T10:25:43.194Z","21.7.23":"2023-02-28T13:12:50.298Z","0.0.0-beta-152c8d0ef557a6adef9cd607fc611925e54bcb90":"2023-03-14T13:00:31.145Z","0.0.0-beta-70b23510ea08a26eaa9f56d32425a9cf54867b51":"2023-03-16T14:19:20.137Z","0.0.0-beta-8d7730608720cb2e2fc81f3e807cdeb86488b374":"2023-03-21T11:06:13.941Z","0.0.0-beta-c7870629c951a759fa29e664207463275f355454":"2023-03-23T12:53:35.724Z","0.0.0-beta-9d3d38b32d29e9937b4e139ff0a1d8284c2ef1bf":"2023-03-27T11:11:07.072Z","21.8.0":"2023-04-06T11:16:33.181Z","21.8.1":"2023-04-10T07:39:06.403Z","21.9.0":"2023-04-10T07:47:12.303Z","21.10.0":"2023-04-10T14:01:14.880Z","21.10.1":"2023-04-11T07:20:05.167Z","21.10.2":"2023-04-17T09:31:15.693Z","21.10.3":"2023-04-19T08:24:41.132Z","21.10.4":"2023-04-19T13:03:08.100Z","0.0.0-beta-1e1e02cbb6a1c905a5fafd673f1d7ff9cd8c2843":"2023-05-03T17:10:49.399Z","0.0.0-beta-ba811cd11a8a479d878f19945845dcc8c5969271":"2023-05-04T12:04:09.146Z","0.0.0-beta-92e8d106f9e93a0d64bbbd0884fada498ca1dd90":"2023-05-05T07:14:51.793Z","0.0.0-beta-38433b18f08a89eb8485b09d9b7e584b309697bd":"2023-05-08T09:34:45.271Z","0.0.0-beta-548cac930ab65d76255297ae2ebc0f489014bbbf":"2023-05-09T04:27:59.100Z","21.11.0":"2023-05-09T08:05:13.853Z","0.0.0-beta-9e35b085591213b2b15f30054975b262eb937753":"2023-05-09T08:36:44.821Z","0.0.0-beta-ebe8d3384540c55df381d7908855dd83a5ba3fbf":"2023-05-10T10:35:34.249Z","0.0.0-beta-19d9dbd5a21e879b20caed146d4fb5f87d092c82":"2023-05-10T13:49:12.488Z","0.0.0-beta-ad3f4a259b430f99688a76a3f6f3b653903070f1":"2023-05-10T17:15:41.202Z","0.0.0-beta-2e627d120d1c7a29720033d1c2fea9360ec0b62a":"2023-05-11T07:04:39.805Z","21.12.0":"2023-05-11T08:04:31.630Z","21.12.1":"2023-05-12T12:10:58.391Z","0.0.0-beta-b4012a5bde4bcb2711a09bb08a8a5a720ae93611":"2023-05-16T11:26:02.375Z","0.0.0-beta-3bcfc75b3573a8b238f495dba00e04c93c0ba1d5":"2023-05-16T12:13:36.349Z","0.0.0-beta-568d9e1efc7c48bb50c00154b63163ecee3e8807":"2023-05-16T15:37:19.467Z","0.0.0-beta-cf9d7544e53ca2f2e9d0c8a4abe7022dfadc2027":"2023-05-16T16:06:43.322Z","0.0.0-beta-aa2672a71da0743e607ee078dc63050dcffa30c9":"2023-05-17T09:26:17.618Z","0.0.0-beta-96d79eee237f3d4929a7a44fa9ef2cef951142b7":"2023-05-17T10:48:15.312Z","0.0.0-beta-bc2bc3c0862608c2388c9d2ea2c016f8b0463710":"2023-05-17T12:15:50.801Z","0.0.0-beta-695371af1ea3e2ddc739fc498ff108c6256cc5d4":"2023-05-17T14:03:41.590Z","21.12.2":"2023-05-18T14:53:36.141Z","0.0.0-beta-d3bb9ee73123e8655071d9236614f07f52b5f7b3":"2023-05-19T07:53:53.609Z","0.0.0-beta-72ea3fa9461f87edb4e8bb6b3a7d25ed98dfd5a6":"2023-05-31T11:59:33.001Z","21.12.3":"2023-06-01T07:51:18.208Z","21.13.0":"2023-06-01T14:59:58.508Z","21.13.1":"2023-06-02T12:40:10.771Z","21.14.0":"2023-06-06T12:33:07.349Z","21.14.1":"2023-06-07T09:43:26.943Z","21.14.2":"2023-06-08T14:33:09.792Z","0.0.0-beta-ca915958285cfb4109aa392bddf0012e9c3efe6e":"2023-06-14T11:42:57.482Z","0.0.0-beta-d3738ab36de7639bfdbd4286423150dcc52cb145":"2023-06-14T13:03:31.935Z","0.0.0-beta-58ef2e0ba5b6e2ee8660f187b9cfb00ceb147790":"2023-06-15T16:26:56.640Z","21.14.3":"2023-06-16T12:20:02.752Z","21.14.4":"2023-06-16T13:59:13.594Z","21.14.5":"2023-06-23T10:59:34.359Z","21.14.6":"2023-06-26T08:44:40.940Z","0.0.0-beta-9844c1eaa82933d39fc8532999453c1fb743d501":"2023-06-26T10:28:43.005Z","21.14.7":"2023-06-26T11:02:16.937Z","21.14.8":"2023-06-26T11:51:28.081Z","0.0.0-beta-c53dd1adbfc27a6103a1fa652e8f8b01297a18a4":"2023-06-26T12:51:56.256Z","21.14.9":"2023-06-26T14:02:59.288Z","0.0.0-beta-4a768aafe090d6752171060e58f74fedf4ee6819":"2023-06-26T15:57:29.365Z","21.14.10":"2023-06-26T16:16:22.101Z","0.0.0-beta-2a7d0a32a5085d076f5ed8be46a82cb354cdbac4":"2023-06-27T13:41:29.728Z","0.0.0-beta-6b593dbdb80b568df61ed8cb0b546cdf9a14ce7f":"2023-06-27T13:48:56.404Z","21.14.11":"2023-06-27T13:57:17.077Z","21.14.12":"2023-06-28T09:43:42.613Z","0.0.0-beta-5faa2c30fa2999cb4c96789f1ef50002d5935d70":"2023-06-28T09:52:46.404Z","21.14.13":"2023-06-28T13:26:01.046Z","21.14.14":"2023-06-29T07:49:21.269Z","21.14.15":"2023-06-29T08:43:55.808Z","21.14.16":"2023-06-30T10:42:37.446Z","21.14.17":"2023-06-30T10:50:53.564Z","21.14.18":"2023-06-30T11:59:37.693Z","21.14.19":"2023-06-30T14:47:18.610Z","21.14.20":"2023-07-03T09:21:59.285Z","21.14.21":"2023-07-04T07:33:26.392Z","0.0.0-beta-5eae611aed1b1d0e6166b2aceadd45861637c01c":"2023-07-04T16:11:59.935Z","21.14.22":"2023-07-05T07:40:14.365Z","21.14.23":"2023-07-05T10:34:20.311Z","21.14.24":"2023-07-06T08:19:00.948Z","21.15.0":"2023-07-07T09:23:07.725Z","22.0.0":"2023-07-10T12:53:54.476Z","22.0.1":"2023-07-11T12:57:11.570Z","22.0.2":"2023-07-12T11:04:23.527Z","22.0.3":"2023-07-17T11:18:10.276Z","0.0.0-beta-a3d91d8614607427f51bb9a2a4b470e79d1a7f83":"2023-07-17T14:59:04.703Z","0.0.0-beta-e3faea85cfce829b67f1b462e17c6a5b20eba173":"2023-07-17T15:16:29.551Z","0.0.0-beta-b67a1b80cfbdb67cff4b0b7e1fd4243b639bc971":"2023-07-18T11:25:26.955Z","0.0.0-beta-c886ca5232bca5fa0682592e804dd60617ce0c7a":"2023-07-18T11:32:55.080Z","0.0.0-beta-232fd1321aaaaf719529579da6583129206e6082":"2023-07-18T13:07:34.738Z","0.0.0-beta-3829a396268ee7f69b82e7dcd789cbd837b34b5f":"2023-07-18T13:34:47.830Z","0.0.0-beta-8e6df1aa2078556abfbaf7cbca3392e1dcb7f39e":"2023-07-18T14:32:09.304Z","0.0.0-beta-574b2af62779b91dcda57c926427f469155a4312":"2023-07-19T07:51:55.852Z","0.0.0-beta-262fc23509553e4bbe333f4eaa9a793054abcd2d":"2023-07-20T09:48:54.300Z","22.0.4":"2023-07-20T12:58:49.661Z","22.0.5":"2023-07-21T08:55:36.279Z","22.0.6":"2023-07-21T10:06:46.266Z","0.0.0-beta-e1460d9feaf550dc09653ce8a8eef6071ce9678b":"2023-07-25T10:58:54.916Z","0.0.0-beta-19243545514904fa2eed61efff9f383c24e3b678":"2023-07-26T10:43:31.827Z","0.0.0-beta-42957c0877da8e9d7107b01e908947e5770b9746":"2023-07-26T12:43:49.664Z","0.0.0-beta-25b9476d435218265c947a6fceabefa07241a741":"2023-07-27T10:53:54.827Z","22.0.7":"2023-07-27T16:05:04.509Z","0.0.0-beta-7afb28d8184b8b367ff006aea8460cb28978f500":"2023-07-28T11:48:32.750Z","0.0.0-beta-f8019b360967089ee51af73fa19956da75e01a50":"2023-07-28T15:25:12.792Z","0.0.0-beta-befb804cc7bfb1277a0f43577c8b8a03cbcfd5ce":"2023-07-31T08:48:41.902Z","0.0.0-beta-b969f8f487c330da7e75cfb6430789e505ac0e46":"2023-07-31T10:43:11.446Z","0.0.0-beta-13ecf84eaf8be74fa9bf5c7b55465c0a2250f751":"2023-07-31T13:01:12.509Z","0.0.0-beta-cfb65e136a59113e907c95a3db270fc85decabb1":"2023-07-31T14:39:28.133Z","0.0.0-beta-b043691814f8c76442d70ffcbe9b723541436d21":"2023-08-01T08:12:36.391Z","0.0.0-beta-302415d82c5b40bfaa4099f1bbba2d20af62c44e":"2023-08-01T08:37:27.201Z","0.0.0-beta-cf3bd29d38d0e13222c07040740fd9dc7df8a4d4":"2023-08-01T09:06:07.076Z","0.0.0-beta-de92135eb9f84bb9bfa6af9d46615e9ecfc9e2cd":"2023-08-01T10:12:26.217Z","23.0.0":"2023-08-01T12:08:32.277Z","23.0.1":"2023-08-03T08:00:53.231Z","23.0.2":"2023-08-03T11:28:32.393Z","23.0.3":"2023-08-04T07:28:19.291Z","23.0.4":"2023-08-04T07:49:30.786Z","23.0.5":"2023-08-04T09:59:16.694Z","23.0.6":"2023-08-04T10:33:13.529Z","23.0.7":"2023-08-07T10:07:47.973Z","23.0.8":"2023-08-07T15:25:13.127Z","0.0.0-beta-452c632cbce217e3d8ebb5fbd00f97f191648def":"2023-08-07T16:22:33.504Z","0.0.0-beta-04441e2f1edb4a55b66a1a9fbd34df1ed2b73d73":"2023-08-08T09:02:22.701Z","23.0.9":"2023-08-08T12:55:32.355Z","23.0.10":"2023-08-08T14:49:02.321Z","23.0.11":"2023-08-09T13:29:20.796Z","0.0.0-beta-ec1692502f981b917fcfc1041e5e634a3517bb26":"2023-08-10T10:24:39.618Z","23.0.12":"2023-08-10T11:21:39.153Z","0.0.0-beta-195d9f58973846c24f045b198015b11aa2b92114":"2023-08-10T14:00:41.084Z","0.0.0-beta-5f4ec362bd6466ae5d51b86ead86c70caae21985":"2023-08-10T14:13:39.020Z","0.0.0-beta-d8c0842e9449d0db59ac8f6cd08dc093d79af3e3":"2023-08-10T15:13:54.486Z","0.0.0-beta-37be578a30c99c1f1548685d26e722a4b64c729f":"2023-08-10T16:01:44.566Z","0.0.0-beta-021eddf397744b9c880c935073642b9e8e6f97da":"2023-08-10T16:10:01.394Z","0.0.0-beta-dd9238f77b359d9762178380d75cfb5297d5b5c6":"2023-08-10T16:18:50.275Z","0.0.0-beta-932b33a77cbcddd3aea19ca8752b0757bcc76658":"2023-08-10T17:49:29.747Z","0.0.0-beta-8a6ccdb5d6dfa50b828a1e5d8216ff363813ec15":"2023-08-11T07:36:52.327Z","0.0.0-beta-e983c7c70cf6d6d90468d4b32a96bffae556f1d0":"2023-08-11T08:28:01.636Z","0.0.0-beta-23be5d439eff02a1ebb75b7cf3666e8192ce8191":"2023-08-11T08:36:35.375Z","23.0.13":"2023-08-11T09:51:09.864Z","0.0.0-beta-2215e70d1bad6e31c0be2421d11762b5ee999057":"2023-08-11T11:14:50.509Z","0.0.0-beta-01f5579d367e627c488a5414eb3449ef0d9adc52":"2023-08-11T12:47:51.088Z","0.0.0-beta-2d785d3db1ec887e7046af7b7bc842b2dd781f3b":"2023-08-11T13:11:02.410Z","23.0.14":"2023-08-11T13:25:45.806Z","0.0.0-beta-7fb0056abb0923928cc384d55c5c5e79a9e9c590":"2023-08-11T14:09:35.286Z","0.0.0-beta-39ef7bfd48b9141c071463222b6b5c1b7b09241e":"2023-08-11T14:57:58.527Z","0.0.0-beta-f3a938ab6ea67a69b25464db12e4ea5f58ec964d":"2023-08-11T16:40:51.728Z","0.0.0-beta-7be6f8fc96d36fcbd76f583005465341f4025666":"2023-08-14T08:37:15.072Z","0.0.0-beta-1148959b4f71cef17e5514f3c8330b814dee18e2":"2023-08-14T09:41:44.150Z","0.0.0-beta-76bc147a150960a0d435bf51ad264e38dea3a884":"2023-08-14T11:15:07.675Z","0.0.0-beta-feb9dac443527bc2be630bf6aafeeb5ccafd8859":"2023-08-14T11:57:15.999Z","23.0.16":"2023-08-14T12:23:53.000Z","0.0.0-beta-cf57c694c907039746e1c5aa40ad0eaf3592c7c3":"2023-08-14T12:32:24.643Z","0.0.0-beta-2eec9fa3e7df713b44a7d2ae4955d47c945045c2":"2023-08-14T13:56:03.189Z","0.0.0-beta-ddd00e98e8e4cb741c08fd3dcca901f5ccb648a2":"2023-08-14T14:46:10.683Z","0.0.0-beta-b1811cdea89d8320492bebae741bef82c64a642c":"2023-08-14T15:13:49.327Z","0.0.0-beta-9de8c39d810ab889d80c550ec7240a84371d9c16":"2023-08-14T15:42:08.100Z","0.0.0-beta-b9d1e5850f7680958f0cb710edbabc935ffbae25":"2023-08-14T16:52:04.423Z","23.0.17":"2023-08-14T17:12:22.474Z","0.0.0-beta-99c1824709271a19b64dd54cdc7d275061fb94e2":"2023-08-14T17:20:40.637Z","0.0.0-beta-029b800e04daec2c044bf54484e5ace8e811e0db":"2023-08-15T08:36:37.343Z","0.0.0-beta-3d8444c033d6cc5440392bf18ec7d1e92c395fab":"2023-08-15T11:38:23.761Z","0.0.0-beta-182905be212b7ccb9a000c9fb1e11b49d20088b8":"2023-08-15T13:15:52.509Z","23.0.18":"2023-08-16T07:27:02.389Z","23.0.19":"2023-08-16T07:45:26.960Z","0.0.0-beta-b1a7f908ab42db16d9c2f19e7c4dc0e1a6435375":"2023-08-16T08:05:44.908Z","0.0.0-beta-21e5a32c1cfe790bf7ecf6fefaaab844a644ef57":"2023-08-16T10:18:43.344Z","0.0.0-beta-bc0153c8eeadaaf2881543ca218cadec34e0f8ea":"2023-08-16T13:33:03.856Z","0.0.0-beta-bf0531e01e5da007a09700d127581958e0901b77":"2023-08-17T08:52:45.581Z","0.0.0-beta-3e898c39e1c65cbee144efc7fd67299c61bda29b":"2023-08-17T10:22:31.875Z","23.0.20":"2023-08-17T14:02:13.202Z","23.0.21":"2023-08-17T17:47:11.012Z","0.0.0-beta-ef94c456beacdf769b7cbc19987ea2e2686fd5e1":"2023-08-18T08:04:02.690Z","23.0.22":"2023-08-18T09:46:51.592Z","0.0.0-beta-0a9cb06213876e0e26d50206a87fe6ab3ec654ac":"2023-08-18T10:34:30.295Z","0.0.0-beta-bf941ff8d9c6cd1391bebb5099e564fcb47861bf":"2023-08-18T14:15:32.405Z","23.0.23":"2023-08-21T14:41:59.503Z","0.0.0-beta-769fd135e8734d2c03e8bff1290122c785c51f86":"2023-08-22T07:57:09.814Z","0.0.0-beta-975dc0bfba5aae0c0cc9350b6d039ac3fef22dde":"2023-08-22T08:44:36.795Z","23.0.24":"2023-08-22T09:20:26.020Z","0.0.0-beta-aee43c51b6630e164fd04786d9bb4f46cb8a305c":"2023-08-22T09:38:53.520Z","23.0.25":"2023-08-23T07:51:12.452Z","0.0.0-beta-fd232ec5ad850ac830c6408373a8f4b13d3bf836":"2023-08-23T09:06:26.984Z","0.0.0-beta-baf7199503f17bdef0a9c38b7560cf97f8a5eea9":"2023-08-23T09:50:22.833Z","23.0.26":"2023-08-23T10:11:53.074Z","0.0.0-beta-a1edc9b65341ebafe8b5d12ae42237c5e688065a":"2023-08-25T12:41:01.981Z","0.0.0-beta-e94111dc9fe533391aa924c4108326176c3878c6":"2023-08-28T07:50:43.376Z","0.0.0-beta-afe2727be0993599fc5dddfbab6ef90c9ef4309e":"2023-08-28T08:08:33.006Z","0.0.0-beta-8c2621ecea32d038398ab20bc1311cf144818944":"2023-08-28T10:22:27.346Z","0.0.0-beta-84664b17ccbb88af1344fb98395c1e5a939f8974":"2023-08-29T14:46:43.216Z","23.0.27":"2023-08-30T04:18:57.098Z","0.0.0-beta-6e1b376f6ffca908feee16569a936b8ca47164ab":"2023-08-30T11:40:34.179Z","23.0.28":"2023-09-01T04:21:49.117Z","23.0.29":"2023-09-04T04:17:41.023Z","23.0.30":"2023-09-06T04:32:01.948Z","23.0.31":"2023-09-07T04:28:41.094Z","0.0.0-beta-0576a02241be72a8c82df008f1c839f1b64ad470":"2023-09-07T12:19:22.181Z","0.0.0-beta-9ae4ed47f62c88598d92a3f23d53ea9ccd0e960c":"2023-09-07T13:09:00.648Z","0.0.0-beta-85137db45a889425f5ca41f872635d62ba6d58b2":"2023-09-07T13:46:56.456Z","0.0.0-beta-a266d73df976fd45bfeeae91bdeecf390b594089":"2023-09-11T12:56:44.167Z","24.0.0":"2023-09-12T10:57:52.127Z","24.1.0":"2023-09-12T13:39:24.063Z","24.1.1":"2023-09-12T15:23:25.754Z","0.0.0-beta-a73e2a74e0debb3767274dbbd526e8907abd8d43":"2023-09-12T16:05:26.777Z","24.1.2":"2023-09-12T17:28:21.093Z","24.1.3":"2023-09-13T04:35:22.187Z","24.1.4":"2023-09-13T09:15:39.102Z","0.0.0-beta-c3ec585bed3fa07bc4b5929b4ac86462f1c9cb1e":"2023-09-13T09:42:10.420Z","24.1.5":"2023-09-13T10:29:34.286Z","24.1.6":"2023-09-13T10:41:21.925Z","0.0.0-beta-77842a69286e53eaf3f9590949e93b3895217233":"2023-09-13T12:22:35.045Z","0.0.0-beta-3ea5bca56b56da67c1ebb90fa80ed578c267aa8f":"2023-09-13T15:00:36.588Z","24.1.7":"2023-09-13T15:48:25.872Z","0.0.0-beta-acae79249ae82add84f3eabd3d09d480a90c9933":"2023-09-14T05:03:57.458Z","24.1.8":"2023-09-14T08:33:30.089Z","24.1.9":"2023-09-14T09:36:28.214Z","0.0.0-beta-36537bf20d464bc73d01992de114a728fc143f87":"2023-09-14T12:21:23.165Z","24.1.10":"2023-09-14T13:35:25.311Z","24.1.11":"2023-09-14T13:47:02.038Z","24.1.12":"2023-09-14T13:58:53.652Z","24.1.13":"2023-09-14T15:22:21.468Z","24.1.14":"2023-09-14T15:50:34.860Z","24.1.15":"2023-09-15T04:27:45.059Z","24.1.16":"2023-09-15T09:24:27.922Z","24.1.17":"2023-09-15T16:12:08.757Z","0.0.0-beta-3410faa82d0db68e0e8b15338c229c98c0555463":"2023-09-15T16:24:05.193Z","24.1.18":"2023-09-18T04:30:00.311Z","0.0.0-beta-ff1a8901ddd5d4f1cba5e52c3675d0fba1b9a2ba":"2023-09-18T08:10:20.747Z","24.1.19":"2023-09-18T10:09:39.624Z","24.1.20":"2023-09-18T15:49:18.573Z","24.2.0":"2023-09-18T16:20:00.454Z","24.2.1":"2023-09-19T04:26:54.296Z","24.2.2":"2023-09-19T08:54:39.994Z","0.0.0-beta-fb311353991a175908cdd10f8c62fd73de6acc01":"2023-09-19T14:05:23.744Z","24.2.3":"2023-09-19T14:44:52.667Z","24.2.4":"2023-09-19T14:57:05.801Z","24.2.5":"2023-09-19T16:17:14.947Z","24.2.6":"2023-09-20T04:27:04.682Z","24.2.7":"2023-09-20T09:06:35.424Z","0.0.0-beta-d7829747c08eb3d4c3bc1e6c18314f6b473e4654":"2023-09-20T09:30:20.024Z","24.2.8":"2023-09-20T09:58:05.331Z","24.2.9":"2023-09-20T12:31:05.116Z","24.2.10":"2023-09-20T13:23:39.477Z","24.2.11":"2023-09-20T14:12:26.388Z","0.0.0-beta-21ba181dea86cabe396d00582fc1ebe46ab7099f":"2023-09-20T14:31:39.457Z","0.0.0-beta-3bef51157e57546b8385e11274e995ba9f2188b6":"2023-09-20T18:52:34.595Z","24.2.12":"2023-09-20T19:04:38.369Z","24.2.13":"2023-09-21T04:30:48.240Z","0.0.0-beta-47d9f5d0af83f68ac7838c44f59e7edc3e9e56ff":"2023-09-21T08:06:10.806Z","24.2.14":"2023-09-21T08:22:47.176Z","24.2.15":"2023-09-21T11:33:33.928Z","0.0.0-beta-4bd9d49e6310262f38d32bfe230fbb0b400608de":"2023-09-21T12:43:34.763Z","24.2.16":"2023-09-21T18:48:11.936Z","24.2.17":"2023-09-22T08:33:11.706Z","24.2.18":"2023-09-22T08:52:19.843Z","24.2.19":"2023-09-22T09:17:42.301Z","0.0.0-beta-77d80f5d6cec02596fbef377fac37ce0898a3759":"2023-09-22T09:37:51.522Z","0.0.0-beta-69572556383486c2e3809f5be4ed9fc004becd41":"2023-09-22T09:49:38.880Z","0.0.0-beta-9f9d5d8df2cd777f804e29e7d516061001176c65":"2023-09-22T15:03:51.025Z","0.0.0-beta-d27a6146a071b7c5abf6911f895e7fdca8a9ccff":"2023-09-22T15:14:11.041Z","0.0.0-beta-1ea281609f835240c979700d5bbca5630e4e1466":"2023-09-25T07:24:06.488Z","24.2.20":"2023-09-25T19:20:24.747Z","24.2.21":"2023-09-26T04:29:01.433Z","0.0.0-beta-12e0ec2c7c318987b36ee670f21b6b7e3ac2d8ba":"2023-09-26T07:10:22.885Z","0.0.0-beta-94ddc2bd45be27658a727e20479b93565b57b849":"2023-09-26T07:36:00.914Z","0.0.0-beta-bdef4596680b5ff4524f23999ed4f4943e05a0a3":"2023-09-27T11:14:43.200Z","0.0.0-beta-bc5a76a8445ab2ddd6547e20276f80f643119b28":"2023-09-28T11:06:55.457Z","24.2.22":"2023-09-28T12:30:51.192Z","24.2.23":"2023-09-28T12:49:38.379Z","0.0.0-beta-7161516a4f35408867c9e52817c935c2618aac56":"2023-09-28T18:40:01.446Z","24.2.24":"2023-09-29T04:28:33.039Z","24.2.25":"2023-09-29T07:39:06.459Z","0.0.0-beta-e5a5d0a3e18ef9a00177394515123ca2238a1540":"2023-09-29T09:32:17.460Z","24.2.26":"2023-09-29T09:51:40.177Z","24.2.27":"2023-09-29T11:16:07.639Z","24.2.28":"2023-10-02T04:34:04.992Z","24.2.29":"2023-10-02T08:31:07.187Z","0.0.0-beta-274431f31b9bffe4e1c1b4a264b618e5869ec168":"2023-10-02T14:13:01.079Z","0.0.0-beta-d3e31a9475139688a6abd07db4fee75632c11821":"2023-10-02T15:27:30.661Z","24.2.30":"2023-10-03T04:28:41.034Z","0.0.0-beta-cafd51c24e30bac785005ac08c20b7e8d9d1cadc":"2023-10-03T08:09:25.205Z","24.2.31":"2023-10-03T10:18:06.042Z","0.0.0-beta-1ccb5346bcb442d973dd3f679366355b11285d86":"2023-10-03T11:18:03.584Z","0.0.0-beta-d5a2f96ef460926baf3d8a1d7b5aa593643efc97":"2023-10-04T07:10:39.282Z","0.0.0-beta-26fc745b4aa144de0df627d6f2785938fca93124":"2023-10-04T07:23:03.376Z","0.0.0-beta-0ec1bfb7d2090bb7f8cd75b49b298699afbd9e43":"2023-10-04T08:17:39.387Z","24.2.32":"2023-10-04T08:30:43.713Z","0.0.0-beta-5a4f5f8534684665421e339a3db90e08e6c6744d":"2023-10-04T08:48:14.358Z","0.0.0-beta-49ebd12327d15ff7485531726d801f361681c305":"2023-10-04T10:49:41.501Z","0.0.0-beta-7ff518acf5cd9c321c1775a4a86f878b1d386927":"2023-10-04T11:09:12.027Z","0.0.0-beta-a889d956469f486755b9052429d266db201daccd":"2023-10-04T12:20:53.808Z","0.0.0-beta-4cb54b45190f592fdb6fb8071c012527c23a8d27":"2023-10-04T15:52:18.527Z","0.0.0-beta-817ce24f22de61430f4323fdc88b2f3e0fc5d423":"2023-10-05T08:32:26.432Z","0.0.0-beta-a596d8da3abd398af83ee07310eea7cd5a1e8569":"2023-10-05T08:52:32.517Z","0.0.0-beta-4fda76767d476bad92cde833fc3a5b021fe504d4":"2023-10-05T09:06:01.743Z","24.2.33":"2023-10-05T09:56:16.658Z","24.2.34":"2023-10-06T12:10:03.842Z","24.2.35":"2023-10-06T12:25:08.554Z","0.0.0-beta-8f5fd4dd74635968e96bbace64a051519c81db21":"2023-10-08T22:40:08.865Z","24.2.36":"2023-10-09T04:31:34.155Z","0.0.0-beta-ec0ee3c329b3ebd53f59d141259e3ebc065d8f2f":"2023-10-09T11:19:47.637Z","0.0.0-beta-28eb07f05de669c1b7658939d08443c27879c57c":"2023-10-09T14:52:05.474Z","0.0.0-beta-45d72613b7fe4818a23036479f95d649d66d4214":"2023-10-09T15:29:55.011Z","0.0.0-beta-a4be2687f6701f9ca5eb2ad08f0fb94108d01a81":"2023-10-09T15:41:47.583Z","0.0.0-beta-3996808ed578b3cfe99f36ba8e5e9c6a8301c43d":"2023-10-09T15:58:47.012Z","0.0.0-beta-efa05498d589eeed151f4b3453d43236e66a5dbc":"2023-10-09T19:05:23.714Z","24.2.37":"2023-10-09T20:41:16.038Z","24.2.38":"2023-10-10T04:36:56.906Z","24.3.0":"2023-10-10T08:55:09.390Z","24.3.1":"2023-10-10T09:50:29.347Z","0.0.0-beta-9df51209c7d12e433631581a6518b59acbccc7af":"2023-10-10T10:47:05.769Z","0.0.0-beta-b1f9267a038369221a7d4a617b2096cac3997012":"2023-10-10T12:07:54.435Z","0.0.0-beta-616104b70e1e6db33b00ac92c3f04abd544e838d":"2023-10-10T14:28:14.466Z","24.3.2":"2023-10-10T15:51:14.287Z","0.0.0-beta-94436b5cf4da99a10ac7ca08b19915a2e50470ce":"2023-10-11T07:05:51.402Z","0.0.0-beta-b9884f3cdd9454ce1ef089da8123375f0970df0c":"2023-10-11T08:48:17.119Z","24.3.3":"2023-10-11T10:04:23.282Z","0.0.0-beta-3117992639fc9d48008e65e1f06527f3c0b4dac5":"2023-10-11T10:16:48.484Z","0.0.0-beta-62afb5a82d2ed7a0a5ad962de15463f3e4407c32":"2023-10-11T11:11:31.440Z","0.0.0-beta-7e0a94d28069262a0861d19985b1af47ff92e02a":"2023-10-11T11:30:04.503Z","24.3.4":"2023-10-11T12:29:33.585Z","0.0.0-beta-44b7b20ec1920164383985834595310b56c6bd14":"2023-10-11T12:48:49.595Z","0.0.0-beta-ab1967c521db8a8194f494ce78468ca66a9e0840":"2023-10-11T13:06:10.897Z","0.0.0-beta-bab241dafa3d2af8b65b7daeedae07982d4f916c":"2023-10-11T13:33:07.564Z","0.0.0-beta-f3bcb695e238d0793264a589f21002a0f4558ea4":"2023-10-11T15:20:00.317Z","24.3.5":"2023-10-12T04:32:23.970Z","24.4.0":"2023-10-12T11:04:29.100Z","0.0.0-beta-42df70cb8f82fc5e43afd20fea4fb9fe54f4b06d":"2023-10-12T16:11:24.685Z","24.4.1":"2023-10-13T04:30:58.211Z","0.0.0-beta-297c696db3bc0316e9f19713536cf23282a041cf":"2023-10-13T07:40:13.316Z","0.0.0-beta-1ae459e1384dcb7008c093074e78fdcbca0c8cd7":"2023-10-13T08:24:36.796Z","0.0.0-beta-54fe071b047f3b53983d8894ec7260d3b68bd561":"2023-10-13T09:46:35.559Z","0.0.0-beta-defc893dee0e2fe3eac1705e2c389d1c8db6eae9":"2023-10-13T10:58:51.018Z","24.4.2":"2023-10-13T12:35:59.504Z","24.4.3":"2023-10-16T11:13:40.820Z","0.0.0-beta-f228ab83f1a1500be52543cdb83de8903e44f56e":"2023-10-16T15:01:47.235Z","0.0.0-beta-c6990299b528c10db104a4191f38531b22bd489a":"2023-10-16T15:26:52.922Z","24.4.4":"2023-10-16T15:40:00.924Z","0.0.0-beta-2d9cc5d1762d8d2ec788775be2a6a79fc5cc96e4":"2023-10-16T16:15:35.736Z","0.0.0-beta-e8cebe1bd93fede616b72d01405c6edd8fb9dce8":"2023-10-17T08:38:16.063Z","0.0.0-beta-99ded89299668e5863a20005ae266d8b862e05cc":"2023-10-17T10:45:10.099Z","0.0.0-beta-64d28bd9c51a3e477ad47d8d52a6bd2b693598a6":"2023-10-17T11:16:56.100Z","0.0.0-beta-6b9eaa4743f54ae932e6b4082161227f18697fd1":"2023-10-17T11:29:37.389Z","24.4.5":"2023-10-17T12:32:11.331Z","0.0.0-beta-b37cefab70201bd14219d209f7ef4f2a6fd28d3f":"2023-10-17T13:00:34.831Z","24.4.6":"2023-10-17T13:13:01.821Z","24.4.7":"2023-10-17T13:25:31.353Z","24.4.8":"2023-10-17T14:51:41.479Z","0.0.0-beta-d15e95b7aeea2f7069367b5782e6a5d4b284eb85":"2023-10-17T15:26:10.434Z","0.0.0-beta-b64db4aff853b5a042e9caaaa0ffa9851cc1012f":"2023-10-17T16:05:19.670Z","0.0.0-beta-789fd5523e8274fd024f99282ca66079e923979e":"2023-10-17T16:58:43.895Z","24.4.9":"2023-10-17T17:10:39.813Z","24.4.10":"2023-10-18T04:31:18.705Z","24.4.11":"2023-10-18T07:41:13.876Z","0.0.0-beta-6ccd5ef5e0533d878898a061921417c8cef516a4":"2023-10-18T08:13:19.401Z","0.0.0-beta-a8550eaa3b27f1e1392890dab4dea3c521c6d43e":"2023-10-18T08:37:19.160Z","0.0.0-beta-d0ea01ef6624ed7bb35144a07d033c1d60105a63":"2023-10-18T11:31:21.485Z","0.0.0-beta-d36eeecd88bae451c7cea38c5242f5a4b6c91358":"2023-10-18T11:42:59.998Z","0.0.0-beta-3ff3810ee9ff831cc882d5dd4d748a5c6611a649":"2023-10-18T11:56:03.630Z","24.4.12":"2023-10-18T13:00:20.488Z","0.0.0-beta-b72a9c54df425857c41d10742607ae68d3fd0cf1":"2023-10-18T13:12:18.090Z","0.0.0-beta-3b974d147d545ea73c2f8910f7911a1d2b497115":"2023-10-18T14:57:28.406Z","0.0.0-beta-d68207fbb68bb5010db580a6e573a0c7383b1899":"2023-10-18T15:55:47.194Z","0.0.0-beta-55cd83f6df1827ef5772476ec6af8a17baff98f2":"2023-10-18T16:07:55.844Z","24.4.13":"2023-10-18T17:41:17.285Z","24.4.14":"2023-10-19T04:31:54.497Z","0.0.0-beta-203196077cb0ef4608804cec17b975f4a6a34a83":"2023-10-19T08:04:04.318Z","0.0.0-beta-25f37c09bec3a2be407d89d6d6ec12f503a0a0b8":"2023-10-19T08:15:23.180Z","24.4.15":"2023-10-19T09:54:03.825Z","24.4.16":"2023-10-19T10:37:33.260Z","24.4.17":"2023-10-19T13:06:12.566Z","24.4.18":"2023-10-19T14:26:26.054Z","24.4.19":"2023-10-19T19:13:20.626Z","24.4.20":"2023-10-20T04:35:13.831Z","0.0.0-beta-cf11b694dded1e13135c529b8896cb78f0d1fb3d":"2023-10-20T08:21:04.118Z","0.0.0-beta-a4c4c44b30fd99eb4fd2ab4be9c3c48256fdbc1e":"2023-10-20T09:25:27.097Z","0.0.0-beta-3a70e8a02352ad3de91b993cd577b00545847367":"2023-10-20T10:37:36.744Z","24.4.21":"2023-10-20T14:07:35.284Z","24.4.22":"2023-10-23T04:35:49.844Z","24.4.23":"2023-10-23T14:56:04.132Z","24.4.24":"2023-10-24T04:31:11.232Z","24.4.25":"2023-10-26T15:03:38.855Z","0.0.0-beta-fbe894c56e9e9cc3258bde5fd1c53d7fb73057ba":"2023-11-01T13:27:35.063Z","24.4.26":"2023-11-02T09:55:02.058Z","24.5.0":"2023-11-02T13:27:11.008Z","0.0.0-beta-a0856f7a0cca9ba47b632b3d2faece04a42fdbb6":"2023-11-02T14:17:07.222Z","24.5.1":"2023-11-02T14:25:52.207Z","0.0.0-beta-839e5f1f7c4f6e117e6bbde1ddb0a173ed3234bd":"2023-11-02T15:04:52.638Z","24.5.2":"2023-11-03T04:28:11.698Z","24.5.3":"2023-11-06T11:42:24.634Z","0.0.0-beta-73f2be39eca2bd7ddcba34d4ad078a1376ea294f":"2023-11-06T12:46:05.564Z","0.0.0-beta-04ed86c5ef09843129b1f2bac6da93104bb979e5":"2023-11-06T14:05:03.821Z","0.0.0-beta-77c1c425e9bd9f8fae9f8df231176d9454513947":"2023-11-06T15:18:44.118Z","24.5.4":"2023-11-07T04:19:01.616Z","24.6.0":"2023-11-07T08:28:56.547Z","24.7.0":"2023-11-07T10:47:43.076Z","0.0.0-beta-5a496b6c1bd7a4de1561989a09fba9139a2cf1b7":"2023-11-07T14:33:12.129Z","0.0.0-beta-a6a509b60c0cc628f754589886cddb09666c7550":"2023-11-07T17:14:42.029Z","24.7.1":"2023-11-07T17:48:59.125Z","24.8.0":"2023-11-14T13:54:39.102Z","0.0.0-beta-f9de69c5d5cf1380ab105205ecd34399926ae38f":"2023-11-14T15:01:18.193Z","24.8.1":"2023-11-15T04:18:51.075Z","0.0.0-beta-abf5e305daafdf77c7cec291702cc98a703a5dbb":"2023-11-15T07:53:49.357Z","24.8.2":"2023-11-15T15:04:09.399Z","24.8.3":"2023-11-16T11:30:22.813Z","0.0.0-beta-ebfaf3cc040609eb75da1789185b55f90c44620d":"2023-11-16T17:07:36.134Z","24.8.4":"2023-11-20T09:27:14.769Z","24.8.5":"2023-11-21T12:06:25.329Z","0.0.0-beta-90bc7901a3c4cee07efc6eebb9ea1086c887adfd":"2023-11-27T12:10:10.586Z","0.0.0-beta-ecec84254d9ea35239e620689072dca2d9232d25":"2023-11-27T16:57:07.533Z","0.0.0-beta-2f1facc58758229a16de7731efb4ea7a66c20b66":"2023-11-28T09:44:47.921Z","0.0.0-beta-03de7b7d5501dc0e8674b76d638a21623d6f9464":"2023-11-28T10:03:27.196Z","24.8.6":"2023-11-28T11:49:28.701Z","0.0.0-beta-05941f0115ef71c54ce7ac5415bbe368f99fe4ce":"2023-11-28T13:41:46.380Z","24.8.7":"2023-11-28T13:50:33.874Z","0.0.0-beta-434c3e9a80733ccfa76036c0e774045d0ced3387":"2023-11-28T15:11:35.375Z","0.0.0-beta-f89631462771c5be638accf8aa74eaaae253a09a":"2023-11-28T15:43:23.580Z","24.8.8":"2023-11-28T16:29:59.513Z","0.0.0-beta-8b7dd84a6bcb496d21fb6c2ecd5235e7d8e5d168":"2023-11-29T10:37:29.744Z","24.8.10":"2023-11-29T13:48:56.606Z","0.0.0-beta-076c8774bee99a62be14013493b5e6e3dceaee6b":"2023-11-30T11:57:14.241Z","0.0.0-beta-c14a1bedf26d512b10ea28aeb5d2f220f5352887":"2023-11-30T14:23:28.096Z","0.0.0-beta-8545494ee2390ccc48597e6e39ecd7825db3b66c":"2023-11-30T14:45:32.533Z","0.0.0-beta-873c8d77290aa941479a2e6736737b6dec70548e":"2023-11-30T15:41:43.834Z","0.0.0-beta-a152033d0971c9859222c40d356f4dc91d5ddf58":"2023-11-30T17:19:39.928Z","0.0.0-beta-d960d852baa91ab6c3fbacfb2bad492b11ea152e":"2023-12-01T10:20:51.294Z","24.8.11":"2023-12-01T10:46:45.604Z","0.0.0-beta-c595e248c9cc48451a6692943e5a078b3d2b9951":"2023-12-01T10:55:56.079Z","0.0.0-beta-e8b7cb92b6ba4bb8c7c1a907d43915d6f2bd95ac":"2023-12-01T11:15:24.147Z","0.0.0-beta-d7ad0aa202a3cd05e37ade3f9d91bee89d77d261":"2023-12-01T11:45:12.603Z","24.8.12":"2023-12-01T11:56:41.654Z","0.0.0-beta-a0ead8e556c4da592e13170de30294cc0ea7a9e0":"2023-12-01T15:22:00.426Z","0.0.0-beta-6e6cc49ce945f2aa513fd36642e8298c3bbc0a13":"2023-12-01T17:20:44.288Z","0.0.0-beta-dc90062904f07267bbac5b9797caa36095b1e68a":"2023-12-01T18:32:42.540Z","24.8.13":"2023-12-04T09:37:10.399Z","0.0.0-beta-2650166b12b75665031aebb9558f46150344275a":"2023-12-04T13:59:29.257Z","0.0.0-beta-3e47ac8e833c65e8b3175bf76deb5f4c64f4ef6f":"2023-12-04T16:05:38.338Z","24.8.14":"2023-12-05T04:26:25.868Z","0.0.0-beta-c1fcd2d728238a537682ca24e67c9429802883e4":"2023-12-05T16:22:51.703Z","24.8.15":"2023-12-05T17:17:58.165Z","0.0.0-beta-5e07092b93f2f60451b1b9d98159ae8115ab388e":"2023-12-05T19:41:12.391Z","24.8.16":"2023-12-06T04:22:45.817Z","0.0.0-beta-8778746f85ca6049281ea01c1cfc987bc8f1a05e":"2023-12-06T17:06:37.107Z","0.0.0-beta-0367715e80658da79db36359246b426872b47ebf":"2023-12-07T16:13:50.805Z","24.8.17":"2023-12-08T08:21:27.867Z","24.8.18":"2023-12-08T16:05:41.620Z","24.8.19":"2023-12-13T11:41:44.386Z","0.0.0-beta-5320b3ad73d4e425ac102fd5001f82e932ad1af9":"2023-12-13T14:26:39.058Z","0.0.0-beta-7d6914bd171b721537e84b825f37764f79c7a800":"2023-12-13T15:05:29.428Z","24.8.20":"2023-12-14T08:45:41.051Z","0.0.0-beta-18465240e21e6ed9ce4c0a033dee3a7a05ce5081":"2023-12-14T11:34:36.964Z","0.0.0-beta-56702233848ef4f2b2a1455850dc78ad09e57d36":"2023-12-14T12:11:11.272Z","0.0.0-beta-14c8bb3b3a162b1fb64a608bdfa82c5dbacc799b":"2023-12-14T13:09:35.497Z","0.0.0-beta-658938397d272c6aa99e347c0485348ddaeebada":"2023-12-14T13:49:01.484Z","0.0.0-beta-931bf9ad3c3c18d29174f6542a4376416e19ce84":"2023-12-14T15:17:00.253Z","24.8.21":"2023-12-15T04:26:41.505Z","0.0.0-beta-10272e2f1e19eb5d5298001bfa2213ee314cb94f":"2023-12-15T14:32:47.571Z","24.8.22":"2023-12-15T14:41:27.182Z","24.8.23":"2023-12-15T15:17:05.674Z","24.8.24":"2023-12-18T04:26:16.522Z","24.8.25":"2023-12-18T12:14:06.945Z","0.0.0-beta-607037dd9b063a4b2d0c7d9e9e98342fb2aa0ac0":"2023-12-18T14:15:24.964Z","0.0.0-beta-44c815addb42e98a833c9fdd0d75c333cf040d1e":"2023-12-18T15:37:32.145Z","24.8.26":"2023-12-19T04:18:49.704Z","24.8.27":"2023-12-19T09:08:15.070Z","0.0.0-beta-222ad0dd06e2edeb355e95d6d82cf6d56d999d76":"2023-12-19T11:30:03.967Z","0.0.0-beta-97bc06314f4e24d115211201ce666cbe6203dde5":"2023-12-19T15:58:49.764Z","24.8.28":"2023-12-19T16:10:27.796Z","0.0.0-beta-42f508c23af0085a22a8d1d3c4ad66e9e668aa8b":"2023-12-20T07:41:57.639Z","24.8.29":"2023-12-20T08:19:25.856Z","24.8.30":"2023-12-20T10:03:33.095Z","0.0.0-beta-f0ea090239cb41f779df11a1dadff9c754d41690":"2023-12-20T10:45:24.360Z","0.0.0-beta-0c73921a1265297fb06839db7d27eeb01467a1ba":"2023-12-20T12:36:54.381Z","24.8.31":"2023-12-20T15:59:36.187Z","0.0.0-beta-281d1c28ea913967246983a62512bb697ca6ef2a":"2023-12-20T17:04:05.950Z","0.0.0-beta-afb5d9cef61d96e3229202e5b6ff8c52156b871e":"2023-12-20T17:12:43.847Z","0.0.0-beta-715eb05e6d8660380823d3f12efc8168639f2494":"2023-12-20T17:20:27.107Z","0.0.0-beta-d9854a64528f85c1b416111bf2cfe141c770bb41":"2023-12-21T10:12:06.200Z","24.8.32":"2023-12-21T10:31:06.772Z","0.0.0-beta-31e63dabd96ca5d127d205f74c994127203c47fa":"2023-12-22T08:44:56.092Z","0.0.0-beta-96fc15f1311b4366de9fc49e3ba0c4eb8332febc":"2023-12-22T08:57:51.364Z","0.0.0-beta-ac59fa3272047a852d5d11e6e46184a9fac59325":"2023-12-22T09:06:56.501Z","0.0.0-beta-c77567d02307eebd8be2e392a96fee09c666b00d":"2023-12-22T10:12:18.524Z","0.0.0-beta-2cac6cf0f31993ce7c2154bf2e3bda6f8975a601":"2023-12-22T12:47:31.597Z","0.0.0-beta-e40e67ad256929d27eef6b642a59c02da18d4903":"2023-12-22T13:34:13.590Z","0.0.0-beta-fc0b3c3355f30f1f3070c3775e02c2355106cf8f":"2023-12-22T13:51:56.109Z","0.0.0-beta-d53fd15356fbb2f92df80bc07b06c6d8fb9ebcac":"2023-12-22T15:00:28.552Z","24.8.33":"2023-12-22T15:16:28.250Z","24.8.34":"2023-12-22T16:30:51.250Z","24.8.35":"2023-12-22T16:41:37.857Z","0.0.0-beta-7af943ec9b38bfb85706803c9d51978b70260246":"2024-01-04T10:29:40.086Z","0.0.0-beta-b42b68c8fbd049d9ff9363e6d3b2c0257ff0015d":"2024-01-04T10:54:24.315Z","24.8.36":"2024-01-04T11:29:52.062Z","24.8.37":"2024-01-04T11:38:54.958Z","24.8.38":"2024-01-04T16:01:50.999Z","0.0.0-beta-2d8592fa7e14e581a2961bfe477ee017e42386fb":"2024-01-09T10:11:28.539Z","24.8.39":"2024-01-09T11:55:50.281Z","0.0.0-beta-f17842b974e51fd35c45c20a29fe802bbca35416":"2024-01-09T16:53:29.310Z","24.8.40":"2024-01-10T04:20:17.457Z","0.0.0-beta-8dc4214caff0ed9098bbee629b3d75a517991f05":"2024-01-10T10:04:15.836Z","0.0.0-beta-06062304aba8ff1b8e3cf97aecf851442534f8cb":"2024-01-10T11:17:03.717Z","24.8.41":"2024-01-10T12:30:58.599Z","0.0.0-beta-cbe4be5042acad48d68f28d36e60ec62fb405099":"2024-01-10T14:33:08.881Z","24.8.42":"2024-01-11T04:22:42.476Z","0.0.0-beta-33e2cc98122b5df020c59f74174b55ac36475d94":"2024-01-15T11:36:27.353Z","0.0.0-beta-0c74d521d31570f3a7f88cb8ac56830f557cee82":"2024-01-15T12:27:11.123Z","24.8.44":"2024-01-16T04:20:29.828Z","0.0.0-beta-a26ebfdde211e7c2bb6c3825c2275b7b8b10984b":"2024-01-16T08:53:44.901Z","0.0.0-beta-b813764bd732d0a67ba3af51881c5a2c2f5334f2":"2024-01-16T09:37:24.577Z","0.0.0-beta-c5614e210a14c4767f05bc61951d4ae9e23b6df2":"2024-01-16T10:15:25.858Z","0.0.0-beta-a38bfcea29b0190d8fd9a50899fbb56c5f8f7939":"2024-01-16T13:54:25.585Z","0.0.0-beta-0cf26ffa2419cf8c4035d8a11cbdd14d96558d41":"2024-01-16T15:13:20.634Z","0.0.0-beta-86c243e236dd765d32f61177d7731518362e4df6":"2024-01-16T15:52:11.169Z","24.8.45":"2024-01-16T16:53:37.716Z","24.8.46":"2024-01-17T04:26:33.782Z","24.8.47":"2024-01-19T04:20:59.711Z","24.8.48":"2024-01-19T09:56:09.359Z","24.9.0":"2024-01-23T10:42:29.231Z","24.9.1":"2024-01-23T11:04:27.350Z","24.9.2":"2024-01-23T16:13:11.034Z","24.10.0":"2024-01-24T11:15:20.819Z","24.10.1":"2024-01-24T16:22:29.604Z","24.10.2":"2024-01-25T16:04:11.340Z","24.10.3":"2024-01-26T04:21:22.691Z","24.10.4":"2024-01-26T10:11:00.633Z","24.10.5":"2024-01-29T04:27:21.254Z","24.11.0":"2024-01-29T12:57:20.806Z","24.11.1":"2024-01-30T04:20:51.796Z","0.0.0-beta-57092a2b01ae4d53d6aeb9c46503e18263bc3902":"2024-01-30T17:17:50.196Z","0.0.0-beta-b4dca28fd9901f3d8cd6fbd7e08d17a90bd7718e":"2024-01-31T07:30:20.278Z","0.0.0-beta-9c84389211de5416aa27fe125facdc7c57101eb7":"2024-01-31T07:59:47.594Z","0.0.0-beta-f1c52e51b7dac7cc2ea930f9868b194bf39303af":"2024-01-31T09:49:09.620Z","0.0.0-beta-6d9a36ad09c8091f33fc7b0a2db91f18a50e928a":"2024-01-31T10:43:30.405Z","0.0.0-beta-1c6842a7f330cda59f652567dce42fff079c1f83":"2024-01-31T11:11:07.057Z","24.12.0":"2024-01-31T11:39:30.593Z","0.0.0-beta-84c1e03255c02e91147e61aae0bdfeb21d1561ff":"2024-02-01T17:32:29.363Z","0.0.0-beta-764b282e3a9a69f7adb866744a840b9f7cb7bc76":"2024-02-01T18:05:51.490Z","24.12.1":"2024-02-02T10:21:23.666Z","0.0.0-beta-1b97105ef0f0881e2f2a09ccacb061b42ce2523d":"2024-02-02T11:11:09.594Z","0.0.0-beta-8f59fbbd94a4360f83282aefc20b791304f606a0":"2024-02-06T11:27:00.261Z","24.13.0":"2024-02-08T13:53:58.019Z","0.0.0-beta-578c023816d49ba2a71282ed7462e22178a96b33":"2024-02-08T15:18:36.770Z","24.13.1":"2024-02-09T04:29:45.352Z","0.0.0-beta-09896837c18a5024ef071968ff421ef916a90c3a":"2024-02-13T15:06:17.272Z","0.0.0-beta-7f70894411881780c95cf3977bada606ae83f8cc":"2024-02-13T16:10:25.783Z","0.0.0-beta-cf5336a1800868b1403c7fabcbb4abe7b6ee36eb":"2024-02-13T17:19:48.352Z","24.13.2":"2024-02-14T11:47:59.689Z","0.0.0-beta-e40b1e7aea8f80798849d160e3c578ea6b36a06b":"2024-02-14T11:57:10.812Z","24.14.0":"2024-02-14T13:44:59.597Z","24.14.1":"2024-02-14T15:46:39.323Z","0.0.0-beta-bc651ef198a23433fdeda1a445d504baf3b13777":"2024-02-19T11:02:21.743Z","25.0.0":"2024-02-19T14:00:22.345Z","0.0.0-beta-3c931394b9ff6bb71b9e4278aa3dcd8deb6f23e0":"2024-02-20T07:37:12.134Z","25.0.1":"2024-02-20T12:53:48.541Z","0.0.0-beta-fc7cbd477c54076a30c04f6dd57c7e245dea4010":"2024-02-21T16:02:25.479Z","0.0.0-beta-0c7c48f486ee8182df83a260c40147f7d58b60af":"2024-02-22T09:52:08.824Z","0.0.0-beta-18e7f3f6add29ad9f70f2d2b0f764909392c6219":"2024-02-22T11:15:26.497Z","25.1.0":"2024-02-22T11:25:53.923Z","0.0.0-beta-c968da3047241b0ee64c800c0c2daa408342693d":"2024-02-22T12:49:35.593Z","0.0.0-beta-38b4af17bbb0cbb37f5a8a9c28c14f5d3b310392":"2024-02-22T14:02:54.431Z","0.0.0-beta-9a00c4159786e3c3d401b25035ae3ff0912f543b":"2024-02-22T14:57:47.393Z","0.0.0-beta-da544f584e233f2d83ce98e0094dcaf04c55b299":"2024-02-22T15:43:52.912Z","0.0.0-beta-fe5eb98960e851366ea84de1764d777d50afdd90":"2024-02-22T16:06:30.195Z","25.1.1":"2024-02-23T10:26:39.403Z","0.0.0-beta-7c0742a83043726ce8cda42feaf7a8f05abedc75":"2024-02-23T10:51:53.859Z","0.0.0-beta-bd6da40032c853185a0729eadb1b053cd220e809":"2024-02-23T11:22:29.155Z","25.1.2":"2024-02-23T11:49:41.215Z","0.0.0-beta-8d4a762ab8b4e0b5676b1e6594aae5f34169c1ec":"2024-02-23T11:58:40.558Z","25.2.0":"2024-02-23T12:09:36.242Z","0.0.0-beta-2b0699ae336c89c498b79107898f0a58afa7c84e":"2024-02-23T14:14:02.575Z","25.2.1":"2024-02-23T15:54:02.130Z","25.2.2":"2024-02-26T04:21:12.440Z","25.3.0":"2024-02-26T08:33:52.956Z","25.3.1":"2024-02-27T04:24:06.846Z","0.0.0-beta-5a16e7005ac72eaa0d52dd6c8d1a9ca498e8e1d4":"2024-02-27T13:22:48.425Z","0.0.0-beta-b45b12198f6c14b3485c1eb6de18581003f1c19b":"2024-02-27T14:23:53.635Z","25.3.2":"2024-02-27T15:21:53.934Z","25.3.3":"2024-02-27T16:41:28.678Z","25.3.4":"2024-02-28T04:11:28.608Z","25.3.5":"2024-02-28T11:05:13.102Z","0.0.0-beta-b9bb551f39b77cc65ef7704a5e4e2841e2104d39":"2024-02-28T13:58:47.228Z","25.3.6":"2024-02-28T15:17:46.644Z","0.0.0-beta-730e6b4701d1be504b3c44eac99b4dd2caa3bb4d":"2024-02-28T16:57:00.538Z","25.3.7":"2024-02-29T04:24:34.113Z","0.0.0-beta-0432f5677dfebb4ac7b857e4629ff83aa2ac5177":"2024-02-29T09:32:48.655Z","0.0.0-beta-4313c1604723f2bab5db87f80253131fcf6e5fa8":"2024-02-29T10:42:30.713Z","0.0.0-beta-d8bfb1e7ed643be119f5344b4d0826f985655699":"2024-02-29T14:49:54.537Z","25.3.8":"2024-03-04T04:21:02.577Z","0.0.0-beta-e8f72cb6784b2632b19240fb4a117713feb780b8":"2024-03-04T13:01:19.657Z","0.0.0-beta-cc1bd35f2921ae71e05f5400c41f7e7fa34ea12f":"2024-03-05T16:46:07.333Z","0.0.0-beta-9905cecf9b43cfdc6e71cd8ce4f432457311cfe6":"2024-03-06T07:55:37.649Z","25.4.0":"2024-03-07T10:21:50.098Z","25.4.1":"2024-03-08T04:20:02.555Z","25.4.2":"2024-03-11T04:19:05.341Z","0.0.0-beta-6a2567c8a1b3279961c8f82cc8fcc6769ee0cf16":"2024-03-13T13:03:41.494Z","26.0.0":"2024-03-13T14:14:48.083Z","0.0.0-beta-cdec1b840c1fddc92f6314619cbcdbc25131c0f3":"2024-03-14T10:09:38.410Z","0.0.0-beta-f888f91540b3f4b74d0b45b014d074156346727b":"2024-03-14T11:18:33.801Z","0.0.0-beta-bc7e9f1e9e253be0e2a1d9747b0e35f9d300f489":"2024-03-14T12:06:37.615Z","0.0.0-beta-f49c74949773700a6ce1188c54c6e5c59d850c4a":"2024-03-14T14:23:03.710Z","0.0.0-beta-148ec2d7d96131a6b967a3ffbd19a1098d94e3a1":"2024-03-14T14:43:33.748Z","0.0.0-beta-44b490883938ea7f90680e903e638fbb1b0e8298":"2024-03-14T14:52:24.328Z","0.0.0-beta-e71104643af99e6d6a3efd7523ad8eef25e9162c":"2024-03-14T15:16:38.394Z","0.0.0-beta-b8a9e1eb2a6be3fc0864a02fb58529bce238565f":"2024-03-14T15:35:44.976Z","0.0.0-beta-c6905d1ce073fb9d28cfc933dab94fe416fdbeeb":"2024-03-14T15:47:44.326Z","0.0.0-beta-37b4b195aa0a3db8c85e5ea2e6cdd34390e790d3":"2024-03-14T15:56:52.201Z","0.0.0-beta-3fa28fc21ba31fc91a83f028035c2a814023ffcd":"2024-03-15T12:27:55.383Z","26.0.1":"2024-03-15T14:41:59.649Z","0.0.0-beta-9ad6da3c5565a828e7584dcb02542904bead123e":"2024-03-15T16:20:55.162Z","26.1.0":"2024-03-15T18:30:20.021Z","0.0.0-beta-da5795f39e97cc3ef5e0348469009db555c874f6":"2024-03-19T14:41:14.174Z","0.0.0-beta-2bfdec673c00a3cc7c25735a9110181170415fbe":"2024-03-20T16:10:30.400Z","0.0.0-beta-c941802f3e5575f69965a477a611fe44780dc6c4":"2024-03-21T11:27:15.672Z","26.1.1":"2024-03-21T13:51:10.996Z","0.0.0-beta-8d266e054788b8c0143057fe13796c21d0fd725a":"2024-03-22T08:31:47.935Z","0.0.0-beta-4ec9e65bd8ae24a09ce4e0b945a1c0d4e27e4b65":"2024-03-22T08:43:47.863Z","0.0.0-beta-9ebd67187e1479e2517416992ab50615e4b39c8f":"2024-03-22T09:08:45.166Z","26.2.0":"2024-03-22T10:27:17.106Z","0.0.0-beta-6807386b2ac0247307fa38fb09a50b8a75bb4285":"2024-03-22T14:26:07.995Z","0.0.0-beta-6c020f0834384c11178453eb1209c2db5798fba5":"2024-03-22T15:17:02.647Z","26.3.0":"2024-03-22T15:52:39.977Z","0.0.0-beta-87858564d35466b03c917da94e32bc0f9bf31427":"2024-03-22T17:08:08.761Z","0.0.0-beta-84e814032f1ab8cb769a97e2215b6bf1a5b8dc4f":"2024-03-25T06:17:35.219Z","0.0.0-beta-d263e46a76dba9a83b9bbf3ce475c9f7f753b55a":"2024-03-25T06:44:16.891Z","0.0.0-beta-51bb62c919a344574e3e1151cc7f92590224f141":"2024-03-25T07:07:38.053Z","0.0.0-beta-015f9d564a29c71733e034cd6eaf72a3baabacfc":"2024-03-25T07:35:43.110Z","26.3.1":"2024-03-25T08:01:59.207Z","0.0.0-beta-176975f714e95f8cebb9a364d1beb787de20ec98":"2024-03-25T08:38:16.806Z","0.0.0-beta-e56b833eab17b42e4825f9035397b1061228596a":"2024-03-25T09:06:18.125Z","0.0.0-beta-746eda022f7ea1830af25bb3d09437876e8db8e0":"2024-03-25T09:25:18.083Z","0.0.0-beta-59e561fae306ac1a9afa29d0baef81a2f9edbf81":"2024-03-25T09:57:21.482Z","0.0.0-beta-5dfef2186cfd70848687c805945764bfb2aade8a":"2024-03-26T16:11:39.120Z","0.0.0-beta-1bd98f5679317eaa585e84931c831332847a210a":"2024-03-26T18:22:01.997Z","26.3.2":"2024-03-27T08:37:16.417Z","0.0.0-beta-5f26704cb844b52e3918edfbed2efb23ebc9e51d":"2024-03-27T09:24:16.207Z","0.0.0-beta-c3a38bfec0ed5c528b00dd201cf2a479b8c2c373":"2024-03-27T09:40:37.549Z","26.4.0":"2024-03-27T13:38:30.662Z","0.0.0-beta-9b9c6e10d9154e7a4c63c6249729a563bb59ca7f":"2024-03-27T14:34:27.283Z","0.0.0-beta-e5cdeed822d6c2745137dc6f173a3e975a1e7c51":"2024-03-27T14:50:13.112Z","0.0.0-beta-d501c598833805508d1d5f076ecded07b0d96287":"2024-03-27T15:12:08.936Z","26.4.1":"2024-03-27T16:11:04.696Z","0.0.0-beta-44460ea2326b73c11d065965791a407503d0dcd7":"2024-03-27T16:49:02.546Z","26.4.2":"2024-03-28T09:47:36.371Z","0.0.0-beta-941f64ed422eda37f171ac93accb3f7b7bc272cc":"2024-03-28T10:01:48.750Z","0.0.0-beta-25d56c08bf5d53b11467cfb833abe571078926b7":"2024-03-28T10:28:01.032Z","26.5.0":"2024-03-28T12:45:08.690Z","26.5.1":"2024-03-29T04:29:42.047Z","26.5.2":"2024-04-01T04:26:18.574Z","26.5.3":"2024-04-02T04:18:31.148Z","26.6.0":"2024-04-02T07:01:05.547Z","0.0.0-beta-5dc1e4570ef70c5db9b2a8924106f272ac59165e":"2024-04-02T07:58:18.077Z","26.6.1":"2024-04-02T08:18:14.811Z","0.0.0-beta-15b5c4efaef8c6579dc293dc27a95fa58520301d":"2024-04-02T08:49:02.591Z","0.0.0-beta-c50793a134c4dcf7a169b992bfebefba3263c18b":"2024-04-02T10:44:53.882Z","0.0.0-beta-1db75eed7f96c396c2d972b0df05eeb8f9cfb8b9":"2024-04-02T11:37:46.357Z","27.0.0":"2024-04-02T12:48:31.476Z","27.0.1":"2024-04-03T04:23:06.246Z","27.0.2":"2024-04-03T12:12:05.709Z","0.0.0-beta-731b47c3b948fb003f357159aae34fcc505ea133":"2024-04-03T13:23:11.510Z","0.0.0-beta-f2c82648fd6a6c5835c971116de68b8c884433b6":"2024-04-03T15:39:23.746Z","27.0.3":"2024-04-04T04:21:26.852Z","0.0.0-beta-d06ea574bb312efdcd15cb6b4c5847f9f3eedd63":"2024-04-04T09:21:08.612Z","27.0.4":"2024-04-04T10:19:58.535Z","0.0.0-beta-5f38d083568996e1c7f88b320730066900656760":"2024-04-04T10:58:54.849Z","0.0.0-beta-2c843dbfd6b9b185cbc0a9d125af958770c98be3":"2024-04-04T11:08:17.016Z","0.0.0-beta-9a4fc06826c6bb6e162ac68007667b1ee8287cad":"2024-04-04T11:55:24.821Z","27.1.0":"2024-04-04T12:29:09.062Z","27.1.1":"2024-04-04T12:42:34.115Z","0.0.0-beta-9a1e47a18af3f01c62de78420f059b126bd33eb0":"2024-04-04T13:27:12.630Z","27.1.2":"2024-04-04T14:16:27.054Z","0.0.0-beta-366fd499c72a3944e46475d5590dc18c95f39c43":"2024-04-04T14:26:39.234Z","0.0.0-beta-65c27f19f209bf06e04eae8a739e069cb358de87":"2024-04-04T15:10:09.151Z","0.0.0-beta-dbf6aafda5c16637cc16cb7b0827b63c9f81c308":"2024-04-04T16:05:42.836Z","27.2.0":"2024-04-04T16:16:15.100Z","0.0.0-beta-05e2f10c22444a66ac2088104df328189f3728ca":"2024-04-04T17:14:29.529Z","0.0.0-beta-80c8235681c149545073fbd5a52cb1ec5579010a":"2024-04-05T08:02:23.684Z","0.0.0-beta-711360181cbe797a68dc82623167308089f3e3b3":"2024-04-05T09:10:01.414Z","27.2.1":"2024-04-05T13:45:10.690Z","0.0.0-beta-38c5a7f4e6b8804f985c948c4ef206b8a4c382c9":"2024-04-05T15:26:10.108Z","0.0.0-beta-472a29f9d76af2383863658d4076c08cdc20d1dc":"2024-04-08T06:21:42.192Z","27.2.2":"2024-04-08T08:24:50.657Z","0.0.0-beta-aa0f51e1d9ccc09bb1ebb89326be0193225a7d83":"2024-04-08T08:35:07.795Z","0.0.0-beta-4205638c34d7a39d7dfa617b404cabaafbdc2241":"2024-04-08T10:04:15.932Z","0.0.0-beta-f660afc2c30c13f6c5ae7765654090211c221cdf":"2024-04-08T10:14:44.360Z","0.0.0-beta-83361121503395f52a098304abe69a52bf047cbd":"2024-04-08T10:41:36.453Z","0.0.0-beta-21dd16f65fc3bab047b2e69541a92f762f21e2b3":"2024-04-08T12:10:33.888Z","0.0.0-beta-f346653d0eaaa12e727b3c78f6b7406d3e36bdd4":"2024-04-08T12:36:45.718Z","0.0.0-beta-e9324fef743580c252eb09889d24bca3815431d9":"2024-04-08T12:48:34.258Z","0.0.0-beta-a76fada6d385cd940efafff00a9204b9c0e35033":"2024-04-08T13:00:32.641Z","0.0.0-beta-3a77dc7467e05845e5b48a4d6f6f0d26e6e41b9a":"2024-04-08T13:12:27.290Z","27.3.0":"2024-04-08T13:32:44.691Z","0.0.0-beta-16a0bf940be6aeb9bd78e1c3be9c49453321669a":"2024-04-08T14:03:50.900Z","0.0.0-beta-44b8e29dba7db9728c8ee712b110b9332aff9ce2":"2024-04-08T14:14:31.994Z","0.0.0-beta-1c5fd7b848320ece5c535ce4572a31060c4f4b5f":"2024-04-08T14:25:25.572Z","0.0.0-beta-83224466469ad15ffd32aad9edce54a022ef3f01":"2024-04-08T14:41:04.643Z","27.3.1":"2024-04-08T14:55:39.612Z","0.0.0-beta-34336fed7d93f5c4cc50c87ecc62b0954f77b676":"2024-04-08T15:07:00.618Z","0.0.0-beta-1f11064f8dec0bf4c59c9486edc02eeef5f78134":"2024-04-08T15:23:39.787Z","0.0.0-beta-255c273d3e031c82969005b4298abd8309af4d3c":"2024-04-08T15:59:07.609Z","0.0.0-beta-f1bd51309536441d613a8d99b83a7b340d7bc70d":"2024-04-09T05:57:34.227Z","0.0.0-beta-d69637598579241270e12f2b4e3f277faa6d876e":"2024-04-09T06:16:49.020Z","27.4.0":"2024-04-09T07:33:02.182Z","0.0.0-beta-dfa02141b9eeb3b4bbb2f46c000da28c282d8929":"2024-04-09T08:33:44.325Z","0.0.0-beta-7bb135919ec21ef3eaa74940367e7efdb68fef7c":"2024-04-09T08:44:04.803Z","0.0.0-beta-f56172d25cc41a7468ae7928854648df76b9ce0c":"2024-04-09T08:56:22.383Z","0.0.0-beta-09778ae59af17e5701c394cdf494e09ea5707416":"2024-04-09T09:06:13.999Z","0.0.0-beta-a48f3055916e6beed78f852fb95c997573c3442f":"2024-04-09T09:55:34.667Z","27.4.1":"2024-04-09T10:08:48.639Z","0.0.0-beta-6f01c73e8455290097eddf8061da435b5057f2f3":"2024-04-09T13:11:16.122Z","0.0.0-beta-557a12efdb9c8080afbd0e62f67cca2fed03fe4d":"2024-04-09T13:24:53.443Z","0.0.0-beta-734239f18a560a28a891222a06660fcc7bfe7c3e":"2024-04-09T13:38:34.600Z","0.0.0-beta-b99f246e61d69ed7dfdca66deda9ac41805482fc":"2024-04-09T13:54:00.872Z","0.0.0-beta-27d1fca6dbf62c7adcb3982e989a3101a9acaf31":"2024-04-09T14:08:07.061Z","27.4.2":"2024-04-09T14:33:39.615Z","0.0.0-beta-45a78e43016924e82713c3a9417ead00396ba0dd":"2024-04-10T06:05:14.534Z","0.0.0-beta-705442e8669711c5b09f3016bc50476adc72cb4b":"2024-04-10T06:17:44.325Z","0.0.0-beta-69fae977ef75b67fe9b38717af22755cc7c41c8a":"2024-04-10T06:43:07.163Z","0.0.0-beta-90f49f3f4abff9a355f9f0b4bd2b99f5dd0600e2":"2024-04-10T07:18:09.921Z","0.0.0-beta-58f279189af08aa5521db1abbf59de16a55d12e9":"2024-04-10T07:33:24.692Z","0.0.0-beta-5aff4e3adcdc932dca5b7bb262b18c80a3039951":"2024-04-10T08:57:10.632Z","27.4.3":"2024-04-10T09:47:54.163Z","0.0.0-beta-c15929839290bea8ad2752bdec64e90d9709bbbd":"2024-04-10T10:47:21.386Z","0.0.0-beta-5a1d88c681d704cd22616deed9aa2624313577ef":"2024-04-10T11:10:39.739Z","27.5.0":"2024-04-10T12:14:00.617Z","0.0.0-beta-6e16cd5a9653cf1cdc5f2b3aa58e497fcfca8f72":"2024-04-10T14:42:46.204Z","27.6.0":"2024-04-10T14:54:54.573Z","0.0.0-beta-bda0bde6b4ea3e68f9c2d6d0fcd42aeafd933a9d":"2024-04-10T15:12:49.967Z","0.0.0-beta-2e1dfc6ccf27fd91fd781db8acdeff28d0daf2d0":"2024-04-10T15:43:22.478Z","0.0.0-beta-cf33af09492a444c2f93fa53960b51ccb2b0428d":"2024-04-11T07:19:10.736Z","0.0.0-beta-d24bd80722c98f7d8ffeccbf16cc9c4f9e01a719":"2024-04-11T07:54:32.176Z","0.0.0-beta-e8c1662ae899ad7a6981d61d1f63f2d700d62911":"2024-04-11T08:06:26.856Z","27.7.0":"2024-04-11T08:17:05.638Z","0.0.0-beta-8a469e41af993184839457fae880894ccb11ecbd":"2024-04-11T09:04:48.961Z","0.0.0-beta-af59de691db6e0d3acd9846fee95ea8fce975ab0":"2024-04-11T09:20:29.658Z","0.0.0-beta-d46ec629d928d880e31b06b2e9afa259cd2598e0":"2024-04-11T10:27:02.583Z","0.0.0-beta-97286c63f9afea5b21c9ba6f196d605b9ee88a5e":"2024-04-11T12:59:14.480Z","0.0.0-beta-77c05dbc61ead4b9efb70f5acc59c9a542dd20ff":"2024-04-11T13:50:46.677Z","0.0.0-beta-c771427a5a8224f2cf16ece7e9d331c43f20d097":"2024-04-11T14:53:50.453Z","0.0.0-beta-3fa1ae2eb96930fef96d3aac14b2758579b212c9":"2024-04-11T15:09:11.138Z","0.0.0-beta-725e0f5a09c17e67896ec1d9c24090cb63d50780":"2024-04-12T07:56:40.040Z","0.0.0-beta-3c7ff776794e2c158a8d342cd252e9eeb4eb6de9":"2024-04-12T10:14:18.218Z","0.0.0-beta-250992075225052b9613046972ffce8475df2d55":"2024-04-12T11:00:27.353Z","0.0.0-beta-25c0d384f0d0a014cfaddebed264303ca323b996":"2024-04-12T11:12:37.482Z","27.8.0":"2024-04-12T11:53:57.844Z","0.0.0-beta-3259bd2c9c121369aeba9138e487ce3636666083":"2024-04-12T13:31:40.443Z","0.0.0-beta-6f88eb9bff984da1763648a3c83f337bcf0cb18d":"2024-04-12T14:56:57.731Z","27.8.1":"2024-04-15T13:06:23.957Z","27.8.2":"2024-04-15T15:09:29.193Z","0.0.0-beta-8a10defbcb6379e1afef19c509dc92334ce5e58c":"2024-04-16T10:54:54.964Z","0.0.0-beta-9996cfeef1b14f91872c6ae14c6055676075190c":"2024-04-16T11:20:46.398Z","0.0.0-beta-92f9aa8a5690a82dffb469538250e585d504e9c6":"2024-04-16T11:31:49.225Z","0.0.0-beta-5708ea0a492708714bafc25d34d0c16c0db6dbcb":"2024-04-16T12:28:03.307Z","27.8.3":"2024-04-16T12:40:21.688Z","27.8.4":"2024-04-16T13:22:17.536Z","27.8.5":"2024-04-16T13:42:08.380Z","0.0.0-beta-f490e725313470487e0660eb27a2fb7c26c91a62":"2024-04-16T14:54:29.992Z","0.0.0-beta-063774fbd73633628c5909cd97cb87de0fe5e76f":"2024-04-16T15:20:28.788Z","0.0.0-beta-1ba9a2939a2cdd97a919c2920bcc180faf8f6c2d":"2024-04-16T15:39:06.097Z","0.0.0-beta-69f4fd52aeb75a0546f1ba5b534cc25b0e1f8522":"2024-04-16T17:25:12.568Z","27.8.6":"2024-04-17T04:21:49.751Z","0.0.0-beta-9ee0b028a397f50f3a9cb20ec320b2067a647ab1":"2024-04-17T07:20:38.645Z","0.0.0-beta-457fa768d00f21fab58941dce776daf2c17fb0a1":"2024-04-17T07:32:52.584Z","0.0.0-beta-0306b7ab08600d56040908c7ea7a335a39e001bf":"2024-04-17T08:02:56.240Z","0.0.0-beta-b3a5ee06dc80d821bd36e300bd25f0ec332359c2":"2024-04-17T08:32:25.829Z","0.0.0-beta-04137d014a02b6b28a76061871213fdf3665b8e8":"2024-04-17T08:42:52.128Z","27.8.7":"2024-04-17T09:10:23.026Z","0.0.0-beta-3e67ed29fc087c8645c35534756f6b5e9d39a91c":"2024-04-17T09:29:56.085Z","0.0.0-beta-0fc3cce4ff365ed398b6c0b33b358f86d296a4ac":"2024-04-17T10:13:41.324Z","0.0.0-beta-db77913d6b5532d2400cb0d8e94fd586187bdec7":"2024-04-17T10:26:15.642Z","0.0.0-beta-1266f3d26b850155ec7ef7d9c5a266b50b80dcb2":"2024-04-17T12:32:07.148Z","27.8.8":"2024-04-17T13:21:05.435Z","27.9.0":"2024-04-17T13:33:26.324Z","27.9.1":"2024-04-17T14:41:08.313Z","27.9.2":"2024-04-18T04:19:43.486Z","0.0.0-beta-d5e4eef69cb919c3178dde3f0ebc0090d0cc239b":"2024-04-18T09:26:34.680Z","0.0.0-beta-5652bbe9e029e12926552342fd67ff5a21a2dbac":"2024-04-18T09:49:52.251Z","27.9.3":"2024-04-18T10:14:52.123Z","0.0.0-beta-2d12169e4424e2d6a999c7c91dcd15a7b806df23":"2024-04-18T10:26:25.723Z","0.0.0-beta-92725cc5b75d0645b3160cf5e1b12f990c77a498":"2024-04-18T11:40:53.171Z","27.9.4":"2024-04-18T12:41:22.486Z","0.0.0-beta-9e97c6d7d4217ea550537affec0d2a4c462b5c58":"2024-04-18T14:24:55.847Z","0.0.0-beta-03d1434d679c09c3f94eabb9b8ad70bb56f0d818":"2024-04-18T14:39:03.257Z","27.10.0":"2024-04-18T15:09:15.795Z","27.10.1":"2024-04-19T04:19:08.271Z","0.0.0-beta-524501a36c328b0a6d9c49a48b0a8efc86a6339c":"2024-04-19T12:59:24.316Z","0.0.0-beta-930fff93d6e1096d43162c2465b8d2f5f5c36c5d":"2024-04-19T13:33:41.207Z","27.10.2":"2024-04-22T04:26:09.628Z","0.0.0-beta-9216bd39505888a5bc64a59cd68ff56b4bc71162":"2024-04-22T09:55:44.637Z","0.0.0-beta-4b38ea39101e18eed85e13be230b3ce5b1d0bff8":"2024-04-22T11:14:42.027Z","27.10.3":"2024-04-22T12:36:17.303Z","0.0.0-beta-f1a7da4e2c2b0403d03b6b0b3514cb93218ab1b5":"2024-04-22T12:53:10.467Z","0.0.0-beta-b55ff22ff3661cf5657d59d3769c3c24abbf46de":"2024-04-22T13:07:29.210Z","27.10.4":"2024-04-22T14:41:52.645Z","27.10.5":"2024-04-22T16:05:07.070Z","27.10.6":"2024-04-23T04:20:20.796Z","27.10.7":"2024-04-23T07:44:22.662Z","27.10.8":"2024-04-23T10:06:31.538Z","0.0.0-beta-3ca3abf45b17175f477db8c42ccd9b8ffdcccc28":"2024-04-24T10:11:19.860Z","0.0.0-beta-1c1b8829d56c30fb0ffbd98ae062a19521ec8513":"2024-04-24T10:23:43.077Z","27.11.0":"2024-04-24T12:01:52.374Z","27.11.1":"2024-04-24T12:44:18.895Z","0.0.0-beta-9cba78ace295319cbdf0fd374d5c0aeb2194b991":"2024-04-24T13:23:53.824Z","27.11.2":"2024-04-24T14:06:44.813Z","0.0.0-beta-0c8e7e11285fdf9183fdfd880de9a4d260902a38":"2024-04-24T14:25:55.338Z","27.12.0":"2024-04-24T19:09:34.025Z","27.12.1":"2024-04-25T04:22:26.569Z","27.12.2":"2024-04-25T09:53:05.704Z","27.13.0":"2024-04-25T11:43:00.622Z","0.0.0-beta-a8bf68c20c5fd923a0cac275bf58b0653eb218b0":"2024-04-25T15:30:29.226Z","0.0.0-beta-87187d564b20c2a24ef0318b169dc7d2e7e967c6":"2024-04-25T15:43:24.223Z","0.0.0-beta-d749ceab3a57b2abf429dcb233eaa980a126c14c":"2024-04-25T16:53:47.462Z","0.0.0-beta-e0dcce97c29e9832599f5c40ed97721105556876":"2024-04-25T17:09:16.039Z","0.0.0-beta-be7184bc7344bf589823d98e244c64154718243f":"2024-04-25T17:37:36.138Z","0.0.0-beta-cf55341d2cbfa2c94e2a809f129853ff7a238d44":"2024-04-25T19:45:26.106Z","27.13.1":"2024-04-26T04:21:54.458Z","0.0.0-beta-e46c240e0381d450b9a9dfeec5d8d134eba6ef9d":"2024-04-26T07:48:19.974Z","0.0.0-beta-b26f48705bf50b3a820f55778ec6762b1e771688":"2024-04-26T08:39:19.673Z","0.0.0-beta-c23e63260abe725ebfa3ba5413e528037fadfb0b":"2024-04-26T09:05:22.976Z","0.0.0-beta-7ba62bea1715b83fee7f10825390ea0481a06c67":"2024-04-26T09:17:37.009Z","0.0.0-beta-564fc13e791eb95d38466270960a94c3f44c4ec8":"2024-04-26T09:30:01.559Z","27.13.2":"2024-04-26T10:07:03.049Z","0.0.0-beta-a7073da239ac0a1c860d7eb1d5d61ea315f6c086":"2024-04-26T10:20:04.513Z","27.14.0":"2024-04-26T10:32:35.496Z","0.0.0-beta-42669cb9f09b9e1b65972686d80279d4a7d2cf16":"2024-04-26T11:15:30.440Z","27.14.1":"2024-04-26T11:30:44.039Z","0.0.0-beta-2368b8b71fa7a1ad36acde7720278adf32d997d6":"2024-04-26T12:50:06.077Z","27.14.2":"2024-04-26T13:19:15.573Z","0.0.0-beta-066fe13c96f8411cf22fe424cb9d4423f15259e0":"2024-04-26T15:19:16.691Z","0.0.0-beta-38f3b1814274cdc2d13f374a48f5c785da8fc436":"2024-04-29T06:51:46.686Z","0.0.0-beta-4266cf0d446f8fd1826520b3d0d5925465d621b8":"2024-04-29T07:57:31.613Z","0.0.0-beta-5f6f68f26d2a91bbfc46d0e61433ffb6fb70e1b2":"2024-04-29T08:09:09.271Z","0.0.0-beta-7753ca7d7b840ee5e5d97f40d9bdc43ee725976f":"2024-04-29T08:22:05.331Z","0.0.0-beta-2520826002c97a67c5e3bad8f80f69717cf30801":"2024-04-29T09:27:03.448Z","0.0.0-beta-8e4f61b3fa9a55d58f3dccff1fca08e8de44ca1e":"2024-04-29T10:49:32.249Z","0.0.0-beta-1822c00eb03d8f2d6f0a98a704e812fc1e034ca6":"2024-04-29T11:01:39.789Z","0.0.0-beta-1512b894101898c4b0918f763bebd40c9286832c":"2024-04-29T11:45:30.094Z","0.0.0-beta-9d9fb8a871b6172572eeb84d9cafd8f2c1102f93":"2024-04-29T12:11:21.293Z","0.0.0-beta-a050836f4acb9ad4ce8ee84afe1e69a45cacfff3":"2024-04-29T12:35:41.347Z","0.0.0-beta-095cd918550b079ef9870091d657c909657d37f0":"2024-04-29T12:47:29.785Z","27.14.3":"2024-04-29T13:50:54.681Z","0.0.0-beta-ad9fe0d6e92da82c21ac426558f8fc1cdb126f12":"2024-04-29T14:16:01.828Z","0.0.0-beta-342bab330473bd4cd51a6cf67b60b437fee4065f":"2024-04-29T14:28:08.256Z","0.0.0-beta-abeb7b24b1233329cc297d6ca5d935da69ebe545":"2024-04-29T15:19:01.355Z","0.0.0-beta-5dc641d983773e6615b5d78da4aa763e84fcfca0":"2024-04-29T15:45:57.404Z","0.0.0-beta-37432af730b746f94eacf326a85950ce79a6f770":"2024-04-29T16:50:58.513Z","0.0.0-beta-47e11e71dc17fa559ddabcb431abf0c8ce463ae6":"2024-04-29T17:58:46.293Z","0.0.0-beta-db18cba4483de5ea7dcaff01d2b3fd8cc3e7d74b":"2024-04-30T07:24:14.888Z","0.0.0-beta-8ea4c3181b53513035a0220de56072d57283856a":"2024-04-30T07:53:42.330Z","27.14.4":"2024-04-30T09:20:40.098Z","0.0.0-beta-b508a95ecf7e59e2a33121a5f70c0f94d21b5400":"2024-04-30T10:34:01.835Z","0.0.0-beta-df5d7823523a706077803feb1a43ade6403dfeae":"2024-04-30T11:40:47.481Z","0.0.0-beta-4d448a90da0843189b5cefc4af0bd3c49c0a9f30":"2024-04-30T12:25:52.087Z","0.0.0-beta-ac09695271613e7e891e8fbad3867b8cefaae1b4":"2024-04-30T12:55:11.413Z","0.0.0-beta-675dffd4c352ea2c6ef9621436cb146aea179506":"2024-04-30T14:09:18.172Z","27.14.5":"2024-04-30T14:57:28.903Z","0.0.0-beta-24ca691e5884a08bf3b409b9df0198de1260999b":"2024-05-02T08:24:40.436Z","0.0.0-beta-96b07de0100042190930a41ec99b9eebc1f485c2":"2024-05-02T09:16:49.910Z","0.0.0-beta-5f4f2914c0c7875a7f003d9b69163839dea42d6c":"2024-05-02T09:53:25.102Z","27.15.0":"2024-05-02T10:33:26.798Z","0.0.0-beta-3aeaab352197bf660fdc603b99e7f3935d5e5365":"2024-05-02T11:32:07.095Z","27.15.1":"2024-05-02T12:18:16.058Z","0.0.0-beta-8897f8df279410c127dd724a311b636fd38d4228":"2024-05-02T12:29:16.422Z","27.15.2":"2024-05-02T14:36:07.370Z","27.15.3":"2024-05-03T04:20:14.056Z","0.0.0-beta-8a034e87a40612c00d197597da4ba4411cf87fe2":"2024-05-03T09:54:17.309Z","27.15.4":"2024-05-03T11:30:33.259Z","0.0.0-beta-c27c0b8716feb3c1b31f06c9530e673e8e3a1a78":"2024-05-06T13:35:42.121Z","0.0.0-beta-cd6352a7c153e9174f9fad926ed41a743136555c":"2024-05-06T13:48:22.728Z","0.0.0-beta-53b5d043e5554a15523f369ffef1732924329c33":"2024-05-07T12:27:34.434Z","27.15.5":"2024-05-07T13:21:40.322Z","27.15.6":"2024-05-07T14:50:35.943Z","27.15.7":"2024-05-07T15:02:42.562Z","27.15.8":"2024-05-07T16:32:09.057Z","27.15.9":"2024-05-08T04:19:20.897Z","0.0.0-beta-bf6dd0e93088dbae3016792415d215764de4af89":"2024-05-09T10:08:03.905Z","0.0.0-beta-e286ecf5716664cd0315fd1a5d1b597e4e9559f1":"2024-05-09T13:04:31.665Z","0.0.0-beta-ff3b124e75131e7fd8ff35398ff17d0e72e5af35":"2024-05-09T13:55:36.768Z","27.16.0":"2024-05-09T19:23:45.251Z","27.16.1":"2024-05-10T08:15:23.582Z","0.0.0-beta-11f574aac4f8921cb57b6d4777e9395625fc60e7":"2024-05-10T12:23:22.655Z","0.0.0-beta-6e4809b47c685503179c5704316fcaa2a8aca3a6":"2024-05-10T14:15:09.342Z","0.0.0-beta-58f002a16fc76e0cb9cacdf2ed1c479de638027f":"2024-05-13T07:10:24.368Z","27.16.2":"2024-05-13T08:59:36.995Z","27.17.0":"2024-05-13T09:43:51.518Z","27.17.1":"2024-05-14T07:10:49.989Z","0.0.0-beta-b9dfcb8bbdb70e155a16daf9e7853168bb121f11":"2024-05-14T08:58:17.038Z","27.18.0":"2024-05-14T09:50:37.426Z","0.0.0-beta-540b0cba1dfc7f5ce6145653f021892bcd61e241":"2024-05-14T11:11:17.761Z","27.18.1":"2024-05-14T12:01:19.470Z","0.0.0-beta-53882526d8f186fc0096f8fe87a6ef0c872883fa":"2024-05-14T12:49:52.745Z","27.18.2":"2024-05-14T14:04:08.680Z","0.0.0-beta-e42373eb2bda91b207850ce1e78dab5532dd0add":"2024-05-16T08:59:56.970Z","0.0.0-beta-5730220451b07e99a1dc5ca4485efd11c0297a3e":"2024-05-16T09:32:47.857Z","0.0.0-beta-290169577493f9d3a9ce3af7f6923a14999e6fc7":"2024-05-16T10:11:34.363Z","27.18.3":"2024-05-16T10:24:14.558Z","0.0.0-beta-ac2e9008614fcc272991358d51dbf3c94933860b":"2024-05-16T10:35:59.326Z","0.0.0-beta-62328a20aa74cb2be24317a141daf501292b8c9a":"2024-05-16T11:38:31.045Z","0.0.0-beta-c1e19e008f3662ab51e19f9f872d2eca3f990761":"2024-05-16T11:52:31.609Z","27.19.0":"2024-05-16T12:54:44.811Z","27.19.1":"2024-05-16T13:12:12.676Z","0.0.0-beta-5f50332e04f53763b838f3d309f5ab70a65dd0f7":"2024-05-16T13:24:49.548Z","0.0.0-beta-cec29dbc925bb7dabb9c9b4b19daf0f7c71532c1":"2024-05-16T13:54:54.493Z","0.0.0-beta-25adb1a547c9bf35cfa00319e4cb8b6d8ae263e1":"2024-05-16T14:14:35.820Z","27.19.2":"2024-05-16T15:36:41.404Z","0.0.0-beta-a760b4dd6c51bb0f103a4b241a9e4e612f5863eb":"2024-05-16T15:49:18.172Z","27.19.3":"2024-05-17T08:08:19.449Z","27.19.4":"2024-05-17T08:41:09.968Z","27.19.5":"2024-05-17T09:17:22.654Z","27.19.6":"2024-05-17T10:21:20.861Z","0.0.0-beta-579114d71dc9e7de5e17f1a307091c2d22d54c91":"2024-05-17T18:10:10.943Z","27.19.7":"2024-05-17T18:33:39.852Z","0.0.0-beta-6e8be0b127ffe73be93d03fda40a90340b8bad58":"2024-05-20T07:47:46.359Z","0.0.0-beta-f6b044745de975dd928dfbf720183a7f0e678120":"2024-05-20T08:26:41.879Z","0.0.0-beta-eeb3b79667b9ed85a09231a10398a9fb19e74c8d":"2024-05-20T09:05:27.482Z","0.0.0-beta-6bac7cb120036e635dc56151a23a43e95788f7f5":"2024-05-20T09:35:21.053Z","27.20.0":"2024-05-20T12:06:44.727Z","0.0.0-beta-7819ba3d46e493a6c8baf09ab1f2d8646f700a14":"2024-05-20T12:51:50.731Z","0.0.0-beta-7c34d030567cf7476e7264cdb8c7d469f042d89a":"2024-05-20T13:03:43.790Z","27.20.1":"2024-05-20T14:28:23.500Z","0.0.0-beta-31ca12625f67a516a54436261a11b462a3cca4c1":"2024-05-20T15:19:52.963Z","27.20.2":"2024-05-21T04:16:17.782Z","0.0.0-beta-73eabe131ecfd082d99c361da1dd1700c990f778":"2024-05-21T09:03:36.484Z","27.20.3":"2024-05-21T09:21:11.984Z","0.0.0-beta-fec89e294937fbe017d0b664da60e910f836cd4f":"2024-05-21T09:42:56.440Z","0.0.0-beta-ab37f4d5bed12d33ff309f929de7be1d34aa6226":"2024-05-21T10:17:08.405Z","27.21.0":"2024-05-21T11:09:23.136Z","0.0.0-beta-53094b0c289a464056f916c58340c96cd7ab0f48":"2024-05-21T12:10:24.496Z","27.21.1":"2024-05-21T13:35:16.869Z","27.21.2":"2024-05-22T07:58:50.801Z","27.21.3":"2024-05-22T09:11:10.966Z","0.0.0-beta-d146e2663f241c07dc8846a3c9be5d7e9abc24cd":"2024-05-22T11:02:22.819Z","0.0.0-beta-4d19499d1a7a969cf6bd216558a663345dde2d94":"2024-05-22T11:42:58.967Z","0.0.0-beta-6a89cae88b0543dfd9baf14c3cc9cfc3af73aa44":"2024-05-22T11:55:18.992Z","27.21.4":"2024-05-22T13:07:49.603Z","0.0.0-beta-3c58bb4e69ddfd037945d993e50356e017c0c7b5":"2024-05-22T13:20:56.707Z","27.21.5":"2024-05-22T14:29:08.676Z","27.22.0":"2024-05-22T14:42:05.734Z","27.23.0":"2024-05-22T14:55:07.255Z","27.23.1":"2024-05-23T04:17:20.237Z","27.24.0":"2024-05-23T08:04:51.578Z","27.24.1":"2024-05-23T14:35:42.992Z","0.0.0-beta-bac7a86fa3268276bdff6e3a8800b5b137a7d601":"2024-05-23T16:24:59.398Z","0.0.0-beta-0adb808319a27e9797d9fb607afd56b7a0a7df77":"2024-05-23T18:42:22.734Z","27.24.2":"2024-05-24T04:15:42.774Z","27.24.3":"2024-05-24T10:41:37.657Z","0.0.0-beta-c4467fb6b6755b0c87f0aa7861ef187c95481d22":"2024-05-24T12:45:07.537Z","0.0.0-beta-79d325f511285031025a978f600f20cbe1db54a9":"2024-05-24T14:10:21.521Z","27.24.4":"2024-05-27T04:14:14.384Z","0.0.0-beta-a5df5123e5e5b6dbc4e7cc680de55ce3cdc5ba54":"2024-05-27T09:01:36.070Z","0.0.0-beta-e0f45200db83fd192c91e8b3478e58320933857a":"2024-05-27T10:54:33.920Z","0.0.0-beta-95b5fd9877f9f9a02d502a97f8be01569980e34c":"2024-05-27T13:44:17.995Z","0.0.0-beta-afa1cb8a38880be74f1b4043cd5de0477f96b720":"2024-05-27T14:51:14.099Z","0.0.0-beta-75fd9cbabac69994db0136bc14aac45df7189256":"2024-05-27T15:38:42.262Z","0.0.0-beta-bb63fd4d13a46a1d1ae830a1b7802f2583dbd7e6":"2024-05-27T15:52:32.008Z","27.24.5":"2024-05-28T04:18:30.572Z","0.0.0-beta-6988e810835cb150287869daeae312cb2f129c36":"2024-05-28T07:45:29.662Z","0.0.0-beta-66455d64550c6cc5a64d629f4e649e6c112f8589":"2024-05-28T08:18:43.312Z","0.0.0-beta-53f99ad39bcf85e98304f94c42cc3783d6fa96ae":"2024-05-28T08:31:05.734Z","0.0.0-beta-6f399f6074a491b3f77ad7bb89cdaeb3390f77f4":"2024-05-28T08:52:50.406Z","27.25.0":"2024-05-28T09:47:04.805Z","0.0.0-beta-e09410e6cdbca382d00230c32d12c63a8675891e":"2024-05-28T10:22:06.566Z","0.0.0-beta-9812600990a420ba271b88dd9cb5a7ac295b40ac":"2024-05-28T10:57:49.395Z","27.26.0":"2024-05-28T13:11:51.730Z","27.26.1":"2024-05-28T14:29:28.173Z","0.0.0-beta-9dec358c1055e13c50774a5cfce445d609d98a9b":"2024-05-28T15:49:48.620Z","27.26.2":"2024-05-29T10:17:54.623Z","0.0.0-beta-72ff1968bf02a9825d81a622cfd0006687350577":"2024-05-29T13:01:57.649Z","27.26.3":"2024-05-29T14:00:06.886Z","0.0.0-beta-c79df32eb367e39c05d950427171b526dba8c262":"2024-05-29T14:13:07.086Z","0.0.0-beta-3f894f5fe06deddef5e9a769b188afcfbe1b2517":"2024-05-29T14:28:11.860Z","27.26.4":"2024-05-29T16:11:16.443Z","27.26.5":"2024-05-30T04:16:05.295Z","0.0.0-beta-22ce63dbfc2a2e9501f7d01610c74f049f4e6c99":"2024-05-30T06:32:30.845Z","27.26.6":"2024-05-30T07:43:15.293Z","27.27.0":"2024-05-30T08:26:38.730Z","0.0.0-beta-36662da1b8e6b1cb8d425cfc244b0685bffca198":"2024-05-30T10:43:12.999Z","0.0.0-beta-48f8f61a1d861b9df881b9f33495f296884ac45f":"2024-05-30T11:31:16.000Z","0.0.0-beta-a8010eb362cc044e47043fba0decafeac56c120d":"2024-05-30T12:13:01.136Z","0.0.0-beta-02a949b0d0ddc46a13986a512fd12abeb6909378":"2024-05-30T12:44:00.179Z","0.0.0-beta-e3dc2b9ec80940efb76ff990b79ff56d38783fab":"2024-05-30T13:33:02.955Z","0.0.0-beta-5cf881e6e2ceb6cd80a26cebfb2aa7e42bbb733a":"2024-05-30T13:46:09.730Z","0.0.0-beta-18e5d496ce99041492b40546f1c5cbc0036c6c73":"2024-05-30T15:19:10.329Z","0.0.0-beta-a5f7d7b0ff11f68f5012370d07559a69de0746db":"2024-05-31T07:54:28.620Z","0.0.0-beta-315b5766957ca211ef01653ef74ad7bb8f4a4af6":"2024-05-31T08:47:14.946Z","27.28.0":"2024-05-31T09:05:44.583Z","27.29.0":"2024-05-31T09:46:53.770Z","0.0.0-beta-420d5f9f5eb569c0363d37b3ce4c255f88bac2e3":"2024-05-31T10:07:31.592Z","27.29.1":"2024-05-31T10:53:02.346Z","27.30.0":"2024-05-31T11:18:26.355Z","27.31.0":"2024-05-31T13:08:07.957Z","0.0.0-beta-3beefee47fefcc09a7d7a1c29f46412571f153d2":"2024-05-31T14:08:02.466Z","27.31.1":"2024-05-31T15:18:20.796Z","27.31.2":"2024-05-31T15:46:29.884Z","0.0.0-beta-5f876e9dd362e25f69391d8dc673d813392106fe":"2024-06-03T08:51:39.601Z","0.0.0-beta-6cb52b763a50c054fb6aef50b7263f7a698a66e5":"2024-06-03T09:04:25.618Z","27.31.3":"2024-06-03T09:17:05.489Z","0.0.0-beta-09ccf3b26417073b7fdba2541918940a5a79dd5e":"2024-06-03T09:39:28.304Z","27.31.4":"2024-06-03T11:51:25.451Z","27.31.5":"2024-06-03T13:32:01.382Z","0.0.0-beta-a5d13ceb311f62efaffff2af2f205eaf206b3944":"2024-06-03T15:19:45.325Z","0.0.0-beta-bc6f0941d7be8590d78583ffb50f64ac6b6854b8":"2024-06-04T09:58:32.208Z","0.0.0-beta-e87a853aae2b749382e190c1cda8fea0b206a0af":"2024-06-04T12:45:35.452Z","27.32.0":"2024-06-04T12:57:22.909Z","27.32.1":"2024-06-04T13:17:50.035Z","27.32.2":"2024-06-05T07:34:55.634Z","0.0.0-beta-a00410e7d5433864211d353e0f0952daa3d9f170":"2024-06-05T08:12:00.653Z","27.32.3":"2024-06-05T09:57:53.564Z","27.33.0":"2024-06-05T10:36:53.354Z","27.33.1":"2024-06-05T12:43:03.824Z","0.0.0-beta-7910b8e6406eb973c5df2ec09a00db52250b135e":"2024-06-05T13:00:54.543Z","27.34.0":"2024-06-05T13:51:23.790Z","0.0.0-beta-c23083ed9cd62d091acc67276ac60647926e6ed3":"2024-06-05T14:46:22.994Z","0.0.0-beta-fe58001bded59aa5102e5e32278c39a1a625f55b":"2024-06-05T16:16:57.123Z","27.34.1":"2024-06-06T09:25:14.771Z","27.34.2":"2024-06-06T10:21:07.609Z","0.0.0-beta-cbba05425f02f60a320926ef5b9a1c0ce86c8249":"2024-06-06T14:51:15.783Z","27.34.3":"2024-06-07T06:11:17.892Z","27.34.4":"2024-06-07T07:41:10.166Z","27.35.0":"2024-06-07T08:29:37.948Z","27.36.0":"2024-06-07T15:11:13.125Z","27.36.1":"2024-06-07T15:23:27.750Z","27.36.2":"2024-06-10T04:13:18.631Z","0.0.0-beta-5f71b5151130e3dee0c61877bf056f55f96d5324":"2024-06-10T07:57:59.321Z","27.37.0":"2024-06-10T08:56:44.434Z","0.0.0-beta-e72c80e4e15c7db21912bf79606a9deddd68a37a":"2024-06-10T13:40:12.154Z","27.38.0":"2024-06-10T14:52:06.710Z","27.38.1":"2024-06-11T04:17:33.556Z","0.0.0-beta-8147c6eba5d377ddd390cb4613bf63b9f65426e7":"2024-06-11T09:33:35.563Z","0.0.0-beta-7a8405a71e13f1e500534cc1f98474588e251b40":"2024-06-11T10:15:11.503Z","0.0.0-beta-5e735928d94ae603afb0ca228353da2e5683ddd7":"2024-06-11T12:14:23.131Z","27.39.0":"2024-06-11T12:29:26.925Z","0.0.0-beta-81920e670d1e913417c3adc85ba30ac2ff2885a3":"2024-06-11T12:42:14.665Z","0.0.0-beta-98c9f444a9e6218935bc9c2c54b5def8349a3929":"2024-06-11T13:56:13.788Z","0.0.0-beta-af03fb1e3091aefe10f4b8c0fa89f6a7691c8e31":"2024-06-11T14:46:45.056Z","27.39.1":"2024-06-12T04:15:32.134Z"},"license":"ISC","description":"## Development ### Local development(Standalone, recommended) - `npm start` - to have stage40 API endpoing (recommended)     - `npm run start:local` - to have monolith API endpoint     - `npm run start:prod` - to have prod API endpoint (use it only if you","maintainers":[{"email":"eugene.g@preply.com","name":"eugenegodun"},{"email":"igor.kasianov@preply.com","name":"erebus1"},{"email":"alex@preply.com","name":"alex.semeniuk"},{"email":"it-service@preply.com","name":"it-service"},{"email":"serhii.tonkoshkur@preply.com","name":"serhii.tonkoshkur"},{"email":"lukas.kurucz@preply.com","name":"lukas-preply"},{"email":"chinskiy@preply.com","name":"chinskiy_preply"}],"readme":"# Preply Video\n\n## Development\n### Local development(Standalone, recommended)\n- `npm start` - to have stage40 API endpoing (recommended)\n    - `npm run start:local` - to have monolith API endpoint\n    - `npm run start:prod` - to have prod API endpoint (use it only if you know what to do)\n- `open http://localhost:9002/classroom/{COLLOCUTOR_ID} for the new classroom experience or `http://localhost:9002/oldPs/{COLLOCUTOR_ID} for the old one`\n- `by default we use API endpoint from the stage40 so make sure you are logined as a tutor or a student.`\n- `To choose video provider for local development, change videoProvider prop here(client/@preply/video/src/devMode.js#L65)`\n- You will have to login `http://localhost:9002/en/login` (see notes below about API Proxy below)\n\n### API Proxy\nTo prevent CORS errors, we proxy all calls to `/graphql`, `/api` and a few other endpoints via `localhost` using `webpack-dev-server:proxy`.\n\nWe also proxy the monolith's authentication routes (e.g.: `/**/login`) so that you can login locally (with credentials or social network) and acquire your session cookies @localhost.\n### Local development inside inside Another App e.g. Preply Space\nIn `@preply/video`\n```\nnpm link # installs a global symlink to make \"npm link @preply/video\" possible\nnpm i\nnpm start\n```\nIn preply-space\n```\nnpm i\nnpm link @preply/video # pick up that symlink\nnpm start\n```\nTip: this shows all your globally-linked npm packages:\n```npm ls -g --depth=0 --link=true```\n\n### Monitoring / Alerting\n\nErrors from this service are reported to Sentry under [client-pkgs](https://sentry.preply.org/organizations/preply/projects/client-pkgs/?project=30) project.\n\nTo filter errors that are only related to this service use `source` tag.\n\n## Before release\n1. Make sure you have incremented video version(https://docs.npmjs.com/about-semantic-versioning)\n2. Run `npm version x.y.z` to incremented version and update package.json, package-lock.json\n\n### Date localization\nAll datetime that goes from BE is in UTC time, we have to format this to user timezone format. Please, use only useTimeZone, toZonedDate, and FormattedDate for date localization.\nExample:\n```\nconst { timeZone } = useTimeZone();\nconst localDatetime = toZonedDate(new Date(datetime), timeZone);\nreturn <FormattedDate value={localDatetime} />\n```\n\n### Codestyle\n\n\n1. Refer to the [ESLint in Preply: How to](https://preply.atlassian.net/wiki/spaces/FPS/pages/3109814300/ESLint+in+Preply+How+to) for a detailed guide on how we pursue the same codestyle within different projects at Preply.\n    :bulb: You’ll need to install dependencies in the repo root by running `yarn` there to enable linting via CLI.\n\n2. Please, use tokens from `@preply/ds-web-core` for styles such as font-size, padding, margins, etc\n    [theme file](../@preply/ui/src/styles/theme.ts);\n    Example:\n    **Bad:**\n    ```\n        font-size: 16px;\n        color: #3bb3bd;\n        padding: 16px;\n    ```\n    **Good:**\n    ```\n        font-size: t(text.small.regular.body.fontSize);\n        color: t(color.background.positiveLight);\n        padding: ${t(spacing[16])};\n    ```\n3. Name custom hooks with name starting with `use` [details](https://reactjs.org/docs/hooks-custom.html#extracting-a-custom-hook) so as to avoid breaking app in case of incorrect hook usage [details](https://reactjs.org/docs/hooks-rules.html)\n\n## Release\nFollow [this readme](../../../README.md#publishing-npm-packages)\n### Common flow\n1. Merge your PR  with video feature\n2. CI autopublishes new video in NPM\n3. Wait for Jenkins [PR](https://github.com/preply/apollo/pulls?q=is%3Aopen+is%3Apr+renovate+)(It looks like `Update dependency @preply/chat to `)\n     - If Jenkins bot didn't create PR (usually it takes up to 10 mins after a package was deployed) check [Jenkins jobs](https://jenkins.preply.org/view/CD/job/Create_Renovate_PRs/). You can also trigger it manually by calling:\n```\ndocker run renovate/renovate --token=$GITHUB_TOKEN --dry-run=true preply/apollo\n```\n\n5. Start `/dynamic` in this PR and check video on each service\n\n### Manual(only if CI autopublish doesn't work):\n### 1. Via CI\n1. Create [GH release](https://github.com/preply/apollo/releases/new):\n1.1. Tag version: client-video-${VERSION FROM PACKAGE.JSON} e.g. client-video-1.2.3\n1.2. Target: `master` or your branch of PR with video changes\n1.3. Release title: the same as tag version\n2. Go to Prod_Flow in jenkins CI\n3. Choose `client-video` servise\n4. Choose tag\n### 2. Locally (Only if CI doesn't work)\n```\nnpm run build\nnpm publish\n```\n### 3. Publish alfa/beta version\n1. Create PR with your branch\n2. Create new tag from your branch  e.g: `git tag client-video-6.4.0-alfa.0`\n3. Push new tag e.g: `git push origin client-video-6.4.0-alfa.0`\n4. Go to CI(jenkins), chose your service and tag then press button `Build`\n\n### Projects which use video (better do a lookup in `package.json` files throughout the repo 'cause this might update):\n1. EDU\n### Recommendations for use\n- do not use heavy packages as it increases bundle size(such as moment js)\n\n### Testing\n\nWe have limited e2e tests coverage, so we have to test video package manually also according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599)\n\n1. Create PR and build dynamic using `/dynamic npm`\n2. Wait for e2e tests to pass\n3. Test chat manually according to the [QA framework](https://docs.google.com/spreadsheets/d/1xTwoZjDzSa6By-vzDp7YP6qDitQ0apV1GC0T53Treno/edit#gid=615624599) (at least 1 device with 1 resolution)\n","readmeFilename":"readme.md"}